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