]> granicus.if.org Git - libvpx/log
libvpx
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 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 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 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 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"

10 years ago[spatial svc] No need to code full width and height for non key frame
Minghai Shang [Thu, 1 May 2014 19:00:39 +0000 (12:00 -0700)]
[spatial svc] No need to  code full  width and height for non key frame

Change-Id: I62ab0f4346b4157a90dc5b5f73ab5e597d69c1bd

10 years agoCleaning up vp9_variance.c
Dmitry Kovalev [Fri, 2 May 2014 18:08:11 +0000 (11:08 -0700)]
Cleaning up vp9_variance.c

Change-Id: Ie2b9c9881085053c191f3f7b8253e283edef573b

10 years agoRemove struct params from vp8_denoiser_filter
Scott LaVarnway [Fri, 2 May 2014 17:31:52 +0000 (10:31 -0700)]
Remove struct params from vp8_denoiser_filter

This eliminates the asm_offsets dependency for future
all-assembly versions of this function.

Change-Id: I3227073ecfcb8ee6e593934fab941e9081abdda0

10 years agoMerge "Improved intrinsic version of vp8_denoiser_filter_neon"
Scott LaVarnway [Fri, 2 May 2014 16:59:59 +0000 (09:59 -0700)]
Merge "Improved intrinsic version of vp8_denoiser_filter_neon"

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

Add loopfilter_neon.c
- vp8_loop_filter_horizontal_edge_y_neon
- vp8_loop_filter_horizontal_edge_uv_neon
- vp8_loop_filter_vertical_edge_y_neon
- vp8_loop_filter_vertical_edge_uv_neon

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

Add iwalsh_neon.c
- vp8_short_inv_walsh4x4_neon

Change-Id: I8beda6ce11ad8ce9e80cc0a38d40161938359162
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoMerge "Revert "Force ARNR filtering to be centered on the ARF frame""
Adrian Grange [Fri, 2 May 2014 15:13:06 +0000 (08:13 -0700)]
Merge "Revert "Force ARNR filtering to be centered on the ARF frame""

10 years agoMerge "Fix mode selection bug when ARNR filtering disabled"
Adrian Grange [Fri, 2 May 2014 15:12:00 +0000 (08:12 -0700)]
Merge "Fix mode selection bug when ARNR filtering disabled"

10 years agovp9 register checks only apply to vp9
Johann [Fri, 2 May 2014 15:11:54 +0000 (08:11 -0700)]
vp9 register checks only apply to vp9

Disable register checks when vp9 is not configured. Soon vp8 assembly
will move to intrinsics, obviating this check.

This will still run the check when vp9 is enabled.

Change-Id: I90f50d22cb8c15e9c07f2c8e830e08de7fce0689

10 years agoRemove asm_offsets dependency in quantize_b_ssse3
Johann [Wed, 3 Apr 2013 21:49:30 +0000 (14:49 -0700)]
Remove asm_offsets dependency in quantize_b_ssse3

Replace it with some intrinsic code and inline assembly.

Change-Id: I81b4df146db3d01039059be7dae31083e2943b97

10 years agoAndroid NDK support for x86 and mips
Johann [Fri, 2 May 2014 14:18:00 +0000 (07:18 -0700)]
Android NDK support for x86 and mips

This does not do the full toolchain setup like the arm builds. It only
allows for ndk-builds. See the instructions in tests/android/README or
the webm jnin bindings project:
https://chromium.googlesource.com/webm/bindings/+/master/JNI/README.Android

Because this support is not quite polished, the build targets must be
forced. Please use
--force-target=x86-android-gcc --disable-ssse3 --disable-sse4_1 --disable-avx2
--force-target-mips-android-gcc

Change-Id: Ie2b6623f71ac816e3965c39bf97097e9d30b6e94

10 years agoMerge "Only hide assembly functions for Chrome"
Johann [Fri, 2 May 2014 14:15:38 +0000 (07:15 -0700)]
Merge "Only hide assembly functions for Chrome"

10 years agoMerge "VP8 for ARMv8 by using NEON intrinsics 06"
Johann [Fri, 2 May 2014 13:42:34 +0000 (06:42 -0700)]
Merge "VP8 for ARMv8 by using NEON intrinsics 06"

