- 08 Dec, 2012 - 2 commits
-
-
Ronald S. Bultje authored
Don't use vp9_decode_coefs_4x4() for 2nd order DC or luma blocks. The code introduces some overhead which is unnecessary for these cases. Also, remove variable declarations that are only used once, remove magic offsets into the coefficient buffer (use xd->block[i].qcoeff instead of xd->qcoeff + magic_offset), and fix a few Google Style Guide violations. Change-Id: I0ae653fd80ca7f1e4bccd87ecef95ddfff8f28b4
-
Ronald S. Bultje authored
Use these, instead of the 4/5-dimensional arrays, to hold statistics, counts, accumulations and probabilities for coefficient tokens. This commit also re-allows ENTROPY_STATS to compile. Change-Id: If441ffac936f52a3af91d8f2922ea8a0ceabdaa5
-
- 07 Dec, 2012 - 1 commit
-
-
Ronald S. Bultje authored
This adds Debargha's DCT/DWT hybrid and a regular 32x32 DCT, and adds code all over the place to wrap that in the bitstream/encoder/decoder/RD. Some implementation notes (these probably need careful review): - token range is extended by 1 bit, since the value range out of this transform is [-16384,16383]. - the coefficients coming out of the FDCT are manually scaled back by 1 bit, or else they won't fit in int16_t (they are 17 bits). Because of this, the RD error scoring does not right-shift the MSE score by two (unlike for 4x4/8x8/16x16). - to compensate for this loss in precision, the quantizer is halved also. This is currently a little hacky. - FDCT and IDCT is double-only right now. Needs a fixed-point impl. - There are no default probabilities for the 32x32 transform yet; I'm simply using the 16x16 luma ones. A future commit will add newly generated probabilities for all transforms. - No ADST version. I don't think we'll add one for this level; if an ADST is desired, transform-size selection can scale back to 16x16 or lower, and use an ADST at that level. Additional notes specific to Debargha's DWT/DCT hybrid: - coefficient scale is different for the top/left 16x16 (DCT-over-DWT) block than for the rest (DWT pixel differences) of the block. Therefore, RD error scoring isn't easily scalable between coefficient and pixel domain. Thus, unfortunately, we need to compute the RD distortion in the pixel domain until we figure out how to scale these appropriately. Change-Id: I00386f20f35d7fabb19aba94c8162f8aee64ef2b
-
- 06 Dec, 2012 - 1 commit
-
-
Johann authored
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
-
- 05 Dec, 2012 - 4 commits
-
-
Johann authored
Only declare the functions in vpx_scale RTCD and include the relevant header. Remove unused files and functions in vpx_scale to avoid wasting time renaming. vpx_scale/win32/scaleopt.c contains functions which have not been called in a long time but are potentially optimized. The 'vp8' functions have not been renamed yet. That is for after the cleanup. Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
-
Johann authored
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
-
John Koleszar authored
Change-Id: Ibabf18947f90cb4f45052763ebf44cfb8209bd8b
-
Paul Wilkins authored
This patch reduces the cpu cost of the MV ref search by only allowing insert for candidates that would be in the current top 4. This could alter the outcome and slightly favors near candidates which are tested first but also limits the worst case loop count to 4 and means in many cases it will drop out and not happen. Change-Id: Idd795a825f9fd681f30f4fcd550c34c38939e113
-
- 04 Dec, 2012 - 1 commit
-
-
Yaowu Xu authored
1. remove the dependency on non existing "vp9_temporal_filter_x86.h" 2. prefix filenames with vp9_ in obj_int_extract.bat to reflect the change of the actual filenames. Change-Id: Ib1b4d96ac41788f76917764a6722d8461c857302
-
- 03 Dec, 2012 - 6 commits
-
-
Yaowu Xu authored
The commit changed the trellis quantization function optimize_b() to work for MBs using all transform sizes, and eliminated the function for MB using 16x16 transform only, optimize_b_16x16. Change-Id: I3fa650587ab5198ed16315b38754783a72b33ba2
-
Johann authored
Only declare the functions in vpx_scale RTCD and include the relevant header. Remove unused files and functions in vpx_scale to avoid wasting time renaming. vpx_scale/win32/scaleopt.c contains functions which have not been called in a long time but are potentially optimized. The 'vp8' functions have not been renamed yet. That is for after the cleanup. Change-Id: I2c325a101d60fa9d27e7dfcd5b52a864b4a1e09c
-
Johann authored
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
-
Jim Bankoski authored
Change-Id: I467bf0fdf3b35326bcce58d5459e6d2dbfd6c5e5
-
Frank Galligan authored
Change-Id: If0cc1ab60dff6abd67dae7c7b3dc83a1afd7fe65
-
Frank Galligan authored
- vpx_calloc is called on arf_not_zz above. - Note The removed vpx_memset call had an issue with sizeof. Change-Id: I86fd7a167d0a042e581e613e2a6c0b5e63073fc6
-
- 01 Dec, 2012 - 1 commit
-
-
Deb Mukherjee authored
Adds support for compound inter-intra prediction with superblocks. Also, fixes a bug that disabled intra modes for superblocks. Change-Id: I4d711317e1bc19df8c2f32dc645429f7fff31036
-
- 30 Nov, 2012 - 3 commits
-
-
Deb Mukherjee authored
Allows switchbale filters to be used without mismatch when the superblock experiment is on. Also removes a spurious clamping code in decodemv.c which causes rare encode/decode mismatches. Change-Id: I809d9ee0b2859552b613500b539a615515b863ae
-
Jim Bankoski authored
Change-Id: Ib5106d4772450f8026f823dd743f162ab833b1d6
-
Jim Bankoski authored
Change-Id: I2c252f3ddcc99e96c1f5d3dab8bcb25a2a3637ea
-
- 29 Nov, 2012 - 17 commits
-
-
Deb Mukherjee authored
Refactoring for improved readability - no bitstream or performance change. Change-Id: I4488ed4715f8dbe38c66431106478669041b8b33
-
Jim Bankoski authored
Change-Id: I6a224c590b6a2c5b91f9084ffb8083d18223a206
-
Jim Bankoski authored
Change-Id: I1f49d96cdb5e342041c9a72ef31df361a1b609eb
-
Jim Bankoski authored
Change-Id: I54a122cc8c0b6ed2dbc3c6ecfcd44736cd40b687
-
Jim Bankoski authored
Change-Id: I429a97ac57db3de0bf67ce3f3fe0c6b409f77a9e
-
Yaowu Xu authored
Previously, the "!=" check is logically incorrect when eob is at 0 and effective coefficient starting position is 1. This commit should have no effect on bitstream. Change-Id: I6ce3a847c7e72bfbe4f7c74f88e3310c6b9b6d30
-
Jim Bankoski authored
Change-Id: Iaa67bcf1e866dfe255c4e458d4e51e9c708ffcf4
-
Jim Bankoski authored
Change-Id: Ibea3bc80eb26a975faaa60268bbc93237f82bc57
-
Jim Bankoski authored
Change-Id: Ibe11e9275949b26a77fa9c8ac2e7c356ae533d5d
-
Jim Bankoski authored
Change-Id: I1302a6eaa840d419e8bb9ad0673e42ef139d3fee
-
Jim Bankoski authored
Change-Id: I9d0efdff0c79ea4bdd660098106b64776bdd4483
-
Jim Bankoski authored
Change-Id: Ie34820c1b6eaba9cf9316415a46f48af79c41646
-
Jim Bankoski authored
Change-Id: I914bcc669297d3414261486bf1bfb716c2ecc804
-
Jim Bankoski authored
clears up some warnings Change-Id: I9899637497c6ad7519f098e055ab98580ae6d688
-
Jim Bankoski authored
Change-Id: I20c426e91ee49666db42e20eb074095ab6b8ec5d
-
Jim Bankoski authored
Change-Id: Ieefd76e164ca4aa87597da0412977614ddfbacb7
-
Deb Mukherjee authored
This patch allows use of 8x8 and 4x4 ADST correctly for Intra 16x16 modes and Intra 8x8 modes when the block size selected is smaller than the prediction mode. Also includes some cleanups and refactoring. Rebase. Change-Id: Ie3257bdf07bdb9c6e9476915e3a80183c8fa005a
-
- 28 Nov, 2012 - 4 commits
-
-
Yaowu Xu authored
Given the way mode_context is updated, the benefit of an additional default is not signficant. Change-Id: I67489453e8781340b18e26a1cc2f04e9221004a2
-
Jim Bankoski authored
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
-
Jim Bankoski authored
and some miscellaneous invoke left overs Change-Id: I63191b1bfd3bea4ce30cceaeb686ec850570fc43
-
Yaowu Xu authored
This commit makes sure Y2 entropy coding context is always updated on every macroblock even there is no Y2 block. Change-Id: Ie307cfc46526efe55613be39f9f178d2531b56ba
-