Commit Graph

1052 Commits

Author SHA1 Message Date
Peter de Rivaz
a7b2d09f36 Added highbitdepth sse2 acceleration for quantize
Also includes block error.

(This patch is mostly cherry picked from
commit db7192e0b0)

Change-Id: Idef18f90b111a0d0c9546543d3347e551908fd78
2014-11-19 23:55:19 -08:00
James Zern
16d2696978 sad_test: fix vp8-only build
ROUND_POWER_OF_TWO() is defined in vp9 headers currently, avoid it in
non-high-bitdepth code

Change-Id: Ic28b8f95ef7964800475ee8b35be5f9cea9afab6
2014-11-19 19:18:25 -08:00
Debargha Mukherjee
c3a9056df4 Merge "Added sse2 acceleration for highbitdepth variance" 2014-11-14 21:11:27 -08:00
Peter de Rivaz
48032bfcdb Added sse2 acceleration for highbitdepth variance
Change-Id: I446bdf3a405e4e9d2aa633d6281d66ea0cdfd79f
(cherry picked from commit d7422b2b1e)
(cherry picked from commit 6d741e4d76)
2014-11-14 15:18:53 -08:00
Deb Mukherjee
00c385f17a Visual studio build fix using explicit cast
Change-Id: If74510370723e497f4f33d988b8b398124edf69b
2014-11-14 15:12:01 -08:00
hkuang
a9a20a1040 Fix a bug in frame parallel decode and add a unit test for that.
A flush bug is discovered during putting frame parallel decoder
into Android. This test will expose that bug.

Change-Id: Ia047f27972f4da0471649f79f1f91e7695297473
2014-11-14 10:16:34 -08:00
James Zern
8da5088da1 Revert "Fix SSSE3 partial_idct_test detection"
This reverts commit 7d07f512cd.

this breaks visual studio builds:
'#' : invalid character : possibly the result of a macro expansion

Change-Id: I77170d549afb71e75a878fa0f6acd204fe8d9e67
2014-11-13 11:32:02 -08:00
Debargha Mukherjee
002172efd6 Merge "Added highbitdepth sse2 SAD acceleration and tests" 2014-11-12 21:20:34 -08:00
Peter de Rivaz
7eee487c00 Added highbitdepth sse2 SAD acceleration and tests
Change-Id: I1a74a1b032b198793ef9cc526327987f7799125f
(cherry picked from commit b1a6f6b9cb)
2014-11-12 14:25:45 -08:00
Johann
64b3739bf1 Merge "Fix SSSE3 partial_idct_test detection" 2014-11-12 12:20:36 -08:00
Johann
18366964b1 Merge "Remove asm offset dependencies" 2014-11-10 10:22:09 -08:00
Deb Mukherjee
27dce0f324 Test name changes to use SSE/SSE2 exactly
Change-Id: I3b5a478d198868c2796366f0ac59d0e2036308b8
2014-11-07 13:44:19 -08:00
hkuang
165db2343a Merge "Add two test vectors to test frame parallel decode." into frame_parallel 2014-11-07 10:06:35 -08:00
hkuang
f2fe530e15 Add two test vectors to test frame parallel decode.
The added vectors are mainly used to test the output cache
mechanism in frame parallel decode.

Change-Id: I3d413d060daa5abf72358f6350bd1d16d71adc5a
2014-11-06 16:28:35 -08:00
Johann
6eec73a747 Remove asm offset dependencies
The obj_int_extract code is no longer worth maintaining. It creates
significant issues when adapting for different build systems and no
longer offers as significant of a performance benefit due to
improvements in intrinsics.

Source files will remain until the various third-party builds are updated.

The neon fast quantizer has been moved to intrinsics. The armv6 version
has been removed because so few remaining targets require it.

Compilers and processors have improved significantly since the
pack_tokens code was written. The assembly is no longer faster than the
C code.

pack_tokens were the only optimizations for the armv5te targets so the targets
will be removed after the test infrastructure has been updated.

BUG=710

Change-Id: Ic785b167cd9f95eeff31c7c76b7b736c07fb30eb
2014-11-06 16:00:01 -08:00
hkuang
ad693e1ff5 Add key frame seeking to webmdec and webm_video_source.
This is for the frame parallel's pause/seek/resume unit test.

Change-Id: Ie235f86ca5f3d525896222766f6d610e6682fd76
2014-11-06 13:51:08 -08:00
Yunqing Wang
1228433430 Modify the frame context memory deallocation
This patch was to fix the vpxdec fuzzing3 test failure. When an
error occurs, setjmp() is invoked, which calls the decoder
removing routine. In multiple thread situation, other threads
could try to access the frame context memory that is already
deallocated, thus causing a segfault.

An invalid unit test was added for this issue.

