summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-06-21intrapred_test: add virtual dtor to IntraPredBaseJames Zern
classes with virtual functions should have virtual destructors Change-Id: If54e2f8384f0bfcbf812cc727eb9d0a586173674
2013-06-21Merge "Add some unaligned test vectors"John Koleszar
2013-06-21variance_test: use REGISTER_STATE_CHECKJames Zern
Change-Id: Id54ad9a781634f075e990d5bade5be8490959975
2013-06-21Merge "Add subtract_block SSE2 version and unit test."Ronald S. Bultje
2013-06-21Merge "SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance()."Ronald S. Bultje
2013-06-21Add subtract_block SSE2 version and unit test.Ronald S. Bultje
3% faster overall (3min35.0 to 3min28.5). Change-Id: I5ff8a5c2c91586b6632ca5009ad1ea51ce94af5e
2013-06-20Merge "Implement sse2 and ssse3 versions for all sub_pixel_variance sizes."Yaowu Xu
2013-06-20SSE2/SSSE3 optimizations and unit test for sub_pixel_avg_variance().Ronald S. Bultje
Encoding of bus @ 1500kbps (first 50 frames) goes from 3min57 to 3min35, i.e. approximately a 10.5% speedup. Note that the SIMD versions which use a bilinear filter (x_offset & 7 || y_offset & 7) aren't perfectly interleaved, and can probably be improved further in the future. I've marked this with a few TODOs/FIXMEs in the code. Change-Id: I5c9e900c0f0d32e431a50fecae213b510b2549f9
2013-06-20Merge "Add unit tests for 4x4 ADST"Jingning Han
2013-06-20Implement sse2 and ssse3 versions for all sub_pixel_variance sizes.Ronald S. Bultje
Overall speedup around 5% (bus @ 1500kbps first 50 frames 4min10 -> 3min58). Specific changes to timings for each function compared to original assembly-optimized versions (or just new version timings if no previous assembly-optimized version was available): sse2 4x4: 99 -> 82 cycles sse2 4x8: 128 cycles sse2 8x4: 121 cycles sse2 8x8: 149 -> 129 cycles sse2 8x16: 235 -> 245 cycles (?) sse2 16x8: 269 -> 203 cycles sse2 16x16: 441 -> 349 cycles sse2 16x32: 641 cycles sse2 32x16: 643 cycles sse2 32x32: 1733 -> 1154 cycles sse2 32x64: 2247 cycles sse2 64x32: 2323 cycles sse2 64x64: 6984 -> 4442 cycles ssse3 4x4: 100 cycles (?) ssse3 4x8: 103 cycles ssse3 8x4: 71 cycles ssse3 8x8: 147 cycles ssse3 8x16: 158 cycles ssse3 16x8: 188 -> 162 cycles ssse3 16x16: 316 -> 273 cycles ssse3 16x32: 535 cycles ssse3 32x16: 564 cycles ssse3 32x32: 973 cycles ssse3 32x64: 1930 cycles ssse3 64x32: 1922 cycles ssse3 64x64: 3760 cycles Change-Id: I81ff6fe51daf35a40d19785167004664d7e0c59d
2013-06-20Add unit tests for 4x4 ADSTJingning Han
Enable sign bias check and round-trip error unit tests for 4x4 hybrid transform modules. Change-Id: Icd3d839f098d4b92b00ff76eac146765b039d0d3
2013-06-19Add some unaligned test vectorsJohn Koleszar
Tests resolutions of 8, 10, 16, 18, 32, 34, 64, 66 to exercise the border conditions, as well as non-SB aligned sizes. Change-Id: Ie7c2b7860ac3727e23202042f2e86792652912f8
2013-06-18Merge "tests: clear system state after non-API calls"John Koleszar
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-17convolve_test: align filter arraysJames Zern
fixes issue #583 Change-Id: I4b855a5b5b168c8961410cef6ab5e6d86f14d301
2013-06-17Change the encryption feature to use a callback for decryption.Jeff Petkau
This allows code calling the library can choose an arbitrary encryption algorithm. Decoder control parameter VP8_SET_DECRYPT_KEY is renamed to VP8D_SET_DECRYPTOR, and now takes an small config struct instead of just a byte array. Change-Id: I0462b3388d8d45057e4f79a6b6777fe713dc546e
2013-06-17Merge "Add vp9 test vectors unit test"John Koleszar
2013-06-14Merge "Enable sse2 version of sad8x4/4x8"Jingning Han
2013-06-14Enable 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-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-13Add vp9 test vectors unit testJohn Koleszar
These files can stand in until we get proper syntax vectors. They should provide some additional assurance against inadvertant bitstream changes. Change-Id: I12f6c9a5f054e30df40a7ff1f33145abf7e1d59d
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-06-10Cosmetic cleanups of filtersDeb Mukherjee
No bitstream change. Removes unused filters and the code for the case of 2 switchable filters; also changes the 8tap-smooth filter coefficients for integer shifts to be interpolating to be consistent with the way it is implemented currently. Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae
2013-06-07Handle partition type coding of boundary blocksJingning Han
The partition types of blocks sitting on the frame boundary are constrained by the block size and the position of each sub-block relative to the frame. Hence we use truncated probability models to handle the coding of such information. 100 frames run: yt 0.138% Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d
2013-06-06Add marker bit to bool-coded partition startJohn Koleszar
Adds a marker bit to allow distinguishing the frame header from its residual data. Change-Id: Id75d47acc9e5a97007e4690c4f8748a4ce63e641
2013-06-06don't tokenize & encode tokens for blocks in UMVJim Bankoski
This avoids encoding tokens for blocks that are entirely in the UMV border. This changes the bitstream. Change-Id: I32b4df46ac8a990d0c37cee92fd34f8ddd4fb6c9
2013-05-29sad_test: fix msvc compileJames Zern
Fixes: error C2121: '#' : invalid character : possibly the result of a macro expansion Change-Id: I63d7ebba29f3a3cbb546406be39270290e9dc47d
2013-05-22Optimize variance functionsYunqing Wang
Added SSE2 version of variance functions for super blocks. Change-Id: Ibeaae8771ca21c99d41dd74067574a51e97b412d
2013-05-20WIP: 4x4 idct/recon mergeScott LaVarnway
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: I296604bf73579c45105de0dd1adbcc91bcc53c22
2013-05-16WIP: 8x8 idct/recon mergeScott LaVarnway
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: Iacfd57324fbe2b7beca5d7f3dcae25c976e67f45
2013-05-15WIP: 16x16 idct/recon mergeScott LaVarnway
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: Iea7976b22b1927d24b8004d2a3fddae7ecca3ba1
2013-05-14WIP: 32x32 idct/recon mergeScott LaVarnway
This patch eliminates the intermediate diff buffer usage by combining the short idct and the add residual into one function. The encoder can use the same code as well. Change-Id: I4ea09df0e162591e420d869b7431c2e7f89a8c1a
2013-05-08Change test image format to VPX_IMG_FMT_I420John Koleszar
Code was previously using VPX_IMG_FMT_VPXI420, which was intended to be the "vpx" non-YUV colorspace variant. Change-Id: Icf8771eeefeb574055ed638a93450c3d0ed5b9f5
2013-05-07Replacing vp9_{write, write_literal, bit} macros with functions.Dmitry Kovalev
Also removing BOOL_CODER and using vp9_writer instead. Change-Id: I31d1ec661872f7eb1fe869607b6ed0ebfbb03e01
2013-05-07Partially disable error resilience testJohn Koleszar
Disables the part of the error-resilient test that tests the quality after dropping undroppable frames. It's not clear how to set the threshold for this correctly at the moment. Change-Id: I3ee4a0d475498f44711fdef05749f305e8d08591
2013-05-07Revert "Adjust error resilience test data rate."John Koleszar
This reverts commit b24735c622cefe3a03633edd69dff65d2a6ee0dd since the adjusted threshold doesn't allow the existing tests to pass. Will disable the failing test in a separate commit. Change-Id: I26d41cf6175f300bbad493cecdc96e6b0dd6f2fe
2013-05-07Adjust error resilience test data rate.Paul Wilkins
Note that the pass fail criteria for this test seems a bit arbitrary to me. Change-Id: Idc695c39dd7542e851a7732b2810b45e0bdf91ae
2013-05-06Merge "encode_test_driver: make ~Encoder virtual" into experimentalJohn Koleszar
2013-05-06test/tile_independence_test: check decode returnJames Zern
abort on failure Change-Id: I52882613e466ae57e1ed7f10ca64e25b9724fb61
2013-05-03encode_test_driver: make ~Encoder virtualJames Zern
+ some quick lint fixes Change-Id: I95b6c32454c17d7fc717f1daa2376eb4d5418ee3
2013-05-02Merge changes Ifea8618a,I014b832a into experimentalJames Zern
* changes: convolve_test: cosmetics convolve_test: remove unnecessary memset
2013-05-02convolve_test: cosmeticsJames Zern
fix indent, whitespace, casts Change-Id: Ifea8618a90f9da263a8955dd242bb3aa7fc59ae5
2013-05-02superframe_test: use delete[] where appropriateJames Zern
Change-Id: Id374267c93a7e14e985b8079833364c8eff5248b
2013-05-02convolve_test: remove unnecessary memsetJames Zern
input_ is filled with random values just afterward. the size was wrong anyway as input_ is allocated with memalign so sizeof(input_)==sizeof(uint8_t*) Change-Id: I014b832ac60960cd22b6f369dbc9fd648d4055b5
2013-04-26Merge branch 'master' into experimentalJohann
Conflicts: vp9/common/vp9_findnearmv.c vp9/common/vp9_rtcd_defs.sh vp9/decoder/vp9_decodframe.c vp9/decoder/x86/vp9_dequantize_sse2.c vp9/encoder/vp9_rdopt.c vp9/vp9_common.mk Resolve file name changes in favor of master. Resolve rdopt changes in favor of experimental, preserving the newer experiments. Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-19Finally removing BOOL_DECODER and using vp9_reader instead.Dmitry Kovalev
Change-Id: I03d5b6f22f0930893709c6db5f1b06762ad3354e
2013-04-18convolve: support larger blocks, fix asm saturation bugJohn Koleszar
Updates the common convoloution code to support blocks larger than 16x16, and rectangular blocks. This uncovered a bug in the SSSE3 filtering routines due to the order of application of saturation. This commit fixes that bug, adjusts the unit test to bias its random values towards the extremes, and adds a test to ensure that all filters conform to the expected pairwise addition structure. Change-Id: I81f69668b1de0de5a8ed43f0643845641525c8f0
2013-04-16Merge branch 'experimental' into masterJohn Koleszar
VP9 preview bitstream 2, commit '868ecb55a1528ca3f19286e7d1551572bf89b642' Conflicts: vp9/vp9_common.mk Change-Id: I3f0f6e692c987ff24f98ceafbb86cb9cf64ad8d3
2013-04-15Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.Dmitry Kovalev
This is the first CL with vp9_reader changes. All another macro definitions will be replaced after. Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
2013-04-04tests: use a portable rand() implementationJames Zern
the one from gtest in this case: testing::internal::Random. this will make the tests deterministic between platforms. addresses issue #568. Change-Id: I5a8a92f5c33f52cb0a219c1dd3d02335acbbf163