[FFmpeg-devel] [PATCH 2/2] avcodec/wmv2enc: Inline extradata size

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Oct 6 18:19:37 EEST 2022


This also allows the compiler to optimize the implicit
checks performed by the PutBit-API away (Clang does so).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/wmv2enc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/wmv2enc.c b/libavcodec/wmv2enc.c
index 8a6d897468..d2f8afc892 100644
--- a/libavcodec/wmv2enc.c
+++ b/libavcodec/wmv2enc.c
@@ -29,6 +29,8 @@
 #include "wmv2.h"
 #include "wmv2enc.h"
 
+#define WMV2_EXTRADATA_SIZE 4
+
 typedef struct WMV2EncContext {
     MSMPEG4EncContext msmpeg4;
     WMV2Context common;
@@ -49,7 +51,7 @@ static int encode_ext_header(WMV2EncContext *w)
     PutBitContext pb;
     int code;
 
-    init_put_bits(&pb, s->avctx->extradata, s->avctx->extradata_size);
+    init_put_bits(&pb, s->avctx->extradata, WMV2_EXTRADATA_SIZE);
 
     put_bits(&pb, 5, s->avctx->time_base.den / s->avctx->time_base.num); // yes 29.97 -> 29
     put_bits(&pb, 11, FFMIN(s->bit_rate / 1024, 2047));
@@ -80,7 +82,7 @@ static av_cold int wmv2_encode_init(AVCodecContext *avctx)
 
     ff_wmv2_common_init(s);
 
-    avctx->extradata_size = 4;
+    avctx->extradata_size = WMV2_EXTRADATA_SIZE;
     avctx->extradata      = av_mallocz(avctx->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
     if (!avctx->extradata)
         return AVERROR(ENOMEM);
-- 
2.34.1



More information about the ffmpeg-devel mailing list