summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2012-12-10Merge "A bug fix related to switchable filters" into experimentalDeb Mukherjee
2012-12-10A bug fix related to switchable filtersDeb Mukherjee
The switchable count update was mistakenly inside a macro. Change-Id: Iec04c52ad57034b88312dbaf05eee1f47ce265b3
2012-12-10Further changes to mv reference code.Paul Wilkins
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
2012-12-07Merge remote-tracking branch 'origin/vp9-preview' into experimentalJohn Koleszar
2012-12-07Merge "Fix implicit cast." into vp9-previewJim Bankoski
2012-12-07Merge "Fix meaninglesss if." into vp9-previewJim Bankoski
2012-12-07Clean up 4x4 coefficient decoding code.Ronald S. Bultje
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
2012-12-07Introduce vp9_coeff_probs/counts/stats/accum types.Ronald S. Bultje
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
2012-12-07Fix meaninglesss if.Frank Galligan
Change-Id: I0cb06d77805246fe39d39ad3bc5df3c3f52c7050
2012-12-07Remove unused symbols from vp9 asm offsets C files.Frank Galligan
Change-Id: I366e6d175da3012f1c8607fd7fad99fbbb616091
2012-12-07Fix implicit cast.Frank Galligan
Change-Id: I1eb7433061a6c529471026e0ebdc6467942062eb
2012-12-0732x32 transform for superblocks.Ronald S. Bultje
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
2012-12-05Use 'vpx_scale' consistentlyJohann
Change-Id: I178352813d2b8702d081caf405de9dbad9af2cc3
2012-12-05Merge "Change to MV reference search." into experimentalPaul Wilkins
2012-12-05Begin to refactor vpx_scale usage in VP9Johann
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
2012-12-05Remove ARM optimizations from VP9Johann
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
2012-12-05Merge remote-tracking branch 'origin/vp9-preview' into experimentalJohn Koleszar
2012-12-05vp9_bilinear_filters_mmx: add missing extern specifiersJohn Koleszar
Change-Id: Ibabf18947f90cb4f45052763ebf44cfb8209bd8b
2012-12-05Change to MV reference search.Paul Wilkins
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
2012-12-04Merge "Begin to refactor vpx_scale usage in VP9" into experimentalJohann
2012-12-04Fix the build with MSVCYaowu Xu
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
2012-12-03Merge "vp9: Fix assert check." into vp9-previewFrank Galligan
2012-12-03merged optimiz_b_16x16() into optmize_b()Yaowu Xu
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
2012-12-03Merge "Remove ARM optimizations from VP9" into experimentalJohann
2012-12-03Begin to refactor vpx_scale usage in VP9Johann
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
2012-12-03Remove ARM optimizations from VP9Johann
Change-Id: I9f0ae635fb9a95c4aa1529c177ccb07e2b76970b
2012-12-03Merge "fixes --disable-vp9-encoder" into vp9-previewJim Bankoski
2012-12-03fixes --disable-vp9-encoderJim Bankoski
Change-Id: I467bf0fdf3b35326bcce58d5459e6d2dbfd6c5e5
2012-12-03vp9: Fix assert check.Frank Galligan
Change-Id: If0cc1ab60dff6abd67dae7c7b3dc83a1afd7fe65
2012-12-03vp9: Remove superfluous command.Frank Galligan
- vpx_calloc is called on arf_not_zz above. - Note The removed vpx_memset call had an issue with sizeof. Change-Id: I86fd7a167d0a042e581e613e2a6c0b5e63073fc6
2012-12-01Supports inter-intra prediction with superblocksDeb Mukherjee
Adds support for compound inter-intra prediction with superblocks. Also, fixes a bug that disabled intra modes for superblocks. Change-Id: I4d711317e1bc19df8c2f32dc645429f7fff31036
2012-11-30Adds switchable filters with superblocksDeb Mukherjee
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
2012-11-30warnings in various experimentsJim Bankoski
Change-Id: Ib5106d4772450f8026f823dd743f162ab833b1d6
2012-11-30google style guide include guardsJim Bankoski
Change-Id: I2c252f3ddcc99e96c1f5d3dab8bcb25a2a3637ea
2012-11-29Merge "Further improve macroblock loop filters" into experimentalYunqing Wang
2012-11-29Merge "Minor refactoring of superblock decoding" into experimentalDeb Mukherjee
2012-11-29Minor refactoring of superblock decodingDeb Mukherjee
Refactoring for improved readability - no bitstream or performance change. Change-Id: I4488ed4715f8dbe38c66431106478669041b8b33
2012-11-29intrinsic warnings begoneJim Bankoski
Change-Id: I6a224c590b6a2c5b91f9084ffb8083d18223a206
2012-11-29last remaining warningJim Bankoski
Change-Id: I1f49d96cdb5e342041c9a72ef31df361a1b609eb
2012-11-29fix implicit warnings idct etcJim Bankoski
Change-Id: I54a122cc8c0b6ed2dbc3c6ecfcd44736cd40b687
2012-11-29Additional warning message cleanup.Jim Bankoski
Change-Id: I429a97ac57db3de0bf67ce3f3fe0c6b409f77a9e
2012-11-29Merge changes Iaa67bcf1,Ibea3bc80 into experimentalYaowu Xu
* changes: more warning cleanup unused variables & warnings
2012-11-29Merge "more unused variables." into experimentalYaowu Xu
2012-11-29Merge "unused variable" into experimentalYaowu Xu
2012-11-29Merge "unused var removed" into experimentalYaowu Xu
2012-11-29Merge "minor fix to eob check for setting CONTEXT" into experimentalYaowu Xu
2012-11-29minor fix to eob check for setting CONTEXTYaowu Xu
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
2012-11-29more warning cleanupJim Bankoski
Change-Id: Iaa67bcf1e866dfe255c4e458d4e51e9c708ffcf4
2012-11-29unused variables & warningsJim Bankoski
Change-Id: Ibea3bc80eb26a975faaa60268bbc93237f82bc57
2012-11-29more unused variables.Jim Bankoski
Change-Id: Ibe11e9275949b26a77fa9c8ac2e7c356ae533d5d