Commit 53a11656 authored by Ronald S. Bultje's avatar Ronald S. Bultje

vp10: only assume ONLY_4X4 if segmentation is disabled.

Otherwise, per-segment lossless might mean that some segments are not
lossless and they could still want to use another mode. The per-block
tx points remain uncoded on blocks where (per the segment id) the Q
value implies lossless.

Change-Id: If210206ab1fe3dd11976797370c77f961f13dfa0
parent d9439fdc
......@@ -2109,8 +2109,8 @@ static size_t read_uncompressed_header(VP10Decoder *pbi,
setup_segmentation_dequant(cm);
#if CONFIG_MISC_FIXES
cm->tx_mode = (xd->lossless[0]) ? ONLY_4X4
: read_tx_mode(rb);
cm->tx_mode = (!cm->seg.enabled && xd->lossless[0]) ? ONLY_4X4
: read_tx_mode(rb);
cm->reference_mode = read_frame_reference_mode(cm, rb);
#endif
......
......@@ -1261,7 +1261,7 @@ static void write_uncompressed_header(VP10_COMP *cpi,
encode_quantization(cm, wb);
encode_segmentation(cm, xd, wb);
#if CONFIG_MISC_FIXES
if (xd->lossless[0])
if (!cm->seg.enabled && xd->lossless[0])
cm->tx_mode = TX_4X4;
else
write_txfm_mode(cm->tx_mode, wb);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment