Commit 9c84a72a authored by Justin Ruggles's avatar Justin Ruggles

Skip the bit allocation search if previous and current SNR offsets are the

maximum value of 1023.
This speeds up overall encoding depending on the content and bitrate.
The most improvement is with high bitrates and/or low complexity content.

Originally committed as revision 26181 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 5128842e
...@@ -1116,6 +1116,13 @@ static int cbr_bit_allocation(AC3EncodeContext *s) ...@@ -1116,6 +1116,13 @@ static int cbr_bit_allocation(AC3EncodeContext *s)
snr_offset = s->coarse_snr_offset << 4; snr_offset = s->coarse_snr_offset << 4;
/* if previous frame SNR offset was 1023, check if current frame can also
use SNR offset of 1023. if so, skip the search. */
if ((snr_offset | s->fine_snr_offset[0]) == 1023) {
if (bit_alloc(s, 1023) <= bits_left)
return 0;
}
while (snr_offset >= 0 && while (snr_offset >= 0 &&
bit_alloc(s, snr_offset) > bits_left) { bit_alloc(s, snr_offset) > bits_left) {
snr_offset -= 64; snr_offset -= 64;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment