ref: 0b769b292929cb38055fa7f6d4aebd1b171a17d1
parent: e5dfca02a9c15b26a97e58dbf7be37420f1d51b4
parent: d9439fdc3685bcd40b21ffe85302a06481697f43
author: Yaowu Xu <yaowu@google.com>
date: Mon Jan 4 21:28:58 EST 2016
Merge "vp10: skip coding of txsz for lossless-segment blocks."
--- a/vp10/decoder/decodemv.c
+++ b/vp10/decoder/decodemv.c
@@ -100,6 +100,8 @@
TX_MODE tx_mode = cm->tx_mode;
BLOCK_SIZE bsize = xd->mi[0]->mbmi.sb_type;
const TX_SIZE max_tx_size = max_txsize_lookup[bsize];
+ if (xd->lossless[xd->mi[0]->mbmi.segment_id])
+ return TX_4X4;
if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8)
return read_selected_tx_size(cm, xd, max_tx_size, r);
else
--- a/vp10/encoder/bitstream.c
+++ b/vp10/encoder/bitstream.c
@@ -303,7 +303,7 @@
vpx_write(w, is_inter, vp10_get_intra_inter_prob(cm, xd));
if (bsize >= BLOCK_8X8 && cm->tx_mode == TX_MODE_SELECT &&
- !(is_inter && skip)) {
+ !(is_inter && skip) && !xd->lossless[segment_id]) {
write_selected_tx_size(cm, xd, w);
}
@@ -391,7 +391,8 @@
write_skip(cm, xd, mbmi->segment_id, mi, w);
- if (bsize >= BLOCK_8X8 && cm->tx_mode == TX_MODE_SELECT)
+ if (bsize >= BLOCK_8X8 && cm->tx_mode == TX_MODE_SELECT &&
+ !xd->lossless[mbmi->segment_id])
write_selected_tx_size(cm, xd, w);
if (bsize >= BLOCK_8X8) {