summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
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
2013-03-27Convert inv_tile_order to control interfaceJohn Koleszar
Restore ABI compatibility with the master branch. Change-Id: Ie9f6fdf536662bd87dfcf114d16f003422670763
2013-03-27Merge branch 'master' into experimentalJohn Koleszar
Pick up VP8 encryption, quantization changes, and some fixes to vpxenc Conflicts: test/decode_test_driver.cc test/decode_test_driver.h test/encode_test_driver.cc vp8/vp8cx.mk vpxdec.c vpxenc.c Change-Id: I9fbcc64808ead47e22f1f22501965cc7f0c4791c
2013-03-18VP9/ResizeInternalTest: adjust passing thresholdJohn Koleszar
Update to +/- 1dB. Change-Id: Idada001f261b36945c9334e288a415ee2c79c415
2013-03-15Basic encryption feature for libvpx.Dmitry Kovalev
New decoder control paramter VP8_SET_DECRYPT_KEY to set the decryption key. Change-Id: I6fc1f44d41f74f3b3f702778af1a6f8f5cc9439f
2013-03-13removed reference to "LLM" and "x8"Yaowu Xu
The commit changed the name of files and function to remove obselete reference to LLM and x8. Change-Id: I973b20fc1a55149ed68b5408b3874768e6f88516
2013-03-12fix superframe index marker masksJohn Koleszar
The superframe index marker byte carries data in the lower 5 bits. Only the upper 3 should be used as part of the mask to detect it. By masking with 0xf0, the previous code was incorrect for frames over 65k bytes. Change-Id: I6248889f5af227457f359a56b2348ef6db87a3b4
2013-03-11Merge "Add 'superframe' index" into experimentalJohn Koleszar
2013-03-05Update ResizeInternalTest thresholdJohn Koleszar
Improved coding performance made this test fail. Adjust the threshold so that it passes again. A more stable metric is an open TODO. Change-Id: I56e18749ced48123ee2488888a3eed631759912b
2013-03-05Add 'superframe' indexJohn Koleszar
A 'superframe' is a group of frames that share the same PTS, but have a defined decoding order. This commit adds the ability to append an index to such a group of frames, allowing for random access to the constituent frames. This could be useful for frame-level parallelism or partial decoding in a multilayer scenario. Decoding the stream serially without such an index should work as a fallback, and VP9/TestSuperframeIndexIsOptional verifies that. Change-Id: Idff83b7560e1a7077d8fb067bfbc45b567e78b1c
2013-03-01Merge changes If5896507,I06b5ba5c,I2712f99e into experimentalJohn Koleszar
* changes: Add unit test for x4 multi-SAD functions Add VP9 1 block SAD functions to unit test Merge master branch into experimental
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
2013-03-01Initialize pass variable in tile test.Ronald S. Bultje
Change-Id: I7977694223521404fc69f29ae2cff03e36e87299
2013-03-01Merge master branch into experimentalJohn Koleszar
Picks up some build system changes, compiler warning fixes, etc. Change-Id: I2712f99e653502818a101a72696ad54018152d4e
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-27Merge "Test upscaling as well as downscaling" into experimentalJohn Koleszar
2013-02-27Merge changes I922f8602,I0ac3343d into experimentalJohn Koleszar
* changes: Use 256-byte aligned filter tables Set scale factors consistently for SPLITMV
2013-02-27Test upscaling as well as downscalingJohn Koleszar
Fixes a bug in vp9_set_internal_size() that prevented returning to the unscaled state. Updated the ResizeInternalTest to scale both down and up. Added a check that all frames are within 2.5% of the quality of the initial keyframe. Change-Id: I3b7ef17cdac144ed05b9148dce6badfa75cff5c8
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-27Merge "Enable 32x32 dct tests" into experimentalYaowu Xu
2013-02-26Spatial resamping of ZEROMV predictorsJohn Koleszar
This patch allows coding frames using references of different resolution, in ZEROMV mode. For compound prediction, either reference may be scaled. To test, I use the resize_test and enable WRITE_RECON_BUFFER in vp9_onyxd_if.c. It's also useful to apply this patch to test/i420_video_source.h: --- a/test/i420_video_source.h +++ b/test/i420_video_source.h @@ -93,6 +93,7 @@ class I420VideoSource : public VideoSource { virtual void FillFrame() { // Read a frame from input_file. + if (frame_ != 3) if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) { limit_ = frame_; } This forces the frame that the resolution changes on to be coded with no motion, only scaling, and improves the quality of the result. Change-Id: I1ee75d19a437ff801192f767fd02a36bcbd1d496
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-26Enable 32x32 dct testsYaowu Xu
Also 1. Removed the test code for fDCT from the iDCT test. 2. changed the criteria of round trip error to be below 1/block, this is quite strict comparing to smaller transforms when size differences are accounted for. Change-Id: Idb46a6380b04c93fc8e2845c75f5a850366b0090
2013-02-25optimize forward 16x16 DCT for accuracyYaowu Xu
This commit added pre/post scaling for first half of fDCT16x16 to reduce error, by simulation of 100,000 blocks for random inputs, the average sse reduced from 2.1/block to 0.0498/block. also enabled tests for 16x16 fDCT and iDCT Change-Id: Id2a95f0464c6dd4118797d456237ae90274c0f02
2013-02-22optimize 8x8 fdct rounding for accuracyYaowu Xu
The commit added a final rounding choice for 8x8 forward dct to get rid of a sign bias at DC position and improve the accuracry in term of round trip error for 8x8 fDCT/iDCT. This commit also enabled forward 8x8 dct test. Change-Id: Ib67f99b0a24d513e230c7812bc04569d472fdc50