Граф коммитов

735 Коммитов

Автор SHA1 Сообщение Дата
James Zern 18e733bd1d sad_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I60746bc93ba2446c1458a1f09fd1e49cc2e68534
2014-07-18 20:39:06 -07:00
James Zern 25d74e69dd pp_filter_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: If6cf006a089b0fb42d6bf050570d928d955d658a
2014-07-18 20:39:06 -07:00
James Zern 49135d3748 partial_idct_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ied220e09fceef53039f234ebbb7e51c8e081c84e
2014-07-18 20:39:06 -07:00
James Zern 9c05172d0a intrapred_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I74d7489ea35f988fcfec3651bd16f02e688e406a
2014-07-18 20:39:06 -07:00
James Zern 75d56b346e idct_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I660a77c0c58ca64075c1051ea440fdf4d7c7e6af
2014-07-18 20:39:06 -07:00
James Zern 54697d363d fdct8x8_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Id2d43931e9b6e16aa4b8e5e346eee08505bdccfb
2014-07-18 20:39:06 -07:00
James Zern b8b3dd91de fdct4x4_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I796252a6f7f749b4faa969bbe7fe83eae64fa393
2014-07-18 20:39:06 -07:00
James Zern c3314b7ce3 decode_perf_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I5fdd6319449364f2e930667d3bd54f68ba3cbb2e
2014-07-18 20:39:06 -07:00
James Zern fd38e70d43 dct32x32_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: Ie1918d93c0a0d7a854e88b5a77b8c21b4cdc28b7
2014-07-18 20:39:06 -07:00
James Zern 44f848432f dct16x16_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I4e6f293790922684402bfa9c22ec1ac2b9981a0e
2014-07-18 20:38:56 -07:00
James Zern dfc4e8f012 convolve_test: drop '_t' from local typenames
_t is reserved by posix

+ switch to camelcase
  http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Type_Names

Change-Id: I2a22ffc36e9f88781bc7db0d5a28a7ed924bab1a
2014-07-18 20:38:08 -07:00
Deb Mukherjee 096224ffc2 Use custom mkstemp() to fix Win issue in y4m_test
Uses mkstmp() with directory being the same as the test data
directory to create temporary output file. For Windows
GetTempFileNameA() function is used.

Change-Id: Ie4681b2b4f44f8c22d3b3faf134c44087b484f94
2014-07-18 15:35:17 -07:00
Jim Bankoski 3dcb525bf3 This removes a test that fails on 32 bit
This undoes a check that attempted to insure on 32 bit machines allocations
bigger than 32 bit failed,  but it failed before the test could be hit,
revert that for now so we can do a roll

Change-Id: Ib607de6675c10100b716df94eb329649633509c8
2014-07-18 14:46:50 -07:00
Deb Mukherjee 24715c798e Merge "Fix FrameSizeTestsLarge unit-test on 32-bit arch." 2014-07-18 03:49:30 -07:00
Deb Mukherjee 727f384085 Merge "Separates profile 2 into 2 profiles 2 and 3" 2014-07-18 03:23:51 -07:00
Deb Mukherjee bdbaa5b406 Fix FrameSizeTestsLarge unit-test on 32-bit arch.
If the img allocation fails the test used to crash before on
32 bit architecture. This patch uses null check on img in
FillFrame. Also, if the first frame initialization has not been
conducted VPX_CODEC_ERROR is expected to return rather than
VPX_CODEC_OK.

