summaryrefslogtreecommitdiff
path: root/test/test-data.sha1
AgeCommit message (Collapse)Author
2015-01-23Revert "Merge branch 'frame-parallel' to enable frame parallel decode in ↵Johann
master branch." This reverts commit bde04ce5039cbcf86c8b34bdb4127e18d7e1d0c7 Change-Id: I053dae04c761b04a36dc239558503905a14d2470
2015-01-22Merge branch 'frame-parallel' to enable frame parallel decode in master branch.hkuang
In frame parallel decode, libvpx decoder decodes several frames on all cpus in parallel fashion. If not being flushed, it will only return frame when all the cpus are busy. If getting flushed, it will return all the frames in the decoder. Compare with current serial decode mode in which libvpx decoder is idle between decode calls, libvpx decoder is busy between decode calls. VP9 frame parallel decode is >30% faster than serial decode with tile parallel threading which will makes devices play 1080P VP9 videos more easily. * frame-parallel: Add error handling for frame parallel decode and unit test for that. Fix a bug in frame parallel decode and add a unit test for that. Add two test vectors to test frame parallel decode. Add key frame seeking to webmdec and webm_video_source. Implement frame parallel decode for VP9. Increase the thread test range to cover 5, 6, 7, 8 threads. Fix a bug in adding frame parallel unit test. Add VP9 frame-parallel unit test. Manually pick "Make the api behavior conform to api spec." from master branch. Move vp9_dec_build_inter_predictors_* to decoder folder. Add segmentation map array for current and last frame segmentation. Include the right header for VP9 worker thread. Move vp9_thread.* to common. ctrl_get_reference does not need user_priv. Seperate the frame buffers from VP9 encoder/decoder structure. Revert "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" Conflicts: test/codec_factory.h test/decode_test_driver.cc test/decode_test_driver.h test/invalid_file_test.cc test/test-data.sha1 test/test.mk test/test_vectors.cc vp8/vp8_dx_iface.c vp9/common/vp9_alloccommon.c vp9/common/vp9_entropymode.c vp9/common/vp9_loopfilter_thread.c vp9/common/vp9_loopfilter_thread.h vp9/common/vp9_mvref_common.c vp9/common/vp9_onyxc_int.h vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/decoder/vp9_decodeframe.h vp9/decoder/vp9_decodemv.c vp9/decoder/vp9_decoder.c vp9/decoder/vp9_decoder.h vp9/encoder/vp9_encoder.c vp9/encoder/vp9_pickmode.c vp9/encoder/vp9_rdopt.c vp9/vp9_cx_iface.c vp9/vp9_dx_iface.c Change-Id: Ib92eb35851c172d0624970e312ed515054e5ca64
2014-12-08Add error handling for frame parallel decode and unit test for that.hkuang
Change-Id: I6e309e11f1641618d2424b7a2c0fe744b8974dec
2014-11-14Fix a bug in frame parallel decode and add a unit test for that.hkuang
A flush bug is discovered during putting frame parallel decoder into Android. This test will expose that bug. Change-Id: Ia047f27972f4da0471649f79f1f91e7695297473
2014-11-06Add two test vectors to test frame parallel decode.hkuang
The added vectors are mainly used to test the output cache mechanism in frame parallel decode. Change-Id: I3d413d060daa5abf72358f6350bd1d16d71adc5a
2014-11-06Modify the frame context memory deallocationYunqing Wang
This patch was to fix the vpxdec fuzzing3 test failure. When an error occurs, setjmp() is invoked, which calls the decoder removing routine. In multiple thread situation, other threads could try to access the frame context memory that is already deallocated, thus causing a segfault. An invalid unit test was added for this issue. Change-Id: Ida7442154f3d89759483f0f4fe0324041fffb952
2014-10-21Adding test vectors for profile 2 and 3Deb Mukherjee
Also adds mising test vectors for profile 1. Change-Id: I5269af8b9e6b708ce50a0d9c69b6cae4bb2870dc
2014-10-16Adds a set of end-to-end encode testsDeb Mukherjee
Covers all profiles and input formats. The tests check if the encode succeeds and if the psnr is sane. Change-Id: I195a5330debf92562846121819b6eaf961e27c01
2014-10-13Add a seg map preservation test vector.Alex Converse
Add a test vector to show the cases where segmentation map is preserved from frome to frame as outlined in the inquiry in issue 761. Change-Id: I630c6aba27d0d0b109cc7fd7c6fcd008222a0cf3
2014-09-09vp9: wait for key/intra-only frame after corruptionJames Zern
don't bother decoding any further after receiving an earlier decode error until a key/intra-only frame is encountered. Change-Id: I381917b70d7a9e6f8d6de42e3d181bb113a4cec4
2014-09-08Add an invalid file test for referencing a different color space.Alex Converse
Change-Id: I46472a524f5188b293332946be943bd15cfc8777
2014-09-04vp9: correct context buffer resize checkJames Zern
allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols individually, use those to determine whether to realloc rather than stride and stride * rows. this fixes a crash with some fuzzed files for invalid accesses into last_frame_seg_map and above_context. Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4
2014-09-04vp9: fail decode if block/frame refs are corruptJames Zern
proceeding using a corrupt (incompletely decoded) frame reference may lead to incorrect assumptions about allocation sizes leading to a crash. Change-Id: I76e74f2e1be127c2e2c7e1174bb3307497dfd23d
2014-09-03Add a more complex SEG_LVL_SKIP test vector.Alex Converse
This file changes the segmentation map, deactivates the map, and reactivates the map. Change-Id: I1c8b8949887257b9f4c49a1a9ba9a7c74666ef2e
2014-09-02Add a test vector for SEG_LVL_SKIP.Alex Converse
Change-Id: Ib41acade12fe6cdd4c4a4efdb1260d5f100a3e7f
2014-08-29vp9: fix m/t loop filter invalid freeJames Zern
store the number of allocated rows in VP9LfSync, the calculated values can not be relied on when dealing with corrupt material. Change-Id: I13b8bcec9738c299a71df726772ab7ac05511e5b
2014-08-27vp9: fix crash in inline loopfilter w/corrupt fileJames Zern
attempting to decode a frame after the previous frame failed has the potential of interrupting an earlier loop filter task Change-Id: I6f2b1ddcdf5b89c3e2ee8caf5289dada2a087d66
2014-08-27vp9: fix crash in mt loopfilter w/corrupt fileJames Zern
if the first frame was corrupt and loop filter not called, the next call would assume the necessary allocations had been done and segfault when accessing a NULL pointer Change-Id: Ib6ef505e5c594e6f0fe65ab0700172bcf06b92a6
2014-07-29test-data.sha1: add missing checksumsJames Zern
Change-Id: I461d8b3d7cb8f5d787f189dac9032220b089f05f
2014-07-28Fix reference frame size restrictions.Jim Bankoski
The issue was introduced by commit g9f37d14 with adding explicit restrictions on reference-frame scale factors. The restriction is checked against aligned-by-8 frame dimensions, not against original ones. So, for example, frame of 35×35 actually can refer to frame of 70×70, but the new check won't allow this. It will compare 35 vs 72 (not 70), so 2x downscale limit will be exceeded. Change-Id: Ic663693034440f64ac8312cbff9e1e773a921060
2014-07-25Encode perf testJoshua Litt
Change-Id: I61993946fe5cbcd7ebeb6302efd9538bff022e5a
2014-07-18Merge "Separates profile 2 into 2 profiles 2 and 3"Deb Mukherjee
2014-07-17Separates profile 2 into 2 profiles 2 and 3Deb Mukherjee
Separates HBD profile int two profiles (2 and 3) consistent with the highbitdepth branch. This patch is ported from the original highbitdepth branch patch: https://gerrit.chromium.org/gerrit/#/c/70460/ Two of the invalid file tests needed to be updated. Change-Id: I6a4acd2f7a60b1fb4cbcc8e0dad4eab4248431e3
2014-07-16New decode perf test filesJoshua Litt
Change-Id: I89ff8d4243e0438c8fe4ad74b9745c060b4460d8
2014-07-15Fix show_existing_frame not decreasing frame buffer ref counter.Alexander Voronov
The issue was introduced by commit g7c43fb6. If current frame is repeated from existing-ref pool, frame buffer ref counter is not decreased, so buffer isn't released. Decoder fails being unable to allocate new frame buffer at some point. Added a test vector to verify that the condition will not recur later. Test vector was generated by the code in this patch: https://gerrit.chromium.org/gerrit/#/c/70862/ Change-Id: I8af96eb5b9670176e01a281d2e18bd458712cf78
2014-07-11Add unit test to test tile decoding error handling.hkuang
Also fix bugs related with corrupted frame handling. Return VPX_CODEC_CORRUPT_FRAME when getting corrupted block. Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41
2014-07-08Fix decoder handling of intra-only framesAdrian Grange
This patch fixes bug 633: https://code.google.com/p/webm/issues/detail?id=633 The first decoded frame does not have to be a keyframe, it could be an inter-frame that is coded intra-only. This patch fixes the handling of intra-only frames. A test vector has also been added that encodes 3 intra-only frames at the start of the clip. The test vector was generated using the code in the following patch: https://gerrit.chromium.org/gerrit/#/c/70680/ Change-Id: Ib40b1dbf91aae2bc047e23c626eaef09d1860147
2014-07-05Adds support for reading and writing 10/12-bit y4mDeb Mukherjee
The y4m extension used is the same as the one used in ffmpeg/x264. The patch is adapted from the highbitdepth branch. Also adds unit tests for y4m header parsing and md5 check of the raw frame data, as well as y4m writing. [build fix for Mac/VS by not using tuples with strings] Change-Id: I40897ee37d289e4b6cea6fedc67047d692b8cb46
2014-07-02Reverting "Adds support for reading and writing 10/12-bit y4m" for now ↵Dmitry Kovalev
because of Mac Build Failure. This reverts commit 82dc1332af4b16d3e4ad3c4358498820637b7add Change-Id: I824bf42bf47c7df6985c79e451d6af913030d374
2014-07-02Adds support for reading and writing 10/12-bit y4mDeb Mukherjee
The y4m extension used is the same as the one used in ffmpeg/x264. The patch is adapted from the highbitdepth branch. Also adds unit tests for y4m header parsing and md5 check of the raw frame data, as well as y4m writing. Change-Id: Ie2794daf6dbafd2f128464f9b9da520fc54c0dd6
2014-07-01Merge "Add a test that tests invalid partitions for profile 1"Jim Bankoski
2014-07-01Add a test that tests invalid partitions for profile 1Jim Bankoski
Change-Id: I3d95fbe9a8098256582b5386881d5b7bbdb317ed
2014-07-01Add a new yuv444 testvector.Alex Converse
This refelects the profile 1 bitstream change in 6c54dbc. Change-Id: I39625d88f236a79b7f2955d79c5a451e3753da16
2014-06-30Merge "BITSTREAM: Handle transform size and motion vectors more logically ↵Alex Converse
for non-420."
2014-06-27Better validation of invalid filesJim Bankoski
This patch checks that a decoder never tries to reference frame that's outside the range of 2x to 1/16th the size of this frame. Any attempt to do so causes a failure. Change-Id: I5c98fa7bb95ac4f29146f29dd92b62fe96164e4c
2014-06-24vp9: check tile column countJames Zern
the max is 6. there are assumptions throughout the decode regarding this; fixes a crash with a fuzzed bitstream $ zzuf -s 5861 -r 0.01:0.05 -b 6- \ < vp90-2-00-quantizer-00.webm.ivf \ | dd of=invalid-vp90-2-00-quantizer-00.webm.ivf.s5861_r01-05_b6-.ivf \ bs=1 count=81883 Change-Id: I6af41bb34252e88bc156a4c27c80d505d45f5642
2014-06-23error check vp9 superframe parsingJim Bankoski
This patch insures that the last byte of a chunk that contains a valid superframe marker byte, actually has a proper superframe index. If not it returns an error. As part of doing that the file : vp90-2-15-fuzz-flicker.webm now fails to decode properly and moves to the invalid file test from the test vector suite. Change-Id: I5f1da7eb37282ec0c6394df5c73251a2df9c1744
2014-06-20Added Test vector that tests more show existing frames.Jim Bankoski
Change-Id: I0ddd7dd55313ee62d231ed4b9040e08c3761b3fe
2014-06-20Validate error checking code in decoder.Jim Bankoski
This patch adds a mechanism for insuring error checking on invalid files by creating a unit test that runs the decoder and tests that the error code matches what's expected on each frame in the decoder. Disabled for now as this unit test will segfault with existing code. Change-Id: I896f9686d9ebcbf027426933adfbea7b8c5d956e
2014-06-18BITSTREAM: Handle transform size and motion vectors more logically for non-420.Alex Converse
This breaks the profile 1 bitstream. Don't force non420 uv transform size to 1/4 y size. In the 4:2:0 case the chroma corresponding to a luma block is 1/4 its size. In the 4:4:4 case chroma and luma planes are the same size. Disallowing larger transforms can result in a loss of compression efficiency and is inconsistent. For sub-8x8 blocks only average corresponding motion vectors. 4:2:0 and profile 0 behavior remains unchanged. Change-Id: I560ae07183012c6734dd1860ea54ed6f62f3cae8
2014-06-16Merge "Fix out of boundary memory read in fuzz test on vpxdec"Jingning Han
2014-06-13Fix out of boundary memory read in fuzz test on vpxdecJingning Han
This commit fixes frame header decoding for superframe index, to prevent out of boundary memory read triggered by fuzz test vector. It resolves a chromium security violation issue crbug.com/376802. The issue was introduced in the change: Add VPXD_SET_DECRYPTOR support to the VP9 decoder. cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48 where the buffer was read before validation check on index offset applied. A test vector is added accordingly. Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99
2014-06-11[spatial svc]Combine first and second pass test to keep stats data in memory.Minghai Shang
Change-Id: Idccbfe35bebe6f05655bd54da7d8b616b1bffe03
2014-05-09Add another test vectorYaowu Xu
The test vector has segment enabled with different quantizer used for different segments for bot the first frame(key) frame and the rest of non-key frames. Change-Id: I7e21122183050ee046219caba483c18cbc34afe7
2014-05-07Added a test vectorYaowu Xu
The test vector is produced to have a single key frame, with segment map enabled and transmitted. Yet no segment feature is active. Change-Id: I365d62f00d05c07098b9a76fc8d3a991e427ec1a
2014-04-09Add more test files that change number of tile columns.Frank Galligan
Change-Id: I08fe184a04e5435aeac92f1d7cc9733ca52c2783
2014-04-08Fix decoder resolution change with tilesFrank Galligan
There was a bug with the decoder that if you started the decoder with more threads than the first frame had tile columns. Afterwards tried to decode a frame with more tile columns than the first frame, the decoder would hang. E.g. run vpxdec --threads=4. The first frame had two tile columns, then the next key frame had 4 tile columns, the decoder would hang. If you started with 4 tiles and switched to 2 tiles the decoder would be fine. The issue is that the worker the thread loop is using is stale. I added a test vector "vp90-2-14-resize-848x480-1280x720.webm" that exhibited the bug. Change-Id: I7bdd47241a52ac0fe1c693a609bc779257e94229
2014-03-31Merge "[BITSTREAM]Fix the scaling calculation"Yaowu Xu
2014-03-28[BITSTREAM]Fix the scaling calculationYaowu Xu
For very large size video image, the scaling calculation may need use value beyond the range of int. This commit upgrade the value to 64bit to make sure the calculation do not wrap around INT_MAX. The change corrected the decoder behavior. The bug affects only very large resolution video because the scaling calculation was sufficient for image size smaller than 2^13. This resolves issue: https://code.google.com/p/webm/issues/detail?id=750 Change-Id: I2d2ed303ca6482f31f819f3c07d6d3e98ef3adc5
2014-03-28[svc] Fix SvcTest.SecondPassEncode failureMinghai Shang
Root cause is the different default register length between x86 and x64 platform. Change spatial_layer_id to long long. Change-Id: If1a5972365c7a59f7e76cb4fd714610f3d48a8ff