diff options
author | Lynne <dev@lynne.ee> | 2024-06-05 05:01:42 +0200 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2024-06-08 00:22:35 +0200 |
commit | 1c066867df5b786d486cfa1070af101b38542177 (patch) | |
tree | e76e18eeeb03a58a4e5c7d89491225d617d04c8d | |
parent | ee419804da2a6a44a4af5d949869f0e98306d2fc (diff) | |
download | ffmpeg-1c066867df5b786d486cfa1070af101b38542177.tar.gz |
aac: define a new profile for USAC
This allows users to determine whether a stream is USAC or not.
-rw-r--r-- | libavcodec/aac/aacdec_usac.c | 4 | ||||
-rw-r--r-- | libavcodec/defs.h | 1 | ||||
-rw-r--r-- | libavcodec/profiles.c | 1 | ||||
-rw-r--r-- | libavcodec/profiles.h | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/aac/aacdec_usac.c b/libavcodec/aac/aacdec_usac.c index 7b36b49d63..5c3bb8d4ac 100644 --- a/libavcodec/aac/aacdec_usac.c +++ b/libavcodec/aac/aacdec_usac.c @@ -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; diff --git a/libavcodec/defs.h b/libavcodec/defs.h index 00d840ec19..7ddfdcad0b 100644 --- a/libavcodec/defs.h +++ b/libavcodec/defs.h @@ -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 diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c index 052b77926e..44bdf6f85b 100644 --- a/libavcodec/profiles.c +++ b/libavcodec/profiles.c @@ -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 }, }; diff --git a/libavcodec/profiles.h b/libavcodec/profiles.h index 842201718b..33b7ffc17a 100644 --- a/libavcodec/profiles.h +++ b/libavcodec/profiles.h @@ -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)\ |