summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Caldwell <saintdev@gmail.com>2011-06-28 21:11:39 -0600
committerAlex Converse <alex.converse@gmail.com>2011-06-29 14:28:53 -0700
commit98add74e85967441d6b7263d1eee79aa2d98cd82 (patch)
tree86b1f64ad436fab0c52361d6571a7e21c30ba6e3
parentd3a6c2ab7e76f12f56932a087266b082dc1dc39b (diff)
downloadffmpeg-streaming-98add74e85967441d6b7263d1eee79aa2d98cd82.zip
ffmpeg-streaming-98add74e85967441d6b7263d1eee79aa2d98cd82.tar.gz
aacenc: Fix determination of Mid/Side Mode.
In adjust_frame_information(), msc is incremented for each sfb in each sub-window then compared against max_sfb which is for a single sub-window. This resulted in frames using EIGHT_SHORT_SEQUENCE where the first few sub-windows increment msc to a value that results in ms_mode == 2. Even though only some of the bands are actually using Mid/Side.
-rw-r--r--libavcodec/aacenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index dd8a83c..eae9332 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -364,7 +364,7 @@ static void adjust_frame_information(AACEncContext *apc, ChannelElement *cpe, in
if (msc == 0 || ics0->max_sfb == 0)
cpe->ms_mode = 0;
else
- cpe->ms_mode = msc < ics0->max_sfb ? 1 : 2;
+ cpe->ms_mode = msc < ics0->max_sfb * ics0->num_windows ? 1 : 2;
}
}
OpenPOWER on IntegriCloud