On 6/5/2024 12:08 AM, Lynne via ffmpeg-devel wrote:
The issue is that AOT 45 isn't defined anywhere, and looking at the git
blame, it seems to have sprung up through a reordering of the enum,
and adding a hole.
The spec does not define an explicit AOT for SBR and no SBR, and only
uses AOT 42 (previously AOT_USAC_NOSBR), so just rename AOT_USAC to
it and replace its use everywhere.
---
libavcodec/aac/aacdec.c | 7 ++-----
libavcodec/mpeg4audio.h | 3 +--
2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/libavcodec/aac/aacdec.c b/libavcodec/aac/aacdec.c
index 2b8322fc68..24d2bdde4c 100644
--- a/libavcodec/aac/aacdec.c
+++ b/libavcodec/aac/aacdec.c
@@ -1046,7 +1046,6 @@ static int decode_audio_specific_config_gb(AACDecContext
*ac,
return ret;
break;
#if CONFIG_AAC_DECODER
- case AOT_USAC_NOSBR: /* fallthrough */
case AOT_USAC:
if ((ret = ff_aac_usac_config_decode(ac, avctx, gb,
oc, m4ac->chan_config)) < 0)
@@ -1571,8 +1570,7 @@ int ff_aac_decode_tns(AACDecContext *ac,
TemporalNoiseShaping *tns,
GetBitContext *gb, const IndividualChannelStream *ics)
{
int tns_max_order = INT32_MAX;
- const int is_usac = ac->oc[1].m4ac.object_type == AOT_USAC ||
- ac->oc[1].m4ac.object_type == AOT_USAC_NOSBR;
+ const int is_usac = ac->oc[1].m4ac.object_type == AOT_USAC;
int w, filt, i, coef_len, coef_res, coef_compress;
const int is8 = ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE;
@@ -2421,8 +2419,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, AVFrame *frame,
ac->tags_mapped = 0;
- if ((ac->oc[1].m4ac.object_type == AOT_USAC) ||
- (ac->oc[1].m4ac.object_type == AOT_USAC_NOSBR)) {
+ if (ac->oc[1].m4ac.object_type == AOT_USAC) {
if (ac->is_fixed) {
avpriv_report_missing_feature(ac->avctx,
"AAC USAC fixed-point decoding");
diff --git a/libavcodec/mpeg4audio.h b/libavcodec/mpeg4audio.h
index 56615ef321..5daba7824b 100644
--- a/libavcodec/mpeg4audio.h
+++ b/libavcodec/mpeg4audio.h
@@ -108,10 +108,9 @@ enum AudioObjectType {
AOT_ER_AAC_ELD, ///< N Error Resilient
Enhanced Low Delay
AOT_SMR_SIMPLE, ///< N Symbolic Music
Representation Simple
AOT_SMR_MAIN, ///< N Symbolic Music
Representation Main
- AOT_USAC_NOSBR, ///< N Unified Speech and
Audio Coding (no SBR)
+ AOT_USAC, ///< Y Unified Speech and
Audio Coding
AOT_SAOC, ///< N Spatial Audio
Object Coding
AOT_LD_SURROUND, ///< N Low Delay MPEG
Surround
- AOT_USAC, ///< N Unified Speech and
Audio Coding
};
#define MAX_PCE_SIZE 320 ///<Maximum size of a PCE including the 3-bit ID_PCE
Should be ok.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".