Change-Id: I5c4e59c156374009012d280d6ff971a89b43c11f
2014-07-18 03:12:08 -07:00
Deb Mukherjee c447a50aea Separates profile 2 into 2 profiles 2 and 3
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-17 20:51:59 -07:00
Scott LaVarnway ba0652e83a Merge "Added vp9_sad64x64_neon(), vp9_sad32x32_neon()" 2014-07-17 11:42:16 -07:00
Jim Bankoski 943e43273b allow config options to limit max size of decode
This is a practical concern to allow us to fail in a decoder instance
if the size of a file is bigger than we can reasonably handle.

Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
2014-07-17 07:07:48 -07:00
Joshua Litt bcfcd7c377 New decode perf test files
Change-Id: I89ff8d4243e0438c8fe4ad74b9745c060b4460d8
2014-07-16 16:01:34 -07:00
Scott LaVarnway 696fa52eaa Added vp9_sad64x64_neon(), vp9_sad32x32_neon()
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-16 12:54:46 -07:00
James Zern a04655016b Merge "invalid_file_test: add an operator<< for DecodeParam" 2014-07-16 12:05:34 -07:00
Adrian Grange 7be99c4a26 Merge "Fix show_existing_frame not decreasing frame buffer ref counter." 2014-07-15 12:01:16 -07:00
Alexander Voronov 0aa2af55b5 Fix show_existing_frame not decreasing frame buffer ref counter.
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-15 11:06:15 -07:00
Alex Converse 8e241ae207 Merge "active_map_test: remove unused VP9_FACTORY define" 2014-07-15 10:20:26 -07:00
James Zern 760deb37c1 active_map_test: remove unused VP9_FACTORY define
Change-Id: If96a133ad83e3ed4e4b3620dff857b26641da892
2014-07-14 18:59:41 -07:00
James Zern c1259aa343 invalid_file_test: add an operator<< for DecodeParam
Improves the --gtest_list_tests output and avoids a valgrind warning in
gtest's testing::internal2::PrintBytesInObjectTo() due to padding in the
structure.

old:
VP9/InvalidFileTest.
  ReturnCode/0  # GetParam() = (0x9d5308, 16-byte object <01-00 00-00 00-00 00-00 37-02 73-00 00-00 00-00>)

new:
VP9/InvalidFileTest.
  ReturnCode/0  # GetParam() = (0x9d5308, threads: 1 file: invalid-vp90-01-v2.webm)

Change-Id: Ifb9c66fba2e72272bd591a3f6273aeb6bda6af4a
2014-07-14 18:45:50 -07:00
Jingning Han 2806ea91f5 Merge "Fix a potential invalid memory access in non-RD coding flow" 2014-07-14 17:25:43 -07:00
Minghai Shang e899859c48 [spatial svc]Implement alt reference frames
All changes are for spatial svc only.
1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
2. Use golden reference idx for spatial reference
3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
4. Add "auto-alt-refs" in svc options
Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
2014-07-14 11:24:17 -07:00
James Zern 44eb577cf7 invalid_file_test: convert test param from tuple to struct
fixes visual studio 9 + apple clang builds where the template type is
interpreted as char[] rather than const char*:

::f1_' : cannot specify explicit initializer for arrays
error: array initializer must be an initializer list or string literal

Change-Id: I27286ce341b2f7a09b6202caffd6b72f64fd2234
2014-07-12 13:34:36 -07:00
Jingning Han b957439c87 Fix a potential invalid memory access in non-RD coding flow
This commit fixes a potential out-of-boundary memory access due to
the use of reuse_inter_pred_sby in the non-RD coding flow. It
resolves the corresponding asan error.

Change-Id: Iff605f5921230966990013541cd855d698810922
2014-07-11 15:50:43 -07:00
hkuang c147cf3d3b Add unit test to test tile decoding error handling.
Also fix bugs related with corrupted frame handling.
Return VPX_CODEC_CORRUPT_FRAME when getting corrupted
block.

Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41
2014-07-11 13:50:05 -07:00
James Zern 8a7cc1f47b Merge "update vp9_thread.c" 2014-07-10 23:19:55 -07:00
James Zern c00e9c4709 Merge changes Ie241772d,I3c72e226
* changes:
  tests: add API_REGISTER_STATE_CHECK
  call vp[89]_clear_system_state after longjmp
