diff options
author | James Almer <jamrial@gmail.com> | 2017-08-25 21:03:00 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-08-28 21:27:01 -0300 |
commit | 95a6de5674ab8f5116241cfa4bb02a0954b843d8 (patch) | |
tree | e02361fa22f0dbb1758983e1fcbd976827dd0387 /libavcodec/snowenc.c | |
parent | d4fbe99dabe712d1fbda81bc060f325f8937862e (diff) | |
download | ffmpeg-95a6de5674ab8f5116241cfa4bb02a0954b843d8.tar.gz |
avcodec/snowenc: fix setting motion_est option
Remove usage of FF_MPV_COMMON_OPTS, and set SnowContext.motion_est directly.
Based on code from svq1enc.c
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/snowenc.c')
-rw-r--r-- | libavcodec/snowenc.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/snowenc.c b/libavcodec/snowenc.c index e03877a96c..bb113d0a2b 100644 --- a/libavcodec/snowenc.c +++ b/libavcodec/snowenc.c @@ -33,8 +33,6 @@ #include "mpegvideo.h" #include "h263.h" -#define FF_ME_ITER 50 - static av_cold int encode_init(AVCodecContext *avctx) { SnowContext *s = avctx->priv_data; @@ -86,6 +84,8 @@ FF_ENABLE_DEPRECATION_WARNINGS s->m.avctx = avctx; s->m.bit_rate= avctx->bit_rate; + s->m.lmin = avctx->mb_lmin; + s->m.lmax = avctx->mb_lmax; s->m.me.temp = s->m.me.scratchpad= av_mallocz_array((avctx->width+64), 2*16*2*sizeof(uint8_t)); @@ -1929,8 +1929,11 @@ static av_cold int encode_end(AVCodecContext *avctx) #define OFFSET(x) offsetof(SnowContext, x) #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { - FF_MPV_COMMON_OPTS - { "iter", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_ITER }, 0, 0, FF_MPV_OPT_FLAGS, "motion_est" }, + {"motion_est", "motion estimation algorithm", OFFSET(motion_est), AV_OPT_TYPE_INT, {.i64 = FF_ME_EPZS }, FF_ME_ZERO, FF_ME_ITER, VE, "motion_est" }, + { "zero", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_ZERO }, 0, 0, VE, "motion_est" }, + { "epzs", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_EPZS }, 0, 0, VE, "motion_est" }, + { "xone", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_XONE }, 0, 0, VE, "motion_est" }, + { "iter", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = FF_ME_ITER }, 0, 0, VE, "motion_est" }, { "memc_only", "Only do ME/MC (I frames -> ref, P frame -> ME+MC).", OFFSET(memc_only), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { "no_bitstream", "Skip final bitstream writeout.", OFFSET(no_bitstream), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE }, { "intra_penalty", "Penalty for intra blocks in block decission", OFFSET(intra_penalty), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, |