Change-Id: Ida7442154f3d89759483f0f4fe0324041fffb952
2014-11-06 11:34:19 -08:00
Johann
7d07f512cd Fix SSSE3 partial_idct_test detection
The test filter is not a prefix matcher. It requires test type to
contain no more than the optimization type. In this example, SSSE3_64
fails to match and the test is not skipped even when SSSE3 is not
available.

Change-Id: Ia74229a167c88da4e6da169012a7a77d438c3f75
2014-11-05 12:58:08 -08:00
Johann
d1b64deef4 vp8 quantize is now in intrinsics, not asm
Change-Id: Ie106c5335c9ba5aac81e23150e7026fb6ea6196e
2014-11-05 12:28:07 -08:00
James Zern
df1b0cafd6 quantize_test: delete QuantizePair related tests
functions were removed in:
2134eb2 Remove pair quantization

fixes ARM build

Change-Id: I634de50c2752408381d70afb0f5088b61052853c
2014-11-05 13:11:34 +01:00
Johann
dae280d537 Align structures in quantize test
MACROBLOCKD structures require alignment.

This fixes an issue caught by clang IOC.

Change-Id: Ibb5bcc122f531b4302a87e1144e4feaf46c1de64
2014-11-04 10:49:59 -08:00
Johann
9c6ce43df6 Add some indirection to the quantize test
Visual Studio and XCode require the address of the functions be passed.

Change-Id: Id39cab8e50061fdc6ac6018371a3a158c713e14b
2014-11-04 10:48:32 -08:00
Yunqing Wang
6d90a9d289 Merge "WORKAROUND FIX FOR GCC4.9.1" 2014-11-03 16:56:38 -08:00
Johann
6bab322d49 Merge "vp8 quantize test" 2014-11-03 15:45:21 -08:00
Johann
53b68de565 vp8 quantize test
Test for Regular, Fast and Pair quantization

Change-Id: I0a26c164afe632db869099402189826c0d43f9a2
2014-11-03 14:15:34 -08:00
levytamar82
86175a5788 WORKAROUND FIX FOR GCC4.9.1
In the function mb_lpf_horizontal_edge_w_avx2_16 the usage of the intrinsic
_mm256_cvtepu8_epi16 cause a compiler bug in gcc 4.9.1.
until it will be fixed I created a workaround that create the up convert by
using broadcast128+shuffle.
The bug was reported here:
https://code.google.com/p/webm/issues/detail?id=867

Change-Id: I73452e6806f42e0fadcde96b804ea3afa7eeb351
2014-11-01 11:27:28 -07:00
Marco
8fd5525191 Addd error resilience test for temporal layers.
Test for successful decoding when dropping enhancement layer frames.

Change-Id: Id3ae6e5676894f352680973e52352dc5d98bbf55
2014-10-29 16:47:56 -07:00
Deb Mukherjee
bec307acda Adding test vectors for profile 2 and 3
Also adds mising test vectors for profile 1.

Change-Id: I5269af8b9e6b708ce50a0d9c69b6cae4bb2870dc
2014-10-21 00:35:07 -07:00
Yunqing Wang
687c56e802 Merge "SAD32xh and SAD64xh for AVX2" 2014-10-20 12:37:55 -07:00
levytamar82
7045aec00a SAD32xh and SAD64xh for AVX2
All sad function that process above 32 consecutive elements are optimized
for AVX2:
vp9_sad64x64
vp9_sad64x32
vp9_sad32x64
vp9_sad32x32
vp9_sad32x16
vp9_sad64x64_avg
vp9_sad64x32_avg
vp9_sad32x64_avg
vp9_sad32x32_avg
vp9_sad32x16_avg
The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64
vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90%
both of them gave and overall ~2.3% user level gain

Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd
2014-10-19 13:59:10 -07:00
Deb Mukherjee
8101e82a1b Merge "Adds a set of end-to-end encode tests" 2014-10-16 14:27:26 -07:00
Deb Mukherjee
50c59cdae9 Adds a set of end-to-end encode tests
Covers all profiles and input formats. The tests check if the
encode succeeds and if the psnr is sane.

Change-Id: I195a5330debf92562846121819b6eaf961e27c01
2014-10-16 11:14:03 -07:00
Minghai Shang
68b550f551 [spatial svc]Another workaround to avoid using prev_mi
We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.

Change remerged.

Change-Id: I9efab38bba7da86e056fbe8f663e711c5df38449
2014-10-16 16:09:40 +01:00
Paul Wilkins
468032961d Revert "[spatial svc]Another workaround to avoid using prev_mi"
This reverts commit c113457af9.

Temporary revert to allow clean revert of another commit.

