Commit Graph

28 Commits

Author SHA1 Message Date
Sarah Parker
ea0bc1b321 Upstream GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST
BUG=b/159031848

Change-Id: I013770f4e54d0ea92304fa3e9cf4d46f5723f129
2020-09-11 02:25:24 +00:00
Jerome Jiang
b358f9076f NULL -> nullptr in CPP files
This should clean up clangtidy warnings

Change-Id: Ifb5a986121b2d0bd71b9ad39a79dd46c63bdb998
2020-07-27 11:51:04 -07:00
Jerome Jiang
7a92a785f2 Silience warnings about uninitiated test cases
BUG=b/159031848

Change-Id: I6bb88c24bd08e0590ec6b8ebfb696fd9b07ed011
2020-07-23 09:22:43 -07:00
James Zern
83769e3d25 update googletest to v1.10.0
this moves the framework to c++11 and changes *_TEST_CASE* to
_TEST_SUITE

BUG=webm:1695

Change-Id: I07f2c20850312a9c7e381b38353d2f9f45889cb1
2020-06-18 10:56:39 -07:00
Hien Ho
ebadd5287a test/acm_random.h: int sanitizer warning
runtime error: implicit conversion from type 'int' of value
-61240 (32-bit, signed) to type 'int16_t' (aka 'short') changed the
value to 4296 (16-bit, signed)

BUG=webm:1615

