[FFmpeg-devel] [PATCH 01/10] avcodec/libvpxenc: Avoid unused-variable warning if VP9 enc is disabled
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Mon Apr 1 21:28:55 EEST 2024
James Zern via ffmpeg-devel:
> On Sat, Mar 30, 2024 at 10:30 PM Andreas Rheinhardt
> <andreas.rheinhardt at outlook.com> wrote:
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>> libavcodec/libvpxenc.c | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
>> index 635cdf7a0e..bcbdc4981e 100644
>> --- a/libavcodec/libvpxenc.c
>> +++ b/libavcodec/libvpxenc.c
>> @@ -49,6 +49,9 @@
>> #include "libavutil/opt.h"
>> #include "libavutil/pixdesc.h"
>>
>> +#define IS_VP9(avctx) (CONFIG_LIBVPX_VP9_ENCODER && avctx->codec_id == AV_CODEC_ID_VP9)
>> +#define IS_VP8(avctx) (CONFIG_LIBVPX_VP8_ENCODER && avctx->codec_id == AV_CODEC_ID_VP8)
>> +
>> /**
>> * Portion of struct vpx_codec_cx_pkt from vpx_encoder.h.
>> * One encoded frame returned from the library.
>> @@ -359,8 +362,7 @@ static int frame_data_submit(AVCodecContext *avctx, AVFifo *fifo,
>> FrameData fd = { .pts = frame->pts };
>> int ret;
>>
>> -#if CONFIG_LIBVPX_VP9_ENCODER
>> - if (avctx->codec_id == AV_CODEC_ID_VP9 &&
>> + if (IS_VP9(avctx) &&
>
> This works and I think the style is largely prevalent in other code.
> Given the current structure you could move the enccfg declaration to
> this block as an alternative.
The latter would entail either opening a new block for the #if part or
hoping (due to -Wdeclaration-after-statement) that this #if block stays
at the start of this function. I prefer my approach above to either of
these alternatives (a third alternative would be to avoid the enccfg
variable altogether and to check ctx->encoder.config.enc->g_bit_depth
instead; another alternative is av_unused). Just tell me which
alternative you prefer.
>
>> // Keep HDR10+ if it has bit depth higher than 8 and
>> // it has PQ trc (SMPTE2084).
>> enccfg->g_bit_depth > 8 && avctx->color_trc == AVCOL_TRC_SMPTE2084) {
>> @@ -372,7 +374,6 @@ static int frame_data_submit(AVCodecContext *avctx, AVFifo *fifo,
>> return AVERROR(ENOMEM);
>> }
>> }
>> -#endif
>>
>> fd.duration = frame->duration;
>> fd.frame_opaque = frame->opaque;
>> --
>> 2.40.1
More information about the ffmpeg-devel
mailing list