[FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing

Baptiste Coudurier baptiste.coudurier at gmail.com
Thu Jun 26 20:30:41 EEST 2025


Hi Nicolas

> On Jun 26, 2025, at 4:06 AM, Nicolas Gaullier <nicolas.gaullier at cji.paris> wrote:
> 
> On 6/17/25 13:41, Nicolas Gaullier wrote:
>> Reverts 64bb91fd3b5a00a8849531c7e8dd207f2a626096 except the
>> key_frame setting for aac.
>> See also 696ea1c2236842572df88d573e24a39be3f19c98.
>> Don't force the profile as it may override the correct value
>> set by the decoder (HE/HEv2).
>> 
>> Fixes #11600
>> 
>> Signed-off-by: Nicolas Gaullier <nicolas.gaullier at cji.paris>
>> ---
>>  libavcodec/aac_ac3_parser.c | 8 +++-----
>>  1 file changed, 3 insertions(+), 5 deletions(-)
>> 
>> diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
>> index e10ce13a3b..1dcc2e735f 100644
>> --- a/libavcodec/aac_ac3_parser.c
>> +++ b/libavcodec/aac_ac3_parser.c
>> @@ -147,15 +147,13 @@ 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 ?
> 
> https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=14810
> 

How hard is it to detect HEAACv2 in the parser ? Maybe only set it if profile is unknown?
It’s usually nice when parser can set profile.

— 
Baptiste


More information about the ffmpeg-devel mailing list