diff mbox series

[FFmpeg-devel] Add AAC_xHE case to aacdec_template.c for demuxing

Message ID 20240402214435.3928635-1-tmathmeyer@google.com
State New
Headers show
Series [FFmpeg-devel] Add AAC_xHE case to aacdec_template.c for demuxing | expand

Checks

Context Check Description
andriy/commit_msg_x86 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
yinshiyou/commit_msg_loongarch64 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Ted Meyer April 2, 2024, 9:44 p.m. UTC
From: Ted Meyer <tmathmeyer@chromium.org>

The parser needs to be able to be created when demuxing, otherwise the
channel count and layout can't be successfully generated.

Signed-off-by: Ted Meyer <tmathmeyer@chromium.org>
---
 libavcodec/aacdec_template.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Lynne April 3, 2024, 4:04 a.m. UTC | #1
Apr 2, 2024, 23:45 by ffmpeg-devel@ffmpeg.org:

> From: Ted Meyer <tmathmeyer@chromium.org>
>
> The parser needs to be able to be created when demuxing, otherwise the
> channel count and layout can't be successfully generated.
>
> Signed-off-by: Ted Meyer <tmathmeyer@chromium.org>
> ---
>  libavcodec/aacdec_template.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
> index aa856d7fe1..9afa3aba83 100644
> --- a/libavcodec/aacdec_template.c
> +++ b/libavcodec/aacdec_template.c
> @@ -1022,6 +1022,7 @@ static int decode_audio_specific_config_gb(AACDecContext *ac,
>  case AOT_AAC_LTP:
>  case AOT_ER_AAC_LC:
>  case AOT_ER_AAC_LD:
> +    case AOT_USAC_NOSBR:
>  if ((ret = decode_ga_specific_config(ac, avctx, gb, get_bit_alignment,
>  m4ac, m4ac->chan_config)) < 0)
>  return ret;
>

That's a really invalid workaround which also disables warning users
that xHE-AAC is not implemented.
The xHE-AAC header is not an extension of the GA header to decode
anything properly, even without SBR.

I'll be posting patches in a few days to add xHE-AAC decoding support
which also fixes remuxing.
diff mbox series

Patch

diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c
index aa856d7fe1..9afa3aba83 100644
--- a/libavcodec/aacdec_template.c
+++ b/libavcodec/aacdec_template.c
@@ -1022,6 +1022,7 @@  static int decode_audio_specific_config_gb(AACDecContext *ac,
     case AOT_AAC_LTP:
     case AOT_ER_AAC_LC:
     case AOT_ER_AAC_LD:
+    case AOT_USAC_NOSBR:
         if ((ret = decode_ga_specific_config(ac, avctx, gb, get_bit_alignment,
                                             m4ac, m4ac->chan_config)) < 0)
             return ret;