Change-Id: Ia9b7b755e6c48e1b6e383329f121fef175a24b27
2014-10-16 15:52:08 +01:00
Minghai Shang
c113457af9 [spatial svc]Another workaround to avoid using prev_mi
We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.
Change-Id: I60b680314e33a60b4093cafc296465ee18169c19
2014-10-14 16:26:39 -07:00
JackyChen
755451c423 Merge "Code style change in unit test for VP8/VP9 denoiser." 2014-10-14 08:46:33 -07:00
Alex Converse
99a132f561 Add a seg map preservation test vector.
Add a test vector to show the cases where segmentation map is preserved
from frome to frame as outlined in the inquiry in issue 761.

Change-Id: I630c6aba27d0d0b109cc7fd7c6fcd008222a0cf3
2014-10-13 11:18:22 -07:00
JackyChen
31780e6647 Code style change in unit test for VP8/VP9 denoiser.
Change-Id: If4b0aca18c8474dd2456900ae9681e74222e645f
2014-10-13 09:43:10 -07:00
James Zern
6420585c8a Merge changes Ib5030373,Id614cfe6
* changes:
  test-data.mk: add some sectional comments
  add test-data.mk
2014-10-10 06:48:04 -07:00
Deb Mukherjee
1929c9b391 Rename highbitdepth functions to use highbd prefix
Uses highbd_ prefix convention consistently.

Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e
2014-10-09 14:40:40 -07:00
James Zern
e952c3412d test-data.mk: add some sectional comments
+ sort

Change-Id: Ib503037376368cec0cf57cbedeb215ab0eac8304
2014-10-09 06:51:54 -07:00
James Zern
a51d45a748 add test-data.mk
splits the test sources (test.mk) and the test data.

Change-Id: Id614cfe68bfbc09b0e429a37a21ec7a9dcdfadc6
2014-10-09 06:51:54 -07:00
JackyChen
e638aff245 Merge "Add unit test for VP8 denoiser." 2014-10-08 11:41:14 -07:00
JackyChen
09fbe88631 Add unit test for VP8 denoiser.
The unit test is to check the bitexactness of SSE2 code with C code.

Change-Id: I13cc08a557b02357e5d6c2db7a49e93ce0d8e16f
2014-10-08 09:34:43 -07:00
Jim Bankoski
0ce51d823f experimental : partition using 1/8 x 1/8 image
The concept:

There's too much noise in source pixels for variance and at low bitrate
the reconstructed looks nothing like the source so we have problems
getting good partitionings with either.   This skirts the issue by using
a box blur scaled down version for variance calculations.  To compare
against source_var_ moved keyframe to be rd based like source_var.

Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
2014-10-07 16:36:14 -07:00
JackyChen
a9f479682a Merge "Add SSE2 code and unit test for VP9 denoiser." 2014-10-07 10:51:55 -07:00
JackyChen
80465dae88 Add SSE2 code and unit test for VP9 denoiser.
This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are
only 16x16 blocks in denoiser, while in VP9, there are 13 different
block sizes.

By adding this SSE2 code, the improvement of encoder speed is around
20%(using C code vs using SSE2 code), vary for different clips.

The unit test for VP9 denoiser is to confirm that the SSE2 code is
bit-exact with the C code. The unit test covers all block size.

Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
2014-10-06 15:27:40 -07:00
Jingning Han
12344f2697 Add range check in inverse ADST 16x16
Bit-stream clarification related to Issue 868.

Change-Id: I92a7bc5b7782c9ea5c3f6cceec761742183c9514
2014-10-06 11:07:58 -07:00
Deb Mukherjee
8a01074d04 Merge "Incorporate WRAPLOW macro into non-highbitdepth tx" 2014-10-03 12:45:39 -07:00
Deb Mukherjee
d50716face Incorporate WRAPLOW macro into non-highbitdepth tx
Incorporates the WRAPLOW macro into the non-highbitdepth transforms
to aid hardware verification between a software C model and an
intended hardware implementation though the use of the configure
options: --enable-experimental --enable-emulate-hardware.
Note that to avoid further discrepancies between the sse/sse2
implementations of the transforms and the C implementation, when the
emulate hardware option is invoked, we also disable sse/sse2/etc.

Also incudes some minor cleanups/renaming etc.

Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
2014-10-03 11:38:05 -07:00
Alex Converse
655fbd1b4a Add a 1x1 enc/dec test.
Change-Id: I777f49a3c2c2aaa04ae23904396bd7254e1afd8c
2014-10-02 12:33:02 -07:00
Alex Converse
feee7d97b7 Drop the very slow BEST encoding from the lossless test.
BEST is used in very few tests.

Change-Id: I71880534fe5a44721e7bac8be49b5f71766c1e5f
2014-10-01 11:58:36 -07:00
Deb Mukherjee
e2a90c0b21 Merge "High bit-depth loop/arf/postproc filter functions" 2014-09-23 17:26:32 -07:00
Deb Mukherjee
931ed516ba High bit-depth loop/arf/postproc filter functions
Adds high-bitdepth loopfilter, temporal filter and postproc functions

