Moved zbin_over_quant to macroblock struct

Change-Id: I76fe20ade099573997404b8733cf7f79e82fb21e
WIP: Fixing unsafe threading in VP8 encoder.
This commit is contained in:
Scott LaVarnway
2012-12-10 10:51:42 -08:00
parent 000c8414b5
commit 3a19eebe4d
7 changed files with 46 additions and 33 deletions

View File

@@ -587,19 +587,19 @@ void vp8cx_init_quantizer(VP8_COMP *cpi)
#define ZBIN_EXTRA_Y \
(( cpi->common.Y1dequant[QIndex][1] * \
( cpi->zbin_over_quant + \
( x->zbin_over_quant + \
cpi->zbin_mode_boost + \
x->act_zbin_adj ) ) >> 7)
#define ZBIN_EXTRA_UV \
(( cpi->common.UVdequant[QIndex][1] * \
( cpi->zbin_over_quant + \
( x->zbin_over_quant + \
cpi->zbin_mode_boost + \
x->act_zbin_adj ) ) >> 7)
#define ZBIN_EXTRA_Y2 \
(( cpi->common.Y2dequant[QIndex][1] * \
( (cpi->zbin_over_quant / 2) + \
( (x->zbin_over_quant / 2) + \
cpi->zbin_mode_boost + \
x->act_zbin_adj ) ) >> 7)
@@ -702,14 +702,14 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x, int ok_to_skip)
/* save this macroblock QIndex for vp8_update_zbin_extra() */
x->q_index = QIndex;
cpi->last_zbin_over_quant = cpi->zbin_over_quant;
x->last_zbin_over_quant = x->zbin_over_quant;
cpi->last_zbin_mode_boost = cpi->zbin_mode_boost;
x->last_act_zbin_adj = x->act_zbin_adj;
}
else if(cpi->last_zbin_over_quant != cpi->zbin_over_quant
else if(x->last_zbin_over_quant != x->zbin_over_quant
|| cpi->last_zbin_mode_boost != cpi->zbin_mode_boost
|| x->last_act_zbin_adj != x->act_zbin_adj)
{
@@ -729,7 +729,7 @@ void vp8cx_mb_init_quantizer(VP8_COMP *cpi, MACROBLOCK *x, int ok_to_skip)
zbin_extra = ZBIN_EXTRA_Y2;
x->block[24].zbin_extra = (short)zbin_extra;
cpi->last_zbin_over_quant = cpi->zbin_over_quant;
x->last_zbin_over_quant = x->zbin_over_quant;
cpi->last_zbin_mode_boost = cpi->zbin_mode_boost;
x->last_act_zbin_adj = x->act_zbin_adj;
}