platform/upstream/libvpx.git
10 years agoMerge "Skip testing large tx sizes when encoding lossless."
Yaowu Xu [Fri, 9 May 2014 16:28:05 +0000 (09:28 -0700)]
Merge "Skip testing large tx sizes when encoding lossless."

10 years agovp9_dx_iface: fix implicit ptrdiff_t -> uint32_t conversion
James Zern [Fri, 9 May 2014 03:19:49 +0000 (20:19 -0700)]
vp9_dx_iface: fix implicit ptrdiff_t -> uint32_t conversion

Change-Id: Ib773aac06b22009408cdd29a73190b276a53fcf6

10 years agoSkip testing large tx sizes when encoding lossless.
Alex Converse [Fri, 9 May 2014 01:04:56 +0000 (18:04 -0700)]
Skip testing large tx sizes when encoding lossless.

Change-Id: Ib7a17893f6dc0f501b1252ae32804ede144dde37

10 years agoMerge "Revert "Removing redundant variables from variance_test.cc.""
James Zern [Thu, 8 May 2014 23:28:55 +0000 (16:28 -0700)]
Merge "Revert "Removing redundant variables from variance_test.cc.""

10 years agoMerge "Remove decode_with_partial_drops example."
Tom Finegan [Thu, 8 May 2014 22:54:46 +0000 (15:54 -0700)]
Merge "Remove decode_with_partial_drops example."

10 years agoMerge "Add test for the vp8cx_set_ref example."
Tom Finegan [Thu, 8 May 2014 22:54:35 +0000 (15:54 -0700)]
Merge "Add test for the vp8cx_set_ref example."

10 years agoMerge "tools_common.sh: Fix vlog()"
Tom Finegan [Thu, 8 May 2014 22:54:26 +0000 (15:54 -0700)]
Merge "tools_common.sh: Fix vlog()"

10 years agoMerge "Simplifying decoder_decode() function."
Dmitry Kovalev [Thu, 8 May 2014 22:01:40 +0000 (15:01 -0700)]
Merge "Simplifying decoder_decode() function."

10 years agoRevert "Removing redundant variables from variance_test.cc."
James Zern [Thu, 8 May 2014 21:32:32 +0000 (14:32 -0700)]
Revert "Removing redundant variables from variance_test.cc."

This reverts commit 4725ab7e51a69bf890856e524c6d78aadd97d64e.

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

10 years agoMerge "webmdec: Fix visual studio warnings."
James Zern [Thu, 8 May 2014 19:43:54 +0000 (12:43 -0700)]
Merge "webmdec: Fix visual studio warnings."

10 years agoAdd test for the vp8cx_set_ref example.
Tom Finegan [Thu, 8 May 2014 19:35:36 +0000 (12:35 -0700)]
Add test for the vp8cx_set_ref example.

Change-Id: I68850699ecaebbbb7962cbc1c9bc85e92a0ea5ca

10 years agotools_common.sh: Fix vlog()
Tom Finegan [Thu, 8 May 2014 19:06:08 +0000 (12:06 -0700)]
tools_common.sh: Fix vlog()

Abusing '[] && echo' resulted in the --verbose flag being required to
actually run tests.

Change-Id: I39edaa30a05272928f9f4a4bb8581f91d6fe824b

10 years agoUse __asm__ __volatile__ with gcc
Johann [Thu, 8 May 2014 18:16:07 +0000 (11:16 -0700)]
Use __asm__ __volatile__ with gcc

Some version of clang refuse 'asm volatile'

Change-Id: I79d909ac8ae3c04b608f20c6f10fa79b7f9fc8e0

10 years agoMerge "vp9_pickmode: Fix signed/unsigned mismatch."
Frank Galligan [Thu, 8 May 2014 15:49:12 +0000 (08:49 -0700)]
Merge "vp9_pickmode: Fix signed/unsigned mismatch."

10 years agoMerge "vp9_firstpass: Fix MSVC data loss warning."
Frank Galligan [Thu, 8 May 2014 15:49:04 +0000 (08:49 -0700)]
Merge "vp9_firstpass: Fix MSVC data loss warning."

10 years agoMerge "vp9_svc_layercontext: Clean up function definition mismatch."
Frank Galligan [Thu, 8 May 2014 15:48:54 +0000 (08:48 -0700)]
Merge "vp9_svc_layercontext: Clean up function definition mismatch."

10 years agoMerge "Removing redundant variables from variance_test.cc."
Dmitry Kovalev [Thu, 8 May 2014 02:00:18 +0000 (19:00 -0700)]
Merge "Removing redundant variables from variance_test.cc."

10 years agovp9_svc_layercontext: Clean up function definition mismatch.
Tom Finegan [Thu, 8 May 2014 01:12:13 +0000 (18:12 -0700)]
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

10 years agovp9_firstpass: Fix MSVC data loss warning.
Tom Finegan [Thu, 8 May 2014 01:27:29 +0000 (18:27 -0700)]
vp9_firstpass: Fix MSVC data loss warning.

Change-Id: I5307fe85ee081fbcfdf55a974f7eba1e0070c723

10 years agovp9_pickmode: Fix signed/unsigned mismatch.
Tom Finegan [Thu, 8 May 2014 01:20:29 +0000 (18:20 -0700)]
vp9_pickmode: Fix signed/unsigned mismatch.

Avoids getting reverted on the next libvpx chrome roll attempt.

Change-Id: I2431bd601111a78320af5f211f6413009674f1c8

10 years agoMerge "Tune rate-distortion modeling to account for frame light change"
Jingning Han [Thu, 8 May 2014 00:36:00 +0000 (17:36 -0700)]
Merge "Tune rate-distortion modeling to account for frame light change"

10 years agoMerge "Remove separate arf and gf minq tables."
Yaowu Xu [Thu, 8 May 2014 00:04:49 +0000 (17:04 -0700)]
Merge "Remove separate arf and gf minq tables."

10 years agoMerge "Rate control adjustment."
Yaowu Xu [Thu, 8 May 2014 00:04:41 +0000 (17:04 -0700)]
Merge "Rate control adjustment."

10 years agoMerge "Relax rc test threshold"
Yaowu Xu [Wed, 7 May 2014 23:52:01 +0000 (16:52 -0700)]
Merge "Relax rc test threshold"

10 years agoMerge "Revert "Remove struct params from vp8_denoiser_filter""
Frank Galligan [Wed, 7 May 2014 23:21:46 +0000 (16:21 -0700)]
Merge "Revert "Remove struct params from vp8_denoiser_filter""

10 years agoRevert "Remove struct params from vp8_denoiser_filter"
Frank Galligan [Wed, 7 May 2014 23:19:20 +0000 (16:19 -0700)]
Revert "Remove struct params from vp8_denoiser_filter"

This reverts commit e516a42527098a26798dbb3663a5bcdd38793839

Change-Id: I7c78712acc737ad5f580181cdab3aa76b23f3ca5

10 years agoRemoving redundant variables from variance_test.cc.
Dmitry Kovalev [Wed, 7 May 2014 21:40:21 +0000 (14:40 -0700)]
Removing redundant variables from variance_test.cc.

Change-Id: Icd44bce1c9d292f6e6f4d5157b694f6170b7b289

10 years agoMerge "Cleaning up vp9_encode_frame() function."
Dmitry Kovalev [Wed, 7 May 2014 21:10:07 +0000 (14:10 -0700)]
Merge "Cleaning up vp9_encode_frame() function."

10 years agoMerge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()."
Dmitry Kovalev [Wed, 7 May 2014 21:07:33 +0000 (14:07 -0700)]
Merge "Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range()."

10 years agoRemove separate arf and gf minq tables.
Paul Wilkins [Wed, 7 May 2014 15:19:50 +0000 (16:19 +0100)]
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

10 years agoRate control adjustment.
Paul Wilkins [Wed, 23 Apr 2014 00:09:47 +0000 (17:09 -0700)]
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

10 years agoRelax rc test threshold
Yaowu Xu [Wed, 7 May 2014 20:49:36 +0000 (13:49 -0700)]
Relax rc test threshold

For multilayer coding

Change-Id: I830a0176c020658b836e3f5d2ce6bc5932736c0c

10 years agoMerge "Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c."
Dmitry Kovalev [Wed, 7 May 2014 20:34:05 +0000 (13:34 -0700)]
Merge "Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c."

10 years agoRemove decode_with_partial_drops example.
Tom Finegan [Wed, 30 Apr 2014 23:41:16 +0000 (16:41 -0700)]
Remove decode_with_partial_drops example.

Bitrotted and non-functional. Does one of two things: Crashes or reports
errors and quits.

Change-Id: Ia9c391ecd6e716b183d925247bf3dc0509ce4586

10 years agoMerge "Removing MODE_TEST_HIT_STATS."
Dmitry Kovalev [Wed, 7 May 2014 17:40:31 +0000 (10:40 -0700)]
Merge "Removing MODE_TEST_HIT_STATS."

10 years agoMerge "Revert "Add an MMX fwht4x4""
Alex Converse [Wed, 7 May 2014 17:09:04 +0000 (10:09 -0700)]
Merge "Revert "Add an MMX fwht4x4""

10 years agoMerge "Mark VP8E_SET_ARNR_TYPE as being deprecated"
Adrian Grange [Wed, 7 May 2014 16:03:02 +0000 (09:03 -0700)]
Merge "Mark VP8E_SET_ARNR_TYPE as being deprecated"

10 years agoMerge "Android NDK support for x86 and mips"
Johann [Wed, 7 May 2014 15:54:13 +0000 (08:54 -0700)]
Merge "Android NDK support for x86 and mips"

10 years agoMerge "Clean up full-pixel search calling code"
Yunqing Wang [Wed, 7 May 2014 15:33:03 +0000 (08:33 -0700)]
Merge "Clean up full-pixel search calling code"

10 years agoMerge "Revert "VP8 for ARMv8 by using NEON intrinsics 10""
Johann [Wed, 7 May 2014 13:47:48 +0000 (06:47 -0700)]
Merge "Revert "VP8 for ARMv8 by using NEON intrinsics 10""

10 years agoMerge "arm: Use a correct neon vector type for 64 bit integers"
Johann [Wed, 7 May 2014 13:34:25 +0000 (06:34 -0700)]
Merge "arm: Use a correct neon vector type for 64 bit integers"

10 years agoMerge "arm: Add a no-op define of __builtin_prefetch for MSVC"
Johann [Wed, 7 May 2014 13:02:22 +0000 (06:02 -0700)]
Merge "arm: Add a no-op define of __builtin_prefetch for MSVC"

10 years agoMerge "Fix building for arm with Visual Studio 2013"
Johann [Wed, 7 May 2014 13:00:54 +0000 (06:00 -0700)]
Merge "Fix building for arm with Visual Studio 2013"

10 years agoMerge "Don't try to use getenv on windows phone/rt"
Johann [Wed, 7 May 2014 13:00:04 +0000 (06:00 -0700)]
Merge "Don't try to use getenv on windows phone/rt"

10 years agoRevert "Add an MMX fwht4x4"
Paul Wilkins [Wed, 7 May 2014 11:53:27 +0000 (12:53 +0100)]
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 89fbf3de501b5d7fd90047192521eae3198705cd.

Change-Id: Ifa86d7df250578d1ada9b539c9ff12ed0c523cdd

10 years agoarm: Add a no-op define of __builtin_prefetch for MSVC
Martin Storsjo [Wed, 7 May 2014 07:26:32 +0000 (10:26 +0300)]
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

10 years agoarm: Use a correct neon vector type for 64 bit integers
Martin Storsjo [Wed, 7 May 2014 07:22:18 +0000 (10:22 +0300)]
arm: Use a correct neon vector type for 64 bit integers

This fixes building with MSVC.

Change-Id: I763ba8855c8083d82c8b477d3a297e310e93a335

10 years agoTune rate-distortion modeling to account for frame light change
Jingning Han [Tue, 6 May 2014 23:26:30 +0000 (16:26 -0700)]
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

10 years agoRevert "VP8 for ARMv8 by using NEON intrinsics 10"
Johann [Tue, 6 May 2014 19:26:21 +0000 (12:26 -0700)]
Revert "VP8 for ARMv8 by using NEON intrinsics 10"

This reverts commit c500fc22c1bb2a3ae5c318bfb806f7e9bd57ce25

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

10 years agoRevert "VP8 for ARMv8 by using NEON intrinsics 08"
Johann [Tue, 6 May 2014 19:25:33 +0000 (12:25 -0700)]
Revert "VP8 for ARMv8 by using NEON intrinsics 08"

This reverts commit a5d79f43b963ced59b462206faf3b7857bdeff7b

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

10 years agowebmdec: Fix visual studio warnings.
Vignesh Venkatasubramanian [Wed, 30 Apr 2014 22:15:47 +0000 (15:15 -0700)]
webmdec: Fix visual studio warnings.

Fix a couple of visual studio warnings.

Change-Id: I161edf4b37f5ac2defbe6eb5b7e34d219b1f52d9

10 years agoMerge "third_party/libwebm: pull from upstream"
Vignesh Venkatasubramanian [Tue, 6 May 2014 18:15:57 +0000 (11:15 -0700)]
Merge "third_party/libwebm: pull from upstream"

10 years agoMerge "Add an MMX fwht4x4"
Alex Converse [Tue, 6 May 2014 18:12:27 +0000 (11:12 -0700)]
Merge "Add an MMX fwht4x4"

10 years agoMerge "Add test for 4x4 WHT."
Alex Converse [Tue, 6 May 2014 18:12:23 +0000 (11:12 -0700)]
Merge "Add test for 4x4 WHT."

10 years agoMerge "SSSE3 implementation of full inverse 8x8 2D-DCT"
Jingning Han [Tue, 6 May 2014 16:17:22 +0000 (09:17 -0700)]
Merge "SSSE3 implementation of full inverse 8x8 2D-DCT"

10 years agoMerge "[spatial svc] Fix one extra frame count during flush"
Minghai Shang [Tue, 6 May 2014 06:22:09 +0000 (23:22 -0700)]
Merge "[spatial svc] Fix one extra frame count during flush"

10 years agoMerge "[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder"
Minghai Shang [Tue, 6 May 2014 06:22:03 +0000 (23:22 -0700)]
Merge "[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder"

10 years agoMerge "[spatial svc] No need to code full width and height for non key frame"
Minghai Shang [Tue, 6 May 2014 06:21:53 +0000 (23:21 -0700)]
Merge "[spatial svc] No need to  code full  width and height for non key frame"

10 years agoMerge "Cleaning up vp9_full_range_search_c() function."
Dmitry Kovalev [Tue, 6 May 2014 05:01:02 +0000 (22:01 -0700)]
Merge "Cleaning up vp9_full_range_search_c() function."

10 years agoMaking vp9_get_sse_sum_{8x8, 16x16} static.
Dmitry Kovalev [Fri, 2 May 2014 01:40:24 +0000 (18:40 -0700)]
Making vp9_get_sse_sum_{8x8, 16x16} static.

Change-Id: Ifb7937c977308c682986f0ce9645a0807d2aa46a

10 years agoMerge "Moving costs from MACROBLOCK to VP9_COMP."
Dmitry Kovalev [Tue, 6 May 2014 02:10:25 +0000 (19:10 -0700)]
Merge "Moving costs from MACROBLOCK to VP9_COMP."

10 years agoMerge "Cleaning up vp9_variance.c"
Dmitry Kovalev [Tue, 6 May 2014 02:09:57 +0000 (19:09 -0700)]
Merge "Cleaning up vp9_variance.c"

10 years agoClean up full-pixel search calling code
Yunqing Wang [Tue, 6 May 2014 00:35:54 +0000 (17:35 -0700)]
Clean up full-pixel search calling code

Removed repetitive code.

Change-Id: Ib6adb6eaf7d4e3feeabb71651f4cc447974a925d

10 years agoMerge changes Ibfa447fe,I771809ba
Adrian Grange [Mon, 5 May 2014 22:41:10 +0000 (15:41 -0700)]
Merge changes Ibfa447fe,I771809ba

* changes:
  Fix generic-gnu target build
  Fix rounding in ARNR calculation

10 years agoAdd an MMX fwht4x4
Alex Converse [Mon, 5 May 2014 21:10:41 +0000 (14:10 -0700)]
Add an MMX fwht4x4

7% faster encoding a desktop lossless at RT speed 4.

Change-Id: I41627f5b737752616b6512bb91a36ec45995bf64

10 years agoAdd test for 4x4 WHT.
Alex Converse [Mon, 5 May 2014 20:50:12 +0000 (13:50 -0700)]
Add test for 4x4 WHT.

Change-Id: I97ba3152f9b44d23a74c6144809142810d07e368

10 years agothird_party/libwebm: pull from upstream
Vignesh Venkatasubramanian [Fri, 2 May 2014 18:44:35 +0000 (11:44 -0700)]
third_party/libwebm: pull from upstream

Pulling libwebm from upstream

Changes from upstream:
249629d make Mkv(Reader|Writer)(FILE*) explicit
7f3cda4 mkvparser: fix a bunch of windows warnings
5c06178 Merge "clang-format on mkvparser.[ch]pp"
4df111e clang-format on mkvparser.[ch]pp
7b24501 clang-format re-run.
c6767b9 Change AlignTrailingComments to false in .clang-format
9097a06 Merge "muxer: Reject file if TrackType is never specified"
eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp"
def325c muxer: Reject file if TrackType is never specified
41f869c Merge "clang-format on webvttparser.(cc|h)"
fd0be37 clang-format on webvttparser.(cc|h)
207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp"
02429eb Merge "clang-format on mkvwriter.[ch]pp"
0cf7b1b Merge "clang-format on mkvreader.[ch]pp"
2e80fed Merge "clang-format on sample.cpp"
3402e12 Merge "clang-format on sample_muxer.cpp"
1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)"
6634c7f Merge "clang-format on vttreader.cc"
7566004 Merge "clang-format on vttdemux.cc"
9915b84 clang-format on mkvreader.[ch]pp
7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp
0d5a98c clang-format on sample_muxer.cpp
e3485c9 clang-format on vttdemux.cc
46cc823 clang-format on dumpvtt.cc
5218bd2 clang-format on vttreader.cc
1a0130d clang-format on sample_muxer_metadata.(cc|h)
867f189 clang-format on sample.cpp
4c7bec5 clang-format on mkvwriter.[ch]pp
9ead078 clang-format on mkvmuxerutil.[ch]pp
fb6b6e6 clang-format on mkvmuxer.[ch]pp
ce77592 Update .clang-format to allow short functions in one line
0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer."
11d5b66 Merge "Add .clang-format"
a1a3b14 Add .clang-format
0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer.

Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 16"
Johann [Mon, 5 May 2014 20:09:43 +0000 (13:09 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 16"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 15"
Johann [Mon, 5 May 2014 20:09:12 +0000 (13:09 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 15"

10 years agoMark VP8E_SET_ARNR_TYPE as being deprecated
Adrian Grange [Mon, 5 May 2014 18:31:55 +0000 (11:31 -0700)]
Mark VP8E_SET_ARNR_TYPE as being deprecated

In a future release we plan to remove the
option of setting the ARNR filter type.

This patch marks this control as being deprecated
as advance warning that it will be removed from
the API at some point.

Change-Id: I5dcca804b44c7c93b1a10da7d69d19ba6061869c

10 years agoAdd test for postproc example.
Tom Finegan [Wed, 30 Apr 2014 21:33:24 +0000 (14:33 -0700)]
Add test for postproc example.

Change-Id: I3446d2ebc23e6f1ed650dd5c82648041febe3c4d

10 years agoFix generic-gnu target build
Adrian Grange [Mon, 5 May 2014 17:44:48 +0000 (10:44 -0700)]
Fix generic-gnu target build

Added macro to conditionally compile some of the
post-processing functions only when CONFIG_POSTPROC
is defined.

This was causing the build for the generic-gnu target
to fail.

Change-Id: Ibfa447feceb7a0528135025f105be48f97e9965c

10 years agoFix rounding in ARNR calculation
Adrian Grange [Mon, 5 May 2014 16:39:24 +0000 (09:39 -0700)]
Fix rounding in ARNR calculation

The rounding of the ARNR filter output prior to
normalization by the filter strength was incorrect
when strength = 0.

In this case 1 << (strength - 1) would not create the
required rounding of 0, rather it would outrange. This
patch fixes this issue.

Change-Id: I771809ba34d6052b17d34c870ea11ff67b418dab

10 years agoSSSE3 implementation of full inverse 8x8 2D-DCT
Jingning Han [Fri, 2 May 2014 01:34:46 +0000 (18:34 -0700)]
SSSE3 implementation of full inverse 8x8 2D-DCT

This commit enables SSSE3 version full inverse 8x8 2D-DCT and
reconstruction. It makes the runtime of vp9_idct8x8_64_add down
from 256 cycles (SSE2) to 246 cycles.

Change-Id: I0600feac894d6a443a3c9d18daf34156d4e225c3

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 14"
Johann [Mon, 5 May 2014 14:08:08 +0000 (07:08 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 14"

10 years agoMerge changes Iaf7d6b0a,Iece0bf56
Johann [Mon, 5 May 2014 12:36:54 +0000 (05:36 -0700)]
Merge changes Iaf7d6b0a,Iece0bf56

* changes:
  Use INLINE and include vpx_config.h instead of plain 'inline'
  Use vreinterpret instead of casting neon vector types

10 years agoMerge "Remove struct params from vp8_denoiser_filter"
Scott LaVarnway [Mon, 5 May 2014 12:31:24 +0000 (05:31 -0700)]
Merge "Remove struct params from vp8_denoiser_filter"

10 years agoFix building for arm with Visual Studio 2013
Martin Storsjo [Sun, 4 May 2014 20:24:59 +0000 (23:24 +0300)]
Fix building for arm with Visual Studio 2013

The microsoft build tools explicitly disallow building for arm in
the "desktop" target configuration; one has to target "Windows
Store" apps (aka WinRT/Metro) or Windows Phone. In Visual Studio
2012, one could just pick the v110_wp80 toolset which made the
vcxproj files buildable. In Visual Studio 2013, picking the v120_wp81
toolset isn't enough - one has to configure the vcxproj files
as an "AppContainerApplication". This has the implication that
you can't just build a plain .exe (such as the examples) - an .exe
project would need to have an AppxManifest file. Therefore we can
only build the library itself.

If loaded into Visual Studio for Windows (the Windows Store/Phone
version of Visual Studio, not the Desktop one), the obj_int_extract
project is omitted since it's treated as incompatible. Building
from the command line with msbuild works fine though.

The armv7-win32-vs12 target was added as part of a638bdf4 even
though actual use of it hadn't been tested.

Change-Id: Iee8088252cf790317aeb6b417d29058225f1f629

10 years agoDon't try to use getenv on windows phone/rt
Martin Storsjo [Wed, 29 May 2013 17:37:49 +0000 (20:37 +0300)]
Don't try to use getenv on windows phone/rt

The getenv function doesn't exist there. In Visual Studio 2012,
the function still existed in the link libraries even though
it was hidden in the headers, but in the 2013 version it has been
removed from the link libraries as well.

Change-Id: Iea6289a698fa1788e906f5aabb6fddda3675815b

10 years agoUse INLINE and include vpx_config.h instead of plain 'inline'
Martin Storsjo [Sun, 4 May 2014 16:09:30 +0000 (19:09 +0300)]
Use INLINE and include vpx_config.h instead of plain 'inline'

This fixes compilation with MSVC.

Change-Id: Iaf7d6b0a0134968a6addf315fde6d852f298db8c

10 years agoUse vreinterpret instead of casting neon vector types
Martin Storsjo [Sun, 4 May 2014 16:09:12 +0000 (19:09 +0300)]
Use vreinterpret instead of casting neon vector types

MSVC doesn't support casting neon vector types but requires using
vreinterpret.

Change-Id: Iece0bf5632567efd7f37f527abea38afeab4926d

10 years agoVP8 for ARMv8 by using NEON intrinsics 16
James Yu [Wed, 18 Dec 2013 10:47:48 +0000 (18:47 +0800)]
VP8 for ARMv8 by using NEON intrinsics 16

Add variance_neon.c
- vp8_variance16x16_neon
- vp8_variance16x8_neon
- vp8_variance8x16_neon
- vp8_variance8x8_neon

Change-Id: Idfb9c96134a1c6a696a98ce68b4f7ed593a00660
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoVP8 for ARMv8 by using NEON intrinsics 15
James Yu [Tue, 17 Dec 2013 14:11:35 +0000 (22:11 +0800)]
VP8 for ARMv8 by using NEON intrinsics 15

Add idct_dequant_0_2x_neon.c
- idct_dequant_0_2x_neon

Change-Id: I8e129172ef1b2517cf72ff267788921f1a792586
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoVP8 for ARMv8 by using NEON intrinsics 14
James Yu [Tue, 17 Dec 2013 14:09:51 +0000 (22:09 +0800)]
VP8 for ARMv8 by using NEON intrinsics 14

Add sixtappredict_neon.c
- vp8_sixtap_predict16x16_neon
- vp8_sixtap_predict8x8_neon
- vp8_sixtap_predict8x4_neon
- vp8_sixtap_predict4x4_neon

Change-Id: I3b02fce48ae2e6c6099041ba5ddd7b090f1463b9
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoVP8 for ARMv8 by using NEON intrinsics 13
James Yu [Tue, 17 Dec 2013 15:21:50 +0000 (23:21 +0800)]
VP8 for ARMv8 by using NEON intrinsics 13

Add shortidct4x4llm_neon.c
- vp8_short_idct4x4llm_neon

Change-Id: I5a734bbffca8dacf8633c2b0ff07b98aa2f438ba
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 12"
Johann [Sun, 4 May 2014 02:06:55 +0000 (19:06 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 12"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 11"
Johann [Sun, 4 May 2014 02:05:26 +0000 (19:05 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 11"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 10"
Johann [Sun, 4 May 2014 02:04:57 +0000 (19:04 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 10"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 09"
Johann [Sun, 4 May 2014 02:04:18 +0000 (19:04 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 09"

10 years agoMerge "vp9 register checks only apply to vp9"
Johann [Sun, 4 May 2014 02:03:39 +0000 (19:03 -0700)]
Merge "vp9 register checks only apply to vp9"

10 years agoVP8 for ARMv8 by using NEON intrinsics 12
James Yu [Tue, 17 Dec 2013 14:03:09 +0000 (22:03 +0800)]
VP8 for ARMv8 by using NEON intrinsics 12

Add sad_neon.c
- vp8_sad16x16_neon
- vp8_sad16x8_neon
- vp8_sad8x8_neon
- vp8_sad8x16_neon
- vp8_sad4x4_neon

Change-Id: I08eaae49ec03fb91b394354660a5df0367cea311
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoVP8 for ARMv8 by using NEON intrinsics 11
James Yu [Tue, 17 Dec 2013 15:16:03 +0000 (23:16 +0800)]
VP8 for ARMv8 by using NEON intrinsics 11

Add mbloopfilter_neon.c
- vp8_mbloop_filter_horizontal_edge_y_neon
- vp8_mbloop_filter_horizontal_edge_uv_neon
- vp8_mbloop_filter_vertical_edge_y_neon
- vp8_mbloop_filter_vertical_edge_uv_neon

Change-Id: Ia9084e0892d4d49412d9cf2b165a0f719f2382d7
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoMerge "Remove asm_offsets dependency in quantize_b_ssse3"
Johann [Sat, 3 May 2014 11:21:16 +0000 (04:21 -0700)]
Merge "Remove asm_offsets dependency in quantize_b_ssse3"

10 years agoVP8 for ARMv8 by using NEON intrinsics 10
James Yu [Tue, 17 Dec 2013 13:49:53 +0000 (21:49 +0800)]
VP8 for ARMv8 by using NEON intrinsics 10

Add loopfiltersimpleverticaledge_neon.c
- vp8_loop_filter_bvs_neon
- vp8_loop_filter_mbvs_neon

Change-Id: I7cf0a161ad4ae37c881b94cc0122f895d3baae79
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoVP8 for ARMv8 by using NEON intrinsics 09
James Yu [Tue, 17 Dec 2013 13:48:07 +0000 (21:48 +0800)]
VP8 for ARMv8 by using NEON intrinsics 09

Add loopfiltersimplehorizontaledge_neon.c
- vp8_loop_filter_bhs_neon
- vp8_loop_filter_mbhs_neon

Change-Id: I77f9721b20585da8bf3869a3850ff0ae4b4bfeea
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 08"
Johann [Sat, 3 May 2014 11:10:18 +0000 (04:10 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 08"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 07"
Johann [Sat, 3 May 2014 11:08:54 +0000 (04:08 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 07"

10 years ago[spatial svc] Fix one extra frame count during flush
Minghai Shang [Fri, 2 May 2014 19:09:13 +0000 (12:09 -0700)]
[spatial svc] Fix one extra frame count during flush

Change-Id: Ia096aafa8aca4f9e58450c4b861393d8f0a15afe

10 years ago[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder
Minghai Shang [Fri, 2 May 2014 18:54:45 +0000 (11:54 -0700)]
[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder

Change-Id: I759f2d7c0e75b44ff4522a5ce57328b1c92730aa

10 years agoMerge "third_party/libwebm: Add Android.mk"
Vignesh Venkatasubramanian [Fri, 2 May 2014 18:39:29 +0000 (11:39 -0700)]
Merge "third_party/libwebm: Add Android.mk"