diff --git a/libavfilter/libmpcodecs/vf_mcdeint.c b/libavfilter/libmpcodecs/vf_mcdeint.c index 6ae255dde3..b9ffaf21ca 100644 --- a/libavfilter/libmpcodecs/vf_mcdeint.c +++ b/libavfilter/libmpcodecs/vf_mcdeint.c @@ -54,6 +54,7 @@ Known Issues: #include "mp_msg.h" #include "cpudetect.h" +#include "libavutil/common.h" #include "libavutil/internal.h" #include "libavutil/intreadwrite.h" #include "libavcodec/avcodec.h" @@ -66,7 +67,7 @@ Known Issues: #include "img_format.h" #include "mp_image.h" #include "vf.h" -#include "vd_ffmpeg.h" +#include "av_helpers.h" #define MIN(a,b) ((a) > (b) ? (b) : (a)) #define MAX(a,b) ((a) < (b) ? (b) : (a)) @@ -186,6 +187,7 @@ static int config(struct vf_instance *vf, for(i=0; i<3; i++){ AVCodecContext *avctx_enc; + AVDictionary *opts = NULL; #if 0 int is_chroma= !!i; int w= ((width + 31) & (~31))>>is_chroma; @@ -196,7 +198,7 @@ static int config(struct vf_instance *vf, vf->priv->src [i]= malloc(vf->priv->temp_stride[i]*h*sizeof(uint8_t)); #endif avctx_enc= - vf->priv->avctx_enc= avcodec_alloc_context(); + vf->priv->avctx_enc= avcodec_alloc_context3(enc); avctx_enc->width = width; avctx_enc->height = height; avctx_enc->time_base= (AVRational){1,25}; // meaningless @@ -206,7 +208,7 @@ static int config(struct vf_instance *vf, avctx_enc->flags = CODEC_FLAG_QSCALE | CODEC_FLAG_LOW_DELAY; avctx_enc->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL; avctx_enc->global_quality= 1; - avctx_enc->flags2= CODEC_FLAG2_MEMC_ONLY; + av_dict_set(&opts, "memc_only", "1", 0); avctx_enc->me_cmp= avctx_enc->me_sub_cmp= FF_CMP_SAD; //SSE; avctx_enc->mb_cmp= FF_CMP_SSE; @@ -224,7 +226,8 @@ static int config(struct vf_instance *vf, avctx_enc->flags |= CODEC_FLAG_QPEL; } - avcodec_open(avctx_enc, enc); + avcodec_open2(avctx_enc, enc, &opts); + av_dict_free(&opts); } vf->priv->frame= avcodec_alloc_frame();