Age | Commit message (Collapse) | Author |
|
Change-Id: If8b91aaa883c01107f0ea3468139fa24cfb301d2
|
|
vpx_sub_pixel_avg_varianceWxH_c with mmi.
Change-Id: Ia576a721df6312329b599c31cfe1fb1267a9f174
|
|
Change-Id: I2c782d18d9004414ba61b77238e0caf3e022d8f2
|
|
this normalizes these tests with the regular variance ones both in
implementation and test list output
Change-Id: I387aea81456f94b8223b8fb2a28cab94bc1aa9d5
|
|
BUG=webm:1423
Change-Id: Iaab2b9a183fdb54aae5f717aba95d90dc36a9e3b
|
|
Add optimizations for blocks of width 4
BUG=webm:1423
Change-Id: Idfb458d36db3014d48fbfbe7f5462aa6eb249938
|
|
These are missing an optimized version of vpx_comp_avg_pred
BUG=webm:1423
Change-Id: I31fa6ef842e98f7ff3ea079ffed51ae33178e2ed
|
|
Continue processing sets of 16 values. Plenty of improvement for 4x8
(doubles the speed) but only about 30% for 4x4.
BUG=webm:1422
Change-Id: Ib8dd96f75d474f0348800271d11e58356b620905
|
|
Change-Id: I1b54a7a5bb642e4b836d786ea1ae506eed025e3f
|
|
Change-Id: I3028bdadf653665d18e781d28e9625f62804b3d8
|
|
* changes:
subpel variance neon: add mixed sizes
sub pixel variance neon: use generic variance
|
|
Add support for everything except block sizes of 4.
Performance is better but numbers will improve again when the variance
optimizations land.
BUG=webm:1423
Change-Id: I92eb4312b20be423fa2fe6fdb18167a604ff4d80
|
|
Some of the mixed sizes were missing. They can be implemented trivially
using the existing helper function.
When comparing the previous 16x8 and 8x16 implementations, the helper
function is about 10% faster than the 16x8 version. The 8x16 is very
close, but the existing version appears to be faster.
BUG=webm:1422
Change-Id: Ib0e856083c1893e1bd399373c5fbcd6271a7f004
|
|
Change-Id: I1fa81cc9cabf362a185fc3a53f1e58de533a41e5
|
|
Change-Id: I0d9ab85855eb723f653a7bb09b3d0d31dd6cfd2f
|
|
remove some (but not all yet!) tuple mis-use, and revamp the code a lot.
Factorize some common chores into MainTestClass.
Change-Id: Id37b7330eebe80d19b9d12a454f24ff9be6b1116
|
|
BUG=b:29583530
Change-Id: I296a0b81755e3086bc0a40cb126d0200ff03c095
|
|
there are sse2 equivalents for all remaining variance implementations
Change-Id: I10b947e73fc0067688181f819b59e47966bec3d2
|
|
Replace MMX with SSE2.
Change-Id: Id8482d2589131f9427e7f36bc64413f058caf31f
|
|
there are sse2 equivalents which is a reasonable modern baseline
Removed mmx variance functions:
vpx_get_mb_ss_mmx()
vpx_get8x8var_mmx()
vpx_get4x4var_mmx()
vpx_variance4x4_mmx()
vpx_variance8x8_mmx()
vpx_mse16x16_mmx()
vpx_variance16x16_mmx()
vpx_variance16x8_mmx()
vpx_variance8x16_mmx()
Change-Id: Iffaf85344c6676a3dd337c0645a2dd5deb2f86a1
|
|
- Use arithmetic AND (&) instead of logical AND (&&) to
generate correct testing input.
- Fix variance reference function to be consistent with
our codebase implementation.
- Refer to the following issue:
https://bugs.chromium.org/p/webm/issues/detail?id=1166
Change-Id: I8c1ebb03e22dc9e1dcd96bdf935fc126cee71307
|
|
This reverts commit ea48370a500537906d62544ca4ed75301d79e772, reversing
changes made to 15939cb2d76c773950cda40988ede89e111872ea.
The commit was insufficiently tested and causes failures.
Change-Id: I623d6fc2cd3ae6fd42d0abab1f8eada465ae57a7
|
|
Always round sum error and sum square error toward zero in variance
calculations. This prevents variance from becoming negative.
Avoiding rounding variance at all might be better but would be far
more invasive.
Change-Id: Icf24e0e75ff94952fc026ba6a4d26adf8d373f1c
|
|
this helps some toolchains (vs9) resolve the type of the parameter
Change-Id: I8c83b86da53b1783cd18c0f765b67ba33da91d72
|
|
Change-Id: I9582a8d74990125b71e8fe620f7f3f2585a30798
|
|
Change-Id: Ia21987010dbb688e2a8fa204ca9129d2f34c9581
|
|
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
|
|
Change-Id: If88401bf8c5d8ee58200278734d7a5058d1585d0
|
|
This reverts commit a42df86c035d1bc007dbc816b4b758605135d6d9.
this change causes MSA/VP9SubpelVarianceTest.Ref and
MSA/VP9SubpelVarianceTest.ExtremeRef failures under
mips32r5el-msa-linux-gnu and mips64r6el-msa-linux-gnu
Change-Id: I40b71a0b774eaeb31f66f795733f95cf360909f7
|
|
This reverts commit 61774ad1c44c73ccde48a2e3456e86196965b5dc.
this change causes MSA/VP9SubpelAvgVarianceTest.Ref failures under
mips32r5el-msa-linux-gnu and mips64r6el-msa-linux-gnu
Change-Id: I7fb520c12b2a3b212d5e84b7619a380a48e49bb0
|
|
average improvement ~3x-5x
Change-Id: Iefbcafc05daab77b38a4e63b551e427867a501a4
|
|
average improvement ~3x-5x
Change-Id: I4cbba2711467b0e205904769ebbb4a1fcbb1a311
|
|
average improvement ~2x-4x
Change-Id: Ia3eef3f390148c2eb5cdc580a94cb26369737f82
|
|
s/CONFIG_VP8\b/CONFIG_VP8_ENCODER/
Change-Id: I616aace9cf8f18d7e83f00f7aef3b8a26fc4c17b
|
|
fails unit tests:
[ FAILED ] NEON/VP8SubpelVarianceTest.ExtremeRef/0, where GetParam() = (3, 3, 0x14e36d, 0)
[ FAILED ] NEON/VP8SubpelVarianceTest.Ref/0, where GetParam() = (3, 3, 0x14e36d, 0)
the tests were recently enabled in:
eb88b17 Make vp9 subpixel match vp8
the functions likely haven't changed since being converted from assembly
Change-Id: I6141717b111b8f735f436c160d74270af53ef722
|
|
The only difference between the two was that the vp9 function allowed
for every step in the bilinear filter (16 steps) while vp8 only allowed
for half of those. Since all the call sites in vp9 (<< 1) the input, it
only ever used the same steps as vp8.
This will allow moving the subpel variance to vpx_dsp with the rest of
the variance functions.
Change-Id: I6fa2509350a2dc610c46b3e15bde98a15a084b75
|
|
Use uint32_t for all output and make all functions static
Change-Id: I2c9c6f6310732dc53444607d1c1a268ac1ab83ba
|
|
The larger internal variables are required for the intermediates
but RoundHighBitDepth brings them down to uint32_t/unsigned int.
Fixes type warnings in visual studio.
Change-Id: I48d35284d6cbde330ccdc1f46b6215a645d5eb00
|
|
|
|
Change-Id: Ib2949d0a3e9273e7952bbf91956357c1138093f1
|
|
ROUND_POWER_OF_TWO has some poor side effects when used
with [u]int64_t such as doing the shifting in 32bits.
Change-Id: Ic85a19765cd316fb43657cb21c86f35ceb772773
|
|
Change-Id: Ie8a7508798fa8e65c579a77cedb8305cee4ddc81
|
|
subpel functions will be moved in another patch.
Change-Id: Idb2e049bad0b9b32ac42cc7731cd6903de2826ce
|
|
With the sad functions, and hopefully the variance functions soon,
moving to the vpx_dsp location, place the defines used in the
reference C code in a common location.
Change-Id: I4c8ce7778eb38a0a3ee674d2f1c488eda01cfeca
|
|
On Nexus 7 speed -5, -6, -7, and -8 saw about a 15% increase
in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 10%
increase in perf for 720p.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.
Change-Id: I2fa5315845e3021c9a6e2ea47e52e68b398d8334
|
|
Add optimized Neon functions of:
vp9_variance32x64
vp9_variance64x32
vp9_variance64x64
On Nexus 7 speed -5 and -6 saw about a 4% increase in perf.
Speeds -7 and -8 saw about a 6% increase in perf.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.
Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa
|
|
Change-Id: I446bdf3a405e4e9d2aa633d6281d66ea0cdfd79f
(cherry picked from commit d7422b2b1eb9f0011a8c379c2be680d6892b16bc)
(cherry picked from commit 6d741e4d76a7d9ece69ca117d1d9e2f9ee48ef8c)
|
|
Add vp8_mse16x16_neon.c
- vp8_mse16x16_neon
- vp8_get4x4sse_cs_neon
Change-Id: I108952f60a9ae50613f0ce3903c2c81df19d99d0
Signed-off-by: James Yu <james.yu@linaro.org>
|
|
Change-Id: Ib4f5dd733eb2939b108070a01e83da5d9990bac0
|
|
Calling Reset(int) method instead of overloaded operator()(int).
Adding underscore at the end of class member name.
Change-Id: I01934e7bc056d4b594e5d05d693328febd34ac3c
|