Fix conflict b/w tx_skip and copy_mode in lossless mode
Change-Id: Idb12344adda99dddde8d2cd010ffffe6425aca62
This commit is contained in:
parent
695c4bc321
commit
42dfd9a728
@ -4105,12 +4105,12 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
int64_t distortion2, distortion_y, distortion_uv, this_rd,
|
||||
ssey, sseuv, total_sse, tx_cache[TX_MODES];
|
||||
#if CONFIG_EXT_TX
|
||||
EXT_TX_TYPE tx_type, best_tx_type;
|
||||
EXT_TX_TYPE tx_type, best_tx_type = NORM;
|
||||
TX_SIZE best_tx_size;
|
||||
int rate2_tx, this_skip2_tx;
|
||||
int64_t distortion2_tx, bestrd_tx = INT64_MAX;
|
||||
uint8_t tmp_zcoeff_blk[256];
|
||||
#endif
|
||||
#endif // CONFIG_EXT_TX
|
||||
|
||||
*mbmi = *inter_ref_list[copy_mode - REF0];
|
||||
mbmi->sb_type = bsize;
|
||||
@ -4132,11 +4132,14 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
#if CONFIG_EXT_TX
|
||||
for (tx_type = NORM; tx_type < EXT_TX_TYPES; tx_type++) {
|
||||
mbmi->ext_txfrm = tx_type;
|
||||
#endif
|
||||
#endif // CONFIG_EXT_TX
|
||||
super_block_yrd(cpi, x, &rate_y, &distortion_y, &skippable_y, &ssey,
|
||||
bsize, tx_cache, INT64_MAX);
|
||||
bsize, tx_cache, best_rd);
|
||||
super_block_uvrd(cpi, x, &rate_uv, &distortion_uv, &skippable_uv, &sseuv,
|
||||
bsize, INT64_MAX);
|
||||
bsize, best_rd);
|
||||
|
||||
if (rate_y == INT_MAX || rate_uv == INT_MAX)
|
||||
continue;
|
||||
|
||||
rate2 = rate_y + rate_uv;
|
||||
distortion2 = distortion_y + distortion_uv;
|
||||
@ -4182,6 +4185,10 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
sizeof(uint8_t) * ctx->num_4x4_blk);
|
||||
}
|
||||
}
|
||||
|
||||
if (bestrd_tx == INT64_MAX)
|
||||
continue;
|
||||
|
||||
if (best_tx_size < TX_32X32)
|
||||
mbmi->ext_txfrm = best_tx_type;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user