2014-07-10 21:11:40 -07:00
Tom Finegan f3544f079b Merge "sh tests: Add support for running tested programs within another program." 2014-07-10 16:16:06 -07:00
Tom Finegan 926a6f63cb sh tests: Add support for running tested programs within another program.
Specifying the --prefix command line arg executes all test programs within the
context of the prefix string, which is assigned to VPX_TEST_PREFIX.
All test functions updated to include VPX_TEST_PREFIX in their eval command.

Change-Id: I2e215cc8f216048edf3269db02a6b5660fe32318
2014-07-10 15:32:01 -07:00
Tom Finegan 4eae56d660 Add warning to temporal SVC test when temporal denoising is disabled.
Change-Id: Ib3792aa93514ccaf06c5d3f737f6e9243096f61c
2014-07-10 14:52:31 -07:00
James Zern 29e1b1a4b0 tests: add API_REGISTER_STATE_CHECK
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-07-10 12:40:31 -07:00
James Zern 8701ed0270 update vp9_thread.c
pull the latest from libwebp.

Original source:
 http://git.chromium.org/webm/libwebp.git
 100644 blob 264210ba2807e4da47eb5d18c04cf869d89b9784 src/utils/thread.c

commit 46fd44c1042c9903b2f1ab87e9f200a13c7e702d
Author: James Zern <jzern@google.com>
Date:   Tue Jul 8 19:53:28 2014 -0700

    thread: remove harmless race on status_ in End()

    if a thread was still doing work when End() was called there'd be a race
    on worker->status_. in these cases, however, the specific value is
    meaningless as it would be >= OK and the thread would have been shut
    down properly, but we'll check 'impl_' instead to avoid any potential
    TSan/DRD reports.

    Change-Id: Ib93cbc226a099f07761f7bad765549dffb8054b1

Change-Id: Ib0ef25737b3c6d017fa74822e21ed58508230b91
2014-07-10 12:20:54 -07:00
hkuang b84ee5a3d0 Merge "Move vp9_thread.* to common." 2014-07-09 10:16:13 -07:00
Adrian Grange 75e5abe83d Merge "Fix decoder handling of intra-only frames" 2014-07-09 07:37:28 -07:00
James Zern 8abbd37d21 Merge changes I2abd6716,I4a65f7f8
* changes:
  cpu_speed_test: cosmetics
  aq_segment_test: cosmetics
2014-07-08 19:01:39 -07:00
James Zern bdfb9e5804 Merge "invalid_file_test: output error detail on mismatch" 2014-07-08 19:00:53 -07:00
Adrian Grange 7c43fb67ae Fix decoder handling of intra-only frames
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-08 16:24:03 -07:00
hkuang 337e8015c9 Move vp9_thread.* to common.
Prepare for frame parallel decoding, the reference count buffers
need to be protected by mutex. Move vp9_thread.* to common
folder so that those buffers could use cross-platform mutex
from vp9_thread.*.

Change-Id: I541277cf15eefed6641555944f67f4a0bcdc8154
2014-07-07 14:52:19 -07:00
Deb Mukherjee 5820c5d614 Adds support for reading and writing 10/12-bit y4m
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-05 16:00:54 -07:00
Dmitry Kovalev 79199e465a Reverting "Adds support for reading and writing 10/12-bit y4m" for now because of Mac Build Failure.
This reverts commit 82dc1332af

Change-Id: I824bf42bf47c7df6985c79e451d6af913030d374
2014-07-02 22:23:38 -07:00
Deb Mukherjee 82dc1332af Adds support for reading and writing 10/12-bit y4m
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-02 05:41:14 -07:00
James Zern 8aafd34050 Merge changes I875ac5a7,I2b13369d,I9ceb47a9
* changes:
  update vp9_thread.[hc]
  vp9_thread_test: remove unnecessary c_str()'s
  vp9_thread_test: factorize decode loop
2014-07-01 20:46:53 -07:00
James Zern ec942e6e82 invalid_file_test: output error detail on mismatch
Change-Id: I6abf139961fbb6a46db740dc023e26ac1e8e9305
2014-07-01 20:18:00 -07:00
James Zern 99df92d126 cpu_speed_test: cosmetics
- add a virtual destructor
- fix formatting
- remove some unnecessary includes
- remove unused functions/defines/typedefs

