Changes to allow high bit depth and palette to be enabled at the
same time by using a 16 bit (instead of 8bit) palette when high
bit depth is enabled and modifying related functions accordingly.
Change-Id: I97d30b4d9338d3a51db02c94bc568eba60a8905d
This patch avoids using tx_size larger than 16x16 in lossless mode.
Big block quantization (32x32 or larger) is not lossless.
Change-Id: I69cd84d4f3fd06d641048d6096da1bfde18ad24e
There are 4 entropy tables to select for initial entropy table,
depending on the frame base q-index. The entropy tables are
trained with derf, yt, and stdhd sets. About 0.2% gain on
the following test sets:
derflr 0.227%
yt 0.277%
stdhd 0.233%
hevclr 0.221%
hevcmr 0.155%
hevchr 0.182%
Change-Id: I3fde846c47fc020e80c814897690b4cda1da569c
Change-Id: I460408372586c823974f945ed9fd8dcb0360fbaf
For the combination of this and removing NEWDV from the tree:
derflr: -0.101 screen_content: +0.053
The bulk of the decline in screen content effecincy is from the liquify
clip. These should be recoverable by further entropy tweaks.
Change-Id: I9d80152b8492e60a0367c31797fb6932fb09bba9
The wavelets implemented are 2/6, 5/3 and 9/7 each with
a lifting based scheme for even block sizes. The 9/7
one is a double implementation currently.
This is to start experiments with:
1. Replacing large transforms (32x32 and 64x64) with wavelets
or wavelet-dct hybrids that can hopefully localize errors better
spatially. (Will also need alternate entropy coder)
2. Super-resolution modes where the higher sub-bands may be
selectively skipped from being conveyed, while a smart
reconstruction recovers the lost frequencies.
The current patch includes two types of 32x32 and 64x64
transforms: one where only wavelets are used, and another
where a single level wavelet decomposition is followed
by a lower resolution dct on the low-low band.
Change-Id: I2d6755c4e6c8ec9386a04633dacbe0de3b0043ec
This fixes a failure to decode as VP9 with frame level signalling
patched in and removed to implictly force it off.
This is primarily a correctness fix, but there were small coding gains.
0.074% smaller on derlf
0.180% smaller on screen_content
Change-Id: I4cc264bf4d9016201924be198a0c5b8374020fd9
Skip flag is removed from the bitstream for all blocks coded in intra
mode. Very minor coding gain in derf and stdhd sets (0.048 and 0.1)
Change-Id: I79f03300f16d6fa84ce54405cafecab8a021cd7d
If the decoder is configured to decode a tile indexed above the
upper limit, the internal codec will clip the index to the upper
limits.
Change-Id: Icbc1bb7b14069ac009e0a2042dd66a46d6f76679
This commit allows the vpxdec to produce the target tile
reconstruction as its output. When the provided tile index is -1,
the entire corresponding row/column tiles will be reconstructed.
If the tile index is over the upper limit, the decoder will decode
left-most/bottom tile.
Change-Id: I4c18bdb32099f736f99b8842f7f177a32b3fee09
This commit allows the decoder to decode selective tiles according
to decoder configuration settings. To decode a single tile out of
the provided key frame bit-stream (test_kf.webm), set compiler
configuration:
--enable-experimental --enable-row-tile --enable-key-frame-tile
use the command:
vpxdec -o test_dec.y4m test_kf.webm --tile-row=1 --tile-column=2
where the tile's row and column indexes are 1 and 2, respectively.
To decode all row tiles inside a provided column index, use:
--tile-row=-1 --tile-column=2
To decode all column tiles inside a provided row index, use:
--tile-row=2 --tile-column=-1
Change-Id: Ib73c266414dcee7eaab5d741b90d0058970dae56