Populate q_index in multi-thread encoding
This value needs to be copied to each thread's data structure. This fixed artifact problem in multi-thread encoder. Change-Id: Iab6d9745a1d44846aa503184705376f63a505597
This commit is contained in:
Родитель
34d7c8b3d4
Коммит
06fc0f83b6
|
@ -343,6 +343,9 @@ static void setup_mbby_copy(MACROBLOCK *mbdst, MACROBLOCK *mbsrc)
|
|||
z->block[i].zbin = x->block[i].zbin;
|
||||
z->block[i].zrun_zbin_boost = x->block[i].zrun_zbin_boost;
|
||||
z->block[i].round = x->block[i].round;
|
||||
z->q_index = x->q_index;
|
||||
z->act_zbin_adj = x->act_zbin_adj;
|
||||
z->last_act_zbin_adj = x->last_act_zbin_adj;
|
||||
/*
|
||||
z->block[i].src = x->block[i].src;
|
||||
*/
|
||||
|
|
|
@ -609,6 +609,9 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x, int ok_to_skip)
|
|||
|
||||
/* This initialization should be called at least once. Use ok_to_skip to
|
||||
* decide if it is ok to skip.
|
||||
* Before encoding a frame, this function is always called with ok_to_skip
|
||||
* =0, which means no skiping of calculations. The "last" values are
|
||||
* initialized at that time.
|
||||
*/
|
||||
if (!ok_to_skip || QIndex != x->q_index)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче