summaryrefslogtreecommitdiff
path: root/test/sad_test.cc
AgeCommit message (Collapse)Author
2015-11-05sad_test: create fn pointers w/'&' refJames Zern
this helps some toolchains (vs9) resolve the type of the parameter Change-Id: I4acc8a844d1e55b766f66482bd6d32998174d70f
2015-07-29Cosmetics - Fix header file order in unit testsJingning Han
Change-Id: I9582a8d74990125b71e8fe620f7f3f2585a30798
2015-07-01mips msa vpx_dsp sad sad4d avgsad optimizationParag Salasakar
average improvement ~3x-5x Change-Id: Ie30748cfbedebbd544b7ef4f286055ccb7f60306
2015-05-13Relocate memory operations for common codeJohann
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
2015-05-06Move shared SAD code to vpx_dspJohann
Create a new component, vpx_dsp, for code that can be shared between codecs. Move the SAD code into the component. This reduces the size of vpxenc/dec by 36k on x86_64 builds. Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
2015-01-27Add vp9_sad32x32x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~18% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: I70ccdea0326750552ed946fb004507d6efe02d5c
2015-01-27Add vp9_sad16x16x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~15% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: I4b2006b644c488f42bf06d8a22ef0e6120a96bf9
2015-01-27Add vp9_sad64x64x4d_neon Neon intrinsic function.Frank Galligan
On Nexus 7 speed -6 saw ~30% increase in perf. Tested on Nexus 7, built with ndk r10d, gcc 4.9. BUG=https://code.google.com/p/webm/issues/detail?id=908 Change-Id: Id12af7d1883243c23e6692e898aea82299633d58
2014-11-22sad_test: initialize bit_depth_ in all casesJames Zern
previously 'bit_depth_', which is later used to calculate 'mask_', would be left uninitialized in non-high-bitdepth builds Change-Id: Ia72035f4645baf3bb0f191504f491b934cdf1e0e
2014-11-19sad_test: fix vp8-only buildJames Zern
ROUND_POWER_OF_TWO() is defined in vp9 headers currently, avoid it in non-high-bitdepth code Change-Id: Ic28b8f95ef7964800475ee8b35be5f9cea9afab6
2014-11-14Visual studio build fix using explicit castDeb Mukherjee
Change-Id: If74510370723e497f4f33d988b8b398124edf69b
2014-11-12Added highbitdepth sse2 SAD acceleration and testsPeter de Rivaz
Change-Id: I1a74a1b032b198793ef9cc526327987f7799125f (cherry picked from commit b1a6f6b9cb47eafe0ce86eaf0318612806091fe5)
2014-10-19SAD32xh and SAD64xh for AVX2levytamar82
All sad function that process above 32 consecutive elements are optimized for AVX2: vp9_sad64x64 vp9_sad64x32 vp9_sad32x64 vp9_sad32x32 vp9_sad32x16 vp9_sad64x64_avg vp9_sad64x32_avg vp9_sad32x64_avg vp9_sad32x32_avg vp9_sad32x16_avg The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64 vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90% both of them gave and overall ~2.3% user level gain Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd
2014-09-02Removing MMX SAD calculation code.Dmitry Kovalev
Removed functions: * vp9_sad_16x16_mmx * vp9_sad_8x16_mmx * vp9_sad_16x8_mmx * vp9_sad_8x8_mmx * vp9_sad_4x4_mmx Change-Id: Ic5174b93b64d65d846f0c11e72cab149e9472bc3
2014-08-07Fix bug 806levytamar82
in the function sad32x32x4d and sad64x64x4d the source is aligned to 16 bytes and not to 32 bytes - the load is now unaligned. Change-Id: I922fdba56d0936b5cf72e4503519f185645a168c
2014-08-01Added vp9_sad8x8_neon()Scott LaVarnway
Change-Id: I3be8911121ef9a5f39f6c1a2e28f9e00972e0624
2014-07-18sad_test: drop '_t' from local typenamesJames Zern
_t is reserved by posix + switch to camelcase http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names Change-Id: I60746bc93ba2446c1458a1f09fd1e49cc2e68534
2014-07-17Merge "Added vp9_sad64x64_neon(), vp9_sad32x32_neon()"Scott LaVarnway
2014-07-16Added vp9_sad64x64_neon(), vp9_sad32x32_neon()Scott LaVarnway
and vp9_sad16x16_neon() On a Nexus 7, vpxenc (in realtime mode, speed -6) reported a performance improvement of ~17%. Change-Id: I91e070cde2973451083d3f3d63b49b7886de9a85
2014-07-10tests: add API_REGISTER_STATE_CHECKJames Zern
used to wrap API functions to ensure full environment consistency as opposed to the renamed ASM_REGISTER_STATE_CHECK which is used with assembly functions. currently checks the FPU tag word in x86/x86_64 gcc builds to ensure emms has been called. Change-Id: Ie241772dbf903d33d516a1add4c8c6783f2e1490
2014-06-10vp9_sad*x4d: disable avx2 variantsJames Zern
tests failing under Win32/Win64 + sad_test: add missing avx2 functions (disabled) Change-Id: I8224fba2b270f6039ab1877d71e1e512f0081856
2014-06-02Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Fixes a bug in original patch: (https://gerrit.chromium.org/gerrit/#/c/70163/8) that was reverted due to a nightly test failure. Change-Id: Ia2a4e9e278fd3c89d6c3c82fcc6381320ec2a8a6
2014-06-01Revert "Remove Wextra warnings from vp9_sad.c"Frank Galligan
This reverts commit 916550428db803c54c993ff9d3c34b9b0bcebb7c Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
2014-05-22Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the sad unit tests for VP8 and VP9 had to be separated. Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
2014-05-15Revert "Remove Wextra warnings from vp9_sad.c"Jim Bankoski
This reverts commit 7ab9a9587b96db4edce6be916c1f02297a9555ff Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console Failed This patch did not address all the assembly issues some of the vp8 assembly counts on 5 arguments being passed in to this function: one example : vp8_sad8x16_wmt Please address or split this into vp9 and vp8 patches. Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-14Remove Wextra warnings from vp9_sad.cDeb Mukherjee
As a side-effect, the max_sad check is removed from the C-implementation of VP8, for consistency with VP9, and to ensure that the SAD tests common to VP8/VP9 pass. That will make the VP8 C implementation of sad a little slower but given that is rarely used in practice, the impact will be minimal. Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
2014-02-28fix vp9 only buildYaowu Xu
Change-Id: I7a1a7190dc32c65846a897a3162a02d63e59719f
2014-02-27sad_test: (arm) fix vp9-only buildJames Zern
Change-Id: I08fa0e90039186cd237001b7e43b1eabe6d326a3
2014-02-27cosmetics: sad_test: add a few commentsJames Zern
- break the platform sections a bit more visibly - add #endif comments on long blocks Change-Id: I8612f19755ea37efd6dac2918f51deee4a2c483e
2014-01-18test/: remove some unnecessary extern "C"sJames Zern
Change-Id: I57a94d2f9e26a872a20d805a506855a20e61c356
2013-09-06cleanup cpplint warningsYaowu Xu
Suggested by James Zern to clear out cpplint warnings for all unit test code. Change-Id: I731a3fa4d2a257eb9ef733426ba84286fbd7ea34
2013-08-06variance x86inc guardsJim Bankoski
also fixed bug in sad calcs Change-Id: I6571fcbe37556c16ae32be66dc0fd879852aac1d
2013-08-06sad + miscellaneous updatesJim Bankoski
Enable use_x86inc as a commandline option. Fix Bug with sse2 when x86inc is disabled. Adds Sad asm protection to x86inc protection Change-Id: Iee0f9dd235ea10e8ace512eb362ba9bebe8c9df6
2013-06-24Add SAD unit tests for all rectangular sizes.Ronald S. Bultje
Change-Id: I47e81b51f072abdb276bdec85423febba34b5f81
2013-06-18tests: clear system state after non-API callsJames Zern
add ClearSystemState() to reset MMX registers avoiding corrupting subsequent tests. Change-Id: I668deb09aa7aa467709776e5819f936910698bc0
2013-06-14Merge "Enable sse2 version of sad8x4/4x8"Jingning Han
2013-06-13Enable sse2 version of sad8x4/4x8Jingning Han
The encoding time for bus at CIF goes from 661s to 625s. This commit also enabled unit test of sad8x4/4x8 in sad_test.cc. Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
2013-06-12Implement SSE version for sad4x8x4d and SSE2 version for sad8x4x4d.Ronald S. Bultje
Encoding time of crew (CIF, first 50 frames) @ 1500kbps goes from 4min56 to 4min42. Change-Id: I92c0c8b32980d2ae7c6dafc8b883a2c7fcd14a9f
2013-05-29sad_test: fix msvc compileJames Zern
Fixes: error C2121: '#' : invalid character : possibly the result of a macro expansion Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d (cherry picked from commit a91e5b4fdc4e81352fa3a65c7fc795527eee6b07)
2013-03-01Add unit test for x4 multi-SAD functionsJohn Koleszar
Update the function prototypes to match between VP9 and VP8. Change-Id: If58965073989e87df3b62b67a030ec6ce23ca04f
2013-03-01Add VP9 1 block SAD functions to unit testJohn Koleszar
Change-Id: I06b5ba5c457944cfa4cd9f53c3bd8cda132439c2
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-11-27tests: add xmm register check for win64 targetsJames Zern
Change-Id: I69d00bfd1b10c03581838b15cd9a6dd66f4fa416
2012-11-15support building vp8 and vp9 into a single libJohn Koleszar
Change-Id: Ib8f8a66c9fd31e508cdc9caa662192f38433aa3d
2012-08-31msvs/tests: fix data alignment for asm testsJames Zern
Replace DECLARE_ALIGNED_ with vpx_memalign() DECLARE_ALIGNED (__declspec(align())) does not work as intended when used on class data members: Data in classes or structures is aligned within the class or structure at the minimum of its natural alignment and the current packing setting (from #pragma pack or the /Zp compiler option) Change-Id: I304aaa6c3716fbfae24675ecf192f4b40787e83e
2012-08-21sad_test: fix msvc buildJames Zern
pass a variable to make_tuple() rather than a function, fixes type errors Change-Id: Ic0cbd25d0ca35ad08c672040b4141b3b81695752
2012-07-27Be consistent with SAD valuesJohann
SAD returns unsigned values. Make all the declarations the same. Remove bestsad initialization and check. It is always set to the result of a SAD call so it will never remain UINT_MAX Use ja instead of jg to test unsigned comparison instead of signed. Update test. Change-Id: I46336ab45f4e60fc37caf20bd36bc5782079c7a5
2012-07-25Add tests for SAD functionsJohann
Change-Id: I018335a08cbb1eca55896c21e36918ed45a4b2a8