mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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
This commit is contained in:
parent
5128842ea2
commit
9c84a72a25
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user