Change-Id: I81c8a9176890784686bc4f2af0d550d243b3b2d3
2014-09-23 16:20:43 -07:00
Johann
b51f0ea22e Merge "invalid_file_test.cc is only for VP9 decoder" 2014-09-22 15:57:03 -07:00
Johann
176ae593a7 invalid_file_test.cc is only for VP9 decoder
Fix --disable-vp9 build

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

Change-Id: I98eacab5aa4aa9a657647acadd8ce2bd1a4590c0
2014-09-22 14:29:51 -07:00
Minghai Shang
38b6aed8fd Merge "[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer" 2014-09-22 14:01:24 -07:00
Minghai Shang
45a577e83c Merge "[spatial svc]Remove quantizers option. Use max/min quantizers for each layer." 2014-09-22 14:01:16 -07:00
Minghai Shang
c150ba2784 Merge "[spatial svc] Use string for quantizers and scale-factors option in the test app" 2014-09-22 14:01:06 -07:00
hkuang
8e7db6dd08 Merge "Fix compile warning." 2014-09-22 10:05:12 -07:00
hkuang
db71c1bd55 Fix compile warning.
warning: comparison between signed and unsigned integer expressions.

Change-Id: Ib6ee7500fe910983f290fc321ad89c0ab9989455
2014-09-19 22:48:38 -07:00
Tom Finegan
f34d728717 test/tools_common.sh: Add support for dumping list of tests.
Via new command line argument --list-tests.

