- 10 Mar, 2013 1 commit
-
-
John Koleszar authored
The previous implementation visited each node in the tree multiple times because it used each symbol's encoding to revisit the branches taken and increment its count. Instead, we can traverse the tree depth first and calculate the probabilities and branch counts as we walk back up. The complexity goes from somewhere between O(nlogn) and O(n^2) (depending on how balanced the tree is) to O(n). Only tested one clip (256kbps, CIF), saw 13% decoding perf improvement. Note that this optimization should port trivially to VP8 as well. In VP8, the decoder doesn't use this function, but it does routinely show up on the profile for realtime encoding. Change-Id: I4f2848e4f41dc9a7694f73f3e75034bce08d1b12
-
- 05 Mar, 2013 4 commits
-
-
Ronald S. Bultje authored
* changes: vpxenc: actually report mismatch on stderr. Make superblocks independent of macroblock code and data.
-
Dmitry Kovalev authored
-
Ronald S. Bultje authored
Because ctx->err is not set in that case, it will not report the error on stderr. Change-Id: Ifacbf5a03e676fd56522b03c0281d6c723c563ee
-
Ronald S. Bultje authored
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
-
- 04 Mar, 2013 6 commits
-
-
Dmitry Kovalev authored
-
Yunqing Wang authored
-
Yaowu Xu authored
-
Ronald S. Bultje authored
Change-Id: I5637d491eb6a9b7633f72e03fd9df72131eeb121
-
Yunqing Wang authored
Wrote a SSE2 vp9_short_idct4x4llm to improve the decoder performance. Change-Id: I90b9d48c4bf37aaf47995bffe7e584e6d4a2c000
-
Jingning Han authored
Fixed a couple of variable/function definitions, as well as header handling to support 16K sequence coding at high bit-rates. The width and height are each specified by two bytes in the header. Use an extra byte to explicitly indicate the scaling factors in both directions, each ranging from 0 to 15. Tested coding up to 16400x16400 dimension. Change-Id: Ibc2225c6036620270f2c0cf5172d1760aaec10ec
-
- 02 Mar, 2013 5 commits
-
-
John Koleszar authored
* changes: Add unit test for x4 multi-SAD functions Add VP9 1 block SAD functions to unit test Merge master branch into experimental
-
John Koleszar authored
Update the function prototypes to match between VP9 and VP8. Change-Id: If58965073989e87df3b62b67a030ec6ce23ca04f
-
John Koleszar authored
Change-Id: I06b5ba5c457944cfa4cd9f53c3bd8cda132439c2
-
Dmitry Kovalev authored
Change-Id: Iab0176f058045181821ded95ff1cf423af1625f9
-
Dmitry Kovalev authored
Removing redundant 'extern' keyword, lowercase variable names. Change-Id: I608e8d8579aba8981f5fac3493f77b4481b13808
-
- 01 Mar, 2013 8 commits
-
-
Ronald S. Bultje authored
Change-Id: I7977694223521404fc69f29ae2cff03e36e87299
-
John Koleszar authored
Picks up some build system changes, compiler warning fixes, etc. Change-Id: I2712f99e653502818a101a72696ad54018152d4e
-
Yaowu Xu authored
-
Yunqing Wang authored
-
Yaowu Xu authored
to be a fixed value of 15. Test results: cif: .124%, .068%, .081% std-hd: 2.809%, 3.174%, 2.705% Change-Id: I380c8152c973506094da15eab59e3aa22b75a983
-
Dmitry Kovalev authored
-
Yunqing Wang authored
Simplified idct32x32 calculation when there are only 10 or less non-zero coefficients in 32x32 block. This helps the decoder performance. Change-Id: If7f8893d27b64a9892b4b2621a37fdf4ac0c2a6d
-
Dmitry Kovalev authored
* changes: Ignoring test video sequences in the source tree. Code cleanup.
-
- 28 Feb, 2013 16 commits
-
-
James Zern authored
gf_group_bits is int64_t remove casts to int. Change-Id: I3b4225905041fac9af9fdfcbcb6f1c357ea4b593
-
John Koleszar authored
-
Jim Bankoski authored
-
Dmitry Kovalev authored
Adding /*.ivf and /*.ivf.md5 filename patterns to .gitignore. Change-Id: I9be9c99023e6b59bcc9cfbb6c9d6cdc8e500fc4f
-
Dmitry Kovalev authored
Lower case variable names, converting while loops to for loops. Change-Id: Ic3b973391eef7472a99d18d02fe79cfef5e04e62
-
Yunqing Wang authored
-
Yunqing Wang authored
Provided a wrapper and removed duplicate code. Change-Id: Iaef842226ec348422e459202793b001d0983ea30
-
Scott LaVarnway authored
Change-Id: Ie89bd00d58e30bf4094cb748a282f1dfa81a31d8
-
Jim Bankoski authored
Change-Id: Id786be31da3c91d95d2955aa569ecdc6e66650df
-
John Koleszar authored
The ABOVESPREFMV experiment uses four pixels to the left of the current block, which don't exist for the left-most column. Change-Id: I4cf0b42ae8f54c0b3e7b1ed8755704b74fafc39c
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
Removing redundant variables, using x *= y instead x = x * y, moving variable declarations into inner blocks. Change-Id: I884f95c755f55d51b7c1c6585f10296919063e41
-
Dmitry Kovalev authored
Removing redundant 'extern' keyword, better formatting, code simplification. Change-Id: I132fea14f08c706ee9ea147d19464d03f833f25b
-
John Koleszar authored
The width and height stored in the reference frames are padded out to a multiple of 16. The Width and Height variables in common are the displayed size, which may be smaller. The incorrect comparison was causing scaling related code to be called when it shouldn't have been. A notable case where this happens is 1080p, since 1088 != 1080. Change-Id: I55f743eeeeaefbf2e777e193bc9a77ff726e16b5
-
Johann authored
-
Jim Bankoski authored
sse4_1 code used uint16_t for returning sad, but that won't work for 32x32 or 64x64. This code fixes the assembly for those and also reenables sse4_1 on linux Change-Id: I5ce7288d581db870a148e5f7c5092826f59edd81
-