Merge "Loopfilter: bug fix in sb_type usage" into experimental
This commit is contained in:
Коммит
7f99844e91
|
@ -680,12 +680,12 @@ static void filter_block_plane(VP9_COMMON *cm, MACROBLOCKD *xd,
|
||||||
const int skip_this = mi[c].mbmi.mb_skip_coeff
|
const int skip_this = mi[c].mbmi.mb_skip_coeff
|
||||||
&& mi[c].mbmi.ref_frame != INTRA_FRAME;
|
&& mi[c].mbmi.ref_frame != INTRA_FRAME;
|
||||||
// left edge of current unit is block/partition edge -> no skip
|
// left edge of current unit is block/partition edge -> no skip
|
||||||
const int block_edge_left = b_width_log2(mi->mbmi.sb_type) ?
|
const int block_edge_left = b_width_log2(mi[c].mbmi.sb_type) ?
|
||||||
!(c & ((1 << (b_width_log2(mi->mbmi.sb_type)-1)) - 1)) : 1;
|
!(c & ((1 << (b_width_log2(mi[c].mbmi.sb_type)-1)) - 1)) : 1;
|
||||||
const int skip_this_c = skip_this && !block_edge_left;
|
const int skip_this_c = skip_this && !block_edge_left;
|
||||||
// top edge of current unit is block/partition edge -> no skip
|
// top edge of current unit is block/partition edge -> no skip
|
||||||
const int block_edge_above = b_height_log2(mi->mbmi.sb_type) ?
|
const int block_edge_above = b_height_log2(mi[c].mbmi.sb_type) ?
|
||||||
!(r & ((1 << (b_height_log2(mi->mbmi.sb_type)-1)) - 1)) : 1;
|
!(r & ((1 << (b_height_log2(mi[c].mbmi.sb_type)-1)) - 1)) : 1;
|
||||||
const int skip_this_r = skip_this && !block_edge_above;
|
const int skip_this_r = skip_this && !block_edge_above;
|
||||||
const TX_SIZE tx_size = plane ? get_uv_tx_size(xd) : mi[c].mbmi.txfm_size;
|
const TX_SIZE tx_size = plane ? get_uv_tx_size(xd) : mi[c].mbmi.txfm_size;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче