Commit Graph

9986 Commits

Author SHA1 Message Date
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
James Zern
91344f0a36 Merge "webmdec: Fix visual studio warnings." 2014-05-08 12:43:54 -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
Johann
e1f2113af7 Use __asm__ __volatile__ with gcc
Some version of clang refuse 'asm volatile'

Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0
2014-05-08 11:16:07 -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
Frank Galligan
07f9fa4336 Merge "vp9_pickmode: Fix signed/unsigned mismatch." 2014-05-08 08:49:12 -07:00
Frank Galligan
aa3d59fcf9 Merge "vp9_firstpass: Fix MSVC data loss warning." 2014-05-08 08:49:04 -07:00
Frank Galligan
b391b62a7e Merge "vp9_svc_layercontext: Clean up function definition mismatch." 2014-05-08 08:48:54 -07:00
Dmitry Kovalev
0d27c747e9 Merge "Removing redundant variables from variance_test.cc." 2014-05-07 19:00:18 -07:00
Tom Finegan
86a89d740e vp9_svc_layercontext: Clean up function definition mismatch.
vp9_is_upper_layer_key_frame() definition does not match declaration--
it was missing the second const.

Change-Id: I71312579eb443be1924b8b06d8b3177c3dcb40f3
2014-05-07 18:32:27 -07:00
Tom Finegan
7811039d47 vp9_firstpass: Fix MSVC data loss warning.
Change-Id: I5307fe85ee081fbcfdf55a974f7eba1e0070c723
2014-05-07 18:27:29 -07:00
Tom Finegan
0fc027ad33 vp9_pickmode: Fix signed/unsigned mismatch.
Avoids getting reverted on the next libvpx chrome roll attempt.

Change-Id: I2431bd601111a78320af5f211f6413009674f1c8
2014-05-07 18:20:29 -07:00
Jingning Han
9e7b09bc5d SSSE3 8x8 inverse 2D-DCT with first 10 coeffs non-zero
This commit enables ssse3 assembly implementation of the 8x8
inverse 2D-DCT with only first 10 coefficients non-zero. The
average runtime for this unit goes down from 198 cycles to 129
cycles (34.8% faster).

Change-Id: Ie7fa4386f6d3a2fe0d47a2eb26fc2a6bbc592ac7
2014-05-07 17:40:02 -07:00
Jingning Han
7af0e984b8 Merge "Tune rate-distortion modeling to account for frame light change" 2014-05-07 17:36:00 -07:00
Yaowu Xu
5a65790814 Merge "Remove separate arf and gf minq tables." 2014-05-07 17:04:49 -07:00
Yaowu Xu
9b4d0e81a2 Merge "Rate control adjustment." 2014-05-07 17:04:41 -07:00
Yaowu Xu
4921c4fcdb Merge "Relax rc test threshold" 2014-05-07 16:52:01 -07:00
Frank Galligan
ae1bbf7f81 Merge "Revert "Remove struct params from vp8_denoiser_filter"" 2014-05-07 16:21:46 -07:00
Frank Galligan
06e6d56fa1 Revert "Remove struct params from vp8_denoiser_filter"
This reverts commit e516a42527

Change-Id: I7c78712acc737ad5f580181cdab3aa76b23f3ca5
2014-05-07 16:19:20 -07:00
Dmitry Kovalev
4725ab7e51 Removing redundant variables from variance_test.cc.
Change-Id: Icd44bce1c9d292f6e6f4d5157b694f6170b7b289
2014-05-07 14:40:21 -07:00
Dmitry Kovalev
dc554abc59 Merge "Cleaning up vp9_encode_frame() function." 2014-05-07 14:10:07 -07:00
Dmitry Kovalev
e91616a5d4 Merge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()." 2014-05-07 14:07:33 -07:00
Paul Wilkins
ed30c8eff2 Remove separate arf and gf minq tables.
Merged minq tables for arf and gf cases.
These tables were almost the same and for
VBR the arf table was not used at all.

Change-Id: Ie3c87e91dab613cf06f6945ac1ace0e0e4213d34
2014-05-07 14:00:15 -07:00
Paul Wilkins
38ff3e328f Rate control adjustment.
Small adjustment to the active Q range calculations.
These changes should slightly extend the available Q range
for KF/GF/ARF and narrow it for other frames.

The results for this change in isolation are broadly positive
for SSIM and average PSNR and slightly up but mixed for opsnr.

derf +0.293% opsnr, +1.286% SSIM
std-hd + 0.528% opsnr, + 1.746% SSIM
yt +0.056% opsnr, +0.457% SSIM
yt-hd -0.147% opsnr, + 0.226% SSIM

