Commit Graph

753 Commits

Author SHA1 Message Date
Tom Finegan
b77ef13d89 vpxdec.sh: Fix some style nits.
Change-Id: I960c26dcb0db230e50f923d00f64ded1a39bf783
2014-08-15 14:20:47 -07:00
Tom Finegan
4d91e16501 examples.sh: Run all example tests.
- Remove vpxdec and vpxenc from the exclude list.
- vpx{dec,enc}.sh: Updates to support finding their executable when
  LIBVPX_BIN_PATH is setup for the examples.
- tools_common.sh: New library function, vpx_tool_path(). Provides
  support for finding the exectuables in vpx{dec,enc}.sh.

Change-Id: I730f11cceb44646491a7a7ff58603a4a760129ef
2014-08-15 11:31:30 -07:00
James Zern
a0d8ddb453 vpxenc.sh: use --test-decode=fatal for vp9
vp8 is broken:
https://code.google.com/p/webm/issues/detail?id=841

Change-Id: If73afe0e2314279b560ad758cb04b1760dcc3605
2014-08-14 20:11:15 -07:00
James Zern
41c89f7aee Merge "cq_test: allow test cases to be run out of order" 2014-08-13 19:39:43 -07:00
James Zern
1c6203192d cq_test: allow test cases to be run out of order
check that bitrates increase with cqlevel at global test case teardown,
rather than after each individual test case. this allows the tests to be
run out of order with --gtest_shuffle.

Change-Id: I9e0d4e6a2d920a1f2fe9aee7b7876a3e7eb5d297
2014-08-13 10:40:25 -07:00
James Zern
caffcb8b8d decode_api_test: fix type conversion warning
size_t -> uint32 in the call to vpx_codec_decode()

Change-Id: Ibf39d3749321c97292b35ac0631fa22211cff800
2014-08-12 23:11:38 -07:00
James Zern
4b79563805 Merge "get_ref_frame: check ref_frame_map value" 2014-08-12 22:48:27 -07:00
James Zern
80b6c9c56f Merge "VP8D_GET_FRAME_CORRUPTED: check frame pointer" 2014-08-12 21:11:36 -07:00
James Zern
bcb97ec647 Merge "vpx_codec_decode: check data size" 2014-08-12 21:11:11 -07:00
James Zern
3caed4f8fd get_ref_frame: check ref_frame_map value
'ref_frame_map' is initialized to -1. avoids using an invalid index  if
VP9_GET_REFERENCE/VP8_COPY_REFERENCE controls are issued after a decode
error.

Change-Id: I4599762c4d0b07a5943a72bf4a86ccb596cc062a
2014-08-12 17:47:04 -07:00
James Zern
7d9da93a97 VP8D_GET_FRAME_CORRUPTED: check frame pointer
if the decode of the first frame fails, frame_to_show may not be set.
fixes a crash in vpxdec with corrupt data.

Change-Id: I5ab9476d005778a13fd42a39d05876bb6c90a93c
2014-08-12 17:41:47 -07:00
Deb Mukherjee
a463513843 Rework y4mwrite test to pass google3 tests
Reverts to using tmpfile() for non-Windows platforms. On google3
the test directory does not have write permissions, and hence the
Y4mWriteTest fails. This patch fixes the issue.
On Windows, a temporary file is created in the temp directory
that has write permissions.

The tests pass on linux, mingw, and MS visual studio.

Change-Id: Ibada1d80e25d8b8e5b6a9d3d597533674bd9024c
2014-08-12 16:15:26 -07:00
James Zern
6a2e9ef20a vpx_codec_decode: check data size
When a valid data pointer is given make sure the size is greater than
zero.
A previous check for vp9 was incorrectly removed in:
7050074 Make the api behavior conform to api spec.

No semantics for valid pointers + 0-sized frames are defined for VPx
codecs, so move the check to vpx_codec_decode(). This avoids an assert
in vp9.

+ add some basic invalid param testing for decoder init/decode/destroy

