summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2012-12-05Merge "Change to MV reference search." into experimentalPaul Wilkins
2012-12-05Merge remote-tracking branch 'origin/vp9-preview' into experimentalJohn Koleszar
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-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-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-29signed mismatch mvrefcountJim Bankoski
Change-Id: Ie34820c1b6eaba9cf9316415a46f48af79c41646
2012-11-29ihtllm moves to rtcdJim Bankoski
clears up some warnings Change-Id: I9899637497c6ad7519f098e055ab98580ae6d688
2012-11-29fix vp9_vp8 files renamedJim Bankoski
Change-Id: I20c426e91ee49666db42e20eb074095ab6b8ec5d
2012-11-28more rtcd cleanupJim Bankoski
Change-Id: Ieefd76e164ca4aa87597da0412977614ddfbacb7
2012-11-28Merge "Fixing 8x8/4x4 ADST for intra modes with tx select" into experimentalDeb Mukherjee
2012-11-28Fixing 8x8/4x4 ADST for intra modes with tx selectDeb Mukherjee
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
2012-11-28Merge "remove the vp9_default_mode_contexts_a" into experimentalYaowu Xu
2012-11-28remove the vp9_default_mode_contexts_aYaowu Xu
Given the way mode_context is updated, the benefit of an additional default is not signficant. Change-Id: I67489453e8781340b18e26a1cc2f04e9221004a2
2012-11-28fixed includes to be fully specifiedJim Bankoski
Change-Id: Ia1cce221f8511561b9cbd8edb7726fbc286ff243
2012-11-28Merge "remove postproc invokes" into experimentalJim Bankoski
2012-11-28Merge "Clamp decoded feature data" into experimentalJohn Koleszar
2012-11-28remove postproc invokesJim Bankoski
and some miscellaneous invoke left overs Change-Id: I63191b1bfd3bea4ce30cceaeb686ec850570fc43
2012-11-28Further improve macroblock loop filtersYunqing Wang
This change included: 1. Aligned reads in vp9_mbloop_filter_vertical_edge function. Since we actually read 16 bytes, we can align the reads to read starting at (s - 8) instead of (s - 5). 2. Combined u, v loop filters. 3. Added 8x16 transpose. This gave 2% decoder performance gain (tulip clip). Change-Id: Ib14c2f1645c4a3436df17fe2f24789506bf0bb58
2012-11-28removed redundant mode_context data structuresYaowu Xu
This commit removed a couple of redundant data structures in frame coding contextsm, mode_context and mode_context_a, and changed to use vp9_mode_contexts only. The switch of the context for different frame type now relies on the switch of frame coding context between lfc and lfc_a. This commit also removed a number of memcpy among these redundant data structure. Change-Id: I42e8174bd60f466b0860afc44c1263896471b0f3
2012-11-27Clamp decoded feature dataJohn Koleszar
Not all segment feature data elements are full-range powers of two, so there are values that can be encoded that are invalid. Add a new function to clamp values to the maximum allowed. Change-Id: Ie47cb80ef2d54292e6b8db9f699c57214a915bc4
2012-11-27Add vp9_ prefix to all vp9 filesJohn Koleszar
Support for gyp which doesn't support multiple objects in the same static library having the same basename. Change-Id: Ib947eefbaf68f8b177a796d23f875ccdfa6bc9dc
2012-11-26Improve sad3x16 SSE2 functionYunqing Wang
Vp9_sad3x16_sse2() is heavily called in decoder, in which the unaligned reads consume lots of cpu cycles. When CONFIG_SUBPELREFMV is off, the unaligned offset is 1. In this situation, we can adjust the src_ptr to be 4-byte aligned, and then do the aligned reads. This reduced the reading time significantly. Tests on 1080p clip showed over 2% decoder performance gain with CONFIG_SUBPELREFM off. Change-Id: I953afe3ac5406107933ef49d0b695eafba9a6507
2012-11-24removed the idct rtcd idct callsJim Bankoski
More cleanup to do after this, but this is a good chunk of removing rtcd. Change-Id: I551db75e341a0a85c3ad650df1e9a60dc305681a
2012-11-21remove subpixel invoke functionsJim Bankoski
Removed the rtcd subpixel invoke functions. Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33
2012-11-21Merge "clean out some of the rtcd code." into experimentalJim Bankoski
2012-11-20Merge "Pack invisible frames without lengths" into experimentalJohn Koleszar
2012-11-20Fix ref_stride in sad functionYunqing Wang
Used ref_stride. Change-Id: I31f0a3bb935520f54d11a1d87315627f162ae845
2012-11-18clean out some of the rtcd code.Jim Bankoski
This removes functions that are no longer needed and cleans up some warnings. Change-Id: I292a4c3694e9c1d68ce99cea390905b198434719
2012-11-17removal of temporal invokeJim Bankoski
Change-Id: I18ca713b02a5241bdb20dddcde0216467b55b596
2012-11-16Merge "Add const before the dequant(dq)" into experimentalYunqing Wang
2012-11-16Merge "Optimize 8x8 dequant and idct" into experimentalYunqing Wang
2012-11-16Add const before the dequant(dq)Yunqing Wang
Modified code to use const before dq. Change-Id: I6fa59c2ed9743ded33ad08df70e15c2fe1ae7b99
2012-11-16Support 32x32 intra modes in non-keyframe superblocks.Ronald S. Bultje
Change-Id: Icf8ad313c543462e523bff89690e5daa8d49bcc0
2012-11-16Further experimentation with the mode contextPaul Wilkins
Experiments with a larger set of contexts and some clean up to replace magic numbers regarding the number of contexts. The starting values and rate of backwards adaption are still suspect and based on a small set of tests. Added forwards adjustment of probabilities. The net result of adding the new context and forward update is small compared to the old context from the legacy find_near function. (down a little on derf but up by a similar amount for HD) HOWEVER.... with the new context and forward update the impact of disabling the reverse update (which may be necessary in some use cases to facilitate parallel decoding) is hugely reduced. For the old context without forward update, the impact of turning off reverse update (Experiment was with SB off) was Derf - 0.9, Yt -1.89, ythd -2.75 and sthd -8.35. The impact was mainly at low data rates. With the new context and forward update enabled the impact for all the test sets was no more than 0.5-1% (again most at the low end). Change-Id: Ic751b414c8ce7f7f3ebc6f19a741d774d2b4b556
2012-11-16Merge "Compound inter-intra experiment" into experimentalDeb Mukherjee
2012-11-16Merge "changed mv candidate search for superblocks" into experimentalYaowu Xu
2012-11-16changed mv candidate search for superblocksYaowu Xu
added additional motion vectors at close neighborhood of a superblock to the list of candiate motion vectors, and removed a couple that are further away. The change helped std-hd set about .8% (all metrics) and smaller gain for derf set. Change-Id: Iaa69b98614db43420ed3fd4738d0ca5587b90045
2012-11-16Compound inter-intra experimentDeb Mukherjee
A patch on compound inter-intra prediction. In compound inter-intra prediction, a new predictor for 16x16 inter coded MBs are obtained by combining a single inter predictor with a 16x16 intra predictor, in a manner that the weight varies with distance from the top/left boundary. The current search strategy is to combine the best inter mode with the best intra mode obtained independently. Results so far: derf +0.31% yt +0.32% std-hd +0.35% hd +0.42% It is conceivable that the results would improve somewhat with a more thorough search strategy where all intra modes are searched given the best mv, or even a joint search for the best mv and the best intra mode. Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
2012-11-16Merge "subpelrefmv for superblocks" into experimentalYaowu Xu
2012-11-15Pack invisible frames without lengthsJohn Koleszar
Modify the decoder to return the ending position of the bool decoder and use that as the starting position for the next frame. The constant-space algorithm for parsing the appended frame lengths is O(n^2), which is a potential DoS concern if n is unbounded. Revisit the appended lengths for use as partition lengths when multipartition support is added. In addition, this allows decoding of raw streams outside of a container without additional framing information, though it's insufficient to be able to remux said stream into a container. Change-Id: I71e801a9c3e37abe559a56a597635b0cbae1934b
2012-11-15subpelrefmv for superblocksYaowu Xu
duplicate code clean-up and variable name corrections Change-Id: Ibc4703228e652ec425125de5e7bc038fa46595c5