Change-Id: I213fc153f0df9ea46737a7fb98d909e670125724
2019-08-26 13:46:08 -07:00
Sai Deng
0b7e4af744 Merge "Add satd avx2 implementation" 2018-12-08 18:43:55 +00:00
James Zern
8f03f719af test/*: use std::*tuple
since:
77fa51003 Replace deprecated scoped_ptr with unique_ptr

c++11 has been required so <tuple> is safe to use

Change-Id: I873cb953104b361a8503b5839a3372ce2b99e73c
2018-12-07 17:55:21 -08:00
sdeng
f6a002f2a6 Add satd avx2 implementation
Speed Test:
C/SatdHighbdTest
blocksize:   16 time:  138 us
blocksize:   64 time:  315 us
blocksize:  256 time: 1120 us
blocksize: 1024 time: 3955 us

AVX2/SatdHighbdTest
blocksize:   16 time:   89 us
blocksize:   64 time:  189 us
blocksize:  256 time:  590 us
blocksize: 1024 time: 1912 us

Change-Id: I6357174462fccd589a475b13d8114b853cab5383
2018-12-06 21:21:39 -08:00
Matthias Räncker
8b9edfc528 fix integer overflow caused by uninitialized memory
Signed-off-by: Matthias Räncker <theonetruecamper@gmx.de>
Change-Id: I55ec2a803eff89b07376459e334d4e949bfcb2cc
2018-09-23 17:30:06 +02:00
Scott LaVarnway
afb1114d53 BUG FIX: Initialize AverageTestBase members
bit_depth_ was not initialized (used in FillRandom)
and caused valgrind errors.

BUG=webm:1542

Change-Id: I09a9acd54de0dfa4f9006304f45eb20883c9908c
2018-06-26 17:16:41 -07:00
Scott LaVarnway
a3c2774126 Add vpx_highbd_avg_8x8, vpx_highbd_avg_4x4
BUG=webm:1537

Change-Id: I5f216f35436189b67d9f350991f41ed31431d4fe
2018-06-22 17:55:48 +00:00
James Zern
db49a22cfa test: use testing::*tuple instead of std::tr1
googletest imports tuple into testing to allow for compatibility across
c++ versions where tuple may be in std::tr1 or std. fixes deprecation
warnings under visual studio 2017

Change-Id: Id78b372d5478b12d8c8f63fd3f2166fec25aa8be
2018-03-28 12:45:35 -07:00
Scott LaVarnway
8e6022844f vpx: [x86] add vpx_satd_avx2()
SSE2 instrinsic vs AVX2 intrinsic speed gains:
blocksize   16: ~1.33
blocksize   64: ~1.51
blocksize  256: ~3.03
blocksize 1024: ~3.71

Change-Id: I79b28cba82d21f9dd765e79881aa16d24fd0cb58
2017-11-10 12:24:12 -08:00
Scott LaVarnway
62ab5e99c1 vpx: [x86] add vp9_block_error_fp_avx2()
SSE2 asm vs AVX2 intrinsics speed gains:
blocksize   16: ~1.00
blocksize   64: ~1.17
blocksize  256: ~1.67
blocksize 1024: ~1.81

Change-Id: I2a86db239cf57e3ff617890ccb2d236aba83ad5e
2017-11-09 05:02:31 -08:00
Johann
904b957ae9 consolidate block_error functions
vp9_highbd_block_error_8bit_c was a very simple wrapper around
vp9_block_error_c. The SSE2 implemention was practically identical to
the non-HBD one. It was missing some minor improvements which only
went into the original version.

In quick speed tests, the AVX implementation showed minimal
improvement over SSE2 when it does not detect overflow. However, when
overflow is detected the function is run a second time. The
OperationCheck test seems to trigger this case and reverses any
speed benefits by running ~60% slower. AVX2 on the other hand is
always 30-40% faster.

Change-Id: I9fcb9afbcb560f234c7ae1b13ddb69eca3988ba1
2017-02-24 05:25:26 +00:00
Johann
537949a9df block_error_fp highbd sse2: use tran_low_t for coeff
BUG=webm:1365

Change-Id: Id2ed3ebaaaa6a4b68628c23e08b64ea5f1341761
2017-02-07 15:03:28 +00:00
Jerome Jiang
0b60d3ffa5 Add unit tests for vp9_block_error_fp.
BUG=webm:1365

Change-Id: I004e5cd7ca331d14b31b7fc3edeee45fce064026
2017-02-02 12:41:51 -08:00
Johann
f8d744d91a satd highbd neon: use tran_low_t for coeff
BUG=webm:1365

Change-Id: I43521ad32b6c96737a8ef2b8c327f901fd7eaf84
2017-02-01 11:55:47 -08:00
Johann
2ba383474d satd highbd sse2: use tran_low_t for coeff
BUG=webm:1365

Change-Id: I013659f6b9fbf9cc52ab840eae520fe0b5f883fb
2017-02-01 11:55:16 -08:00
Jingning Han
a7949f2dd2 Make satd unit test support all bit-depth settings
Turn on satd unit test for c function in both regular and high
bit-depth settings.

Change-Id: I4b0c56addfb84964ede0da3ab760fe0ee640cfd0
2017-01-31 23:21:32 -08:00
Jingning Han
969957f9f2 Fix real-time compression regression in hbd mode
This commit resolves the compression performance regression in
real-time encoding setting when high bit-depth mode is enabled.

The current solution temporarily disables the SIMD implementations
of vpx_satd, hadamard8x8, and hadamard16x16 in high bit-depth mode.

The commit makes the coding results bit-wise identical between
regular coding pipeline and high bit-depth at profile 0.

BUG=webm:1365

Change-Id: Icfb900821733749685370460a1a5a7e07f76f4bf
2017-01-31 23:17:09 -08:00
Kaustubh Raste
407fad2356 Add mips msa vpx Integer projection row/col functions
average improvement ~4x-5x

Change-Id: I17c41383250282b39f5ecae0197ef1df7de20801
2017-01-27 11:11:42 +05:30
Kaustubh Raste
182ea677a0 Add mips msa vpx satd function
average improvement ~4x-5x

Change-Id: If8683d636fe2606d4ca1038e28185bca53bbe244
2017-01-24 10:44:22 +05:30
Urvang Joshi
0aa3e2564f Add compiler warning flag -Wextra and fix related warnings.
Note: some of these warnings are enabled by a combination of -Wunused
(added earlier) and -Wextra.

Cherry-picked from AOM 4790a69faaec8f03d65f64ff070f6ab4307dbb16

Expands use of (void)x; on unused variables. AOM only supports one codec
in codec_factory.h

Does not include changes to HandleDecodeResult. AOM removed
invalid_file_test.cc which does use the video parameter.

Does not enable -Wextra yet. There are more issues to fix.

BUG=webm:1069

Change-Id: I322a1366bd4fd6c0dec9e758c2d5e88e003b1cbf
2016-09-27 12:05:01 -07:00
clang-format
9c9d92ae3a test: apply clang-tidy google-readability-braces-around-statements
applied against a x86_64 configure with and without
--enable-vp9-highbitdepth

clang-tidy-3.7.1 \
  -checks='-*,google-readability-braces-around-statements' \
  -header-filter='.*' -fix
+ clang-format afterward

Change-Id: Ia2993ec64cf1eb3505d3bfb39068d9e44cfbce8d
2016-08-05 20:02:28 -07:00
clang-format
33e40cb5db test: apply clang-format
Change-Id: I0d9ab85855eb723f653a7bb09b3d0d31dd6cfd2f
2016-07-27 01:58:52 +00:00
James Zern
cffef113b9 tests: quiet some unused parameter warnings
Change-Id: Iff8b0d77234f78bf407676891bccad92825bfcc6
2016-02-11 19:25:48 -08:00
James Zern
d36659cec7 move vp9_avg to vpx_dsp
Change-Id: I7bc991abea383db1f86c1bb0f2e849837b54d90f
2015-12-14 14:42:12 -08:00