Merge "quantize: capture skip block early"
This commit is contained in:
commit
7f2993f5e4
@ -164,22 +164,28 @@ void vp9_regular_quantize_b_4x4(MACROBLOCK *x, int plane, int block,
|
||||
MACROBLOCKD *const xd = &x->e_mbd;
|
||||
struct macroblock_plane *p = &x->plane[plane];
|
||||
struct macroblockd_plane *pd = &xd->plane[plane];
|
||||
tran_low_t *qcoeff = BLOCK_OFFSET(p->qcoeff, block),
|
||||
*dqcoeff = BLOCK_OFFSET(pd->dqcoeff, block);
|
||||
const int n_coeffs = 4 * 4;
|
||||
|
||||
if (x->skip_block) {
|
||||
memset(qcoeff, 0, n_coeffs * sizeof(*qcoeff));
|
||||
memset(dqcoeff, 0, n_coeffs * sizeof(*dqcoeff));
|
||||
return;
|
||||
}
|
||||
|
||||
#if CONFIG_VP9_HIGHBITDEPTH
|
||||
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
|
||||
vpx_highbd_quantize_b(BLOCK_OFFSET(p->coeff, block), 16, x->skip_block,
|
||||
p->zbin, p->round, p->quant, p->quant_shift,
|
||||
BLOCK_OFFSET(p->qcoeff, block),
|
||||
BLOCK_OFFSET(pd->dqcoeff, block), pd->dequant,
|
||||
vpx_highbd_quantize_b(BLOCK_OFFSET(p->coeff, block), n_coeffs,
|
||||
x->skip_block, p->zbin, p->round, p->quant,
|
||||
p->quant_shift, qcoeff, dqcoeff, pd->dequant,
|
||||
&p->eobs[block], scan, iscan);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
vpx_quantize_b(BLOCK_OFFSET(p->coeff, block), 16, x->skip_block, p->zbin,
|
||||
p->round, p->quant, p->quant_shift,
|
||||
BLOCK_OFFSET(p->qcoeff, block),
|
||||
BLOCK_OFFSET(pd->dqcoeff, block), pd->dequant, &p->eobs[block],
|
||||
scan, iscan);
|
||||
vpx_quantize_b(BLOCK_OFFSET(p->coeff, block), n_coeffs, x->skip_block,
|
||||
p->zbin, p->round, p->quant, p->quant_shift, qcoeff, dqcoeff,
|
||||
pd->dequant, &p->eobs[block], scan, iscan);
|
||||
}
|
||||
|
||||
static void invert_quant(int16_t *quant, int16_t *shift, int d) {
|
||||
|
Loading…
Reference in New Issue
Block a user