10 years agoMerge "Switch the default 2 pass vbr variant."
Debargha Mukherjee [Fri, 2 May 2014 11:03:29 +0000 (04:03 -0700)]
Merge "Switch the default 2 pass vbr variant."

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

Add idct_dequant_full_2x_neon.c
- idct_dequant_full_2x_neon

==== Summary of apply VP8 decode patch series ====
Benchmark on Samsung Chromebook, Cortex-A15, 1.7GHz, Dual core
Toolchain: linaro-1.13.1-4.8-2014.01
Compile argument: CROSS=arm-linux-gnueabihf- ../libvpx/configure
                     --target=armv7-linux-gcc --prefix=$HOME/out
                     --enable-shared --cpu=cortex-a7
Test argument: vpxdec --summary --noblit ./tears_of_steel_1080p.webm

NEON assembly   46.68 (fps)
Apply patch 06  46.65, -0.03
Apply patch 07  46.86, +0.21
Apply patch 08  46.58, -0.28
Apply patch 09  46.57, -0.01
Apply patch 10  46.51, -0.06
Apply patch 11  46.13, -0.38
Apply patch 12  45.42, -0.71
Apply patch 13  46.06, +0.64
Apply patch 14  45.19, -0.87
Apply patch 15  45.93, +0.74
Apply patch 16  45.48, -0.45
Apply patch 17  45.84, +0.36
Apply patch 18  45.91, +0.07  <= With all NEON intrinsics patches
                 Total -0.77 fps, 1.65% performance regression

Change-Id: I77bfc9eaccfb97b8d401e949ceff8795e26ca6b7
Signed-off-by: James Yu <james.yu@linaro.org>
10 years agoMerge "Moving #defines to *.c from *.h."
Dmitry Kovalev [Fri, 2 May 2014 01:28:34 +0000 (18:28 -0700)]
Merge "Moving #defines to *.c from *.h."

10 years agoMerge "Adding vp9_temporal_filter_init() function."
Dmitry Kovalev [Fri, 2 May 2014 01:28:21 +0000 (18:28 -0700)]
Merge "Adding vp9_temporal_filter_init() function."

10 years agoMerge "Replacing int_mv with MV."
Dmitry Kovalev [Fri, 2 May 2014 01:28:12 +0000 (18:28 -0700)]
Merge "Replacing int_mv with MV."

10 years agoMerge "Simplifying vp9_is_upper_layer_key_frame()."
Dmitry Kovalev [Fri, 2 May 2014 01:27:56 +0000 (18:27 -0700)]
Merge "Simplifying vp9_is_upper_layer_key_frame()."

10 years agoOnly hide assembly functions for Chrome
Johann [Fri, 2 May 2014 00:43:34 +0000 (17:43 -0700)]
Only hide assembly functions for Chrome

Match x86_abi_support.asm configuration

Change-Id: Ic0d03a23961e6858cf5153389ec8afa0fae3307a

10 years agoMoving pair_set_epi32 macro into vp9_dct32x32_sse2.c.
Dmitry Kovalev [Thu, 1 May 2014 23:45:49 +0000 (16:45 -0700)]
Moving pair_set_epi32 macro into vp9_dct32x32_sse2.c.

Change-Id: I642a7d343677bf934e9a54cf4ad78e908620e39a

10 years agoUsing SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range().
Dmitry Kovalev [Thu, 1 May 2014 23:36:51 +0000 (16:36 -0700)]
Using SPEED_FEATURES instead of VP9_COMP in vp9_init_search_range().

Change-Id: I961d50d6fafdd37ef7f23f0a871d28e28d2084ca

10 years agoMoving costs from MACROBLOCK to VP9_COMP.
Dmitry Kovalev [Thu, 1 May 2014 23:12:23 +0000 (16:12 -0700)]
Moving costs from MACROBLOCK to VP9_COMP.

Change-Id: I61471dd0f77d1547abec13cbf9670e1c4eb9131a

10 years agoCleaning up vp9_encode_frame() function.
Dmitry Kovalev [Thu, 1 May 2014 22:00:25 +0000 (15:00 -0700)]
Cleaning up vp9_encode_frame() function.

Change-Id: I2b618dfe753f8c6139cecadc5caf14826abb67d9

10 years agoMerge "Removing half-variance asm functions which are not used."
Dmitry Kovalev [Thu, 1 May 2014 21:50:45 +0000 (14:50 -0700)]
Merge "Removing half-variance asm functions which are not used."