@@ -410,7 +410,6 @@ typedef struct MPVContext {
int top_field_first;
int concealment_motion_vectors;
int q_scale_type;
- int brd_scale;
int intra_vlc_format;
int alternate_scan;
#define VIDEO_FORMAT_COMPONENT 0
@@ -907,8 +907,8 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx)
return AVERROR(ENOMEM);
m->tmp_frames[i]->format = AV_PIX_FMT_YUV420P;
- m->tmp_frames[i]->width = s->width >> s->brd_scale;
- m->tmp_frames[i]->height = s->height >> s->brd_scale;
+ m->tmp_frames[i]->width = s->width >> m->brd_scale;
+ m->tmp_frames[i]->height = s->height >> m->brd_scale;
ret = av_frame_get_buffer(m->tmp_frames[i], 0);
if (ret < 0)
@@ -1222,7 +1222,7 @@ static int estimate_best_b_count(MPVMainEncContext *m)
{
MPVEncContext *const s = &m->common;
AVPacket *pkt;
- const int scale = s->brd_scale;
+ const int scale = m->brd_scale;
int width = s->width >> scale;
int height = s->height >> scale;
int i, j, out_size, p_lambda, b_lambda, lambda2;
@@ -73,6 +73,7 @@ typedef struct MPVMainEncContext {
AVFrame *tmp_frames[MAX_B_FRAMES + 2];
int b_frame_strategy;
int b_sensitivity;
+ int brd_scale;
} MPVMainEncContext;
/* mpegvideo_enc common options */
@@ -155,7 +156,7 @@ FF_MPV_OPT_CMP_FUNC, \
#define FF_MPV_COMMON_BFRAME_OPTS \
{"b_strategy", "Strategy to choose between I/P/B-frames", FF_MPV_MAIN_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS }, \
{"b_sensitivity", "Adjust sensitivity of b_frame_strategy 1", FF_MPV_MAIN_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, {.i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS }, \
-{"brd_scale", "Downscale frames for dynamic B-frame decision", FF_MPV_OFFSET(brd_scale), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS },
+{"brd_scale", "Downscale frames for dynamic B-frame decision", FF_MPV_MAIN_OFFSET(brd_scale), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS },
#if FF_API_MPEGVIDEO_OPTS
#define FF_MPV_DEPRECATED_MPEG_QUANT_OPT \
@@ -167,7 +168,7 @@ FF_MPV_OPT_CMP_FUNC, \
#define FF_MPV_DEPRECATED_BFRAME_OPTS \
{ "b_strategy", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \
{ "b_sensitivity", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(b_sensitivity), AV_OPT_TYPE_INT, { .i64 = 40 }, 1, INT_MAX, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED }, \
- { "brd_scale", "Deprecated, does nothing", FF_MPV_OFFSET(brd_scale), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED },
+ { "brd_scale", "Deprecated, does nothing", FF_MPV_MAIN_OFFSET(brd_scale), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, FF_MPV_OPT_FLAGS | AV_OPT_FLAG_DEPRECATED },
#endif
extern const AVClass ff_mpv_enc_class;
Only used by the main encoding thread. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/mpegvideo.h | 1 - libavcodec/mpegvideo_enc.c | 6 +++--- libavcodec/mpegvideoenc.h | 5 +++-- 3 files changed, 6 insertions(+), 6 deletions(-)