[FFmpeg-devel] [PATCH 1/4] mpeg4audio: rename AOT_USAC_NOSBR to AOT_USAC

James Almer jamrial at gmail.com
Wed Jun 5 19:15:11 EEST 2024


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.


More information about the ffmpeg-devel mailing list