Age | Commit message (Collapse) | Author |
|
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
|
|
Change-Id: Ie0f150fdcfcbf7c4db52d3a08bc8238ed1c72e3b
|
|
The transform block row and column positions are always available
outside the callees. There is no need to re-compute these values
again. This approach has been used by the decoder. This commit
removes txfrm_block_to_raster_xy() function.
Change-Id: I5b90f91a0d8b7c35cfa7d171da9edf8202630108
|
|
Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185
|
|
Change-Id: Ia5072a3a92212d8565f33359f6c146469bdfbbec
|
|
Change-Id: Ib14d09376a9ce4fa5f541264e5c335aceb71380a
|
|
vestigial. replace instances with memset() which they already were being
defined to.
Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
|
|
(see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
For the test clip used, the decoder performance improved by ~2%.
This is also an intermediate step towards adding back the
mode_info streams.
Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
|
|
This fixes all test vector failures
Change-Id: Ie1a9fe0f023f7a0c7e89eb55df1b40ff65302adc
|
|
Change-Id: I0f983cb821ad7ec6fbefe7895cb8124a8fa39df6
|
|
Change-Id: I016b4e77d8268e189473f4c382603afe1ae1750f
|
|
mi_grid_* are arrays of pointer to pointer. They save the pointers that point
to the MIs in cm->mi. But they are unnecessary and complicated. The original
goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
inside MODE_INFO_t, same goal could be achieved.
This commit totally removes the mi_grid_* structures. But there are still
many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
will do on-demand MODE_INFO_t allocation in order to save these memories.
Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
|
|
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
|
|
This breaks the profile 1 bitstream.
Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the
chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case
chroma and luma planes are the same size. Disallowing larger transforms
can result in a loss of compression efficiency and is inconsistent.
For sub-8x8 blocks only average corresponding motion vectors.
4:2:0 and profile 0 behavior remains unchanged.
Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
|
|
Actually, it would be great to have two separate enums INTRA_MODES and
INTER_MODES in future.
Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
|
|
Renames:
mi_8x8 -> mi
mode_info_stride -> mi_stride
Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
|
|
Change-Id: Iaac57b24f79cd205a8c62bc1177412d22f5787a8
|
|
Change-Id: I35ec77b71e6fd686865cead9281e4dd9e9bc9e86
|
|
Change-Id: Ifdd951f24932839f06d1c700371662511dde6ebe
|
|
Output changes slightly because of a minor bug in (at least) the sb32x16
block2above tx16x16 tables that previously existed in vp9_blockd.c.
Change-Id: I624af28ac200a8322d64454cf05c79e9502968cc
|
|
Move rectangular superblock coding out of experimental list.
Change-Id: I96c37547d122330d666a67b4bf577ae54547857f
|
|
Adds RD integration for 32x16, 16x32, 64x32 and 32x64 rectangular blocks.
Derf almost +0.6%, HD a little over +1.0%, STDHD +1.3%.
Change-Id: Id651fdb6a655fdbb5c47009757e63317acfb88a5
|
|
Split macroblock and superblock tokenization and detokenization
functions and coefficient-related data structs so that the bitstream
layout and related code of superblock coefficients looks less like it's
a hack to fit macroblocks in superblocks.
In addition, unify chroma transform size selection from luma transform
size (i.e. always use the same size, as long as it fits the predictor);
in practice, this means 32x32 and 64x64 superblocks using the 16x16 luma
transform will now use the 16x16 (instead of the 8x8) chroma transform,
and 64x64 superblocks using the 32x32 luma transform will now use the
32x32 (instead of the 16x16) chroma transform.
Lastly, add a trellis optimize function for 32x32 transform blocks.
HD gains about 0.3%, STDHD about 0.15% and derf about 0.1%. There's
a few negative points here and there that I might want to analyze
a little closer.
Change-Id: Ibad7c3ddfe1acfc52771dfc27c03e9783e054430
|
|
Change-Id: I4f46d142c2a8d1e8a880cfac63702dcbfb999b78
|
|
Change-Id: I615651e4c7b09e576a341ad425cf80c393637833
|
|
Change-Id: I0df99742029834a85c4933652b0587cf5b6b2587
|
|
For coefficients, use int16_t (instead of short); for pixel values in
16-bit intermediates, use uint16_t (instead of unsigned short); for all
others, use uint8_t (instead of unsigned char).
Change-Id: I3619cd9abf106c3742eccc2e2f5e89a62774f7da
|
|
Change-Id: I0c1be01aae933243311ad321b6c456adaec1a0f5
|
|
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
|
|
Support for gyp which doesn't support multiple objects in the same
static library having the same basename.
Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
|