int q_idx = cm->base_qindex;
#else
int q_idx = vp9_get_qindex(seg, segment_id, cm->base_qindex);
- #endif
+ #endif // CONFIG_SUPERTX
int try_tx_skip = is_inter ? q_idx <= TX_SKIP_Q_THRESH_INTER :
q_idx <= TX_SKIP_Q_THRESH_INTRA;
+ #if CONFIG_SUPERTX
if (try_tx_skip) {
- vp9_write(w, mbmi->tx_skip[0], cm->fc.y_tx_skip_prob[is_inter]);
- vp9_write(w, mbmi->tx_skip[1], cm->fc.uv_tx_skip_prob[mbmi->tx_skip[0]]);
+ #else
+ if (try_tx_skip && !skip) {
+ #endif // CONFIG_SUPERTX
+ if (xd->lossless) {
+ #if CONFIG_SUPERTX
+ if (1)
+ #else
+ if (mbmi->tx_size == TX_4X4)
+ #endif // CONFIG_SUPERTX
+ vp9_write(w, mbmi->tx_skip[0], cm->fc.y_tx_skip_prob[is_inter]);
+ #if CONFIG_SUPERTX
+ if (1)
+ #else
+ if (get_uv_tx_size(mbmi, &xd->plane[1]) == TX_4X4)
+ #endif // CONFIG_SUPERTX
+ vp9_write(w, mbmi->tx_skip[1],
+ cm->fc.uv_tx_skip_prob[mbmi->tx_skip[0]]);
+ } else {
+ vp9_write(w, mbmi->tx_skip[0], cm->fc.y_tx_skip_prob[is_inter]);
+ vp9_write(w, mbmi->tx_skip[1],
+ cm->fc.uv_tx_skip_prob[mbmi->tx_skip[0]]);
+ }
}
}
-#endif
+#endif // CONFIG_TX_SKIP
if (!is_inter) {
if (bsize >= BLOCK_8X8) {