Change-Id: I0f12d10b49c14f5f68aafd5bc45362b1ea4f361f
2014-09-19 16:15:20 -07:00
Minghai Shang
209ee12110 [spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer
vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.

In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.

Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
2014-09-18 18:05:07 -07:00
JackyChen
4eece0d983 Add a conditional compilation macro to VP8 unit test.
In many tests in VP8, the denoiser is disabled. By adding this
conditional comilation macro, the unit test will not be included
when denoiser is not enabled.

Change-Id: I6edec85c996acca22aacd11161c52408be2660a3
2014-09-18 15:38:32 -07:00
JackyChen
5887aededb Merge "Add unit test for VP9 denoiser." 2014-09-18 12:56:23 -07:00
JackyChen
a86e6e8358 Add unit test for VP9 denoiser.
Check basic datarate targeting for a single bitrate
when the denoiser is on.

Change-Id: Iad0e664859ffeb4ae6dd5f6dfb71a121e917e3fb
2014-09-18 11:26:08 -07:00
Minghai Shang
4f5b2b2892 [spatial svc]Remove quantizers option. Use max/min quantizers for each layer.
Change-Id: I214bc4169f6c5eaee4957cd308a74d309e999005
2014-09-18 11:10:11 -07:00
Deb Mukherjee
0d3c3d3ce7 Adds high bitdepth convolve, interpred & scaling
Change-Id: Ie51c352a6b250547207cbc1ebba833a01ed053e3
2014-09-18 07:26:17 -07:00
Minghai Shang
76885de5ad [spatial svc] Use string for quantizers and scale-factors option in the test app
1. This is to align with the ffmpeg implementation
2. Remove APIs for setting quantizers and scale-factors

Change-Id: I6e238d71db790a9fb3254baaeb61e2a5aac58f48
2014-09-17 17:39:16 -07:00
Deb Mukherjee
f7cf05cfe0 Merge "Adding high-bitdepth intra prediction functions" 2014-09-16 17:10:24 -07:00
Frank Galligan
ecd7e3d2b7 Merge "Remove memset of every external frame buffer." 2014-09-16 15:17:26 -07:00
Deb Mukherjee
81a8138fc3 Adding high-bitdepth intra prediction functions
Change-Id: I6f5cb101e2dc57c3d3f4d7e0ffb4ddbed027d111
2014-09-16 15:04:39 -07:00
Frank Galligan
175d9dfe0a Remove memset of every external frame buffer.
Libvpx was memseting every external frame buffer before decode. This
was to work around a valgrind issue in our C loop filter. Most of
the time this was not needed and we have noticed some significant
performance loss on some platforms. Now we require the application to
zero out the buffers if it is using external frame buffers.

Change-Id: I7330d00a315e65137ed30edd5f813e8929b76242
2014-09-15 15:37:36 -07:00
Scott LaVarnway
fe2cc873dc VP8 encoder for ARMv8 by using NEON intrinsics 1
Add vp8_mse16x16_neon.c
- vp8_mse16x16_neon
- vp8_get4x4sse_cs_neon

Change-Id: I108952f60a9ae50613f0ce3903c2c81df19d99d0
Signed-off-by: James Yu <james.yu@linaro.org>
2014-09-15 12:04:09 -07:00
Deb Mukherjee
41e6ec4a57 Visual Studio build (warning) fix
Explicit type casting to prevent warning.

Change-Id: Ib5be4ad6d4126d88f7c67d246bb085df1e813329
2014-09-14 07:32:18 -07:00
Deb Mukherjee
10783d4f3a Adds high bitdepth transform functions and tests
Adds various high bitdepth transform functions and tests.
Much of the changes are related to using typedefs tran_low_t
and tran_high_t for the final transform cofficients and intermediate
stages of the transform computation respectively rather than fixed
types int16_t/int. When vp9_highbitdepth configure flag is off,
these map tp int16_t/int32_t, but when the flag is on, they map
to int32_t/int64_t to make space for needed extra precision.

Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
2014-09-11 19:56:33 -07:00
Johann
ac2f2e7855 Merge "Allow specifying opt dependencies" 2014-09-11 16:02:41 -07:00
Johann
8645a53039 Allow specifying opt dependencies
If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works

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

Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
2014-09-11 13:43:48 -07:00
Minghai Shang
12aaff560b [spatial svc] Remove handling frame and stats packets in the codec
1. svc_encodeframe.c will not handle frame or stats packets anymore.
   The app will process them.
2. Remove APIs that related to these packets.

Change-Id: Id0d7f8b458dc09c6f77064c0878fd4e572db001b
2014-09-11 11:35:27 -07:00
James Zern
7ee073e61d vp9: wait for key/intra-only frame after corruption
don't bother decoding any further after receiving an earlier decode
error until a key/intra-only frame is encountered.

Change-Id: I381917b70d7a9e6f8d6de42e3d181bb113a4cec4
2014-09-09 19:36:11 -07:00
Alex Converse
864fd85011 Add an invalid file test for referencing a different color space.
Change-Id: I46472a524f5188b293332946be943bd15cfc8777
2014-09-08 11:12:15 -07:00
Dmitry Kovalev
1f19ebbab6 Replacing vp9_get_mb_ss_sse2 asm implementation with intrinsics.
Change-Id: Ib4f5dd733eb2939b108070a01e83da5d9990bac0
2014-09-06 00:10:25 -07:00
hkuang
4d0d78424b Increase the thread test range to cover 5, 6, 7, 8 threads.
Change-Id: Id25c294720551bb5153987d8758668befaa57929
2014-09-05 17:11:30 -07:00
James Zern
bb4950dfdf vp9: correct context buffer resize check
allocations within vp9_alloc_context_buffers() rely on mi_rows/mi_cols
individually, use those to determine whether to realloc rather than
stride and stride * rows. this fixes a crash with some fuzzed files for
invalid accesses into last_frame_seg_map and above_context.

Change-Id: I7b9f40dcf170d443890f3bd2acd285507943c7d4
2014-09-04 19:14:21 -07:00
James Zern
440f5097c7 vp9: fail decode if block/frame refs are corrupt
proceeding using a corrupt (incompletely decoded) frame reference may
lead to incorrect assumptions about allocation sizes leading to a crash.

Change-Id: I76e74f2e1be127c2e2c7e1174bb3307497dfd23d
2014-09-04 19:14:00 -07:00
Dmitry Kovalev
202edb3d23 Actually resetting random generator for all variance test cases.
Calling Reset(int) method instead of overloaded operator()(int).
Adding underscore at the end of class member name.

Change-Id: I01934e7bc056d4b594e5d05d693328febd34ac3c
2014-09-04 12:24:52 -07:00
Alex Converse
81e5d3f988 Add a more complex SEG_LVL_SKIP test vector.
This file changes the segmentation map, deactivates the map, and
reactivates the map.

Change-Id: I1c8b8949887257b9f4c49a1a9ba9a7c74666ef2e
2014-09-03 15:08:49 -07:00
Scott LaVarnway
dcbfacbb98 Neon version of vp8_build_intra_predictors_mby_s() and
vp8_build_intra_predictors_mbuv_s().

This patch replaces the assembly version with an intrinsic
version.

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

Change-Id: I9ef65bad929450c0215253fdae1c16c8b4a8f26f
2014-09-03 13:41:27 -07:00
Minghai Shang
759afe525c Merge "[svc] Temporal svc with two pass rate control" 2014-09-03 10:51:19 -07:00
Yaowu Xu
14bcbdac76 Merge "Add a test vector for SEG_LVL_SKIP." 2014-09-03 08:12:20 -07:00
Dmitry Kovalev
0ecc75c819 Merge "Removing MMX SAD calculation code." 2014-09-02 17:35:59 -07:00
Alex Converse
deeeb427dd Add a test vector for SEG_LVL_SKIP.
Change-Id: Ib41acade12fe6cdd4c4a4efdb1260d5f100a3e7f
2014-09-02 16:48:36 -07:00
Dmitry Kovalev
318fc0c34f Removing MMX SAD calculation code.
Removed functions:
* vp9_sad_16x16_mmx
* vp9_sad_8x16_mmx
* vp9_sad_16x8_mmx
* vp9_sad_8x8_mmx
* vp9_sad_4x4_mmx

Change-Id: Ic5174b93b64d65d846f0c11e72cab149e9472bc3
2014-09-02 14:41:36 -07:00
Deb Mukherjee
5acfafb18e Adds config opt for highbitdepth + misc. vpx
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
Also includes most vpx level high bit-depth functions. However
encode/decode in the highbitdepth profiles will not work until
the rest of the code is in place.

Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
2014-09-02 14:37:10 -07:00
Minghai Shang
be3b08da3e [svc] Temporal svc with two pass rate control
It's built based on current spatial svc code.
We only support one spatial two temporal layers at this time.
Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
2014-09-02 12:05:14 -07:00
Dmitry Kovalev
72037944df Merge "Removing variance MMX code." 2014-08-29 14:08:02 -07:00
James Zern
fec40f9269 vp9: fix m/t loop filter invalid free
store the number of allocated rows in VP9LfSync, the calculated values
can not be relied on when dealing with corrupt material.

Change-Id: I13b8bcec9738c299a71df726772ab7ac05511e5b
2014-08-29 11:04:45 -07:00
Dmitry Kovalev
12cd6f421d Removing variance MMX code.
Removed functions:
* vp9_mse16x16_mmx
* vp9_get_mb_ss_mmx
* vp9_get4x4var_mmx
* vp9_get8x8var_mmx
* vp9_variance4x4_mmx
* vp9_variance8x8_mmx
* vp9_variance16x16_mmx
* vp9_variance16x8_mmx
* vp9_variance8x16_mmx

They all have SSE2 equivalent.

Change-Id: I3796f2477c4f59b35b4828f46a300c16e62a2615
2014-08-29 10:26:42 -07:00
James Zern
c29cc89c78 Merge "vp9: fix crash in inline loopfilter w/corrupt file" 2014-08-28 18:37:30 -07:00
James Zern
458d0114f9 Merge "vp9: fix crash in mt loopfilter w/corrupt file" 2014-08-28 18:36:31 -07:00
Tom Finegan
6b5b4bf235 test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect.
Change-Id: Id60ae8178191e30603a5c8665793ace7eb9c8533
2014-08-28 10:49:33 -07:00
James Zern
cde790c36d vp9: fix crash in inline loopfilter w/corrupt file
attempting to decode a frame after the previous frame failed has the
potential of interrupting an earlier loop filter task

Change-Id: I6f2b1ddcdf5b89c3e2ee8caf5289dada2a087d66
2014-08-27 16:55:31 -07:00
Tom Finegan
3b0934cf39 Add test for vp8_multi_resolution_encoder.
Change-Id: I94667a23046e3cf17c421ac97ca66ea57f846b5c
2014-08-27 16:16:55 -07:00
James Zern
4f27202df7 vp9: fix crash in mt loopfilter w/corrupt file
if the first frame was corrupt and loop filter not called, the next call
would assume the necessary allocations had been done and segfault when
accessing a NULL pointer

Change-Id: Ib6ef505e5c594e6f0fe65ab0700172bcf06b92a6
2014-08-27 14:21:14 -07:00
Marco
503792ffef Add a separate datarate test for denoiser enabled.
Change-Id: Ibc91a46d11ad9c58e340b4346ed813a1be9b404a
2014-08-27 11:31:56 -07:00
Marco
16e52fc155 Enable denoiser for vp8 datarate tests.
Keep one test, BasicBufferModel, with denoiser set off.

Change-Id: I762c2004b3adca24f677535cfa5b991108f31f01
2014-08-26 15:46:24 -07:00
Tom Finegan
efb0fd1ba4 vpxenc.sh: Move some frequently used params into functions.
Echo args back from new util functions to decrease the repetition
in this file.

Change-Id: Id4d7c02bf81cf2c5261f58b560e033869a346677
2014-08-25 15:00:16 -07:00
Minghai Shang
42ad07a138 Merge "[spatial svc]Multiple frame context feature" 2014-08-25 14:29:49 -07:00
Tom Finegan
93ac60a65b vpxenc.sh: Make vpxenc() usage agree with implementation.
- Make $1 input file at all call sites.
- Actually use vpxenc_pipe().

Change-Id: I22f25719aeb3dce60863207b2e2a49e42e27ed06
2014-08-25 14:28:07 -07:00
Tom Finegan
8b2abdeed7 Merge "vpxenc.sh: Add real time tests." 2014-08-25 14:27:11 -07:00
Minghai Shang
d4a407c051 [spatial svc]Multiple frame context feature
We can use one frame context for each layer so that we don't have
to reset the probs every frame. But we can't use prev_mi since we
may drop enhancement layers. So we have to generate a non vp9
compatible bitstream and modify it in the player.
1. We need to code all frames as invisible frame to let prev_mi
   not to be used. But in the bitstream we need to code the
   show_frame flag to 1 so that the publisher will know it's
   supposed to be a visible frame.
2. In the player we need to change the show_frame flag to 0 for
   all frames. Then add an one byte frame into the super frame
   to tell the decoder which layer we want to show.
Change-Id: I75b7304cf31f0ab952f043e33c034495e88f01f3
2014-08-25 10:02:45 -07:00
James Zern
79bb2cddd3 invalid_file_test: correct HandlePeekResult signature
restore const lost in:
f0f9ab6 invalid_file_test.cc: remove unused param warnings

Change-Id: I0c5318f84c81e3dd7bb44468463faf9edd6bc18a
2014-08-22 23:06:13 -07:00
James Zern
b070d7021d active_map_test: use vpx_active_map_t() to initialize vars
0-initializes [1] and removes a warning for missing initializer fields

[1] http://en.cppreference.com/w/cpp/language/value_initialization

Change-Id: I886fa72c74679b52cdce2af3364172395a5b6a51
2014-08-22 17:10:18 -07:00
James Zern
aaea40d847 Merge "tests: use vpx_codec_dec_cfg_t() to initialize vars" 2014-08-22 17:05:03 -07:00
Tom Finegan
4aab423255 vpxenc.sh: Add real time tests.
Add --rt tests for VP8 and VP9.

Change-Id: I401d2962bf27e8a775ee5d71784d63ba4c014dfd
2014-08-22 16:40:46 -07:00
James Zern
dbe691709e resize_test.cc: remove unused param warnings
Change-Id: I86b21186e49f9e0ec0d8eb3addaa44b9fd196a6b
2014-08-22 12:47:52 -07:00
James Zern
f0f9ab68ae invalid_file_test.cc: remove unused param warnings
Change-Id: Ifde2849f45acb59fbcf29c8735ef0a10d4d9041e
2014-08-22 12:47:49 -07:00
James Zern
722eecfa35 fdct8x8_test.cc: remove unused param warnings
Change-Id: Ic53cdb8c9f8312e7404505fcec653d5b9e9587d1
2014-08-22 12:47:45 -07:00
James Zern
771dd6ef5e fdct4x4_test.cc: remove unused param warnings
Change-Id: Id3db2ae8e88f9ac64a00f7d989c1ec3ff0c8ef84
2014-08-22 12:47:42 -07:00
James Zern
eb2f0009e4 tests/reference_32x32_dct_1d: remove unused stride param
Change-Id: Iba3c63cda2d825e72879b567589615aded522fbb
2014-08-22 12:29:37 -07:00
James Zern
632e41976e dct16x16_test.cc: remove unused param warnings
Change-Id: I744342b12ae7e5423b06b87ceec2d2ab4a3a3cbb
2014-08-22 12:25:23 -07:00
James Zern
cd2ac828cc datarate_test.cc: remove unused param warnings
Change-Id: I627dc800f1925cc5a5d68630009cf8a454f07567
2014-08-22 12:24:18 -07:00
James Zern
5c3d4f6ab8 frame_size_tests.cc: remove unused param warnings
Change-Id: Ie1c8830ca3b73f19764d79f122ee990f3f297d63
2014-08-22 12:22:50 -07:00
James Zern
b4b191aba0 tests: use vpx_codec_dec_cfg_t() to initialize vars
0-initializes [1] and removes a warning for missing initializer fields

[1] http://en.cppreference.com/w/cpp/language/value_initialization

Change-Id: I364248010c8fa663c71d8f06a9999c730e92db4c
2014-08-22 12:16:20 -07:00
James Zern
53bd212dc5 encode_test_driver.cc: remove unused param warnings
Change-Id: I1d43acef0983d10bda9fa495d6d723a4f9e2deaf
2014-08-22 12:13:07 -07:00
James Zern
cae810ac5e encode_test_driver.h: remove unused param warnings
in EncoderTest default implementations

Change-Id: I3e29d8d2a834fece87aab35813b5e275a30c32fd
2014-08-22 12:12:41 -07:00
James Zern
adfda32a8d decode_test_driver.h: remove unused param warnings
in DecoderTest default implementations

Change-Id: I521ca61569356d51aef9379d6ce68542e88da84b
2014-08-22 12:12:36 -07:00
Yaowu Xu
23c88870ec Merge "Fix bug 804" 2014-08-21 08:56:32 -07:00
Johann
a19035e8bb Merge "VP8 encoder for ARMv8 by using NEON intrinsics 3" 2014-08-20 11:54:32 -07:00
James Yu
6d6fdd9c3d VP8 encoder for ARMv8 by using NEON intrinsics 3
Add subtract_neon.c
- vp8_subtract_b_neon
- vp8_subtract_mby_neon
- vp8_subtract_mbuv_neon

Change-Id: If9a17a093478552e3e3276eeaa3f098b9021d08c
Signed-off-by: James Yu <james.yu@linaro.org>
2014-08-20 09:20:55 -07:00
Minghai Shang
229f2aa5b8 Merge "[spatial svc]Add a few different encode frame tests." 2014-08-19 17:45:01 -07:00
Tom Finegan
9598aae042 Add basic tests for the set_maps example.
Change-Id: I1b1978a7758540bc4e073db8136104847ee8ea3c
2014-08-18 15:40:46 -07:00
Minghai Shang
e1b5d24837 [spatial svc]Add a few different encode frame tests.
1. Clean the code for encode frame tests
2. Add encode w/ and w/o alt reference frame test
3. Add encode SNR layers test
4. Add encode multiple layers but decode partial layers test

Change-Id: Ibd2c9bc02525db584a6f931a98405f2d851b3cd6
2014-08-18 11:18:21 -07:00
hkuang
5106e4dfa8 Fix a bug in adding frame parallel unit test.
There are two CreateDecoder functions and decode_test_driver is not
calling the right function now. This bug is discovered during really
enable the frame parallel flag inside libvpx. This bug does not affect
any existing unit test though.

Change-Id: Icd9633c4b66d50e422a09c4310ff791082878936
2014-08-18 11:16:15 -07:00
Tom Finegan
40e1239521 Merge "vpxenc.sh: Add 2-pass and lagged encode tests for VP8 and VP9." 2014-08-18 10:47:41 -07:00
James Zern
c602748557 Merge "test/vpxenc.sh: Always use --test-decode=FATAL" 2014-08-15 21:02:41 -07:00
Johann
bc3a995f08 test/vpxenc.sh: Always use --test-decode=FATAL
Change-Id: I5ca3400aec1f77fd92762d0c4fc86ba3694de1ca
2014-08-15 21:02:00 -07:00
Tom Finegan
a04db185db vpxenc.sh: Add 2-pass and lagged encode tests for VP8 and VP9.
- Fix nit: make test function definitions match test order.
- Fix nit: use elog instead of echo for env verification error.

Change-Id: I0eec078fc056a5bb2bd88d5833e43de48d77ec08
2014-08-15 15:56:58 -07:00
James Zern
d637c2b41f frame_size_tests: reduce 'large' size for win32
this test allocates >2GB currently. depending on the order of the test
runs the allocation may fail most regularly with mingw+wine.

Change-Id: Ibee1c18cfbe29a4de6c65075647ec3955d8206c0
2014-08-15 14:43:53 -07:00
Tom Finegan
45d12e0bd3 Merge "vpxdec.sh: Fix some style nits." 2014-08-15 14:21:25 -07:00
Tom Finegan
b77ef13d89 vpxdec.sh: Fix some style nits.
Change-Id: I960c26dcb0db230e50f923d00f64ded1a39bf783
2014-08-15 14:20:47 -07:00
Deb Mukherjee
6a1c052f3f Merge "Removes fileno check to prevent valgrind error" 2014-08-15 14:04:18 -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
Deb Mukherjee
4851b99bf1 Removes fileno check to prevent valgrind error
Explicitly makes the fileptr null when close source is called
on a temporary file. This avoids a valgrind error.

Change-Id: I9c364290eeb6842fde946dd9bf817814c7178aaa
2014-08-15 09:20:54 -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
hkuang
02410659cd Merge "Add VP9 frame-parallel unit test." into frame_parallel 2014-08-14 14:55:09 -07:00
hkuang
a3ef7d5a50 Add VP9 frame-parallel unit test.
Make sure VP9 frame-parallel decode passes all the standard
test vectors. Only test running with 2,3,4 threads now.

Also refactor the video decode test driver to support passing
in decode flags which is used to enable frame-parallel decode.

Change-Id: I6a712464232c2e13681634951c7e176312522e1e
2014-08-14 13:06:26 -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
hkuang
48c5d470e7 Manually pick "Make the api behavior conform to api spec." from
master branch.

Change-Id: I7323ec4cf8b8b7841e37f2bf90548cefa9de9795
2014-08-07 15:15:46 -07:00
levytamar82
839911fb6d Fix bug 804
A bug in Microsoft compiler was found in the function
vp9_filter_block1d16_v8_avx2 and a workaround applied.
the bug occur when there was 4 consecutive maddubs + min + adds
intrinsic instructions.

Change-Id: I83499faeb70971e650e5663fd2490360ddb1a51b
2014-08-07 15:09:24 -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
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