mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-12-11 13:14:25 +00:00
aacdec: Refactor aac_er_decode_frame.
This commit is contained in:
parent
82bd8a5769
commit
edd9ea3ffb
@ -2703,11 +2703,12 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
|
||||
int *got_frame_ptr, GetBitContext *gb)
|
||||
{
|
||||
AACContext *ac = avctx->priv_data;
|
||||
const MPEG4AudioConfig *const m4ac = &ac->oc[1].m4ac;
|
||||
ChannelElement *che;
|
||||
int err, i;
|
||||
int samples = 1024;
|
||||
int chan_config = ac->oc[1].m4ac.chan_config;
|
||||
int aot = ac->oc[1].m4ac.object_type;
|
||||
int chan_config = m4ac->chan_config;
|
||||
int aot = m4ac->object_type;
|
||||
|
||||
if (aot == AOT_ER_AAC_LD || aot == AOT_ER_AAC_ELD)
|
||||
samples >>= 1;
|
||||
@ -2719,13 +2720,13 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
|
||||
|
||||
// The FF_PROFILE_AAC_* defines are all object_type - 1
|
||||
// This may lead to an undefined profile being signaled
|
||||
ac->avctx->profile = ac->oc[1].m4ac.object_type - 1;
|
||||
ac->avctx->profile = aot - 1;
|
||||
|
||||
ac->tags_mapped = 0;
|
||||
|
||||
if (chan_config < 0 || chan_config >= 8) {
|
||||
avpriv_request_sample(avctx, "Unknown ER channel configuration %d",
|
||||
ac->oc[1].m4ac.chan_config);
|
||||
chan_config);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
for (i = 0; i < tags_per_config[chan_config]; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user