Commit Graph

844 Commits

Author SHA1 Message Date
Johann
62c6411820 Remove neon version of vp8 extend borders
The code fails the unit test. Speed comparisons to the C are invalid
because the code frequently didn't correctly extend the right and
bottom portions of the frame.

Reduce maximum frame size on ARM devices to avoid OOM

Change-Id: Ia664c86406f0bb8120fd7ad401f32d0bd44994fb
2014-07-24 18:33:40 -07:00
Johann
a04ace289a Add test for vp8 extend_borders
Change-Id: I5bfc965019815e631a2300eb29aa065fb2bc94aa
2014-07-24 18:32:43 -07:00
Yunqing Wang
5c93e62e0a Allocate aligned source in variance test
The source buffer is an aligned buffer in VP9. Added the alignment
to make it consistent with libvpx.

Change-Id: I3ebb9d2e8555ed532951da479dd5cbbb8812e02d
2014-07-24 17:11:58 -07:00
Jingning Han
53844275e9 Fix potential ioc issue in vp9_get_prob for 4K above sizes
This commit turns on the existing vp9_get_prob function using
64 bit in the intermediate step. It fixes the ioc issue for 4K
above frame sizes (issue 828).

Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c
2014-07-24 15:35:51 -07:00
James Zern
2528051f41 frame_size_tests: reduce default 'large' frame size
VP9FrameSizeTestsLarge exposed an integer overflow in the VP9 encoder,
for now reduce the size to allow the tests to clear and prevent further
regressions.
4096x4096 -> 4096x2160

this should be restored after the bug is fixed:
https://code.google.com/p/webm/issues/detail?id=828

Change-Id: I47fdf0648f1d9a3951f731bbf0b727f85ada4fa1
2014-07-22 16:33:13 -07:00
James Zern
1cfaaf678d y4m_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: I2ede16e0903a96225a342609545281fdbb83d638
2014-07-18 20:39:07 -07:00
James Zern
7875602842 vp9_subtract_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: I636012c74f5de91d594d7398e92343f5efe08327
2014-07-18 20:39:06 -07:00
James Zern
91ba1a768d subtract_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: Ic738b97d492f244c58989a0f73a4d763340ec274
2014-07-18 20:39:06 -07:00
James Zern
ee4bbe1f72 sixtap_predict_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: Ie59ddc080530d538e4ffb1d862844a84de926d92
2014-07-18 20:39:06 -07:00
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
Jingning Han
1ba1871786 Fix out of boundary memory read in fuzz test on vpxdec
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-13 11:10:36 -07:00
Minghai Shang
686b54adcb Merge "[spatial svc]Combine first and second pass test to keep stats data in memory." 2014-06-11 18:12:38 -07:00
Minghai Shang
6b74776635 [spatial svc]Combine first and second pass test to keep stats data in memory.
Change-Id: Idccbfe35bebe6f05655bd54da7d8b616b1bffe03
2014-06-11 10:44:58 -07:00
James Zern
520cb3f39f vp9_sub_pixel_*variance*: disable avx2 variants
tests failing under Win32/Win64

+ variance_test: add missing avx2 functions (partially disabled)

Change-Id: I6abc0657ea076379ab9ca65c12678b9ea199849d
2014-06-10 16:11:15 -07:00
James Zern
d3ff009d84 vp9_sad*x4d: disable avx2 variants
tests failing under Win32/Win64

+ sad_test: add missing avx2 functions (disabled)

Change-Id: I8224fba2b270f6039ab1877d71e1e512f0081856
2014-06-10 16:10:12 -07:00
James Zern
dd9f502933 vp9_f(dct|ht): disable avx2 variants
tests failing under Win32/Win64

+ dct16x16_test: add missing avx2 functions (partially disabled)

exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I04f64a457fa0828a00f32b5c9fe4f55294f21f61
2014-06-09 18:48:11 -07:00
James Zern
5704578f5f convolve: disable avx2 variants
tests failing under Win32/Win64

Change-Id: I5d49d11911bcda3a832b14efe5500d22597bedcf
2014-06-09 18:42:03 -07:00
James Zern
0d6267ca39 fdct8x8_test: add missing avx2 functions
exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I76b4d1712f10225c1ffa5ffb0ed9a551e68b93b4
2014-06-09 18:42:03 -07:00
James Zern
b8395a87c2 dct4x4_test: add missing avx2 functions
exercises the forward transforms
no idct/iht implementations, so the c-code is used

Change-Id: I88c11ac37ac6456de9b4b3ec5da059faf4ad6066
2014-06-09 18:42:03 -07:00
Jingning Han
7eaad70bf7 Enable unit test for partial 16x16 inverse 2D-DCT
This commit enables unit test for SSSE3 16x16 inverse 2D-DCT with
10 non-zero coefficients. It includes a new test condition to
cover the potential overflow issue due to extremely coarse quantization.

Change-Id: I945e16f05dfbe19500f0da5f15990feba8e26d99
2014-06-03 19:06:39 -07:00
Jingning Han
74d47a8132 Merge "Re-enable unit test for SSSE3 forward 8x8 2D-DCT" 2014-06-03 18:56:23 -07:00
Jingning Han
0c4a4225ec Merge "Enable SSSE3 inverse 2D-DCT with 10 non-zero coeffs" 2014-06-03 16:51:39 -07:00
Jingning Han
0343e30cf2 Re-enable unit test for SSSE3 forward 8x8 2D-DCT
This commit enables the unit test for SSSE3 forward 8x8 2D-DCT.

Change-Id: Ie4aae84ac74f6eb1a80b62285c91632bd6db29f1
2014-06-03 16:46:22 -07:00
Jingning Han
bf168d54ab Merge "Rework unit test for 8x8 transformation" 2014-06-03 16:43:26 -07:00
Jingning Han
5c2696c378 Rework unit test for 8x8 transformation
This commit reworks the unit test for 8x8 forward/inverse
transformation. It adds extreme input value test to detect overflow
issues in the intermediate steps.

It temporarily disables unit test for the SSSE3 version, which
showed overflow failure in the new test conditions.

Change-Id: I7caf10bba4b6db031add65d8c0eb99426b38aa42
2014-06-03 14:20:47 -07:00
Deb Mukherjee
fc88292ef2 Remove Wextra warnings from vp9_sad.c
As a side-effect, the sad unit tests for VP8 and VP9
had to be separated.

Fixes a bug in original patch:
(https://gerrit.chromium.org/gerrit/#/c/70163/8)
that was reverted due to a nightly test failure.

Change-Id: Ia2a4e9e278fd3c89d6c3c82fcc6381320ec2a8a6
2014-06-02 13:50:20 -07:00
Frank Galligan
c40a968e13 Merge "Revert "Remove Wextra warnings from vp9_sad.c"" 2014-06-01 16:58:11 -07:00
Frank Galligan
0b44988952 Revert "Remove Wextra warnings from vp9_sad.c"
This reverts commit 916550428d

Change-Id: I500822b03f09c64ff6ec5396c68edee9ca3b75cb
2014-06-01 16:20:26 -07:00
Jingning Han
49b4a274a0 Add overflow check unit test for 16x16 inverse DCT/ADST transform
This commit applies quantization process with coarse quantization
step size to the forward transform coefficients and tests all the
inverse 16x16 DCT and ADST implementation versions with the
dequantized coefficients as input, to verify that the outcomes
match the prototype.

Change-Id: I68034a6126b45192c87d8c642155290e89bff8fa
2014-05-30 11:59:00 -07:00
Jingning Han
6d21cbd20b Enable SSSE3 inverse 2D-DCT with 10 non-zero coeffs
This commit enables SSSE3 implementation of the inverse 2D-DCT
with only first 10 coefficients non-zero. It reduces the runtime
of SSE2 version from 745 cycles to 538 cycles, i.e., 27% speed-up.

Change-Id: I18ba4128859b09c704a6ee361d69a86c09fe8dfe
2014-05-28 10:53:33 -07:00
Erik Niemeyer
c92d776c32 Merge "Turn on unit tests for AVX2 convolve functions" 2014-05-27 14:00:39 -07:00
Deb Mukherjee
444f93945b Merge "Remove Wextra warnings from vp9_sad.c" 2014-05-27 11:54:05 -07:00
Yunqing Wang
4f0943b996 Turn on unit tests for AVX2 convolve functions
This patch turned on unit tests for AVX2 convolve functions.

Change-Id: I51b8bfdaa290fb22862c68af61abf2394d00d47c
2014-05-27 10:36:56 -07:00
Jingning Han
26a76dc3f8 Merge changes I4f0f4378,I02250d13
* changes:
  Re-enable unit test on neon implementation of 16x16 idct
  Turn on unit test for inverse 16x16 2D-DCT ssse3
2014-05-23 16:02:09 -07:00
Jingning Han
74a854fcab Re-enable unit test on neon implementation of 16x16 idct
The previous change only tunes forward transform. It doesn't affect
the neon implementation of the inverse transform. Hence turn the
unit test on.

Change-Id: I4f0f43783b98814d1eee53182209f9669d538140
2014-05-23 15:11:16 -07:00
Jingning Han
e4a758bbd4 Turn on unit test for inverse 16x16 2D-DCT ssse3
Change-Id: I02250d1364ca2e637585a8db020cba9fd4a95664
2014-05-23 15:11:05 -07:00
Yaowu Xu
077144d206 Use extreme values for input in convovle tests
The intepolation filter functions can be better tested withe extreme
values, especially given the optimization functions are prone to
overflow signed 16 bit intermediate value when operation order is
wrong.

Change-Id: I712142b0bc1e5969c692c0486a57ffa37c9742b5
2014-05-23 13:32:54 -07:00
Deb Mukherjee
916550428d Remove Wextra warnings from vp9_sad.c
As a side-effect, the sad unit tests for VP8 and VP9
had to be separated.

Change-Id: I068cc2391eed51e9b140ea6aba78338c5fec8d71
2014-05-22 22:21:16 -07:00
James Zern
8188096640 tools_common: fix test_name quoting
quoting within $() doesn't need to be escaped; removes trailing " in
test_name

Change-Id: I97ffad9fdfd97b3cdf4dec2a8547804875d85e66
2014-05-21 19:54:48 -07:00
Jingning Han
d8b26caa71 Merge "Adjust the forward 16x16 DCT computation steps" 2014-05-21 09:16:04 -07:00
Tom Finegan
ca5d96315e Merge "Add make target for running example tests." 2014-05-20 15:48:04 -07:00
Tom Finegan
2823b295df Merge "tools_common.sh: Allow over ride of test name." 2014-05-20 15:47:51 -07:00
James Zern
80acef01d4 Merge "make spatial svc an experiment" 2014-05-20 15:24:20 -07:00
James Zern
3946cdfdd4 Merge "Add test for vpx_temporal_svc_encoder example." 2014-05-19 18:06:04 -07:00
Tom Finegan
0d9d3793d9 Merge "Add test for vp9_spatial_svc_encoder example." 2014-05-19 17:44:17 -07:00
Jingning Han
7f547336b7 Adjust the forward 16x16 DCT computation steps
This commit adjusts the forward 16x16 DCT computation steps to
simplify the register level operations. It fixes the corresponding
sse2 version accordingly.

Change-Id: I72a9c25b8ca9442fc5e113f47cd701ae55aa7f08
2014-05-19 12:39:26 -07:00
Dmitry Kovalev
c23c613fdf Merge "Hiding vp9_sub_pel_filters_{8, 8s, 8lp} filters in *.c file." 2014-05-19 10:27:16 -07:00
Tom Finegan
20ae20c6b9 Add test for vp9_spatial_svc_encoder example.
Change-Id: I6f392ee38842120c0ff32b6c8853333af032ccb9
2014-05-17 14:14:51 -07:00
Tom Finegan
3d38cf9c12 tools_common.sh: Allow over ride of test name.
Use VPX_TEST_NAME instead of the script name sans path and extension
when reporting test results when the variable is not empty.

Also: Clean up some style nits while I'm at it.

Change-Id: I0319745a3b7a90d0f307e55c5108fea2204187cd
2014-05-17 13:49:23 -07:00
Tom Finegan
e331203528 Add test for vpx_temporal_svc_encoder example.
Change-Id: Icbb0ca1c899f7a58d6f73970e6434451738195b7
2014-05-16 11:09:13 -07:00
Tom Finegan
bc27d7e967 Add make target for running example tests.
Change-Id: I0d0dfda96b99cefb5ef5c16df4a024de5bf8007e
2014-05-15 21:35:01 -07:00
Jim Bankoski
ec82d2dfec Merge "Revert "Remove Wextra warnings from vp9_sad.c"" 2014-05-15 11:54:23 -07:00
Jim Bankoski
a16794dd31 Revert "Remove Wextra warnings from vp9_sad.c"
This reverts commit 7ab9a9587b

Nightly test http://build.webmproject.org/jenkins/view/libvpx-nightly-tests/job/libvpx%20unit%20tests%20(valgrind-2)/arch=x86_64-linux-gcc,filter=-*VP8*:*Large.*/276/console

Failed 

This patch did not address all the assembly issues 
some of the vp8 assembly counts on 5 arguments being passed in to this function:   

one example : vp8_sad8x16_wmt

Please address or split this into vp9 and vp8 patches.

Change-Id: I78afcc171649894f887bb8ee3c66de24aaddc7ca
2014-05-15 08:31:20 -07:00
James Zern
f12ebfc939 make spatial svc an experiment
disabled by default, enable with:
--enable-experimental --enable-spatial-svc

this disables vp9_spatial_svc_encoder and svc_test, further work is
needed to remove internal lib references

Change-Id: I6a487ecbf07eb98843a99d96e17f08f960b63088
2014-05-14 19:47:23 -07:00
Dmitry Kovalev
021eaabdb8 Hiding vp9_sub_pel_filters_{8, 8s, 8lp} filters in *.c file.
Change-Id: Id401da740b0a0141caaef9e1bcccd981e5cef4a4
2014-05-14 16:21:41 -07:00
Deb Mukherjee
9687c057f8 Merge "Remove Wextra warnings from vp9_sad.c" 2014-05-14 10:01:50 -07:00
Tom Finegan
7f8684437f Merge "Add test for the twopass_encoder example." 2014-05-14 08:57:29 -07:00
Tom Finegan
576609382b Merge "Add test for the resize_util example." 2014-05-14 08:57:21 -07:00
Deb Mukherjee
7ab9a9587b Remove Wextra warnings from vp9_sad.c
As a side-effect, the max_sad check is removed from the
C-implementation of VP8, for consistency with VP9, and to
ensure that the SAD tests common to VP8/VP9 pass.
That will make the VP8 C implementation of sad a little slower
but given that is rarely used in practice, the impact will be
minimal.

Change-Id: I7f43089fdea047fbf1862e40c21e4715c30f07ca
2014-05-14 03:17:31 -07:00
Tom Finegan
eaa4dff97c Add test for the resize_util example.
Change-Id: I97c052a35a1d54455b91c269fd6a9a094fa3db7f
2014-05-13 17:43:08 -07:00
Tom Finegan
f04e9c4b71 Add test for the twopass_encoder example.
Change-Id: I7b577f2a492e981156f969f8f9e61f9d2156fe60
2014-05-13 11:53:42 -07:00
Johann
ce23931a3f Only build neon assembly for armv7 targets
Allow selectively building just the intrinsics for armv8

Change-Id: I2f29b2e4508b8b8e5649c2906b3159ad1d4ec477
2014-05-12 08:52:02 -07:00
Yaowu Xu
fea5eab718 Add another test vector
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-09 16:24:40 -07:00
Yaowu Xu
242c36b646 Merge "Added a test vector" 2014-05-09 15:56:45 -07:00
Alex Converse
ec8a3272fa Merge "Add an x86inc MMX fwht4x4." 2014-05-09 13:48:49 -07:00
Jingning Han
9412785b02 Merge changes I3edd4b95,I4514f974,Ie7fa4386
* changes:
  Turn on unit tests for SSSE3 8x8 forward and inverse 2D-DCT
  Change eob threshold for partial inverse 8x8 2D-DCT to 12
  SSSE3 8x8 inverse 2D-DCT with first 10 coeffs non-zero
2014-05-09 09:58:39 -07:00
James Zern
8d799940bc Merge "Revert "Removing redundant variables from variance_test.cc."" 2014-05-08 16:28:55 -07:00
Tom Finegan
94d0692740 Merge "Add test for the vp8cx_set_ref example." 2014-05-08 15:54:36 -07:00
Tom Finegan
e6224ddaa3 Merge "tools_common.sh: Fix vlog()" 2014-05-08 15:54:26 -07:00
James Zern
6e5e75fa21 Revert "Removing redundant variables from variance_test.cc."
This reverts commit 4725ab7e51.

The constants are necessary to avoid breakage in vs9 builds:
 warning C4180: qualifier applied to function type has no meaning; ignored
 error C2436: 'f2_' : member function or nested class in constructor initializer list
 while compiling class template member function 'std::tr1::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>::tuple(const int &,const int &,unsigned int (__cdecl &))'
 ..\test\variance_test.cc : see reference to class template instantiation 'std::tr1::tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9>' being compiled

Change-Id: Ia218b74fc473d40f02fee84cb7009adfbe82e5a7
2014-05-08 14:35:40 -07:00
Tom Finegan
23d010a5b1 Add test for the vp8cx_set_ref example.
Change-Id: I68850699ecaebbbb7962cbc1c9bc85e92a0ea5ca
2014-05-08 12:36:12 -07:00
Tom Finegan
7279d44a4e tools_common.sh: Fix vlog()
Abusing '[] && echo' resulted in the --verbose flag being required to
actually run tests.

Change-Id: I39edaa30a05272928f9f4a4bb8581f91d6fe824b
2014-05-08 12:06:08 -07:00
Alex Converse
b5422fab46 Add an x86inc MMX fwht4x4.
Change-Id: Ib0a73d4863478f9b8a00976379d25d2f6ebbb197
2014-05-08 12:01:27 -07:00
Jingning Han
b466ad5efc Turn on unit tests for SSSE3 8x8 forward and inverse 2D-DCT
Change-Id: I3edd4b956a1273d65547771bf43c5cdaea25e5d6
2014-05-08 10:53:27 -07:00
Jingning Han
41a350a83d Change eob threshold for partial inverse 8x8 2D-DCT to 12
The scanning order has the first 12 coefficients of the 8x8 2D-DCT
sitting in the top left 4x4 block. Hence the partial inverse 8x8
2D-DCT allows to handle cases with eob below 12.

The overall runtime of the inverse 8x8 2D-DCT unit is reduced from
166 cycles (using SSE2) to 150 cycles (using SSSE3).

Change-Id: I4514f9748042809ac84df4c14382c00f313f1cd2
2014-05-08 09:48:58 -07:00
Dmitry Kovalev
0d27c747e9 Merge "Removing redundant variables from variance_test.cc." 2014-05-07 19:00:18 -07:00
Yaowu Xu
4921c4fcdb Merge "Relax rc test threshold" 2014-05-07 16:52:01 -07:00
Dmitry Kovalev
4725ab7e51 Removing redundant variables from variance_test.cc.
Change-Id: Icd44bce1c9d292f6e6f4d5157b694f6170b7b289
2014-05-07 14:40:21 -07:00
Yaowu Xu
c4180f8f9c Relax rc test threshold
For multilayer coding

Change-Id: I830a0176c020658b836e3f5d2ce6bc5932736c0c
2014-05-07 13:55:08 -07:00
Yaowu Xu
f641d6bc7a Added a test vector
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-05-07 12:08:57 -07:00
Alex Converse
1354d0bb39 Merge "Revert "Add an MMX fwht4x4"" 2014-05-07 10:09:04 -07:00
Johann
09cbb6c1f7 Merge "Android NDK support for x86 and mips" 2014-05-07 08:54:13 -07:00
Paul Wilkins
33b1c457ed Revert "Add an MMX fwht4x4"
Includes changes that are not compatible with VS windows builds.
Amongst other things stdint.h is not supported in VS.

This reverts commit 89fbf3de50.

Change-Id: Ifa86d7df250578d1ada9b539c9ff12ed0c523cdd
2014-05-07 12:53:27 +01:00
Alex Converse
89fbf3de50 Add an MMX fwht4x4
7% faster encoding a desktop lossless at RT speed 4.

Change-Id: I41627f5b737752616b6512bb91a36ec45995bf64
2014-05-05 15:10:48 -07:00
Alex Converse
9f9f87c7f6 Add test for 4x4 WHT.
Change-Id: I97ba3152f9b44d23a74c6144809142810d07e368
2014-05-05 15:10:44 -07:00
Tom Finegan
f386d3960d Add test for postproc example.
Change-Id: I3446d2ebc23e6f1ed650dd5c82648041febe3c4d
2014-05-05 11:20:26 -07:00
Johann
1b91fa8ac8 Merge "vp9 register checks only apply to vp9" 2014-05-03 19:03:39 -07:00
Vignesh Venkatasubramanian
56186c2540 Merge "third_party/libwebm: Add Android.mk" 2014-05-02 11:39:29 -07:00
Adrian Grange
8b2b7370b5 Merge "Revert "Force ARNR filtering to be centered on the ARF frame"" 2014-05-02 08:13:06 -07:00
Johann
07967b36b7 vp9 register checks only apply to vp9
Disable register checks when vp9 is not configured. Soon vp8 assembly
will move to intrinsics, obviating this check.

This will still run the check when vp9 is enabled.

Change-Id: I90f50d22cb8c15e9c07f2c8e830e08de7fce0689
2014-05-02 08:11:54 -07:00
Johann
7d54e0f093 Android NDK support for x86 and mips
This does not do the full toolchain setup like the arm builds. It only
allows for ndk-builds. See the instructions in tests/android/README or
the webm jnin bindings project:
https://chromium.googlesource.com/webm/bindings/+/master/JNI/README.Android

Because this support is not quite polished, the build targets must be
forced. Please use
--force-target=x86-android-gcc --disable-ssse3 --disable-sse4_1 --disable-avx2
--force-target-mips-android-gcc

Change-Id: Ie2b6623f71ac816e3965c39bf97097e9d30b6e94
2014-05-02 07:26:46 -07:00
Tom Finegan
1d29ce53fe Add --show-program-output option to shell tests.
When used --show-program-output shows the output from the programs run
during testing.

Change-Id: I15a47c43d1fcf0243c8df1a75d0d2a584ae1f08f
2014-04-30 16:17:25 -07:00
Tom Finegan
c5d962d5bb tools_common.sh: Add vlog()
Add a verbose logging function instead of checking
$VPX_TEST_VERBOSE_OUTPUT in multiple places.

Change-Id: I82618809f0964f696ed17ca4d99d8d7d252232f4
2014-04-30 11:16:15 -07:00
Vignesh Venkatasubramanian
4721f9efe9 third_party/libwebm: Add Android.mk
Add Android.mk for libwebm so that unit tests involving WebM I/O can be built
for android.

Change-Id: I56db0f75672e28c22e559cc415e1d5c26ff0ceb5
2014-04-29 11:22:04 -07:00
Adrian Grange
0a386b9234 Revert "Force ARNR filtering to be centered on the ARF frame"
This reverts commit 59e733ca81.

Hold off removing arnr_type to give users the opportunity
to change their script files to handle its deprecation. A
follow-up patch will mark the control for setting arnr_type
as deprecated and it will be removed completely in a later
revision of the code.

Change-Id: I8b817c744e144d3714234a4cd4309816d0c7e3e8
2014-04-29 11:04:01 -07:00
Tom Finegan
5573301dde Merge "Add script for running all example tests." 2014-04-28 20:45:26 -07:00
Tom Finegan
5ea01d5eb8 Merge "Add tests for the decode_with_drops example." 2014-04-28 19:47:20 -07:00
Tom Finegan
faf4aa9ba7 Add script for running all example tests.
Change-Id: I1e3d0689554c9b64c035ec0394f052507f7ac2a3
2014-04-28 18:45:25 -07:00
Tom Finegan
50869349be Add tests for the decode_with_drops example.
Change-Id: I99e120f934613fb7cc0ef4b4bba0c8caaecf18d2
2014-04-28 17:18:20 -07:00
Tom Finegan
4e7e1f1ad1 tools_common.sh: Add a pseudo include guard.
Change-Id: Iac931dee8fa428a2182d20e48ee515d7c77885c0
2014-04-28 17:16:05 -07:00
Tom Finegan
19339263a6 Merge "Add tests for simple_encoder." 2014-04-28 16:57:04 -07:00