summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRostislav Pehlivanov <atomnuker@gmail.com>2015-09-01 12:07:00 +0100
committerRostislav Pehlivanov <atomnuker@gmail.com>2015-09-01 12:07:00 +0100
commit8ffe1cb4d7d457fdd216f42fec068fbd0cbc7ade (patch)
tree02c16b4e0737b33b2898c96c586f96dca5fffbb1
parentc3cd1a7496feb374016f1bd099f373763db31705 (diff)
aacenc: disable bandtype modifying extensions when coder != twoloop
If the selected coder isn't twoloop, this commit temporarily disables IS and PNS. The problem is in the encode_window_bands_info() being confused and setting invalid band_types for non-marked (normal) bands. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
-rw-r--r--libavcodec/aacenc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 899111bea1..444ca0e5c2 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -797,6 +797,11 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
ERROR_IF(1, "Unsupported profile %d\n", avctx->profile);
}
+ if (s->options.aac_coder != AAC_CODER_TWOLOOP) {
+ s->options.intensity_stereo = 0;
+ s->options.pns = 0;
+ }
+
avctx->bit_rate = (int)FFMIN(
6144 * s->channels / 1024.0 * avctx->sample_rate,
avctx->bit_rate);