1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00

avcodec/wmv2enc: Inline extradata size

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

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-10-03 01:42:00 +02:00
parent ddbaf6227b
commit 83ae36287e

View File

@ -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);