aac: define a new profile for USAC

This allows users to determine whether a stream is USAC or not.
This commit is contained in:
Lynne 2024-06-05 05:01:42 +02:00
parent ee419804da
commit 1c066867df
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
4 changed files with 7 additions and 0 deletions

View File

@ -494,6 +494,8 @@ int ff_aac_usac_config_decode(AACDecContext *ac, AVCodecContext *avctx,
}
}
ac->avctx->profile = AV_PROFILE_AAC_USAC;
ret = ff_aac_usac_reset_state(ac, oc);
if (ret < 0)
return ret;
@ -1533,6 +1535,8 @@ int ff_aac_usac_decode_frame(AVCodecContext *avctx, AACDecContext *ac,
ff_aac_output_configure(ac, ac->oc[1].layout_map, ac->oc[1].layout_map_tags,
ac->oc[1].status, 0);
ac->avctx->profile = AV_PROFILE_AAC_USAC;
indep_flag = get_bits1(gb);
nb_ch_el = 0;

View File

@ -73,6 +73,7 @@
#define AV_PROFILE_AAC_HE_V2 28
#define AV_PROFILE_AAC_LD 22
#define AV_PROFILE_AAC_ELD 38
#define AV_PROFILE_AAC_USAC 41
#define AV_PROFILE_MPEG2_AAC_LOW 128
#define AV_PROFILE_MPEG2_AAC_HE 131

View File

@ -33,6 +33,7 @@ const AVProfile ff_aac_profiles[] = {
{ AV_PROFILE_AAC_MAIN, "Main" },
{ AV_PROFILE_AAC_SSR, "SSR" },
{ AV_PROFILE_AAC_LTP, "LTP" },
{ AV_PROFILE_AAC_USAC, "xHE-AAC" },
{ AV_PROFILE_UNKNOWN },
};

View File

@ -35,6 +35,7 @@
FF_AVCTX_PROFILE_OPTION("aac_he_v2", NULL, AUDIO, AV_PROFILE_AAC_HE_V2)\
FF_AVCTX_PROFILE_OPTION("aac_ld", NULL, AUDIO, AV_PROFILE_AAC_LD)\
FF_AVCTX_PROFILE_OPTION("aac_eld", NULL, AUDIO, AV_PROFILE_AAC_ELD)\
FF_AVCTX_PROFILE_OPTION("aac_xhe", NULL, AUDIO, AV_PROFILE_AAC_USAC)\
FF_AVCTX_PROFILE_OPTION("mpeg2_aac_low", NULL, AUDIO, AV_PROFILE_MPEG2_AAC_LOW)\
FF_AVCTX_PROFILE_OPTION("mpeg2_aac_he", NULL, AUDIO, AV_PROFILE_MPEG2_AAC_HE)\