Integrate fast txfm and quant path into skip_recode system
This commit integrates the fast transform and quantization process into skip_recode scheme in the rate-distortion optimization loop. Previously the fast transform and quantization process was only enabled for non-RD coding flow. Change-Id: Ib7db4d39b7033f1495c75897271f769799198ba8
This commit is contained in:
Родитель
1a8d45f309
Коммит
8684c23260
|
@ -3468,6 +3468,9 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
|
|||
cpi->oxcf.aq_mode != CYCLIC_REFRESH_AQ &&
|
||||
cpi->sf.allow_skip_recode;
|
||||
|
||||
if (!x->skip_recode && !cpi->sf.use_nonrd_pick_mode)
|
||||
vpx_memset(x->skip_txfm, 0, sizeof(x->skip_txfm));
|
||||
|
||||
x->skip_optimize = ctx->is_coded;
|
||||
ctx->is_coded = 1;
|
||||
x->use_lp32x32fdct = cpi->sf.use_lp32x32fdct;
|
||||
|
|
|
@ -472,22 +472,22 @@ static void encode_block(int plane, int block, BLOCK_SIZE plane_bsize,
|
|||
return;
|
||||
}
|
||||
|
||||
if (x->skip_txfm[plane] == 0) {
|
||||
// full forward transform and quantization
|
||||
if (!x->skip_recode) {
|
||||
if (!x->skip_recode) {
|
||||
if (x->skip_txfm[plane] == 0) {
|
||||
// full forward transform and quantization
|
||||
if (x->quant_fp)
|
||||
vp9_xform_quant_fp(x, plane, block, plane_bsize, tx_size);
|
||||
else
|
||||
vp9_xform_quant(x, plane, block, plane_bsize, tx_size);
|
||||
} else if (x->skip_txfm[plane] == 2) {
|
||||
// fast path forward transform and quantization
|
||||
vp9_xform_quant_dc(x, plane, block, plane_bsize, tx_size);
|
||||
} else {
|
||||
// skip forward transform
|
||||
p->eobs[block] = 0;
|
||||
*a = *l = 0;
|
||||
return;
|
||||
}
|
||||
} else if (x->skip_txfm[plane] == 2) {
|
||||
// fast path forward transform and quantization
|
||||
vp9_xform_quant_dc(x, plane, block, plane_bsize, tx_size);
|
||||
} else {
|
||||
// skip forward transform
|
||||
p->eobs[block] = 0;
|
||||
*a = *l = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (x->optimize && (!x->skip_recode || !x->skip_optimize)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче