platform/upstream/libvpx.git
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 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 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 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 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 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 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 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."

10 years agoFix mode selection bug when ARNR filtering disabled
Adrian Grange [Thu, 1 May 2014 21:31:50 +0000 (14:31 -0700)]
Fix mode selection bug when ARNR filtering disabled

When ARNR filtering is disabled, by setting
arnr_max_frames=0, mode_skip_mask was being set to
-1 for the ARF frame resulting in no mode being
selected for the block.

The intent is to restrict the reference frame to the
previous ARF frame and the mode to one of ZEROMV,
NEARMV or NEARESTMV.

Change-Id: Ifc3920b153142cd01d422910c94d2f20ffb6f129

10 years agoSwitch the default 2 pass vbr variant.
Paul Wilkins [Thu, 1 May 2014 11:10:25 +0000 (12:10 +0100)]
Switch the default 2 pass vbr variant.

On balance Deb's  modified rate control for VBR seems
to be outperforming especially on some low motion YT
clips so I have switched this to be the default mode for
now.

Change-Id: I0713d430cad6425ac5c48fccdf332e12814ee44a

10 years agoSimplifying vp9_is_upper_layer_key_frame().
Dmitry Kovalev [Thu, 1 May 2014 18:41:01 +0000 (11:41 -0700)]
Simplifying vp9_is_upper_layer_key_frame().

Change-Id: Ib56df7cd282dadbfd202de23f0c746a93b5ce63e

10 years agoAdding vp9_temporal_filter_init() function.
Dmitry Kovalev [Thu, 1 May 2014 18:35:50 +0000 (11:35 -0700)]
Adding vp9_temporal_filter_init() function.

Change-Id: I0d50354111df79b74aafcd3bb7dc14df3c14733a

10 years agoMerge "[svc rc] RC improvement for key frames in upper layers for spatial svc."
Minghai Shang [Thu, 1 May 2014 17:53:47 +0000 (10:53 -0700)]
Merge "[svc rc] RC improvement for key frames in upper layers for spatial svc."

10 years agoAdd --show-program-output option to shell tests.
Tom Finegan [Wed, 30 Apr 2014 18:03:15 +0000 (11:03 -0700)]
Add --show-program-output option to shell tests.

When used --show-program-output shows the output from the programs run
during testing.

Change-Id: I15a47c43d1fcf0243c8df1a75d0d2a584ae1f08f

10 years agoMerge "Removing unused alt_activity_measure() function."
Dmitry Kovalev [Wed, 30 Apr 2014 22:50:34 +0000 (15:50 -0700)]
Merge "Removing unused alt_activity_measure() function."

10 years agoMerge "Removing unused typedefs."
Dmitry Kovalev [Wed, 30 Apr 2014 22:50:26 +0000 (15:50 -0700)]
Merge "Removing unused typedefs."

10 years agoReplacing int_mv with MV.
Dmitry Kovalev [Wed, 30 Apr 2014 22:50:13 +0000 (15:50 -0700)]
Replacing int_mv with MV.

Change-Id: Idccb530c814cb8a2fb9f7d0c11eaef25044efe5e

10 years agoCleaning up vp9_full_range_search_c() function.
Dmitry Kovalev [Wed, 30 Apr 2014 22:40:24 +0000 (15:40 -0700)]
Cleaning up vp9_full_range_search_c() function.

Change-Id: Ifc9114aeacd493cfa04d4cb3d071bf1de80e0568

10 years ago[svc rc] RC improvement for key frames in upper layers for spatial svc.
Minghai Shang [Thu, 24 Apr 2014 20:31:46 +0000 (13:31 -0700)]
[svc rc] RC improvement for key frames in upper layers for spatial svc.

Change-Id: Id6ab59e505be28cd4eb9f1fe114feb47debe0539

10 years agoMerge "Using crop_{width, height} instead of {width, height}."
Dmitry Kovalev [Wed, 30 Apr 2014 22:01:26 +0000 (15:01 -0700)]
Merge "Using crop_{width, height} instead of {width, height}."

10 years agoMerge "corrupted frames shouldn't affect stats"
Jim Bankoski [Wed, 30 Apr 2014 21:43:56 +0000 (14:43 -0700)]
Merge "corrupted frames shouldn't affect stats"

10 years agoMerge "Added 16bit vpx_img_fmt_t enums"
Debargha Mukherjee [Wed, 30 Apr 2014 20:59:12 +0000 (13:59 -0700)]
Merge "Added 16bit vpx_img_fmt_t enums"

10 years agoMerge "Enable SSSE3 implementation of 8x8 forward 2D-DCT"
Jingning Han [Wed, 30 Apr 2014 20:41:36 +0000 (13:41 -0700)]
Merge "Enable SSSE3 implementation of 8x8 forward 2D-DCT"

10 years agoMoving #defines to *.c from *.h.
Dmitry Kovalev [Wed, 30 Apr 2014 19:40:03 +0000 (12:40 -0700)]
Moving #defines to *.c from *.h.

Change-Id: I7cc6f441f414ca1b4d95dad3f789fff6faf8c3c4

10 years agoRemoving unused typedefs.
Dmitry Kovalev [Wed, 30 Apr 2014 19:34:09 +0000 (12:34 -0700)]
Removing unused typedefs.

Change-Id: I34ebc59980cf661ed658555e245bf0a93e5c3373

10 years agoRemoving half-variance asm functions which are not used.
Dmitry Kovalev [Wed, 30 Apr 2014 19:21:54 +0000 (12:21 -0700)]
Removing half-variance asm functions which are not used.

Corresponding C functions were removed in
I99695564a3aa9bc8c79ac0a551d257e2ff3ad3c3

Change-Id: I50a5575065a7a9e41904eb2161afd739def927db

10 years agoMerge "tools_common.sh: Add vlog()"
Tom Finegan [Wed, 30 Apr 2014 18:19:37 +0000 (11:19 -0700)]
Merge "tools_common.sh: Add vlog()"

10 years agotools_common.sh: Add vlog()
Tom Finegan [Tue, 29 Apr 2014 03:56:37 +0000 (20:56 -0700)]
tools_common.sh: Add vlog()

Add a verbose logging function instead of checking
$VPX_TEST_VERBOSE_OUTPUT in multiple places.

Change-Id: I82618809f0964f696ed17ca4d99d8d7d252232f4

10 years agoMerge "[svc rc] Increase worst quality for enhancement layers"
Minghai Shang [Wed, 30 Apr 2014 18:02:54 +0000 (11:02 -0700)]
Merge "[svc rc] Increase worst quality for enhancement layers"

10 years agocorrupted frames shouldn't affect stats
Jim Bankoski [Wed, 30 Apr 2014 17:13:29 +0000 (10:13 -0700)]
corrupted frames shouldn't affect stats

Don't update the stats if we have a corrupted frame.

Change-Id: I65a13adc50e0389b4201d3b671f0225195dfaff4
TODO: Test case that shows this problem.

10 years agoAdded 16bit vpx_img_fmt_t enums
Peter de Rivaz [Wed, 30 Apr 2014 15:14:11 +0000 (16:14 +0100)]
Added 16bit vpx_img_fmt_t enums

Added in preparation for modifications to support high bitdepth
operations.

Change-Id: I1ad403ea8886cb84020ff06807ae25e2e4bff608

10 years agoMerge "Remove VP8 save_reg_neon function"
Yunqing Wang [Wed, 30 Apr 2014 16:17:18 +0000 (09:17 -0700)]
Merge "Remove VP8 save_reg_neon function"

10 years agoImproved intrinsic version of vp8_denoiser_filter_neon
Scott LaVarnway [Wed, 30 Apr 2014 13:58:16 +0000 (06:58 -0700)]
Improved intrinsic version of vp8_denoiser_filter_neon

Used horizonal add instructions instead of adding
byte lanes.  The encoder performance improved by
~4% for the test clip used.

Change-Id: Iaddd10403fcffb5b3f53b1f591ab2fe0ff002c08

10 years agoMerge "Adding search_site_config struct."
Dmitry Kovalev [Tue, 29 Apr 2014 23:59:47 +0000 (16:59 -0700)]
Merge "Adding search_site_config struct."

10 years agoRemoving unused alt_activity_measure() function.
Dmitry Kovalev [Tue, 29 Apr 2014 23:58:22 +0000 (16:58 -0700)]
Removing unused alt_activity_measure() function.

Change-Id: I6b520553cb5334b44356dc4651a2dbc1cb93cca5

10 years agoMerge "Cleaning up vp9_full_search_sadx8() function."
Dmitry Kovalev [Tue, 29 Apr 2014 23:37:17 +0000 (16:37 -0700)]
Merge "Cleaning up vp9_full_search_sadx8() function."

10 years agoRemove VP8 save_reg_neon function
Yunqing Wang [Tue, 29 Apr 2014 21:36:51 +0000 (14:36 -0700)]
Remove VP8 save_reg_neon function

This patch did a cleanup following the commit "Save NEON registers
in VP8 NEON functions". The pushing/poping of callee-saved NEON
registers was moved into individual NEON functions. Therefore,
we don't need to save those registers at the beginning of codec.
The related code was removed.

Change-Id: I5648166514fc9beffb780aa138495597731f49ea

10 years agoUsing crop_{width, height} instead of {width, height}.
Dmitry Kovalev [Tue, 29 Apr 2014 23:12:44 +0000 (16:12 -0700)]
Using crop_{width, height} instead of {width, height}.

Change-Id: I6dc9741cdcd700f5c4a387f58da7feb58dd4bbda

10 years agoEnable SSSE3 implementation of 8x8 forward 2D-DCT
Jingning Han [Wed, 23 Apr 2014 16:13:45 +0000 (09:13 -0700)]
Enable SSSE3 implementation of 8x8 forward 2D-DCT

Assembly implementation of ssse3 8x8 forward 2D-DCT. The current
version is turned on only for x86_64. The average unit runtime
goes from 157 cycles down to 136 cycles, i.e., about 12.8% faster.
This translates into about 1.5% speed-up for pedestrian_area 1080p
at speed 2.

Change-Id: I0f12435857e9425ed7ce12541344dfa16837f4f4