Change-Id: I2abd671670cc89fa80edb466ff4bc1fee35b5e31
2014-07-01 18:23:53 -07:00
James Zern 6de8dae0a7 aq_segment_test: cosmetics
- add a virtual destructor
- fix formatting
- remove some unnecessary includes
- remove unused functions/defines/typedefs

Change-Id: I4a65f7f85b2ff53645e4b0e97ca438c1e93dabc8
2014-07-01 18:22:30 -07:00
Jim Bankoski bd756699b9 Merge "Add a test that tests invalid partitions for profile 1" 2014-07-01 16:48:56 -07:00
Jim Bankoski ee3802150c Add a test that tests invalid partitions for profile 1
Change-Id: I3d95fbe9a8098256582b5386881d5b7bbdb317ed
2014-07-01 15:37:26 -07:00
James Zern 2f16e79e62 Merge "vp9_thread_test: add 'Thread' to test names" 2014-07-01 15:25:45 -07:00
Alex Converse 79ceb79b35 Add a new yuv444 testvector.
This refelects the profile 1 bitstream change in 6c54dbc.

Change-Id: I39625d88f236a79b7f2955d79c5a451e3753da16
2014-07-01 11:03:17 -07:00
James Zern e656f44c24 update vp9_thread.[hc]
pull the latest from WebP, which adds a worker interface abstraction
allowing an application to override init/reset/sync/launch/execute/end

this has the side effect of removing a harmless, but annoying, TSan
warning.

Original source:
 http://git.chromium.org/webm/libwebp.git
  100644 blob 08ad4e1fecba302bf1247645e84a7d2779956bc3 src/utils/thread.c
  100644 blob 7bd451b124ae3b81596abfbcc823e3cb129d3a38 src/utils/thread.h

Local modifications:
 - s/WebP/VP9/g
 - camelcase functions -> lower with _'s
 - associate '*' with the variable, not the type

Change-Id: I875ac5a74ed873cbcb19a3a100b5e0ca6fcd9aed
2014-07-01 00:39:10 -07:00
James Zern 8c6263e8dc vp9_thread_test: remove unnecessary c_str()'s
EXPECT_EQ() works with strings

Change-Id: I2b13369d2aa7ff305ee516e6cb73bd099f8dead9
2014-07-01 00:31:23 -07:00
James Zern 0b27ed434c vp9_thread_test: factorize decode loop
+ add a SCOPED_TRACE with the current filename

Change-Id: I9ceb47a9154bc0d9f9878a83b707e8ed935790f9
2014-06-30 23:58:42 -07:00
James Zern 415b84bee0 vp9_thread_test: add 'Thread' to test names
s/VP9DecodeMTTest/VP9DecodeMultiThreadedTest/

this enables simpler test filtering

Change-Id: I010a451cf32fa5a95db6734cc22f331f0a0d515a
2014-06-30 23:38:21 -07:00
Alex Converse 6c54dbcb69 Merge "BITSTREAM: Handle transform size and motion vectors more logically for non-420." 2014-06-30 17:44:01 -07:00
Yunqing Wang 9d41313e4b Decide the partitioning threshold from the variance histogram
Before encoding a frame, calculate and store each 16x16 block's
variance of source difference between last and current frame.
Find partitioning threshold T for the frame from its variance
histogram, and then use T to make partition decisions.

Comparing with fixed 16x16 partitioning, rtc set test showed an
overall psnr gain of 3.242%, and ssim gain of 3.751%. The best
psnr gain is 8.653%.

The overall encoding speed didn't change much. It got faster for
some clips(for example, 12% speedup for vidyo1), and a little
slower for others.

Also, a minor modification was made in datarate unit test.

