summaryrefslogtreecommitdiff
path: root/test/convolve_test.cc
AgeCommit message (Collapse)Author
2013-02-27convolve test: validate 1D filters are 1DJohn Koleszar
Since the 8-tap lowpass filter is non-interpolating, the results are different between applying it at whole-pel values and not. This means that 1D-only versions are requried to be implemented, as opposed to being an optimization of the 2D case. Calling the 2D filter instead of the horizontal-only filter is not equivalent in this case. Update the test to pass invalid filters to the unused stage of the 1D-only calls, to verify they're unused. Change-Id: Idc1c490f059adadd4cc80dbe770c1ccefe628b0a
2013-02-27Run all filters through convolve testJohn Koleszar
Updates the convolve test to verify that all filters match the reference implementation. This verifies commit 30f866f, which fixed some problems with the SSE3 version of the filters for the vp9_sub_pel_filters_8s and vp9_sub_pel_filters_8lp banks due to overflow and order of operations. Change-Id: I6b5fe1a41bc20062e2e64633b1355ae58c9c592c
2013-02-27Use 256-byte aligned filter tablesJohn Koleszar
This avoids duplicating all the filters twice. Includes fixups to the convolve routines and associated tests to make this work. Change-Id: I922f86021594e55072ddb63b42b2313605db6e00
2013-02-26Refactor inter recon functions to support scalingJohn Koleszar
Ensure that all inter prediction goes through a common code path that takes scaling into account. Removes a bunch of duplicate 1st/2nd predictor code. Also introduces a 16x8 mode for 8x8 MVs, similar to the 8x4 trick we were doing before. This has an unexpected effect with EIGHTTAP_SMOOTH, so it's disabled in that case for now. Change-Id: Ia053e823a8bc616a988a0af30452e1e75a739cba
2013-02-08Restore SSSE3 subpixel filters in new convolve frameworkJohn Koleszar
This commit adds the 8 tap SSSE3 subpixel filters back into the code underneath the convolve API. The C code is still called for 4x4 blocks, as well as compound prediction modes. This restores the encode performance to be within about 8% of the baseline. Change-Id: Ife0d81477075ae33c05b53c65003951efdc8b09c
2013-02-05Add 8-tap generic convolverJohn Koleszar
This commit introduces a new convolution function which will be used to replace the existing subpixel interpolation functions. It is much the same as the existing functions, but allows for changing the filter kernel on a per-pixel basis, and doesn't bake in knowledge of the filter to be applied or the size of the resulting block into the function name. Replacing the existing subpel filters will come in a later commit. Change-Id: Ic9a5615f2f456cb77f96741856fc650d6d78bb91