don't dummy pack if we won't recode

Avoid packing the bitstream 2 times unless we need to.  For me this
at speed -5 was a 2% speed up.

Change-Id: I32205c98f55eedd4ff031ed5fb498c84bdaa855d
This commit is contained in:
Jim Bankoski 2014-01-15 15:30:13 -08:00
Родитель ae5b96d355
Коммит 3977e64fc7
1 изменённых файлов: 9 добавлений и 7 удалений

Просмотреть файл

@ -2681,14 +2681,16 @@ static void encode_with_recode_loop(VP9_COMP *cpi,
// Dummy pack of the bitstream using up to date stats to get an
// accurate estimate of output frame size to determine if we need
// to recode.
vp9_save_coding_context(cpi);
cpi->dummy_packing = 1;
vp9_pack_bitstream(cpi, dest, size);
cpi->rc.projected_frame_size = (*size) << 3;
vp9_restore_coding_context(cpi);
if (cpi->sf.recode_loop != 0) {
vp9_save_coding_context(cpi);
cpi->dummy_packing = 1;
vp9_pack_bitstream(cpi, dest, size);
cpi->rc.projected_frame_size = (*size) << 3;
vp9_restore_coding_context(cpi);
if (frame_over_shoot_limit == 0)
frame_over_shoot_limit = 1;
if (frame_over_shoot_limit == 0)
frame_over_shoot_limit = 1;
}
if (cpi->oxcf.end_usage == USAGE_CONSTANT_QUALITY) {
loop = 0;