Change-Id: Ie290743aa3814e83607b93831b667a2a49d0932c
2014-06-30 09:36:23 -07:00
Alex Converse 4bf24488ce Add a test using VP9E_SET_LOSSLESS
Change-Id: Ia9ac079d65fbd0a134e8d69c1f4ce171fe94bf64
2014-06-27 21:01:17 -07:00
James Zern 715b8d3bef Merge "Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""" 2014-06-27 20:53:57 -07:00
James Zern 749e0c7b28 Revert "Revert "Revert 3 patches from Hangyu to get Chrome to build:""
This reverts commit b336356198.

This causes a hang in:
VP9/InvalidFileTest.ReturnCode/3

the change to test/user_priv_test.cc remains with a minor update

Change-Id: I4a8a272ca37ea329b0f413f0b1cd827a238bd9fd
2014-06-27 19:46:27 -07:00
Alex Converse ae77d0fe85 Merge "Add a CPU speed test with screen content." 2014-06-27 16:32:52 -07:00
Minghai Shang 83269ff8ff Merge "[spatial svc] Remove encoding modes since we only need one mode at this time." 2014-06-27 11:48:22 -07:00
Minghai Shang 5ca7c65e0d Merge "[spatial svc]Remove key frame quantizer settings since key frame is decided by rate control" 2014-06-27 11:48:16 -07:00
Alex Converse 63de0f1628 Merge "Verify that the ouput of q0 is lossless in cpu speed test." 2014-06-27 11:09:14 -07:00
Jim Bankoski 52b63c238e Merge "Better validation of invalid files" 2014-06-27 11:05:21 -07:00
Alex Converse 5d0881237e Add a CPU speed test with screen content.
Encoding screen content exercises various fast skip paths that are
missed by natural video content.

Change-Id: Ie359884ef9be89cbe5dda6d82f1f79360604a090
2014-06-27 10:26:17 -07:00
Alex Converse a869e62a8f Verify that the ouput of q0 is lossless in cpu speed test.
Change-Id: Ib94ee638eb486f1368f2e3098d25c1d3d28fc265
2014-06-27 10:20:17 -07:00
Jim Bankoski 9f37d149c1 Better validation of invalid files
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-27 10:03:15 -07:00
Alex Converse 340e7433b7 Add realtime coverage to cpu speed test
Change-Id: I33e8d1788ce29ffc695f7e9b84167ef446b1b56c
2014-06-26 16:24:01 -07:00
James Zern ce7199075e Merge changes I915beaef,I229dd6ca
* changes:
  vp9cx.mk: move avx c files outside of x86inc block
  test.mk: remove renamed file
2014-06-25 14:26:18 -07:00
hkuang 36eeb1799d Merge "Revert "Revert 3 patches from Hangyu to get Chrome to build:"" 2014-06-25 11:42:08 -07:00
hkuang b336356198 Revert "Revert 3 patches from Hangyu to get Chrome to build:"
This patch reverts the previous revert from Jim and also add a
variable user_priv in the FrameWorker to save the user_priv
passed from the application. In the decoder_get_frame function,
the user_priv will be binded with the img. This change is needed
or it will fail the unit test added here:
https://gerrit.chromium.org/gerrit/#/c/70610/

This reverts commit 9be46e4565.

Change-Id: I376d9a12ee196faffdf3c792b59e6137c56132c1
2014-06-25 11:21:37 -07:00
James Zern 3abfee9add test.mk: remove renamed file
vp90-2-15-fuzz-flicker.webm was renamed in:
c3db2d8 error check vp9 superframe parsing

