[FFmpeg-devel] [PATCH v2 43/69] avcodec/mpegvideo: Move brd_scale to MPVMainEncContext
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Tue Feb 1 15:06:40 EET 2022
Only used by the main encoding thread.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/mpegvideo.h | 1 -
libavcodec/mpegvideo_enc.c | 6 +++---
libavcodec/mpegvideoenc.h | 5 +++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h
index 0153abde3b..62347eff81 100644
--- a/libavcodec/mpegvideo.h
+++ b/libavcodec/mpegvideo.h
@@ -406,7 +406,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
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index ab49705823..a1ea875546 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -909,8 +909,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)
@@ -1224,7 +1224,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;
diff --git a/libavcodec/mpegvideoenc.h b/libavcodec/mpegvideoenc.h
index ab0f7d13c7..350a1f70a6 100644
--- a/libavcodec/mpegvideoenc.h
+++ b/libavcodec/mpegvideoenc.h
@@ -75,6 +75,7 @@ typedef struct MPVMainEncContext {
AVFrame *tmp_frames[MPVENC_MAX_B_FRAMES + 2];
int b_frame_strategy;
int b_sensitivity;
+ int brd_scale;
} MPVMainEncContext;
#define UNI_AC_ENC_INDEX(run,level) ((run)*128 + (level))
@@ -157,7 +158,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 \
@@ -169,7 +170,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;
--
2.32.0
More information about the ffmpeg-devel
mailing list