[FFmpeg-devel] [PATCH v3 1/2] avcodec/aac_ac3_parser: simplify

Nicolas Gaullier nicolas.gaullier at cji.paris
Thu Jul 17 12:33:04 EEST 2025


On 7/11/25 11:54, Nicolas Gaullier wrote:
> Remove unused USAC/ADTS code: ff_adts_header_parse() parse the
> object_type from a 2 bits field.
> See also 696ea1c2236842572df88d573e24a39be3f19c98.
>
> Use ff_adts_header_parse_buf() wrapper to simplify as GetBitContext is
> no longer needed (it was introduced for USAC).
>
> Partially reverts 64bb91fd3b5a00a8849531c7e8dd207f2a626096.
>
> Signed-off-by: Nicolas Gaullier <nicolas.gaullier at cji.paris>
> ---
>   libavcodec/aac_ac3_parser.c | 7 +++----
>   1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
> index e10ce13a3b..b49ce0277c 100644
> --- a/libavcodec/aac_ac3_parser.c
> +++ b/libavcodec/aac_ac3_parser.c
> @@ -147,15 +147,14 @@ get_next:
>           } else {
>   #if CONFIG_AAC_PARSER
>               AACADTSHeaderInfo hdr;
> -            GetBitContext gb;
>   
> -            init_get_bits8(&gb, buf, buf_size);
>               if (buf_size < AV_AAC_ADTS_HEADER_SIZE ||
> -                ff_adts_header_parse(&gb, &hdr) < 0)
> +                ff_adts_header_parse_buf(buf, &hdr) < 0)
>                   return i;
>   
>               avctx->profile = hdr.object_type - 1;
> -            s1->key_frame = (avctx->profile == AV_PROFILE_AAC_USAC) ? get_bits1(&gb) : 1;
> +            /* ADTS does not support USAC */
> +            s1->key_frame = 1;
>               bit_rate = hdr.bit_rate;
>   #endif
>           }

Ping ?

If you don't like this patch for whatever reason, I can just drop it and 
send the second patch (which is more important - fix ticket) 
independently, no big deal.

I still think at least the key_frame setting/USAC thing should be 
removed because it makes think USAC is possible which is not at all.

Nicolas



More information about the ffmpeg-devel mailing list