Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing
@ 2025-06-17 11:41 Nicolas Gaullier
  2025-06-26 11:06 ` Nicolas Gaullier
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Gaullier @ 2025-06-17 11:41 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Nicolas Gaullier

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@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
         }
-- 
2.47.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing
  2025-06-17 11:41 [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing Nicolas Gaullier
@ 2025-06-26 11:06 ` Nicolas Gaullier
  2025-06-26 17:30   ` Baptiste Coudurier
  0 siblings, 1 reply; 4+ messages in thread
From: Nicolas Gaullier @ 2025-06-26 11:06 UTC (permalink / raw)
  To: ffmpeg-devel

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

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing
  2025-06-26 11:06 ` Nicolas Gaullier
@ 2025-06-26 17:30   ` Baptiste Coudurier
  2025-06-27 12:01     ` Nicolas Gaullier
  0 siblings, 1 reply; 4+ messages in thread
From: Baptiste Coudurier @ 2025-06-26 17:30 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Hi Nicolas

> On Jun 26, 2025, at 4:06 AM, Nicolas Gaullier <nicolas.gaullier@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@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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing
  2025-06-26 17:30   ` Baptiste Coudurier
@ 2025-06-27 12:01     ` Nicolas Gaullier
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Gaullier @ 2025-06-27 12:01 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On 6/26/25 19:30, Baptiste Coudurier wrote:
> Hi Nicolas
>> On Jun 26, 2025, at 4:06 AM, Nicolas Gaullier <nicolas.gaullier@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@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

Yes, you're right, I had the same feeling when reverting this...

It does not seem so straightforward, because aac seems very modular 
while not using signaling, but it must be doable someway.

I will dig into this and see if I can come up with something satisfactory...

I think it would be an additional patch, and this one should remain the 
basic revert which, mostly, simply removes dead code.

Maybe it would be desirable to follow this patch immediately with a new 
patch that could restore the "profile setting" thing correctly, but that 
would add some undetermined delay, so I would say it is best to apply 
this patch on its own.

Nicolas

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-06-27 12:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-17 11:41 [FFmpeg-devel] [PATCH] avcodec/aac_parser: fix aac profile probing Nicolas Gaullier
2025-06-26 11:06 ` Nicolas Gaullier
2025-06-26 17:30   ` Baptiste Coudurier
2025-06-27 12:01     ` Nicolas Gaullier

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git