From 059533489250e58f1726ed2d1cb61869b2e00ed0 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Mon, 25 Jun 2012 15:25:55 +0100 Subject: x86: fft: elf64: fix PIC build In a 64-bit PIC build, external functions must be called through the PLT. Signed-off-by: Mans Rullgard --- libavcodec/x86/fft_mmx.asm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/x86/fft_mmx.asm b/libavcodec/x86/fft_mmx.asm index 5143611533..007f5caf77 100644 --- a/libavcodec/x86/fft_mmx.asm +++ b/libavcodec/x86/fft_mmx.asm @@ -647,7 +647,11 @@ cglobal fft_permute, 2,7,1 add rsp, 8 RET %elif ARCH_X86_64 +%ifdef PIC + jmp memcpy wrt ..plt +%else jmp memcpy +%endif %else push r2 push r5 -- cgit v1.2.3 From ea1c5011b34287aaad8c4fdc9100c3fe6b167134 Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Mon, 27 Feb 2012 17:21:16 +0100 Subject: dxva2_h264: fix signaling of mbaff frames MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The MBAFF flag may only be signaled if we're actually dealing with a full frame, and not singular fields, as it can happen in mixed content. Signed-off-by: Martin Storsjö --- libavcodec/dxva2_h264.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c index ffe71a9656..5cdf5dea5c 100644 --- a/libavcodec/dxva2_h264.c +++ b/libavcodec/dxva2_h264.c @@ -93,7 +93,8 @@ static void fill_picture_parameters(struct dxva_context *ctx, const H264Context pp->num_ref_frames = h->sps.ref_frame_count; pp->wBitFields = ((s->picture_structure != PICT_FRAME) << 0) | - (h->sps.mb_aff << 1) | + ((h->sps.mb_aff && + (s->picture_structure == PICT_FRAME)) << 1) | (h->sps.residual_color_transform_flag << 2) | /* sp_for_switch_flag (not implemented by Libav) */ (0 << 3) | -- cgit v1.2.3 From 19ad567311b29a42e308317b5329218c590afac8 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 22 Jun 2012 14:36:27 +0200 Subject: avconv: fix -force_key_frames parse_forced_keyframes() relies in encoder timebase being set, so call it from transcode_init() after it is known. --- avconv.c | 59 ++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/avconv.c b/avconv.c index 84e6baa281..27dabc01f8 100644 --- a/avconv.c +++ b/avconv.c @@ -270,6 +270,7 @@ typedef struct OutputStream { int64_t *forced_kf_pts; int forced_kf_count; int forced_kf_index; + char *forced_keyframes; FILE *logfile; @@ -1062,6 +1063,7 @@ void exit_program(int ret) } output_streams[i]->bitstream_filters = NULL; + av_freep(&output_streams[i]->forced_keyframes); av_freep(&output_streams[i]->avfilter); av_freep(&output_streams[i]->filtered_frame); av_freep(&output_streams[i]); @@ -2327,6 +2329,29 @@ static InputStream *get_input_stream(OutputStream *ost) return NULL; } +static void parse_forced_key_frames(char *kf, OutputStream *ost, + AVCodecContext *avctx) +{ + char *p; + int n = 1, i; + int64_t t; + + for (p = kf; *p; p++) + if (*p == ',') + n++; + ost->forced_kf_count = n; + ost->forced_kf_pts = av_malloc(sizeof(*ost->forced_kf_pts) * n); + if (!ost->forced_kf_pts) { + av_log(NULL, AV_LOG_FATAL, "Could not allocate forced key frames array.\n"); + exit_program(1); + } + for (i = 0; i < n; i++) { + p = i ? strchr(p, ',') + 1 : kf; + t = parse_time_or_die("force_key_frames", p, 1); + ost->forced_kf_pts[i] = av_rescale_q(t, AV_TIME_BASE_Q, avctx->time_base); + } +} + static int transcode_init(void) { int ret = 0, i, j, k; @@ -2528,6 +2553,9 @@ static int transcode_init(void) codec->bits_per_raw_sample = 0; } + if (ost->forced_keyframes) + parse_forced_key_frames(ost->forced_keyframes, ost, + ost->st->codec); break; case AVMEDIA_TYPE_SUBTITLE: codec->time_base = (AVRational){1, 1000}; @@ -3645,29 +3673,6 @@ static int opt_input_file(OptionsContext *o, const char *opt, const char *filena return 0; } -static void parse_forced_key_frames(char *kf, OutputStream *ost, - AVCodecContext *avctx) -{ - char *p; - int n = 1, i; - int64_t t; - - for (p = kf; *p; p++) - if (*p == ',') - n++; - ost->forced_kf_count = n; - ost->forced_kf_pts = av_malloc(sizeof(*ost->forced_kf_pts) * n); - if (!ost->forced_kf_pts) { - av_log(NULL, AV_LOG_FATAL, "Could not allocate forced key frames array.\n"); - exit_program(1); - } - for (i = 0; i < n; i++) { - p = i ? strchr(p, ',') + 1 : kf; - t = parse_time_or_die("force_key_frames", p, 1); - ost->forced_kf_pts[i] = av_rescale_q(t, AV_TIME_BASE_Q, avctx->time_base); - } -} - static uint8_t *get_line(AVIOContext *s) { AVIOContext *line; @@ -3865,7 +3870,7 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc) if (!ost->stream_copy) { const char *p = NULL; - char *forced_key_frames = NULL, *frame_rate = NULL, *frame_size = NULL; + char *frame_rate = NULL, *frame_size = NULL; char *frame_aspect_ratio = NULL, *frame_pix_fmt = NULL; char *intra_matrix = NULL, *inter_matrix = NULL; const char *filters = "null"; @@ -3949,9 +3954,9 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc) } } - MATCH_PER_STREAM_OPT(forced_key_frames, str, forced_key_frames, oc, st); - if (forced_key_frames) - parse_forced_key_frames(forced_key_frames, ost, video_enc); + MATCH_PER_STREAM_OPT(forced_key_frames, str, ost->forced_keyframes, oc, st); + if (ost->forced_keyframes) + ost->forced_keyframes = av_strdup(ost->forced_keyframes); MATCH_PER_STREAM_OPT(force_fps, i, ost->force_fps, oc, st); -- cgit v1.2.3 From fbcaceb1ff797245240ec58ee9cac44a90b8f73a Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Thu, 17 Nov 2011 14:12:34 +0100 Subject: mov: do not try to read total disc/track number if data atom is too short. Fixes bug 308. Signed-off-by: Anton Khirnov --- libavformat/mov.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index fa70eff66f..63254012fc 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -71,10 +71,11 @@ static int mov_metadata_track_or_disc_number(MOVContext *c, AVIOContext *pb, { char buf[16]; - short current, total; + short current, total = 0; avio_rb16(pb); // unknown current = avio_rb16(pb); - total = avio_rb16(pb); + if (len >= 6) + total = avio_rb16(pb); if (!total) snprintf(buf, sizeof(buf), "%d", current); else -- cgit v1.2.3 From a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 21 Jun 2012 07:55:56 +0200 Subject: lavfi: remove 'opaque' parameter from AVFilter.init() It is not used in any filters currently and is inherently evil. If passing binary data to filters is required in the future, it should be done with some AVOptions-based system. --- libavfilter/af_aformat.c | 2 +- libavfilter/af_amix.c | 2 +- libavfilter/af_asyncts.c | 2 +- libavfilter/af_channelmap.c | 3 +-- libavfilter/af_channelsplit.c | 2 +- libavfilter/af_join.c | 2 +- libavfilter/asrc_anullsrc.c | 2 +- libavfilter/avfilter.c | 2 +- libavfilter/avfilter.h | 4 +--- libavfilter/buffersrc.c | 4 ++-- libavfilter/fifo.c | 2 +- libavfilter/split.c | 2 +- libavfilter/vf_aspect.c | 2 +- libavfilter/vf_blackframe.c | 2 +- libavfilter/vf_boxblur.c | 2 +- libavfilter/vf_crop.c | 2 +- libavfilter/vf_cropdetect.c | 2 +- libavfilter/vf_delogo.c | 2 +- libavfilter/vf_drawbox.c | 2 +- libavfilter/vf_drawtext.c | 2 +- libavfilter/vf_fade.c | 2 +- libavfilter/vf_fieldorder.c | 2 +- libavfilter/vf_format.c | 2 +- libavfilter/vf_fps.c | 2 +- libavfilter/vf_frei0r.c | 4 ++-- libavfilter/vf_gradfun.c | 2 +- libavfilter/vf_hqdn3d.c | 2 +- libavfilter/vf_libopencv.c | 12 ++++++------ libavfilter/vf_lut.c | 6 +++--- libavfilter/vf_overlay.c | 2 +- libavfilter/vf_pad.c | 2 +- libavfilter/vf_scale.c | 2 +- libavfilter/vf_select.c | 2 +- libavfilter/vf_setpts.c | 2 +- libavfilter/vf_settb.c | 2 +- libavfilter/vf_showinfo.c | 2 +- libavfilter/vf_slicify.c | 2 +- libavfilter/vf_transpose.c | 2 +- libavfilter/vf_unsharp.c | 2 +- libavfilter/vf_yadif.c | 2 +- libavfilter/vsrc_color.c | 2 +- libavfilter/vsrc_movie.c | 2 +- libavfilter/vsrc_nullsrc.c | 2 +- libavfilter/vsrc_testsrc.c | 10 +++++----- 44 files changed, 57 insertions(+), 60 deletions(-) diff --git a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c index 5b00d7de9c..b3558016ec 100644 --- a/libavfilter/af_aformat.c +++ b/libavfilter/af_aformat.c @@ -86,7 +86,7 @@ static int get_sample_rate(const char *samplerate) return FFMAX(ret, 0); } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { AFormatContext *s = ctx->priv; int ret; diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index 4af5f80d57..156799c44a 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -479,7 +479,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *buf) avfilter_unref_buffer(buf); } -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { MixContext *s = ctx->priv; int i, ret; diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index 252b32278d..8402b2670e 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -56,7 +56,7 @@ static const AVClass async_class = { .version = LIBAVUTIL_VERSION_INT, }; -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { ASyncContext *s = ctx->priv; int ret; diff --git a/libavfilter/af_channelmap.c b/libavfilter/af_channelmap.c index 14c2c0cb5a..0dfffaa036 100644 --- a/libavfilter/af_channelmap.c +++ b/libavfilter/af_channelmap.c @@ -118,8 +118,7 @@ static int get_channel(char **map, uint64_t *ch, char delim) return 0; } -static av_cold int channelmap_init(AVFilterContext *ctx, const char *args, - void *opaque) +static av_cold int channelmap_init(AVFilterContext *ctx, const char *args) { ChannelMapContext *s = ctx->priv; int ret; diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c index c9b31fa791..ed134d2885 100644 --- a/libavfilter/af_channelsplit.c +++ b/libavfilter/af_channelsplit.c @@ -52,7 +52,7 @@ static const AVClass channelsplit_class = { .version = LIBAVUTIL_VERSION_INT, }; -static int init(AVFilterContext *ctx, const char *arg, void *opaque) +static int init(AVFilterContext *ctx, const char *arg) { ChannelSplitContext *s = ctx->priv; int nb_channels; diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index ab5e9055b3..89bc47fde1 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -184,7 +184,7 @@ static int parse_maps(AVFilterContext *ctx) return 0; } -static int join_init(AVFilterContext *ctx, const char *args, void *opaque) +static int join_init(AVFilterContext *ctx, const char *args) { JoinContext *s = ctx->priv; int ret, i; diff --git a/libavfilter/asrc_anullsrc.c b/libavfilter/asrc_anullsrc.c index 6f1c1e78a4..914952936f 100644 --- a/libavfilter/asrc_anullsrc.c +++ b/libavfilter/asrc_anullsrc.c @@ -30,7 +30,7 @@ typedef struct { int64_t sample_rate; } ANullContext; -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { ANullContext *priv = ctx->priv; char channel_layout_str[128] = ""; diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index bf76997aae..de059b7f15 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -429,7 +429,7 @@ int avfilter_init_filter(AVFilterContext *filter, const char *args, void *opaque int ret=0; if (filter->filter->init) - ret = filter->filter->init(filter, args, opaque); + ret = filter->filter->init(filter, args); return ret; } diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index f09f0869f4..b3b32dd0f6 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -456,10 +456,8 @@ typedef struct AVFilter { /** * Filter initialization function. Args contains the user-supplied * parameters. FIXME: maybe an AVOption-based system would be better? - * opaque is data provided by the code requesting creation of the filter, - * and is used to pass data to the filter. */ - int (*init)(AVFilterContext *ctx, const char *args, void *opaque); + int (*init)(AVFilterContext *ctx, const char *args); /** * Filter uninitialization function. Should deallocate any memory held diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index ad9f45bd5d..30e34b75fa 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -173,7 +173,7 @@ int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf) return 0; } -static av_cold int init_video(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init_video(AVFilterContext *ctx, const char *args) { BufferSourceContext *c = ctx->priv; char pix_fmt_str[128]; @@ -219,7 +219,7 @@ static const AVClass abuffer_class = { .version = LIBAVUTIL_VERSION_INT, }; -static av_cold int init_audio(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init_audio(AVFilterContext *ctx, const char *args) { BufferSourceContext *s = ctx->priv; int ret = 0; diff --git a/libavfilter/fifo.c b/libavfilter/fifo.c index 6d28757f4d..40c3796bf9 100644 --- a/libavfilter/fifo.c +++ b/libavfilter/fifo.c @@ -50,7 +50,7 @@ typedef struct { int allocated_samples; ///< number of samples buf_out was allocated for } FifoContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { FifoContext *fifo = ctx->priv; fifo->last = &fifo->root; diff --git a/libavfilter/split.c b/libavfilter/split.c index b7d037804a..f1c4b9287d 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -28,7 +28,7 @@ #include "internal.h" #include "video.h" -static int split_init(AVFilterContext *ctx, const char *args, void *opaque) +static int split_init(AVFilterContext *ctx, const char *args) { int i, nb_outputs = 2; diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c index 44bef91fbc..65dc364ed8 100644 --- a/libavfilter/vf_aspect.c +++ b/libavfilter/vf_aspect.c @@ -32,7 +32,7 @@ typedef struct { AVRational aspect; } AspectContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { AspectContext *aspect = ctx->priv; double ratio; diff --git a/libavfilter/vf_blackframe.c b/libavfilter/vf_blackframe.c index a1f97328d0..59c5b30a36 100644 --- a/libavfilter/vf_blackframe.c +++ b/libavfilter/vf_blackframe.c @@ -51,7 +51,7 @@ static int query_formats(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { BlackFrameContext *blackframe = ctx->priv; diff --git a/libavfilter/vf_boxblur.c b/libavfilter/vf_boxblur.c index 06917ecf07..be4a8323b0 100644 --- a/libavfilter/vf_boxblur.c +++ b/libavfilter/vf_boxblur.c @@ -77,7 +77,7 @@ typedef struct { #define V 2 #define A 3 -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { BoxBlurContext *boxblur = ctx->priv; int e; diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c index c884ce1f2a..cf9a0a3b8d 100644 --- a/libavfilter/vf_crop.c +++ b/libavfilter/vf_crop.c @@ -113,7 +113,7 @@ static int query_formats(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { CropContext *crop = ctx->priv; diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c index c890dab5b9..d4e6c40240 100644 --- a/libavfilter/vf_cropdetect.c +++ b/libavfilter/vf_cropdetect.c @@ -80,7 +80,7 @@ static int checkline(void *ctx, const unsigned char *src, int stride, int len, i return total; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { CropDetectContext *cd = ctx->priv; diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c index 77382c99b5..c2487396d7 100644 --- a/libavfilter/vf_delogo.c +++ b/libavfilter/vf_delogo.c @@ -171,7 +171,7 @@ static int query_formats(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { DelogoContext *delogo = ctx->priv; int ret = 0; diff --git a/libavfilter/vf_drawbox.c b/libavfilter/vf_drawbox.c index eb129a23d8..dc9c718356 100644 --- a/libavfilter/vf_drawbox.c +++ b/libavfilter/vf_drawbox.c @@ -40,7 +40,7 @@ typedef struct { int vsub, hsub; ///< chroma subsampling } DrawBoxContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { DrawBoxContext *drawbox= ctx->priv; char color_str[1024] = "black"; diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index db66ad618d..22a9480aba 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -280,7 +280,7 @@ error: return ret; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { int err; DrawTextContext *dtext = ctx->priv; diff --git a/libavfilter/vf_fade.c b/libavfilter/vf_fade.c index 00501dd53c..988cb42200 100644 --- a/libavfilter/vf_fade.c +++ b/libavfilter/vf_fade.c @@ -37,7 +37,7 @@ typedef struct { int hsub, vsub, bpp; } FadeContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { FadeContext *fade = ctx->priv; unsigned int nb_frames; diff --git a/libavfilter/vf_fieldorder.c b/libavfilter/vf_fieldorder.c index 89218560c6..a9347fd632 100644 --- a/libavfilter/vf_fieldorder.c +++ b/libavfilter/vf_fieldorder.c @@ -38,7 +38,7 @@ typedef struct int line_size[4]; ///< bytes of pixel data per line for each plane } FieldOrderContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { FieldOrderContext *fieldorder = ctx->priv; diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index 1a50118519..b9251a19fc 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -39,7 +39,7 @@ typedef struct { #define PIX_FMT_NAME_MAXSIZE 32 -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { FormatContext *format = ctx->priv; const char *cur, *sep; diff --git a/libavfilter/vf_fps.c b/libavfilter/vf_fps.c index 18cd51a9a8..bcc6a69814 100644 --- a/libavfilter/vf_fps.c +++ b/libavfilter/vf_fps.c @@ -63,7 +63,7 @@ static const AVClass class = { .version = LIBAVUTIL_VERSION_INT, }; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { FPSContext *s = ctx->priv; int ret; diff --git a/libavfilter/vf_frei0r.c b/libavfilter/vf_frei0r.c index 54881571af..38cac274a1 100644 --- a/libavfilter/vf_frei0r.c +++ b/libavfilter/vf_frei0r.c @@ -278,7 +278,7 @@ static av_cold int frei0r_init(AVFilterContext *ctx, return 0; } -static av_cold int filter_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int filter_init(AVFilterContext *ctx, const char *args) { Frei0rContext *frei0r = ctx->priv; char dl_name[1024], c; @@ -381,7 +381,7 @@ AVFilter avfilter_vf_frei0r = { { .name = NULL}}, }; -static av_cold int source_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int source_init(AVFilterContext *ctx, const char *args) { Frei0rContext *frei0r = ctx->priv; char dl_name[1024], c; diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index 303e54c7f9..24ebcd4cf5 100644 --- a/libavfilter/vf_gradfun.c +++ b/libavfilter/vf_gradfun.c @@ -118,7 +118,7 @@ static void filter(GradFunContext *ctx, uint8_t *dst, uint8_t *src, int width, i } } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { GradFunContext *gf = ctx->priv; float thresh = 1.2; diff --git a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c index f9b864e9ea..0b35f1124b 100644 --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -197,7 +197,7 @@ static void PrecalcCoefs(int *Ct, double Dist25) #define PARAM2_DEFAULT 3.0 #define PARAM3_DEFAULT 6.0 -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { HQDN3DContext *hqdn3d = ctx->priv; double LumSpac, LumTmp, ChromSpac, ChromTmp; diff --git a/libavfilter/vf_libopencv.c b/libavfilter/vf_libopencv.c index d38b5845bd..438b73b9b3 100644 --- a/libavfilter/vf_libopencv.c +++ b/libavfilter/vf_libopencv.c @@ -71,7 +71,7 @@ static void null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir) { } typedef struct { const char *name; - int (*init)(AVFilterContext *ctx, const char *args, void *opaque); + int (*init)(AVFilterContext *ctx, const char *args); void (*uninit)(AVFilterContext *ctx); void (*end_frame_filter)(AVFilterContext *ctx, IplImage *inimg, IplImage *outimg); void *priv; @@ -83,7 +83,7 @@ typedef struct { double param3, param4; } SmoothContext; -static av_cold int smooth_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int smooth_init(AVFilterContext *ctx, const char *args) { OCVContext *ocv = ctx->priv; SmoothContext *smooth = ocv->priv; @@ -249,7 +249,7 @@ typedef struct { IplConvKernel *kernel; } DilateContext; -static av_cold int dilate_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int dilate_init(AVFilterContext *ctx, const char *args) { OCVContext *ocv = ctx->priv; DilateContext *dilate = ocv->priv; @@ -303,7 +303,7 @@ static void erode_end_frame_filter(AVFilterContext *ctx, IplImage *inimg, IplIma typedef struct { const char *name; size_t priv_size; - int (*init)(AVFilterContext *ctx, const char *args, void *opaque); + int (*init)(AVFilterContext *ctx, const char *args); void (*uninit)(AVFilterContext *ctx); void (*end_frame_filter)(AVFilterContext *ctx, IplImage *inimg, IplImage *outimg); } OCVFilterEntry; @@ -314,7 +314,7 @@ static OCVFilterEntry ocv_filter_entries[] = { { "smooth", sizeof(SmoothContext), smooth_init, NULL, smooth_end_frame_filter }, }; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { OCVContext *ocv = ctx->priv; char name[128], priv_args[1024]; @@ -333,7 +333,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) if (!(ocv->priv = av_mallocz(entry->priv_size))) return AVERROR(ENOMEM); - return ocv->init(ctx, priv_args, opaque); + return ocv->init(ctx, priv_args); } } diff --git a/libavfilter/vf_lut.c b/libavfilter/vf_lut.c index 3817228960..8e96ed3506 100644 --- a/libavfilter/vf_lut.c +++ b/libavfilter/vf_lut.c @@ -110,7 +110,7 @@ static const AVClass lut_class = { lut_options }; -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { LutContext *lut = ctx->priv; int ret; @@ -375,7 +375,7 @@ DEFINE_LUT_FILTER(lutrgb, "Compute and apply a lookup table to the RGB input vid #if CONFIG_NEGATE_FILTER -static int negate_init(AVFilterContext *ctx, const char *args, void *opaque) +static int negate_init(AVFilterContext *ctx, const char *args) { LutContext *lut = ctx->priv; char lut_params[64]; @@ -388,7 +388,7 @@ static int negate_init(AVFilterContext *ctx, const char *args, void *opaque) snprintf(lut_params, sizeof(lut_params), "c0=negval:c1=negval:c2=negval:a=%s", lut->negate_alpha ? "negval" : "val"); - return init(ctx, lut_params, opaque); + return init(ctx, lut_params); } DEFINE_LUT_FILTER(negate, "Negate input video.", negate_init); diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c index ff7c348e52..b426544353 100644 --- a/libavfilter/vf_overlay.c +++ b/libavfilter/vf_overlay.c @@ -71,7 +71,7 @@ typedef struct { char x_expr[256], y_expr[256]; } OverlayContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { OverlayContext *over = ctx->priv; diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c index 098fc806c8..db4e927a42 100644 --- a/libavfilter/vf_pad.c +++ b/libavfilter/vf_pad.c @@ -108,7 +108,7 @@ typedef struct { int needs_copy; } PadContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { PadContext *pad = ctx->priv; char color_string[128] = "black"; diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index 58daf38376..4e51b4f9f5 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -83,7 +83,7 @@ typedef struct { char h_expr[256]; ///< height expression string } ScaleContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { ScaleContext *scale = ctx->priv; const char *p; diff --git a/libavfilter/vf_select.c b/libavfilter/vf_select.c index dab47ced85..719885e401 100644 --- a/libavfilter/vf_select.c +++ b/libavfilter/vf_select.c @@ -122,7 +122,7 @@ typedef struct { AVFifoBuffer *pending_frames; ///< FIFO buffer of video frames } SelectContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { SelectContext *select = ctx->priv; int ret; diff --git a/libavfilter/vf_setpts.c b/libavfilter/vf_setpts.c index 77eef60679..6f8290d93d 100644 --- a/libavfilter/vf_setpts.c +++ b/libavfilter/vf_setpts.c @@ -67,7 +67,7 @@ typedef struct { double var_values[VAR_VARS_NB]; } SetPTSContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { SetPTSContext *setpts = ctx->priv; int ret; diff --git a/libavfilter/vf_settb.c b/libavfilter/vf_settb.c index 78d4617526..7b23751fda 100644 --- a/libavfilter/vf_settb.c +++ b/libavfilter/vf_settb.c @@ -54,7 +54,7 @@ typedef struct { double var_values[VAR_VARS_NB]; } SetTBContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { SetTBContext *settb = ctx->priv; av_strlcpy(settb->tb_expr, "intb", sizeof(settb->tb_expr)); diff --git a/libavfilter/vf_showinfo.c b/libavfilter/vf_showinfo.c index dbb67e91a2..b8053b58f9 100644 --- a/libavfilter/vf_showinfo.c +++ b/libavfilter/vf_showinfo.c @@ -33,7 +33,7 @@ typedef struct { unsigned int frame; } ShowInfoContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { ShowInfoContext *showinfo = ctx->priv; showinfo->frame = 0; diff --git a/libavfilter/vf_slicify.c b/libavfilter/vf_slicify.c index 636912dbdc..e256c4561b 100644 --- a/libavfilter/vf_slicify.c +++ b/libavfilter/vf_slicify.c @@ -35,7 +35,7 @@ typedef struct { int use_random_h; ///< enable the use of random slice height values } SliceContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { SliceContext *slice = ctx->priv; diff --git a/libavfilter/vf_transpose.c b/libavfilter/vf_transpose.c index 5bcee9d32e..7f8e025be0 100644 --- a/libavfilter/vf_transpose.c +++ b/libavfilter/vf_transpose.c @@ -44,7 +44,7 @@ typedef struct { int dir; } TransContext; -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { TransContext *trans = ctx->priv; trans->dir = 0; diff --git a/libavfilter/vf_unsharp.c b/libavfilter/vf_unsharp.c index 8010f2dc17..1e9c0ee59f 100644 --- a/libavfilter/vf_unsharp.c +++ b/libavfilter/vf_unsharp.c @@ -132,7 +132,7 @@ static void set_filter_param(FilterParam *fp, int msize_x, int msize_y, double a fp->halfscale = 1 << (fp->scalebits - 1); } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { UnsharpContext *unsharp = ctx->priv; int lmsize_x = 5, cmsize_x = 5; diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index baf8b7aca4..51b273e818 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -394,7 +394,7 @@ static int query_formats(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { YADIFContext *yadif = ctx->priv; int cpu_flags = av_get_cpu_flags(); diff --git a/libavfilter/vsrc_color.c b/libavfilter/vsrc_color.c index de1f340b01..1591d65464 100644 --- a/libavfilter/vsrc_color.c +++ b/libavfilter/vsrc_color.c @@ -44,7 +44,7 @@ typedef struct { uint64_t pts; } ColorContext; -static av_cold int color_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int color_init(AVFilterContext *ctx, const char *args) { ColorContext *color = ctx->priv; char color_string[128] = "black"; diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c index 64f6e18301..2b79d85aeb 100644 --- a/libavfilter/vsrc_movie.c +++ b/libavfilter/vsrc_movie.c @@ -162,7 +162,7 @@ static int movie_init(AVFilterContext *ctx) return 0; } -static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init(AVFilterContext *ctx, const char *args) { MovieContext *movie = ctx->priv; int ret; diff --git a/libavfilter/vsrc_nullsrc.c b/libavfilter/vsrc_nullsrc.c index 71094dc95b..97c56cc33f 100644 --- a/libavfilter/vsrc_nullsrc.c +++ b/libavfilter/vsrc_nullsrc.c @@ -51,7 +51,7 @@ typedef struct { double var_values[VAR_VARS_NB]; } NullContext; -static int init(AVFilterContext *ctx, const char *args, void *opaque) +static int init(AVFilterContext *ctx, const char *args) { NullContext *priv = ctx->priv; diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index 36f18b6213..c8e1aa61aa 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -70,7 +70,7 @@ static const AVOption testsrc_options[] = { { NULL }, }; -static av_cold int init_common(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int init_common(AVFilterContext *ctx, const char *args) { TestSourceContext *test = ctx->priv; AVRational frame_rate_q; @@ -336,13 +336,13 @@ static void test_fill_picture(AVFilterContext *ctx, AVFilterBufferRef *picref) } } -static av_cold int test_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int test_init(AVFilterContext *ctx, const char *args) { TestSourceContext *test = ctx->priv; test->class = &testsrc_class; test->fill_picture_fn = test_fill_picture; - return init_common(ctx, args, opaque); + return init_common(ctx, args); } static int test_query_formats(AVFilterContext *ctx) @@ -442,13 +442,13 @@ static void rgbtest_fill_picture(AVFilterContext *ctx, AVFilterBufferRef *picref } } -static av_cold int rgbtest_init(AVFilterContext *ctx, const char *args, void *opaque) +static av_cold int rgbtest_init(AVFilterContext *ctx, const char *args) { TestSourceContext *test = ctx->priv; test->class = &rgbtestsrc_class; test->fill_picture_fn = rgbtest_fill_picture; - return init_common(ctx, args, opaque); + return init_common(ctx, args); } static int rgbtest_query_formats(AVFilterContext *ctx) -- cgit v1.2.3