Change-Id: If065280342027ecc5d44b49fc1d440dfef041002
2014-05-07 13:56:05 -07:00
Yaowu Xu
c4180f8f9c Relax rc test threshold
For multilayer coding

Change-Id: I830a0176c020658b836e3f5d2ce6bc5932736c0c
2014-05-07 13:55:08 -07:00
Dmitry Kovalev
68a600d82a Merge "Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c." 2014-05-07 13:34:05 -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
Tom Finegan
f06de3b0a6 Remove decode_with_partial_drops example.
Bitrotted and non-functional. Does one of two things: Crashes or reports
errors and quits.

Change-Id: Ia9c391ecd6e716b183d925247bf3dc0509ce4586
2014-05-07 10:51:18 -07:00
Dmitry Kovalev
cc5eee12bf Merge "Removing MODE_TEST_HIT_STATS." 2014-05-07 10:40:31 -07:00
Alex Converse
1354d0bb39 Merge "Revert "Add an MMX fwht4x4"" 2014-05-07 10:09:04 -07:00
Adrian Grange
58cf8bef86 Merge "Mark VP8E_SET_ARNR_TYPE as being deprecated" 2014-05-07 09:03:02 -07:00
Johann
09cbb6c1f7 Merge "Android NDK support for x86 and mips" 2014-05-07 08:54:13 -07:00
Yunqing Wang
fffeaa395c Merge "Clean up full-pixel search calling code" 2014-05-07 08:33:03 -07:00
Johann
4bffb75ba3 Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 10"" 2014-05-07 06:47:48 -07:00
Johann
3a695015ad Merge "arm: Use a correct neon vector type for 64 bit integers" 2014-05-07 06:34:25 -07:00
Johann
d9b5d83f56 Merge "arm: Add a no-op define of __builtin_prefetch for MSVC" 2014-05-07 06:02:22 -07:00
Johann
3899315f05 Merge "Fix building for arm with Visual Studio 2013" 2014-05-07 06:00:54 -07:00
Johann
a24e24386e Merge "Don't try to use getenv on windows phone/rt" 2014-05-07 06:00:04 -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
Martin Storsjo
d5d82a5e1a arm: Add a no-op define of __builtin_prefetch for MSVC
Both GCC and RVCT/ARMCC support __builtin_prefetch, but MSVC
doesn't.

Change-Id: I44e1eecead61bc88d8fdfd3fef03d76d4f5afe08
2014-05-07 10:43:24 +03:00
Martin Storsjo
82a83c4fe0 arm: Use a correct neon vector type for 64 bit integers
This fixes building with MSVC.

Change-Id: I763ba8855c8083d82c8b477d3a297e310e93a335
2014-05-07 10:22:40 +03:00
Jingning Han
74f98e6f45 Tune rate-distortion modeling to account for frame light change
When the variance is far less than sse, the block is considered to
be under light change. All the energy is compacted into DC coeff
and can be coded at low cost. In such situation, switch the rate-
distortion modeling from sse+var based back to variance based.

Note that this is a temporary solution to handle the rare situations
where the scene light changes.

Change-Id: I1ee0fe2b9eda6b5fac40152e1841bf23f4d229fd
2014-05-06 16:50:50 -07:00
Johann
677fb5123e Revert "VP8 for ARMv8 by using NEON intrinsics 10"
This reverts commit c500fc22c1

There is an issue with gcc 4.6 in the Android NDK:
loopfiltersimpleverticaledge_neon.c: In function 'vp8_loop_filter_bvs_neon':
loopfiltersimpleverticaledge_neon.c:176:1: error: insn does not satisfy its constraints:

Change-Id: I95b6509d12f075890308914cc691b813d2e5cd9f
2014-05-06 14:28:00 -07:00
Johann
928ff03889 Revert "VP8 for ARMv8 by using NEON intrinsics 08"
This reverts commit a5d79f43b9

There is an issue with gcc 4.6 in the Android NDK:
loopfilter_neon.c: In function 'vp8_loop_filter_vertical_edge_y_neon':
loopfilter_neon.c:394:1: error: insn does not satisfy its constraints:

Change-Id: I2b8c6ee3fa595c152ac3a5c08dd79bd9770c7b52
2014-05-06 13:20:24 -07:00
Vignesh Venkatasubramanian
e39b9a66a3 webmdec: Fix visual studio warnings.
Fix a couple of visual studio warnings.

Change-Id: I161edf4b37f5ac2defbe6eb5b7e34d219b1f52d9
2014-05-06 11:18:44 -07:00
Vignesh Venkatasubramanian
51a1cbfed1 Merge "third_party/libwebm: pull from upstream" 2014-05-06 11:15:57 -07:00
Alex Converse
75d05d5ed4 Merge "Add an MMX fwht4x4" 2014-05-06 11:12:27 -07:00