summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc.c
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2011-01-22 05:23:43 +0000
committerJanne Grunau <janne-ffmpeg@jannau.net>2011-01-22 15:55:38 +0100
commit8ae0fa243e1f7a03cb5f23e2d9a32d3cc88b4def (patch)
tree5c57e5ee3e5b4d98fa8a2565232e013487283e86 /libavcodec/aacenc.c
parent10ed96c78fde80da9d5bac9b267369861a4f33ba (diff)
aacenc: mark SBR absent
Use backwards compatible explicit signalling to denote the absence of SBR. Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
Diffstat (limited to 'libavcodec/aacenc.c')
-rw-r--r--libavcodec/aacenc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index c52ffa0c45..f8f0eb45f6 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -149,6 +149,11 @@ static void put_audio_specific_config(AVCodecContext *avctx)
put_bits(&pb, 1, 0); //frame length - 1024 samples
put_bits(&pb, 1, 0); //does not depend on core coder
put_bits(&pb, 1, 0); //is not extension
+
+ //Explicitly Mark SBR absent
+ put_bits(&pb, 11, 0x27b); //sync extension
+ put_bits(&pb, 5, AOT_SBR);
+ put_bits(&pb, 1, 0);
flush_put_bits(&pb);
}
@@ -193,8 +198,8 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
s->samples = av_malloc(2 * 1024 * avctx->channels * sizeof(s->samples[0]));
s->cpe = av_mallocz(sizeof(ChannelElement) * aac_chan_configs[avctx->channels-1][0]);
- avctx->extradata = av_mallocz(2 + FF_INPUT_BUFFER_PADDING_SIZE);
- avctx->extradata_size = 2;
+ avctx->extradata = av_mallocz(5 + FF_INPUT_BUFFER_PADDING_SIZE);
+ avctx->extradata_size = 5;
put_audio_specific_config(avctx);
sizes[0] = swb_size_1024[i];