Change-Id: I229dd6ca4c662802c457beea0f7b4128153a65dc
2014-06-25 11:04:14 -07:00
James Zern d9c37b08f8 Merge "decode_test_driver: check HasFailure() in RunLoop" 2014-06-25 10:44:36 -07:00
James Zern f8b0f52850 Merge "decode_test_driver: fix type size warning" 2014-06-25 10:43:49 -07:00
Minghai Shang df38196453 [spatial svc] Remove encoding modes since we only need one mode at this time.
Change-Id: I1b6ed2e82a7e3e8a9e790bf29d667a3f856a9518
2014-06-25 10:42:04 -07:00
Minghai Shang 41b451eb1f [spatial svc]Remove key frame quantizer settings since key frame is decided by rate control
Change-Id: I7eda0f5e678034f0e9c2ab481c517d2e9b280eb5
2014-06-25 10:36:24 -07:00
Minghai Shang 0a103ae999 Merge "[spatial svc]Implement lag in frames for spatial svc" 2014-06-25 10:31:05 -07:00
James Zern aff720f8c5 decode_test_driver: fix type size warning
like vpx_codec_decode(), vpx_codec_peek_stream_info() takes an unsigned
int, not size_t, parameter for buffer size

Change-Id: I4ce0e1fbbde461c2e1b8fcbaac3cd203ed707460
2014-06-24 22:44:24 -07:00
James Zern b2b07755e0 vp9: check tile column count
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-24 19:26:11 -07:00
Minghai Shang 277338f748 [spatial svc]Implement lag in frames for spatial svc
Change-Id: I930dced169c9d53f8044d2754a04332138347409
2014-06-24 14:01:17 -07:00
hkuang 5e7242dfda Add unit test to test user_priv parameter.
Change-Id: I6ba6171e43e0a43331ee0a7b698590b143979c44
2014-06-24 11:20:43 -07:00
Jim Bankoski 97d0cb58f8 Merge "Add Check for Peek Stream validity to decoder test." 2014-06-23 11:21:07 -07:00
Jim Bankoski 96727b9562 Add Check for Peek Stream validity to decoder test.
Change-Id: I9b745670a9f842582c47e6001dc77480b31fb6a1
2014-06-23 08:37:18 -07:00
Jim Bankoski c3db2d8bc8 error check vp9 superframe parsing
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-23 07:04:57 -07:00
James Zern 8f5b81fa8d decode_test_driver: check HasFailure() in RunLoop
avoids unnecessary errors due to e.g., read (Next()) failures

Change-Id: I70b1d09766456f1c55367d98299b5abd7afff842
2014-06-21 19:04:12 -07:00
Jim Bankoski 3431f575ed Merge "Fix bug in error handling that causes segfault" 2014-06-20 16:46:31 -07:00
Jim Bankoski 55eaf585cc Added Test vector that tests more show existing frames.
Change-Id: I0ddd7dd55313ee62d231ed4b9040e08c3761b3fe
2014-06-20 14:45:18 -07:00
Jim Bankoski 88ba08818e Fix bug in error handling that causes segfault
See: https://code.google.com/p/chromium/issues/detail?id=362697

The code properly catches an invalid stream but seg faults instead of
returning an error due to a buffer not having been initialized. This
code fixes that.

Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b
2014-06-20 14:44:50 -07:00
Jim Bankoski dc2f2ce594 Validate error checking code in decoder.
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-20 13:52:06 -07:00
Alex Converse 7557a65d16 BITSTREAM: Handle transform size and motion vectors more logically for non-420.
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-18 13:07:51 -07:00
Tom Finegan 54547f6827 Merge "example tests: Make failures due to incorrect bin path easier to diagnose." 2014-06-16 16:16:49 -07:00
Tom Finegan 12672c24d3 example tests: Make failures due to incorrect bin path easier to diagnose.
Add elog() to tools_common, and checks for the executable in each test.

Change-Id: I3c6334eca62c0b56040d91145abbe1bf5f9c763c
2014-06-16 10:57:00 -07:00
Jingning Han d203203cc5 Merge "Fix out of boundary memory read in fuzz test on vpxdec" 2014-06-16 10:27:30 -07:00
Tom Finegan 1557d4b0a2 test/tools_common.sh: Log all shared variables in verbose mode.
Several variables were not being logged.

Change-Id: I2f2ded19470a73c4551bbb1abbd6e4d27bd59fac
2014-06-13 11:18:43 -07:00