- 13 Dec, 2012 - 1 commit
-
-
Deb Mukherjee authored
Modifies the scanning pattern and uses a floating point 16x16 dct implementation for now to handle scaling better. Also experiments are in progress with 2/6 and 9/7 wavelets. Results have improved to within ~0.25% of 32x32 dct for std-hd and about 0.03% for derf. This difference can probably be bridged by re-optimizing the entropy stats for these transforms. Currently the stats used are common between 32x32 dct and dwt/dct. Experiments are in progress with various scan pattern - wavelet combinations. Ideally the subbands should be tokenized separately, and an experiment will be condcuted next on that. Change-Id: Ia9cbfc2d63cb7a47e562b2cd9341caf962bcc110
-
- 10 Dec, 2012 - 3 commits
-
-
Deb Mukherjee authored
-
Deb Mukherjee authored
The switchable count update was mistakenly inside a macro. Change-Id: Iec04c52ad57034b88312dbaf05eee1f47ce265b3
-
Paul Wilkins authored
Some further changes and refactoring of mv reference code and selection of center point for searches. Mainly relates to not passing so many different local copies of things around. Some place holder comments. Change-Id: I309f10ffe9a9cde7663e7eae19eb594371c8d055
-
- 08 Dec, 2012 - 6 commits
-
-
John Koleszar authored
-
John Koleszar authored
In addition to allowing tests to use the RTCD-enabled functions (perhaps transitively) without having run a full encode/decode test yet, this fixes a linking issue with Apple's G++ whereby the Common symbols (the function pointers themselves) wouldn't be resolved. Fixing this linking issue is the primary impetus for this patch, as none of the tests exercise the RTCD functionality except through the main API. Change-Id: I12aed91ca37a707e5309aa6cb9c38a649c06bc6a
-
Jim Bankoski authored
-
Jim Bankoski authored
-
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 - 4 commits
-
-
Frank Galligan authored
Change-Id: I0cb06d77805246fe39d39ad3bc5df3c3f52c7050
-
Frank Galligan authored
Change-Id: I366e6d175da3012f1c8607fd7fad99fbbb616091
-
Frank Galligan authored
Change-Id: I1eb7433061a6c529471026e0ebdc6467942062eb
-
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 - 4 commits
-
-
John Koleszar authored
In addition to allowing tests to use the RTCD-enabled functions (perhaps transitively) without having run a full encode/decode test yet, this fixes a linking issue with Apple's G++ whereby the Common symbols (the function pointers themselves) wouldn't be resolved. Fixing this linking issue is the primary impetus for this patch, as none of the tests exercise the RTCD functionality except through the main API. Change-Id: I12aed91ca37a707e5309aa6cb9c38a649c06bc6a
-
Johann authored
Change-Id: I92d613e89c8f1174eca0789116120bfa20c25c28
-
Johann authored
Change-Id: I5fbcd2006d05bfe841f3c7af9c1aeb2cb83b3149
-
Johann authored
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
-
- 05 Dec, 2012 - 8 commits
-
-
Paul Wilkins authored
-
John Koleszar authored
-
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
-
Johann authored
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
-
John Koleszar authored
-
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 - 4 commits
-
-
Johann authored
-
Yaowu Xu authored
Change-Id: Ie80597221bee494679ae2ba50cca22dea2609cba
-
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
-
Frank Galligan authored
-
- 03 Dec, 2012 - 10 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
-
Johann authored
-
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
-
Johann authored
Refactor asm_offsets for vpx_scale. Change-Id: I2db0eeb28c8e757bd033c6614a1e5319a1a204a5
-
Jim Bankoski authored
-
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
-