Create a set of null callback functions.
[libav.git] / libavfilter / vf_null.c
CommitLineData
7b018b1d
SS
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19/**
20 * @file libavfilter/vf_null.c
f28b385d 21 * null video filter
7b018b1d
SS
22 */
23
24#include "avfilter.h"
25
ae2abc69
SS
26static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms,
27 int w, int h)
28{
29 return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
30}
31
7b018b1d
SS
32static void start_frame(AVFilterLink *link, AVFilterPicRef *picref)
33{
34 avfilter_start_frame(link->dst->outputs[0], picref);
35}
36
37static void end_frame(AVFilterLink *link)
38{
39 avfilter_end_frame(link->dst->outputs[0]);
40}
41
42AVFilter avfilter_vf_null = {
43 .name = "null",
b70bc022 44 .description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."),
7b018b1d
SS
45
46 .priv_size = 0,
47
48 .inputs = (AVFilterPad[]) {{ .name = "default",
49 .type = CODEC_TYPE_VIDEO,
ae2abc69 50 .get_video_buffer = get_video_buffer,
7b018b1d
SS
51 .start_frame = start_frame,
52 .end_frame = end_frame },
53 { .name = NULL}},
54
55 .outputs = (AVFilterPad[]) {{ .name = "default",
56 .type = CODEC_TYPE_VIDEO, },
57 { .name = NULL}},
58};