Commit 91af7609 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '23aae62c'

* commit '23aae62c':
  alsdec: Check k used for rice decoder.
  avfiltergraph: silence an uninitialized variable warning
  xsubenc: reindent
  lavc: replace AVCodecContext.encode with subtitle-specific callback
  lavc: add const to private codec class initialization.
  avconv: don't pass a bogus parameter to avfilter_graph_create_filter().
  id3v2: strdup the genre name explicitly.
  lavf/id3v2: do not export empty fields.
  buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
  lavfi: replace empty input/output lists with null pointers

Conflicts:
	ffmpeg_filter.c
	libavcodec/alsdec.c
	libavcodec/dvdsubenc.c
	libavcodec/utils.c
	libavcodec/v210dec.h
	libavfilter/af_channelsplit.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 4aade44c 23aae62c
...@@ -295,7 +295,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, ...@@ -295,7 +295,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index); snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter, ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffbuffersink"), avfilter_get_by_name("ffbuffersink"),
name, NULL, NULL/*buffersink_params*/, fg->graph); name, NULL, NULL, fg->graph);
av_freep(&buffersink_params); av_freep(&buffersink_params);
if (ret < 0) if (ret < 0)
......
...@@ -325,8 +325,6 @@ void avcodec_register_all(void) ...@@ -325,8 +325,6 @@ void avcodec_register_all(void)
REGISTER_DECODER (SHORTEN, shorten); REGISTER_DECODER (SHORTEN, shorten);
REGISTER_DECODER (SIPR, sipr); REGISTER_DECODER (SIPR, sipr);
REGISTER_DECODER (SMACKAUD, smackaud); REGISTER_DECODER (SMACKAUD, smackaud);
REGISTER_ENCDEC (SONIC, sonic);
REGISTER_ENCODER (SONIC_LS, sonic_ls);
REGISTER_DECODER (TRUEHD, truehd); REGISTER_DECODER (TRUEHD, truehd);
REGISTER_DECODER (TRUESPEECH, truespeech); REGISTER_DECODER (TRUESPEECH, truespeech);
REGISTER_DECODER (TTA, tta); REGISTER_DECODER (TTA, tta);
......
...@@ -651,10 +651,10 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd) ...@@ -651,10 +651,10 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd)
for (k = 1; k < sub_blocks; k++) for (k = 1; k < sub_blocks; k++)
s[k] = s[k - 1] + decode_rice(gb, 0); s[k] = s[k - 1] + decode_rice(gb, 0);
} }
for (k = 0; k < sub_blocks; k++) for (k = 1; k < sub_blocks; k++)
if (s[k] > 32) { if (s[k] > 32) {
av_log(avctx, AV_LOG_ERROR, "k invalid for rice code.\n"); av_log(avctx, AV_LOG_ERROR, "k invalid for rice code.\n");
return -1; return AVERROR_INVALIDDATA;
} }
if (get_bits1(gb)) if (get_bits1(gb))
......
...@@ -37,9 +37,9 @@ static av_cold int ass_encode_init(AVCodecContext *avctx) ...@@ -37,9 +37,9 @@ static av_cold int ass_encode_init(AVCodecContext *avctx)
} }
static int ass_encode_frame(AVCodecContext *avctx, static int ass_encode_frame(AVCodecContext *avctx,
unsigned char *buf, int bufsize, void *data) unsigned char *buf, int bufsize,
const AVSubtitle *sub)
{ {
AVSubtitle *sub = data;
int i, len, total_len = 0; int i, len, total_len = 0;
for (i=0; i<sub->num_rects; i++) { for (i=0; i<sub->num_rects; i++) {
...@@ -67,5 +67,5 @@ AVCodec ff_ass_encoder = { ...@@ -67,5 +67,5 @@ AVCodec ff_ass_encoder = {
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
.id = AV_CODEC_ID_SSA, .id = AV_CODEC_ID_SSA,
.init = ass_encode_init, .init = ass_encode_init,
.encode = ass_encode_frame, .encode_sub = ass_encode_frame,
}; };
...@@ -3099,6 +3099,8 @@ typedef struct AVProfile { ...@@ -3099,6 +3099,8 @@ typedef struct AVProfile {
typedef struct AVCodecDefault AVCodecDefault; typedef struct AVCodecDefault AVCodecDefault;
struct AVSubtitle;
/** /**
* AVCodec. * AVCodec.
*/ */
...@@ -3171,7 +3173,8 @@ typedef struct AVCodec { ...@@ -3171,7 +3173,8 @@ typedef struct AVCodec {
void (*init_static_data)(struct AVCodec *codec); void (*init_static_data)(struct AVCodec *codec);
int (*init)(AVCodecContext *); int (*init)(AVCodecContext *);
int (*encode)(AVCodecContext *, uint8_t *buf, int buf_size, void *data); int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,
const struct AVSubtitle *sub);
/** /**
* Encode data to an AVPacket. * Encode data to an AVPacket.
* *
......
...@@ -248,7 +248,7 @@ static void dvb_encode_rle8(uint8_t **pq, ...@@ -248,7 +248,7 @@ static void dvb_encode_rle8(uint8_t **pq,
} }
static int encode_dvb_subtitles(DVBSubtitleContext *s, static int encode_dvb_subtitles(DVBSubtitleContext *s,
uint8_t *outbuf, AVSubtitle *h) uint8_t *outbuf, const AVSubtitle *h)
{ {
uint8_t *q, *pseg_len; uint8_t *q, *pseg_len;
int page_id, region_id, clut_id, object_id, i, bpp_index, page_state; int page_id, region_id, clut_id, object_id, i, bpp_index, page_state;
...@@ -444,10 +444,10 @@ static int encode_dvb_subtitles(DVBSubtitleContext *s, ...@@ -444,10 +444,10 @@ static int encode_dvb_subtitles(DVBSubtitleContext *s,
} }
static int dvbsub_encode(AVCodecContext *avctx, static int dvbsub_encode(AVCodecContext *avctx,
unsigned char *buf, int buf_size, void *data) unsigned char *buf, int buf_size,
const AVSubtitle *sub)
{ {
DVBSubtitleContext *s = avctx->priv_data; DVBSubtitleContext *s = avctx->priv_data;
AVSubtitle *sub = data;
int ret; int ret;
ret = encode_dvb_subtitles(s, buf, sub); ret = encode_dvb_subtitles(s, buf, sub);
...@@ -459,6 +459,6 @@ AVCodec ff_dvbsub_encoder = { ...@@ -459,6 +459,6 @@ AVCodec ff_dvbsub_encoder = {
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
.id = AV_CODEC_ID_DVB_SUBTITLE, .id = AV_CODEC_ID_DVB_SUBTITLE,
.priv_data_size = sizeof(DVBSubtitleContext), .priv_data_size = sizeof(DVBSubtitleContext),
.encode = dvbsub_encode, .encode_sub = dvbsub_encode,
.long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"), .long_name = NULL_IF_CONFIG_SMALL("DVB subtitles"),
}; };
...@@ -416,10 +416,10 @@ static int dvdsub_init(AVCodecContext *avctx) ...@@ -416,10 +416,10 @@ static int dvdsub_init(AVCodecContext *avctx)
} }
static int dvdsub_encode(AVCodecContext *avctx, static int dvdsub_encode(AVCodecContext *avctx,
unsigned char *buf, int buf_size, void *data) unsigned char *buf, int buf_size,
const AVSubtitle *sub)
{ {
//DVDSubtitleContext *s = avctx->priv_data; //DVDSubtitleContext *s = avctx->priv_data;
AVSubtitle *sub = data;
int ret; int ret;
ret = encode_dvd_subtitles(avctx, buf, buf_size, sub); ret = encode_dvd_subtitles(avctx, buf, buf_size, sub);
...@@ -431,7 +431,7 @@ AVCodec ff_dvdsub_encoder = { ...@@ -431,7 +431,7 @@ AVCodec ff_dvdsub_encoder = {
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
.id = AV_CODEC_ID_DVD_SUBTITLE, .id = AV_CODEC_ID_DVD_SUBTITLE,
.init = dvdsub_init, .init = dvdsub_init,
.encode = dvdsub_encode, .encode_sub = dvdsub_encode,
.long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"), .long_name = NULL_IF_CONFIG_SMALL("DVD subtitles"),
.priv_data_size = sizeof(DVDSubtitleContext), .priv_data_size = sizeof(DVDSubtitleContext),
}; };
...@@ -104,10 +104,9 @@ static const ASSCodesCallbacks mov_text_callbacks = { ...@@ -104,10 +104,9 @@ static const ASSCodesCallbacks mov_text_callbacks = {
}; };
static int mov_text_encode_frame(AVCodecContext *avctx, unsigned char *buf, static int mov_text_encode_frame(AVCodecContext *avctx, unsigned char *buf,
int bufsize, void *data) int bufsize, const AVSubtitle *sub)
{ {
MovTextContext *s = avctx->priv_data; MovTextContext *s = avctx->priv_data;
AVSubtitle *sub = data;
ASSDialog *dialog; ASSDialog *dialog;
int i, len, num; int i, len, num;
...@@ -157,6 +156,6 @@ AVCodec ff_movtext_encoder = { ...@@ -157,6 +156,6 @@ AVCodec ff_movtext_encoder = {
.id = AV_CODEC_ID_MOV_TEXT, .id = AV_CODEC_ID_MOV_TEXT,
.priv_data_size = sizeof(MovTextContext), .priv_data_size = sizeof(MovTextContext),
.init = mov_text_encode_init, .init = mov_text_encode_init,
.encode = mov_text_encode_frame, .encode_sub = mov_text_encode_frame,
.close = mov_text_encode_close, .close = mov_text_encode_close,
}; };
...@@ -233,10 +233,9 @@ static const ASSCodesCallbacks srt_callbacks = { ...@@ -233,10 +233,9 @@ static const ASSCodesCallbacks srt_callbacks = {
}; };
static int srt_encode_frame(AVCodecContext *avctx, static int srt_encode_frame(AVCodecContext *avctx,
unsigned char *buf, int bufsize, void *data) unsigned char *buf, int bufsize, const AVSubtitle *sub)
{ {
SRTContext *s = avctx->priv_data; SRTContext *s = avctx->priv_data;
AVSubtitle *sub = data;
ASSDialog *dialog; ASSDialog *dialog;
int i, len, num; int i, len, num;
...@@ -299,7 +298,7 @@ AVCodec ff_srt_encoder = { ...@@ -299,7 +298,7 @@ AVCodec ff_srt_encoder = {
.id = AV_CODEC_ID_SRT, .id = AV_CODEC_ID_SRT,
.priv_data_size = sizeof(SRTContext), .priv_data_size = sizeof(SRTContext),
.init = srt_encode_init, .init = srt_encode_init,
.encode = srt_encode_frame, .encode_sub = srt_encode_frame,
.close = srt_encode_close, .close = srt_encode_close,
}; };
#endif #endif
...@@ -312,7 +311,7 @@ AVCodec ff_subrip_encoder = { ...@@ -312,7 +311,7 @@ AVCodec ff_subrip_encoder = {
.id = AV_CODEC_ID_SUBRIP, .id = AV_CODEC_ID_SUBRIP,
.priv_data_size = sizeof(SRTContext), .priv_data_size = sizeof(SRTContext),
.init = srt_encode_init, .init = srt_encode_init,
.encode = srt_encode_frame, .encode_sub = srt_encode_frame,
.close = srt_encode_close, .close = srt_encode_close,
}; };
#endif #endif
...@@ -134,7 +134,7 @@ static void avcodec_init(void) ...@@ -134,7 +134,7 @@ static void avcodec_init(void)
int av_codec_is_encoder(const AVCodec *codec) int av_codec_is_encoder(const AVCodec *codec)
{ {
return codec && (codec->encode || codec->encode2); return codec && (codec->encode_sub || codec->encode2);
} }
int av_codec_is_decoder(const AVCodec *codec) int av_codec_is_decoder(const AVCodec *codec)
...@@ -804,7 +804,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code ...@@ -804,7 +804,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
goto end; goto end;
} }
if (codec->priv_class) { if (codec->priv_class) {
*(const AVClass**)avctx->priv_data= codec->priv_class; *(const AVClass**)avctx->priv_data = codec->priv_class;
av_opt_set_defaults(avctx->priv_data); av_opt_set_defaults(avctx->priv_data);
} }
} }
...@@ -1407,7 +1407,7 @@ int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, ...@@ -1407,7 +1407,7 @@ int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
return -1; return -1;
} }
ret = avctx->codec->encode(avctx, buf, buf_size, (void *)(intptr_t)sub); ret = avctx->codec->encode_sub(avctx, buf, buf_size, sub);
avctx->frame_number++; avctx->frame_number++;
return ret; return ret;
} }
......
...@@ -111,9 +111,8 @@ static int make_tc(uint64_t ms, int *tc) ...@@ -111,9 +111,8 @@ static int make_tc(uint64_t ms, int *tc)
} }
static int xsub_encode(AVCodecContext *avctx, unsigned char *buf, static int xsub_encode(AVCodecContext *avctx, unsigned char *buf,
int bufsize, void *data) int bufsize, const AVSubtitle *h)
{ {
AVSubtitle *h = data;
uint64_t startTime = h->pts / 1000; // FIXME: need better solution... uint64_t startTime = h->pts / 1000; // FIXME: need better solution...
uint64_t endTime = startTime + h->end_display_time - h->start_display_time; uint64_t endTime = startTime + h->end_display_time - h->start_display_time;
int start_tc[4], end_tc[4]; int start_tc[4], end_tc[4];
...@@ -211,10 +210,10 @@ static av_cold int xsub_encoder_init(AVCodecContext *avctx) ...@@ -211,10 +210,10 @@ static av_cold int xsub_encoder_init(AVCodecContext *avctx)
} }
AVCodec ff_xsub_encoder = { AVCodec ff_xsub_encoder = {
.name = "xsub", .name = "xsub",
.type = AVMEDIA_TYPE_SUBTITLE, .type = AVMEDIA_TYPE_SUBTITLE,
.id = AV_CODEC_ID_XSUB, .id = AV_CODEC_ID_XSUB,
.init = xsub_encoder_init, .init = xsub_encoder_init,
.encode = xsub_encode, .encode_sub = xsub_encode,
.long_name = NULL_IF_CONFIG_SMALL("DivX subtitles (XSUB)"), .long_name = NULL_IF_CONFIG_SMALL("DivX subtitles (XSUB)"),
}; };
...@@ -549,7 +549,7 @@ AVFilter avfilter_af_amix = { ...@@ -549,7 +549,7 @@ AVFilter avfilter_af_amix = {
.uninit = uninit, .uninit = uninit,
.query_formats = query_formats, .query_formats = query_formats,
.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.config_props = config_output, .config_props = config_output,
......
...@@ -142,6 +142,6 @@ AVFilter avfilter_af_channelsplit = { ...@@ -142,6 +142,6 @@ AVFilter avfilter_af_channelsplit = {
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.filter_samples = filter_samples, }, .filter_samples = filter_samples, },
{ NULL }}, { NULL }},
.outputs = (const AVFilterPad[]){{ NULL }}, .outputs = NULL,
.priv_class = &channelsplit_class, .priv_class = &channelsplit_class,
}; };
...@@ -494,7 +494,7 @@ AVFilter avfilter_af_join = { ...@@ -494,7 +494,7 @@ AVFilter avfilter_af_join = {
.uninit = join_uninit, .uninit = join_uninit,
.query_formats = join_query_formats, .query_formats = join_query_formats,
.inputs = (const AVFilterPad[]){{ NULL }}, .inputs = NULL,
.outputs = (const AVFilterPad[]){{ .name = "default", .outputs = (const AVFilterPad[]){{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.config_props = join_config_output, .config_props = join_config_output,
......
...@@ -41,5 +41,5 @@ AVFilter avfilter_asink_anullsink = { ...@@ -41,5 +41,5 @@ AVFilter avfilter_asink_anullsink = {
}, },
{ .name = NULL}, { .name = NULL},
}, },
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = NULL,
}; };
...@@ -126,7 +126,7 @@ AVFilter avfilter_asrc_anullsrc = { ...@@ -126,7 +126,7 @@ AVFilter avfilter_asrc_anullsrc = {
.init = init, .init = init,
.priv_size = sizeof(ANullContext), .priv_size = sizeof(ANullContext),
.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
......
...@@ -436,6 +436,9 @@ static int pad_count(const AVFilterPad *pads) ...@@ -436,6 +436,9 @@ static int pad_count(const AVFilterPad *pads)
{ {
int count; int count;
if (!pads)
return 0;
for(count = 0; pads->name; count ++) pads ++; for(count = 0; pads->name; count ++) pads ++;
return count; return count;
} }
......
...@@ -679,7 +679,7 @@ static void swap_channel_layouts_on_filter(AVFilterContext *filter) ...@@ -679,7 +679,7 @@ static void swap_channel_layouts_on_filter(AVFilterContext *filter)
best_count_diff = count_diff; best_count_diff = count_diff;
} }
} }
av_assert1(best_idx>=0); av_assert0(best_idx >= 0);
FFSWAP(uint64_t, outlink->in_channel_layouts->channel_layouts[0], FFSWAP(uint64_t, outlink->in_channel_layouts->channel_layouts[0],
outlink->in_channel_layouts->channel_layouts[best_idx]); outlink->in_channel_layouts->channel_layouts[best_idx]);
} }
......
...@@ -156,7 +156,7 @@ AVFilter avfilter_vsink_buffer = { ...@@ -156,7 +156,7 @@ AVFilter avfilter_vsink_buffer = {
.min_perms = AV_PERM_READ, .min_perms = AV_PERM_READ,
.needs_fifo = 1 }, .needs_fifo = 1 },
{ .name = NULL }}, { .name = NULL }},
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = NULL,
}; };
AVFilter avfilter_asink_abuffer = { AVFilter avfilter_asink_abuffer = {
...@@ -175,5 +175,5 @@ AVFilter avfilter_asink_abuffer = { ...@@ -175,5 +175,5 @@ AVFilter avfilter_asink_abuffer = {
.min_perms = AV_PERM_READ, .min_perms = AV_PERM_READ,
.needs_fifo = 1 }, .needs_fifo = 1 },
{ .name = NULL }}, { .name = NULL }},
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = NULL,
}; };
...@@ -94,7 +94,7 @@ int av_buffersrc_add_frame(AVFilterContext *buffer_src, ...@@ -94,7 +94,7 @@ int av_buffersrc_add_frame(AVFilterContext *buffer_src,
return ret; return ret;
} }
int av_buffersrc_write_frame(AVFilterContext *buffer_filter, AVFrame *frame) int av_buffersrc_write_frame(AVFilterContext *buffer_filter, const AVFrame *frame)
{ {
return av_buffersrc_add_frame(buffer_filter, frame, 0); return av_buffersrc_add_frame(buffer_filter, frame, 0);
} }
...@@ -409,7 +409,7 @@ AVFilter avfilter_vsrc_buffer = { ...@@ -409,7 +409,7 @@ AVFilter avfilter_vsrc_buffer = {
.init = init_video, .init = init_video,
.uninit = uninit, .uninit = uninit,
.inputs = (const AVFilterPad[]) {{ .name = NULL }}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
.request_frame = request_frame, .request_frame = request_frame,
...@@ -428,7 +428,7 @@ AVFilter avfilter_asrc_abuffer = { ...@@ -428,7 +428,7 @@ AVFilter avfilter_asrc_abuffer = {
.init = init_audio, .init = init_audio,
.uninit = uninit, .uninit = uninit,
.inputs = (const AVFilterPad[]) {{ .name = NULL }}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_AUDIO, .type = AVMEDIA_TYPE_AUDIO,
.request_frame = request_frame, .request_frame = request_frame,
......
...@@ -90,6 +90,6 @@ int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf); ...@@ -90,6 +90,6 @@ int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf);
* @warning frame data will be memcpy()ed, which may be a big performance * @warning frame data will be memcpy()ed, which may be a big performance
* hit. Use av_buffersrc_buffer() to avoid copying the data. * hit. Use av_buffersrc_buffer() to avoid copying the data.
*/ */
int av_buffersrc_write_frame(AVFilterContext *s, AVFrame *frame); int av_buffersrc_write_frame(AVFilterContext *s, const AVFrame *frame);
#endif /* AVFILTER_BUFFERSRC_H */ #endif /* AVFILTER_BUFFERSRC_H */
...@@ -133,7 +133,7 @@ AVFilter avfilter_vf_split = { ...@@ -133,7 +133,7 @@ AVFilter avfilter_vf_split = {
.draw_slice = draw_slice, .draw_slice = draw_slice,
.end_frame = end_frame, }, .end_frame = end_frame, },
{ .name = NULL}}, { .name = NULL}},
.outputs = (const AVFilterPad[]) {{ .name = NULL}}, .outputs = NULL,
}; };
static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref) static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref)
...@@ -169,5 +169,5 @@ AVFilter avfilter_af_asplit = { ...@@ -169,5 +169,5 @@ AVFilter avfilter_af_asplit = {
.get_audio_buffer = ff_null_get_audio_buffer, .get_audio_buffer = ff_null_get_audio_buffer,
.filter_samples = filter_samples }, .filter_samples = filter_samples },
{ .name = NULL }}, { .name = NULL }},
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = NULL,
}; };
...@@ -611,7 +611,7 @@ AVFilter avfilter_avsrc_movie = { ...@@ -611,7 +611,7 @@ AVFilter avfilter_avsrc_movie = {
.uninit = movie_uninit, .uninit = movie_uninit,
.query_formats = movie_query_formats, .query_formats = movie_query_formats,
.inputs = (const AVFilterPad[]) {{ .name = NULL }}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = (const AVFilterPad[]) {{ .name = NULL }},
.priv_class = &movie_class, .priv_class = &movie_class,
}; };
......
...@@ -488,7 +488,7 @@ AVFilter avfilter_vsrc_frei0r_src = { ...@@ -488,7 +488,7 @@ AVFilter avfilter_vsrc_frei0r_src = {
.query_formats = query_formats, .query_formats = query_formats,
.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
......
...@@ -45,5 +45,5 @@ AVFilter avfilter_vsink_nullsink = { ...@@ -45,5 +45,5 @@ AVFilter avfilter_vsink_nullsink = {
}, },
{ .name = NULL}, { .name = NULL},
}, },
.outputs = (const AVFilterPad[]) {{ .name = NULL }}, .outputs = NULL,
}; };
...@@ -533,7 +533,7 @@ AVFilter avfilter_vsrc_testsrc = { ...@@ -533,7 +533,7 @@ AVFilter avfilter_vsrc_testsrc = {
.query_formats = test_query_formats, .query_formats = test_query_formats,
.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
...@@ -647,7 +647,7 @@ AVFilter avfilter_vsrc_rgbtestsrc = { ...@@ -647,7 +647,7 @@ AVFilter avfilter_vsrc_rgbtestsrc = {
.query_formats = rgbtest_query_formats, .query_formats = rgbtest_query_formats,
.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = NULL,
.outputs = (const AVFilterPad[]) {{ .name = "default", .outputs = (const AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, .type = AVMEDIA_TYPE_VIDEO,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment