Commit Graph

774 Commits

Author SHA1 Message Date
Frank Galligan
5487b6067c Merge "Neon version of vp9_sub_pixel_variance32x32()," 2014-08-01 09:46:37 -07:00
Scott LaVarnway
545be78136 Added vp9_sad8x8_neon()
Change-Id: I3be8911121ef9a5f39f6c1a2e28f9e00972e0624
2014-08-01 06:36:18 -07:00
Frank Galligan
e589d8ea5c Merge "Neon version of vp9_subtract_block()" 2014-07-31 10:24:26 -07:00
Tom Finegan
b719d1539d Merge "vp9_spatial_svc_encoder.sh: Disable existing tests, add a test that works." 2014-07-31 09:42:17 -07:00
Tom Finegan
b9839d2b9b Merge "vpxdec.sh: Refactor vpxdec()." 2014-07-31 09:41:17 -07:00
Tom Finegan
b924922f5a Merge "tools_common.sh: Move vpxdec() test support to vpxdec.sh" 2014-07-31 09:40:46 -07:00
Scott LaVarnway
6f4b8dcdc2 Neon version of vp9_subtract_block()
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~3.2%

Change-Id: I8862497264142171b7efc32df1a67714a23539f4
2014-07-31 09:28:06 -07:00
Scott LaVarnway
d39448e2d4 Neon version of vp9_sub_pixel_variance32x32(),
vp9_variance32x32(), and vp9_get32x32var().

Change-Id: I8137e2540e50984744da59ae3a41e94f8af4a548
2014-07-31 08:00:36 -07:00
Tom Finegan
e4eb0330fa vp9_spatial_svc_encoder.sh: Disable existing tests, add a test that works.
- vp9_spatial_svc_encoder.c no longer supports the -m parameter that
  has been used in the example test. Tests using -m have been disabled.
- Added a basic test that appears to work as of commit
  3249f26ff8.
- Minor style clean up.

Change-Id: Ic1402fcbbe28e33982c5ea12d1e3349f4069a5bf
2014-07-30 22:07:23 -07:00
Tom Finegan
06b64c5bc5 vpxdec.sh: Refactor vpxdec().
- Split vpxdec wrapper function into vpxdec() and vpxdec_pipe().
- Remove hard coded --noblit and --summary arguments from
  the wrappers in favor of shifting off the first argument (the
  input file) and passing all remaining parameters to vpxdec.
- Add --noblit and --summary args to existing tests, and update the
  pipe input test to use vpxdec_pipe().

Change-Id: Ia390a9990eace793058b3603ada733fb878eb78c
2014-07-30 20:52:59 -07:00
Tom Finegan
6e0748e142 tools_common.sh: Move vpxdec() test support to vpxdec.sh
Change-Id: I7bb9b10fa8a949e9eaa1299b521f2b9785f36d50
2014-07-30 20:52:59 -07:00
Tom Finegan
166b62346b vp9_spatial_svc_encoder.sh: Prevent failures when ssvc is unavailable.
Avoid running the tests when CONFIG_SPATIAL_SVC is 0.

Change-Id: I9b87ed206a9ba7de6827594fba275bd3f60faf2d
2014-07-30 15:27:08 -07:00
Johann
f6bf5f55ba Merge "Remove copy frame neon" 2014-07-30 13:24:16 -07:00
Johann
a984c86a37 Merge "Add test for vp8 copy frame" 2014-07-30 13:22:50 -07:00
James Zern
c71b8a72f2 Merge changes I3513ae17,Ia0b51165,I461d8b3d
* changes:
  make testdata: look for other variants of sha1sum
  make testdata: fail if a sha1 fails or is missing
  test-data.sha1: add missing checksums
2014-07-30 11:04:26 -07:00
James Zern
583ed8562b Merge "decode_to_md5.sh: fix local md5 variable assignment" 2014-07-30 10:55:11 -07:00
James Zern
c0348216c3 decode_to_md5.sh: fix local md5 variable assignment
extract only the md5 + quote the result
fixes:
test/examples.sh: 47: local: img-176x144-0029.i420: bad variable name

Change-Id: I81c6a83c8a4e792a520fd7046c8eedcbd4af9a0c
2014-07-30 10:50:01 -07:00
Scott LaVarnway
521cf7e879 Neon version of vp9_sub_pixel_variance16x16(),
vp9_variance16x16(), and vp9_get16x16var().

On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~16.7%.

Change-Id: Ib163aa99f56e680194aabe00dacdd7f0899a4ecb
2014-07-30 08:17:32 -07:00
James Zern
fff4e263f6 test-data.sha1: add missing checksums
Change-Id: I461d8b3d7cb8f5d787f189dac9032220b089f05f
2014-07-29 20:31:10 -07:00
Scott LaVarnway
d19d222db6 Added vp9_fdct8x8_neon(), vp9_fdct8x8_1_neon()
On a Nexus 7, vpxenc (in realtime mode, speed -12)
reported a performance improvement of ~3.7%.

Change-Id: I428c72c40df82c6d537955e320a8debf99343004
2014-07-29 08:56:05 -07:00
levytamar82
4ba92dc5ab Fix bug 805
Remove all the redundant dct functions (dct4x4, dct8x8)
in avx2 except dct32x32 those functions were copied originally from dct_sse2

Change-Id: I742576fbf5175f3ac09f2076976a9247b259323e
2014-07-28 15:46:01 -07:00
Jim Bankoski
6865af6378 Merge "Fix reference frame size restrictions." 2014-07-28 09:47:57 -07:00
Jim Bankoski
899585ebe9 Fix reference frame size restrictions.
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-28 08:37:25 -07:00
Jim Bankoski
9bbcc20b57 Merge "This removes a test that fails on 32 bit" 2014-07-28 07:17:27 -07:00
Johann
a7ba80f4cb Remove copy frame neon
No performance benefit

Change-Id: I7f0cfa98ac2bb5b823d0972827b45f32cd3f6b4c
2014-07-25 20:06:30 -07:00
Johann
3f701df0e0 Add test for vp8 copy frame
Change-Id: Iddac0f263b283480315147c51deec2a2bbd7a1a7
2014-07-25 20:06:23 -07:00
Jingning Han
0c103eb211 Merge "Fix potential ioc issue in vp9_get_prob for 4K above sizes" 2014-07-25 15:56:53 -07:00
Joshua Litt
071c95d8a1 Merge "Encode perf test" 2014-07-25 13:16:36 -07:00
Joshua Litt
83b843f4b1 Encode perf test
Change-Id: I61993946fe5cbcd7ebeb6302efd9538bff022e5a
2014-07-25 11:02:04 -07:00
Yunqing Wang
4005b2d822 Merge "Allocate aligned source in variance test" 2014-07-25 10:53:13 -07:00
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