Change-Id: I99f9cef6076d15874fd72ac973f2685d8a2353c3
2014-08-11 11:44:00 -07:00
Tom Finegan
93ef0e0e78 Merge "test/vpxenc.sh: Convert vpxenc() to a simple wrapper." 2014-08-08 19:19:03 -07:00
Tom Finegan
8b83d15da3 test/vpxenc.sh: Convert vpxenc() to a simple wrapper.
- Split vpxenc() into vpxenc() and vpxenc_pipe().
- Drop all but one positional param (the input file) in favor
  of passing args directly to vpxenc.
- Add an extra lossless test that explicitly sets min-q and
  max-q to 0.

Change-Id: I7d5f7b495f8b9447388c5f459bc9f6de2214caf2
2014-08-08 15:06:53 -07:00
James Zern
e28fc4997b Merge "Fix bug 807" 2014-08-07 19:54:53 -07:00
levytamar82
69a5f5ecf7 Fix bug 807
in the sub_pixel_*variance* function the dst is aligned to 16 bytes and not
to 32 bytes - now load unaligned data

Change-Id: I2e0b9745543697efc56fefa32857ea10117af135
2014-08-07 18:51:02 -07:00
Tom Finegan
57de34de44 test/vpxenc.sh: Enable the VP9 lossless test.
Change-Id: Iff403dfb4c8face0494f0dba840ce91f51e9ca04
2014-08-07 18:08:02 -07:00
James Zern
72a5832a81 Merge "vp9 ssvc test: Remove disabled tests." 2014-08-07 16:47:12 -07:00
Tom Finegan
0c606b550e Merge "vpxenc tests: Relocate vpxenc wrapper." 2014-08-07 16:46:43 -07:00
Tom Finegan
79df28ca03 vp9 ssvc test: Remove disabled tests.
The disabled tests require a mode parameter that has been removed
from the ssvc example.

BUG=https://code.google.com/p/webm/issues/detail?id=833

Change-Id: I1a5d67628ed769cc5372c4a864f33d5569b6eb13
2014-08-07 15:48:45 -07:00
levytamar82
af10457e02 Fix bug 806
in the function sad32x32x4d and sad64x64x4d the source is aligned to 16 bytes
and not to 32 bytes - the load is now unaligned.

Change-Id: I922fdba56d0936b5cf72e4503519f185645a168c
2014-08-07 14:13:30 -07:00
Tom Finegan
b1a433d45d vpxenc tests: Relocate vpxenc wrapper.
Move vpxenc() from tools_common.sh to vpxenc.sh.

Change-Id: If3bc1e8616f7e0334d39b560946e467482fe5cf4
2014-08-07 11:15:40 -07:00
Hangyu Kuang
a95758c881 Merge "Make the api behavior conform to api spec." 2014-08-06 17:44:53 -07:00
Hangyu Kuang
7050074756 Make the api behavior conform to api spec.
When no more data is available, vpx_codec_decode should
be called with NULL as data and 0 as data_sz.

vpx_codec_get_frame iterates over a list of the frames
available for display. The iterator storage should be initialized
to NULL to start the iteration. Iteration is complete when this
function returns NULL.

Also change the unit test to conform to the api spec.

Change-Id: I4b258b309f5df3d37d10c82f01492c0394181c2a
2014-08-06 11:16:14 -07:00
James Zern
fffe4768e3 Merge "frame_size_tests: cosmetics" 2014-08-01 19:17:55 -07:00
Frank Galligan
5f8fa13258 Merge "Added vp9_sad8x8_neon()" 2014-08-01 14:11:38 -07:00
James Zern
e04273f7b6 frame_size_tests: cosmetics
- output DecodeError() on failure
- remove unused includes

Change-Id: Ib5059137f7033089d4010cbdfd633861b9028718
2014-08-01 13:18:30 -07:00
Scott LaVarnway
98165ec074 Neon version of vp9_sub_pixel_variance8x8(),
vp9_variance8x8(), and vp9_get8x8var().

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

Change-Id: I8a66ac2a0f550b407caa27816833bdc563395102
2014-08-01 11:35:55 -07:00
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