[FFmpeg-devel] [PATCH 5/6] avcodec/mpeg4videodec: Remove always-true checks

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Oct 14 00:23:33 EEST 2022


Michael Niedermayer:
> Hi
> 
> On Wed, Oct 12, 2022 at 08:06:22PM +0200, Andreas Rheinhardt wrote:
>> codec_id is always AV_CODEC_ID_MPEG4 in this file.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
>> ---
>>  libavcodec/mpeg4videodec.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
> [...]
>> @@ -3084,7 +3083,6 @@ int ff_mpeg4_workaround_bugs(AVCodecContext *avctx)
>>                 ctx->divx_version, ctx->divx_build, s->divx_packed ? "p" : "");
>>  
>>      if (CONFIG_MPEG4_DECODER && ctx->xvid_build >= 0 &&
>> -        s->codec_id == AV_CODEC_ID_MPEG4 &&
> 
> should the CONFIG_MPEG4_DECODER check be removed too ?
> 

This file is also compiled if the MPEG-4 parser or the H.263 decoder is
enabled (hence if any of the H.263 decoder family is enabled); the
former is probably done because of ff_mpeg4_pred_ac() which is used by
msmpeg4dec.c (this is the only exception to what I wrote in the commit
message; will amend it). The latter could be solved by moving the code
common to mpeg4-decoder and parser out into a file of its own, say
mpeg4_parse.c. I pondered doing that; would you have any objections to
it? It would allow to cut down on the crazy list of requirements of the
mpeg4 parser.
Anyway, given that both the MPEG-4 parser as well as the H.263 decoder
already require mpegvideodec, one could remove this CONFIG_MPEG4_DECODER
without causing linking failures, but doing so would cause a tiny bit
more code to be included in case the MPEG-4 decoder is disabled (in
fact, ff_mpeg4_workaround_bugs() is completely unnecessary in this
case). So removing it has a tiny disadvantage now and I intend to deal
with this whole issue later anyway, so I don't intend to do it now
(unless you insist).

- Andreas



More information about the ffmpeg-devel mailing list