platform/upstream/libvpx.git
8 years agodatarate_test,DatarateTestLarge: normalize bits type
James Zern [Fri, 24 Jun 2016 06:29:26 +0000 (23:29 -0700)]
datarate_test,DatarateTestLarge: normalize bits type

quiets a msvc warning:
conversion from 'const int64_t' to 'size_t', possible loss of data

Change-Id: I90a2ac6b040454dac7434fc9b63b98c42ea127b1

8 years agoMerge "configure: clean up var style and set_all usage"
Johann Koenig [Thu, 23 Jun 2016 22:59:21 +0000 (22:59 +0000)]
Merge "configure: clean up var style and set_all usage"

8 years agoconfigure: clean up var style and set_all usage
Johann [Thu, 23 Jun 2016 19:29:04 +0000 (12:29 -0700)]
configure: clean up var style and set_all usage

Use quotes whenever possible and {} always for variables.

Replace multiple set_all calls with *able_feature().

Change-Id: If579d3f718bd4133cf1592b4554a8ed00cf9f2d3

8 years agoMerge "vp9: Fix potential SEGV in decoder_peek_si_internal"
Vignesh Venkatasubramanian [Thu, 23 Jun 2016 21:33:12 +0000 (21:33 +0000)]
Merge "vp9: Fix potential SEGV in decoder_peek_si_internal"

8 years agoMerge "Update vpx subpixel 1d filter ssse3 asm"
Linfeng Zhang [Thu, 23 Jun 2016 19:08:03 +0000 (19:08 +0000)]
Merge "Update vpx subpixel 1d filter ssse3 asm"

8 years agoMerge "Fail early when android target does not include --sdk-path"
Johann Koenig [Thu, 23 Jun 2016 19:04:51 +0000 (19:04 +0000)]
Merge "Fail early when android target does not include --sdk-path"

8 years agoMerge "set interp_filter to SWITCHABLE_FILTER for intra block"
Angie Chiang [Thu, 23 Jun 2016 18:56:26 +0000 (18:56 +0000)]
Merge "set interp_filter to SWITCHABLE_FILTER for intra block"

8 years agoMerge changes Ifddff89d,I827dfe59,Idca7ef45
Johann Koenig [Thu, 23 Jun 2016 17:55:34 +0000 (17:55 +0000)]
Merge changes Ifddff89d,I827dfe59,Idca7ef45

* changes:
  vp8 machine setup: mark unused variable
  vp8 realtime encoder: mark unused variable
  vp8 error concealment: remove unused variables

8 years agovp9: Fix potential SEGV in decoder_peek_si_internal
Vignesh Venkatasubramanian [Wed, 22 Jun 2016 17:24:27 +0000 (10:24 -0700)]
vp9: Fix potential SEGV in decoder_peek_si_internal

decoder_peek_si_internal could potentially read more bytes than
what actually exists in the input buffer. We check for the buffer
size to be at least 8, but we try to read up to 10 bytes in the
worst case. A well crafted file could thus cause a segfault.
Likely change that introduced this bug was:
https://chromium-review.googlesource.com/#/c/70439 (git hash:
7c43fb6)

BUG=chromium:621095

Change-Id: Id74880cfdded44caaa45bbdbaac859c09d3db752

8 years agoMerge "vpx_lpf_horizontal_4_sse2: Remove dead load."
Alex Converse [Thu, 23 Jun 2016 16:20:35 +0000 (16:20 +0000)]
Merge "vpx_lpf_horizontal_4_sse2: Remove dead load."

8 years agoFail early when android target does not include --sdk-path
Johann [Wed, 22 Jun 2016 23:31:12 +0000 (16:31 -0700)]
Fail early when android target does not include --sdk-path

Change-Id: I07e7e63476a2e32e3aae123abdee8b7bbbdc6a8c

8 years agoMerge "Add default flags for arm64/armv8 builds"
Johann Koenig [Thu, 23 Jun 2016 13:47:28 +0000 (13:47 +0000)]
Merge "Add default flags for arm64/armv8 builds"

8 years agovp8 machine setup: mark unused variable
Johann [Thu, 23 Jun 2016 00:41:25 +0000 (17:41 -0700)]
vp8 machine setup: mark unused variable

When building without multithreading and for a non-arm, non-x86 system,
ctx is unused.

Cleans up -Wextra warning:
unused parameter ‘ctx’ [-Werror=unused-parameter]

Change-Id: Ifddff89d2ebd45f7d71e3d415a8f2415dd818957

8 years agovp8 realtime encoder: mark unused variable
Johann [Thu, 23 Jun 2016 00:37:44 +0000 (17:37 -0700)]
vp8 realtime encoder: mark unused variable

'duration' is not used in realtime-only mode:

Cleans up -Wextra warning:
unused parameter 'duration' [-Wunused-parameter]

Change-Id: I827dfe59ebcdc72c5a93fdf7e5aca063433914b1

8 years agovp8 error concealment: remove unused variables
Johann [Thu, 23 Jun 2016 00:33:45 +0000 (17:33 -0700)]
vp8 error concealment: remove unused variables

vp8_conceal_corrupt_mb is an empty function. Remove it entirely.

Cleans up -Wextra warnings:
unused parameter 'mi_stride' [-Wunused-parameter]
unused parameter 'xd' [-Wunused-parameter]

Change-Id: Idca7ef4508fae2b4b76a40d44507522a72ccc2c8

8 years agovpx_lpf_horizontal_4_sse2: Remove dead load.
Alex Converse [Thu, 23 Jun 2016 01:17:41 +0000 (18:17 -0700)]
vpx_lpf_horizontal_4_sse2: Remove dead load.

Change-Id: I51026c52baa1f0881fcd5b68e1fdf08a2dc0916e

8 years agoset interp_filter to SWITCHABLE_FILTER for intra block
Angie Chiang [Tue, 21 Jun 2016 19:16:03 +0000 (12:16 -0700)]
set interp_filter to SWITCHABLE_FILTER for intra block

In vp9_pick_inter_mode(), instead of using
vp9_get_pred_context_switchable_interp(xd) to assign filter_ref,
we use a less strict condition on assigning filter_ref.
This is to reduce the probabily of entering the flow of not
assigning filter_ref and then skipping filter search.

Overall PSNR gain 0.074% for rtc dataset

Details:
Low    Mid     High
0.185% -0.008% -0.082%

Change-Id: Id5c5ab38d3766c213d5681e17b4d1afd1529e676

8 years agoMerge "Repack vp9_token_state."
Alex Converse [Thu, 23 Jun 2016 00:17:23 +0000 (00:17 +0000)]
Merge "Repack vp9_token_state."

8 years agoMerge "vp9: Change the scheme for modeling rd for bsize 32x32."
Jacky Chen [Wed, 22 Jun 2016 23:50:46 +0000 (23:50 +0000)]
Merge "vp9: Change the scheme for modeling rd for bsize 32x32."

8 years agoAdd default flags for arm64/armv8 builds
Johann [Wed, 22 Jun 2016 23:08:10 +0000 (16:08 -0700)]
Add default flags for arm64/armv8 builds

Allows building simple targets with sane default flags.

For example, using the Android arm64 toolchain from the NDK:
https://developer.android.com/ndk/guides/standalone_toolchain.html
./build/tools/make-standalone-toolchain.sh --arch=arm64 \
  --platform=android-24 --install-dir=/tmp/arm64
CROSS=/tmp/arm64/bin/aarch64-linux-android- \
  ~/libvpx/configure --target=arm64-linux-gcc --disable-multithread

BUG=webm:1143

Change-Id: I06f5a7564f5382cf1a4bad41aef4308566c53adf

8 years agoMerge "remove vp10"
James Zern [Wed, 22 Jun 2016 22:35:57 +0000 (22:35 +0000)]
Merge "remove vp10"

8 years agoUpdate vpx subpixel 1d filter ssse3 asm
Linfeng Zhang [Thu, 9 Jun 2016 20:46:09 +0000 (13:46 -0700)]
Update vpx subpixel 1d filter ssse3 asm

Speed test shows the new vertical filters have degradation on Celeron
Chromebook. Added "X86_SUBPIX_VFILTER_PREFER_SLOW_CELERON" to control
the vertical filters activated code. Now just simply active the code
without degradation on Celeron. Later there should be 2 set of vertical
filters ssse3 functions, and let jump table to choose based on CPU type.

Change-Id: I37e3e9c5694737d9134a6bce6698d3e43f8fc962

8 years agoMerge "win: Include <intrin.h> instead of manually declaring intrinsics."
Nico Weber [Wed, 22 Jun 2016 19:06:47 +0000 (19:06 +0000)]
Merge "win: Include <intrin.h> instead of manually declaring intrinsics."

8 years agowin: Include <intrin.h> instead of manually declaring intrinsics.
Nico Weber [Wed, 22 Jun 2016 18:44:47 +0000 (14:44 -0400)]
win: Include <intrin.h> instead of manually declaring intrinsics.

This helps clang-cl.

BUG=chromium:592745

Change-Id: I49f9b6928c91b2b43567f4336520ba4f1010d3ad

8 years agovp9: Change the scheme for modeling rd for bsize 32x32.
jackychen [Tue, 21 Jun 2016 00:24:26 +0000 (17:24 -0700)]
vp9: Change the scheme for modeling rd for bsize 32x32.

For real-time CBR mode, use model_rd_for_sb_y_large instead of
model_rd_for_sb_y for 32x32 block. In the former model, transform
might be skipped more aggressively in some condtions, which speeds
up encoding time with only a little PSNR/SSIM drop on rtc test set.
No obvious visual quality regression.

PSNR effect on different speed setting:
speed 8 rtc:  0.129% overall PSNR drop, 0.137% SSIM drop
speed 7 rtc:  0.135% overall PSNR drop, 0.062% SSIM drop
speed 5 rtc_derf: 0.105% overall PSNR drop, 0.095% SSIM drop

Speed up:
gips_motion_WHD, 1mbps: 3.29% faster on speed 7, 2.56% faster on speed8
gips_stat_WHD, 1mbps: 2.17% faster on speed 7, 1.62% faster on speed8

Change-Id: I902f62def225ea01c145d7e5a93497398b8f5edf

8 years agoPrevent negative variance
Yaowu Xu [Wed, 22 Jun 2016 17:41:52 +0000 (10:41 -0700)]
Prevent negative variance

Due to rounding used computation, HDB variance computation may produce
slightly negative values. This commit adds clamping to make sure
output variance values for 10 and 12 to be non-negative.

Change-Id: Id679aa55a4c201958c4c7d28cd8733b9246a71c8

8 years agoMerge "Fix ubsan warnings: vp9/encoder/vp9_mcomp.c"
Yaowu Xu [Wed, 22 Jun 2016 00:12:58 +0000 (00:12 +0000)]
Merge "Fix ubsan warnings: vp9/encoder/vp9_mcomp.c"

8 years agoFix ubsan warnings: vp9/encoder/vp9_mcomp.c
Yaowu Xu [Mon, 20 Jun 2016 17:13:30 +0000 (10:13 -0700)]
Fix ubsan warnings: vp9/encoder/vp9_mcomp.c

This commit fixes a number of ubsan warnings in HBD build.

BUG=webm:1219

Change-Id: I05f0fd0ef50e93db4ba34205005c54af1ed32acc

8 years agoMerge "Add a hardware compatibility feature"
Hui Su [Tue, 21 Jun 2016 21:33:26 +0000 (21:33 +0000)]
Merge "Add a hardware compatibility feature"

8 years agoMerge "Disable neon for Xcode versions < v6.3."
Tom Finegan [Tue, 21 Jun 2016 17:53:54 +0000 (17:53 +0000)]
Merge "Disable neon for Xcode versions < v6.3."

8 years agoAdd a hardware compatibility feature
hui su [Wed, 15 Jun 2016 18:39:41 +0000 (11:39 -0700)]
Add a hardware compatibility feature

This commit adds an encoder workaround to support better
compatibility with a non-compliant hardware vp9 profile 2 decoder.

The known issue with this decoder is:
The decoder assumes a wrong value, 127 instead of the correct
value of 511 and 2047, for any assumed top-left corner pixel in
UV planes for 10 and 12 bit, respectively. Such assumed
top-left corner pixel is used for INTRA prediction when a real
decoded/reconstructed pixel is not avalable, e.g. when it is
located inside the row above the top row or inside the column
left to the leftest column of a video image.

Change-Id: Ic15a938a3107e1b85e96cb7903a5c4220986b99d

8 years agoMerge "Make type conversion explicit"
Yaowu Xu [Mon, 20 Jun 2016 21:34:40 +0000 (21:34 +0000)]
Merge "Make type conversion explicit"

8 years agoRepack vp9_token_state.
Alex Converse [Fri, 17 Jun 2016 23:47:15 +0000 (16:47 -0700)]
Repack vp9_token_state.

Reduces size from 32 bytes to 24 bytes on x86_64.

Change-Id: I8a22552343a1fc916117f35267fe6a295250f742

8 years agoMerge "Fix ubsan warning: vp9/encoder/vp9_encodeframe.c"
Yaowu Xu [Mon, 20 Jun 2016 19:33:33 +0000 (19:33 +0000)]
Merge "Fix ubsan warning: vp9/encoder/vp9_encodeframe.c"

8 years agoMake type conversion explicit
Yaowu Xu [Mon, 20 Jun 2016 19:05:29 +0000 (12:05 -0700)]
Make type conversion explicit

This fixes MSVC warnings.

Change-Id: I675d8486230b2b74d7973d95720a4995c4750282

8 years agoMerge "Refactor optimize_b for speed performance"
Jingning Han [Mon, 20 Jun 2016 16:48:22 +0000 (16:48 +0000)]
Merge "Refactor optimize_b for speed performance"

8 years agoMerge "Port optimize_b speed-up from vp10"
Jingning Han [Mon, 20 Jun 2016 16:48:01 +0000 (16:48 +0000)]
Merge "Port optimize_b speed-up from vp10"

8 years agoMerge "Configuration: Use 'is_in' instead of echo | grep"
Johann Koenig [Sun, 19 Jun 2016 23:51:33 +0000 (23:51 +0000)]
Merge "Configuration: Use 'is_in' instead of echo | grep"

8 years agoFix iosbuild.sh: outdated reference to ios-version.sh
Johann [Sun, 19 Jun 2016 23:49:00 +0000 (16:49 -0700)]
Fix iosbuild.sh: outdated reference to ios-version.sh

File was removed in b29ebfe91c643b4bab1f24c2b55bf0a5a83cb825 but a
reference was missed.

Change-Id: I7a3d81ab196a70cb5691331705f956cc7dc9bb2a

8 years agorealtime_test: remove decoded frame count check
James Zern [Sat, 18 Jun 2016 18:03:26 +0000 (11:03 -0700)]
realtime_test: remove decoded frame count check

decoding is done if the decoder is available, with errors handled
accordingly. the encoded frame count should be sufficient for this test.

+ remove HandleDecodeResult() as it's redundant given the base
  implementation

BUG=webm:1233

Change-Id: I513c1c3475c58a746f4df627491bdc392fe21416

8 years agoremove vp10
James Zern [Fri, 17 Jun 2016 22:22:11 +0000 (15:22 -0700)]
remove vp10

development has moved to the nextgenv2 branch and a snapshot from here
was used to seed aomedia

BUG=b/29457125

Change-Id: Iedaca11ec7870fb3a4e50b2c9ea0c2b056a0d3c0

8 years agoRefactor optimize_b for speed performance
Jingning Han [Sat, 18 Jun 2016 00:36:39 +0000 (17:36 -0700)]
Refactor optimize_b for speed performance

This commit refactors the trellis coefficient optimization process.
It saves multiplications used to generate the final dequantized
coefficients. It removes two memset operations on quantized
and dequantized coefficient sets. This improves the unit speed
by 10%.

Change-Id: I23f47c6e14582520a7f952f03ce8f72183e7f0e6

8 years agoPort optimize_b speed-up from vp10
Jingning Han [Sat, 18 Jun 2016 00:11:01 +0000 (17:11 -0700)]
Port optimize_b speed-up from vp10

This commit back ports the speed-up from vp10. It improves the
unit speed by 15%.

Change-Id: Ibe8c0e0974b03266d6abd16a41e89c3b91d8db2a

8 years agoFix ubsan warning: vp9/encoder/vp9_encodeframe.c
Yaowu Xu [Sat, 18 Jun 2016 00:07:06 +0000 (17:07 -0700)]
Fix ubsan warning: vp9/encoder/vp9_encodeframe.c

BUG=webm:1219

Change-Id: I29b896c7f61abf871d7853b1d8200aa5a9f6a95c

8 years agoMerge "Use 64-bit integer to store distortion in optimize_b"
Jingning Han [Fri, 17 Jun 2016 23:05:33 +0000 (23:05 +0000)]
Merge "Use 64-bit integer to store distortion in optimize_b"

8 years agoUse 64-bit integer to store distortion in optimize_b
Jingning Han [Fri, 17 Jun 2016 21:52:05 +0000 (14:52 -0700)]
Use 64-bit integer to store distortion in optimize_b

This fixes the overflow issue.

Bug=webm:1241

Change-Id: Ia168b7fae1ad214a6837aaa785a08bf8506987dd

8 years agoMerge "Parse codec options in order of occurrence."
DO NOT USE [Fri, 17 Jun 2016 22:03:49 +0000 (22:03 +0000)]
Merge "Parse codec options in order of occurrence."

8 years agoConfiguration: Use 'is_in' instead of echo | grep
Johann [Fri, 17 Jun 2016 21:25:23 +0000 (14:25 -0700)]
Configuration: Use 'is_in' instead of echo | grep

Change-Id: I38f7684969f12a624980f4e06698379a49e61bdf

8 years agoMerge "Fix warnings from gtest under GCC 5 or newer."
James Zern [Fri, 17 Jun 2016 21:18:21 +0000 (21:18 +0000)]
Merge "Fix warnings from gtest under GCC 5 or newer."

8 years agoMerge "Remove ios-version.sh"
Johann Koenig [Fri, 17 Jun 2016 21:08:51 +0000 (21:08 +0000)]
Merge "Remove ios-version.sh"

8 years agoParse codec options in order of occurrence.
Johann [Fri, 10 Jun 2016 21:59:26 +0000 (14:59 -0700)]
Parse codec options in order of occurrence.

Each time a codec is enabled or disabled with the umbrella
--enable-vpN flag, set the encoder and decoder configurations as well.
This was done as a post-processing step but doing that lost the order of
the arguments.

BUG=webm:1205

Change-Id: Ic629bfdd06acc04bc5a7227309f36bba54dad8b1

8 years agoDisable neon for Xcode versions < v6.3.
Tom Finegan [Wed, 15 Jun 2016 21:34:34 +0000 (14:34 -0700)]
Disable neon for Xcode versions < v6.3.

vtbl1_u8 is marked unavailable prior to Xcode v6.3.

BUG=webm:1154

Change-Id: I08bd34f712ab7da72658c89d8b606658c1348923

8 years agoMerge "Fix ubsan warnings: vp9/encoder/vp9_encoder.c"
Yaowu Xu [Fri, 17 Jun 2016 19:29:19 +0000 (19:29 +0000)]
Merge "Fix ubsan warnings: vp9/encoder/vp9_encoder.c"

8 years agoFix warnings from gtest under GCC 5 or newer.
Geza Lore [Fri, 17 Jun 2016 14:32:25 +0000 (15:32 +0100)]
Fix warnings from gtest under GCC 5 or newer.

Change-Id: I9661f2fe9d315dccae69caa70d929b5d9d93b7db
(cherry picked from commit 4c83fdd3d7cacd66a2c64451db0fb64e5b2ecf48)

8 years agoOutput frames in first pass for VPX_DL_REALTIME.
Tom Finegan [Wed, 15 Jun 2016 20:42:59 +0000 (13:42 -0700)]
Output frames in first pass for VPX_DL_REALTIME.

Since combining VPX_DL_REALTIME with VPX_RC_FIRST_PASS is basically
nonsense, ignore the user's pass setting when this happens and
behave as if the requested encode is a single pass encode.

BUG=webm:1233

Change-Id: I5ee4c4e5838c4ca6d24988890aae490b10826db2

8 years agoFix ubsan warnings: vp9/encoder/vp9_encoder.c
Yaowu Xu [Fri, 17 Jun 2016 18:25:11 +0000 (11:25 -0700)]
Fix ubsan warnings: vp9/encoder/vp9_encoder.c

BUG=webm:1219

Change-Id: I433a688fbbc87094afa888c1e7d49f3eefc0e765

8 years agoMerge "vp8: correct function return types"
Johann Koenig [Fri, 17 Jun 2016 04:19:37 +0000 (04:19 +0000)]
Merge "vp8: correct function return types"

8 years agoMerge "VP8_COMP: make frames_since_golden signed"
Johann Koenig [Fri, 17 Jun 2016 04:19:17 +0000 (04:19 +0000)]
Merge "VP8_COMP: make frames_since_golden signed"

8 years agoMerge "vp9_pickmode: quiet int64->int conversion warning"
James Zern [Fri, 17 Jun 2016 03:58:46 +0000 (03:58 +0000)]
Merge "vp9_pickmode: quiet int64->int conversion warning"

8 years agoRemove ios-version.sh
Johann [Thu, 16 Jun 2016 23:35:45 +0000 (16:35 -0700)]
Remove ios-version.sh

The logic can be incorporated into configure.sh

Removes a dependency on ios-version.sh which was not part of DIST-SRCS
and removes a warning from 'make dist' sub builds:

../src/build/make/configure.sh: line 787:
../src/build/make/ios-version.sh: No such file or directory

Change-Id: Ic38314708eb278dd9d2a9769a670da32f6126637

8 years agoMerge "vp8_[cd]x_iface.c: Initialize structures to 0"
Johann Koenig [Thu, 16 Jun 2016 23:12:06 +0000 (23:12 +0000)]
Merge "vp8_[cd]x_iface.c: Initialize structures to 0"

8 years agoMerge "vp8 stats file: initialize to 0"
Johann Koenig [Thu, 16 Jun 2016 22:29:04 +0000 (22:29 +0000)]
Merge "vp8 stats file: initialize to 0"

8 years agovp8_[cd]x_iface.c: Initialize structures to 0
Johann [Mon, 13 Jun 2016 19:08:47 +0000 (12:08 -0700)]
vp8_[cd]x_iface.c: Initialize structures to 0

Use vp8_zero() or specify every element.

Cleans warning in Android build:
missing field 'deblocking_level' initializer
vp8_ppflags_t flags = {0};
                        ^
missing field 'sz' initializer
{0},                /* rc_twopass_stats_in */
  ^
missing field 'sz' initializer
{0},                /* rc_firstpass_mb_stats_in */
  ^
missing field 'layer_target_bitrate' initializer
}},
^
missing field 'deblocking_level' initializer
vp8_ppflags_t flags = {0};
                        ^
missing field 'mr_get_mem_loc' initializer
}
^

Change-Id: Iaedde9a77faac7a40316aee67d60d02ba7313500

8 years agoVP8_COMP: make frames_since_golden signed
Johann [Mon, 13 Jun 2016 18:51:21 +0000 (11:51 -0700)]
VP8_COMP: make frames_since_golden signed

This value is signed in vp9/10

Cleans warning in Android build:
comparison of integers of different signs: 'unsigned int' and 'int'
if (cpi->frames_since_golden == (cpi->current_gf_interval >> 1))
    ~~~~~~~~~~~~~~~~~~~~~~~~ ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change-Id: Ie137724982f3a46c8c1820548c1960d62a4e96f2

8 years agovp8: correct function return types
Johann [Thu, 16 Jun 2016 21:17:28 +0000 (14:17 -0700)]
vp8: correct function return types

left_above_mv and above_block_mv return as_int

as_int is defined as uint32_t in vp8/common/mv.h

Cleans up -Wextra warnings:
signed and unsigned type in conditional expression
this_mv->as_int = col ? d[-1].bmi.mv.as_int : left_block_mv(mic, i);
                                            ^
this_mv->as_int = row ? d[-4].bmi.mv.as_int : above_block_mv(mic, i, mis);
                                            ^
left_mv.as_int = col ? d[-1].bmi.mv.as_int :
                                           ^

Change-Id: Ia043764e4ce93d2152d2269b1c7b28b5d5f814cf

8 years agoMerge "vp8_change_config: fix unsigned/signed comparison"
Johann Koenig [Thu, 16 Jun 2016 21:53:29 +0000 (21:53 +0000)]
Merge "vp8_change_config: fix unsigned/signed comparison"

8 years agovpx_dsp/quantize.c: fix ubsan warnings
Yaowu Xu [Thu, 16 Jun 2016 01:09:11 +0000 (18:09 -0700)]
vpx_dsp/quantize.c: fix ubsan warnings

BUG=webm:1219

Change-Id: I0c80271c6b78adf40aa7a4cac9e6b431d56958cb

8 years agovpx_dsp/variance.c: change to use correct type
Yaowu Xu [Thu, 16 Jun 2016 01:03:57 +0000 (18:03 -0700)]
vpx_dsp/variance.c: change to use correct type

This commit change to use int64_t to represent the sum of pixel
differences, which can be negative.

This fixes a number of ubsan warnings.

BUG=webm:1219

Change-Id: I885f245ae895ab92ca5f3b9848d37024b07aac98

8 years agoMerge "Fix an ubsan warning: vp9_quantizer.c"
Yaowu Xu [Thu, 16 Jun 2016 21:42:40 +0000 (21:42 +0000)]
Merge "Fix an ubsan warning: vp9_quantizer.c"

8 years agovp8 stats file: initialize to 0
Johann [Thu, 16 Jun 2016 21:22:55 +0000 (14:22 -0700)]
vp8 stats file: initialize to 0

Cleans up -Wextra warning:
missing initializer for field ‘intra_error’ of ‘FIRSTPASS_STATS’

Change-Id: I42c1413234aba207f8e89f2e040e14a81bca511e

8 years agovp8_change_config: fix unsigned/signed comparison
Johann [Sat, 11 Jun 2016 01:09:04 +0000 (18:09 -0700)]
vp8_change_config: fix unsigned/signed comparison

Use ~15 instead of 0x..F0

Cleans warning in Android build:
comparison of integers of different signs: 'unsigned int' and 'int'
if (((cm->Width + 15) & 0xfffffff0) !=
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
comparison of integers of different signs: 'unsigned int' and 'int'
((cm->Height + 15) & 0xfffffff0) !=
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^

Change-Id: Iac25839cde3425b7b9db7f33740dc46a551b7546

8 years agoMerge "Fix ubsan warning: test/datarate_test.cc"
Yaowu Xu [Thu, 16 Jun 2016 19:40:20 +0000 (19:40 +0000)]
Merge "Fix ubsan warning: test/datarate_test.cc"

8 years agoFix ubsan warning: test/datarate_test.cc
Yaowu Xu [Thu, 16 Jun 2016 15:57:29 +0000 (08:57 -0700)]
Fix ubsan warning: test/datarate_test.cc

BUG=webm:1219

Change-Id: I48470a885cd64a60636a982cd68165c41a702306

8 years agoMerge "Fix ubsan warning: vp8/encoder/denoising.c"
Yaowu Xu [Thu, 16 Jun 2016 18:09:09 +0000 (18:09 +0000)]
Merge "Fix ubsan warning: vp8/encoder/denoising.c"

8 years agoMerge "Fix ubsan warning: vp8/encoder/onyx_ifc"
Yaowu Xu [Thu, 16 Jun 2016 16:44:41 +0000 (16:44 +0000)]
Merge "Fix ubsan warning: vp8/encoder/onyx_ifc"

8 years agoMerge "Fix ubsan warning: vp9_cx_iface.c"
Yaowu Xu [Thu, 16 Jun 2016 16:44:35 +0000 (16:44 +0000)]
Merge "Fix ubsan warning: vp9_cx_iface.c"

8 years agoMerge "vp9: Adjustments to nonrd-pickmode for vbr"
Marco Paniconi [Thu, 16 Jun 2016 16:07:06 +0000 (16:07 +0000)]
Merge "vp9: Adjustments to nonrd-pickmode for vbr"

8 years agoFix ubsan warning: vp8/encoder/denoising.c
Yaowu Xu [Thu, 16 Jun 2016 15:53:53 +0000 (08:53 -0700)]
Fix ubsan warning: vp8/encoder/denoising.c

BUG=webm:1219

Change-Id: Iebdedfb27c70909c0849e169473a2a3ec9f58cc7

8 years agoFix ubsan warning: vp8/encoder/onyx_ifc
Yaowu Xu [Thu, 16 Jun 2016 15:32:18 +0000 (08:32 -0700)]
Fix ubsan warning: vp8/encoder/onyx_ifc

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1219

Change-Id: I4362a1cf79fdcb478b29ddbcdf8091c5f5d10645

8 years agoFix ubsan warning: vp9_cx_iface.c
Yaowu Xu [Thu, 16 Jun 2016 15:28:33 +0000 (08:28 -0700)]
Fix ubsan warning: vp9_cx_iface.c

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1219

Change-Id: I77584af8b9e25db484d9ced6013da3163a9592c0

8 years agoFix an ubsan warning: vp9_quantizer.c
Yaowu Xu [Thu, 16 Jun 2016 00:59:26 +0000 (17:59 -0700)]
Fix an ubsan warning: vp9_quantizer.c

BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1219

Change-Id: Ie1bfda4d51c1567f551515f0ed113eec1bc1d98c

8 years agovp9_pickmode: quiet int64->int conversion warning
James Zern [Thu, 16 Jun 2016 06:34:09 +0000 (23:34 -0700)]
vp9_pickmode: quiet int64->int conversion warning

since:
7901a05 VP9: block_yrd(): Use RD_COST * instead

Change-Id: I808be7a7bc96b81eb7d6255ae96cea7e9b1ecf1f

8 years agoMerge "Add vp9 encoder API VP9E_GET_LEVEL to provide bitstream level"
Hui Su [Wed, 15 Jun 2016 23:52:18 +0000 (23:52 +0000)]
Merge "Add vp9 encoder API VP9E_GET_LEVEL to provide bitstream level"

8 years agoMerge "vp9: Add bias to last frame in choose_partitioning."
Jacky Chen [Wed, 15 Jun 2016 22:50:04 +0000 (22:50 +0000)]
Merge "vp9: Add bias to last frame in choose_partitioning."

8 years agovp9: Adjustments to nonrd-pickmode for vbr
Marco [Wed, 15 Jun 2016 21:20:32 +0000 (14:20 -0700)]
vp9: Adjustments to nonrd-pickmode for vbr

For VBR: (1) allow newmv mode for golden ref to
select interpolation filter (as in last ref case), and
(2) don't use the more aggressive tx-skip testing logic for large blocks.

Only affects 1 pass real-time vbr mode (speed >= 5).

PSNR/SSIM metrics on ytlive set are all positive, ~0.5-2% gain.

Change-Id: I0ffbb0a9755563a5acd6230c58236e4f19a47266

8 years agoMerge "VP9: block_yrd(): Use RD_COST * instead"
Scott LaVarnway [Wed, 15 Jun 2016 21:02:45 +0000 (21:02 +0000)]
Merge "VP9: block_yrd(): Use RD_COST * instead"

8 years agovp9: Add bias to last frame in choose_partitioning.
JackyChen [Wed, 15 Jun 2016 17:14:14 +0000 (10:14 -0700)]
vp9: Add bias to last frame in choose_partitioning.

This change is only for real-time mode if short_circuit_low_temp_var
is on. Add bias to last frame in choosing ref frame for partitioning,
when y_sad and y_sad_g are close. It speeds up real-time encoding by
0.5% on some clips with less than 0.1% overall PSNR drop on rtc test set.

Change-Id: I2a2110fe36455f3d8f0fc404aef2228f512e8df8

8 years agoAdd vp9 encoder API VP9E_GET_LEVEL to provide bitstream level
hui su [Thu, 5 May 2016 19:04:42 +0000 (12:04 -0700)]
Add vp9 encoder API VP9E_GET_LEVEL to provide bitstream level

Change-Id: I1ef3df0192491035728fe9d5eb25cc66dc2965de

8 years agoMerge "Match prev_ to number_of_layers"
Johann Koenig [Wed, 15 Jun 2016 18:26:55 +0000 (18:26 +0000)]
Merge "Match prev_ to number_of_layers"

8 years agoMerge "Use data size directly instead of recomputing."
Johann Koenig [Wed, 15 Jun 2016 18:23:33 +0000 (18:23 +0000)]
Merge "Use data size directly instead of recomputing."

8 years agoMerge "vp9: Code clean up for short circuit feature in low temp variance."
Jacky Chen [Wed, 15 Jun 2016 16:49:32 +0000 (16:49 +0000)]
Merge "vp9: Code clean up for short circuit feature in low temp variance."

8 years agoVP9: block_yrd(): Use RD_COST * instead
Scott LaVarnway [Tue, 14 Jun 2016 22:43:31 +0000 (15:43 -0700)]
VP9: block_yrd(): Use RD_COST * instead

of int *rate, int *dist.

Change-Id: I7cbaea5252615b6b45b33e896f637cf7d076588a

8 years agoMerge "VP9: minor block_yrd() refactoring"
Scott LaVarnway [Wed, 15 Jun 2016 11:46:54 +0000 (11:46 +0000)]
Merge "VP9: minor block_yrd() refactoring"

8 years agovp9: Code clean up for short circuit feature in low temp variance.
JackyChen [Tue, 14 Jun 2016 21:25:55 +0000 (14:25 -0700)]
vp9: Code clean up for short circuit feature in low temp variance.

Change-Id: I7573a5cf0ab79abed8d124019c0ed6d9531277f9

8 years agoUse data size directly instead of recomputing.
Johann [Sat, 11 Jun 2016 00:54:33 +0000 (17:54 -0700)]
Use data size directly instead of recomputing.

Cleans warning in Android build:
comparison of integers of different signs: 'unsigned int' and 'int'

int n = (int)VPXMIN(sizeof(clear_buffer), data_end - data);
             ^      ~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~

Change-Id: I964355ceae6b39e22c0196294b25e28387f84945

8 years agoMatch prev_ to number_of_layers
Johann [Sat, 11 Jun 2016 01:00:34 +0000 (18:00 -0700)]
Match prev_ to number_of_layers

Defined as unsigned in VP8_CONFIG

Cleans warning in Android build:
comparison of integers of different signs: 'unsigned int' and 'int'
if (cpi->oxcf.number_of_layers != prev_number_of_layers)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~
Change-Id: I969e64cd2bfda6e61c564476dbd35b892b177646

8 years agoActive map and ROI map use unsigned rows/cols
Johann [Sat, 11 Jun 2016 01:17:18 +0000 (18:17 -0700)]
Active map and ROI map use unsigned rows/cols

The vpx_roi_map_t and vpx_active_map_t structures use unsigned rows
and cols but VP8_COMMON uses signed values for mb_rows and mb_cols.

Cleans warning in Android build:
comparison of integers of different signs: 'int' and 'unsigned int'
if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols)
    ~~~~~~~~~~~~~~~~~~~ ^  ~~~~
comparison of integers of different signs: 'int' and 'unsigned int'
if (cpi->common.mb_rows != rows || cpi->common.mb_cols != cols)
                                   ~~~~~~~~~~~~~~~~~~~ ^  ~~~~
comparison of integers of different signs: 'unsigned int' and 'int'
if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols)
    ~~~~ ^  ~~~~~~~~~~~~~~~~~~~
comparison of integers of different signs: 'unsigned int' and 'int'
if (rows == cpi->common.mb_rows && cols == cpi->common.mb_cols)

Change-Id: If1f118c20ffefd2530fbd371e6787cc8a6c31f0a

8 years agoMake new_qc signed
Johann [Mon, 13 Jun 2016 18:56:42 +0000 (11:56 -0700)]
Make new_qc signed

Mode is signed

Cleans warning in Android build:
comparison of integers of different signs: 'int' and 'unsigned int'
if (ctx->oxcf.Mode != new_qc)
    ~~~~~~~~~~~~~~ ^  ~~~~~~

Change-Id: I5cf81c40b103e688a31e1339511f5c9eb27edd38

8 years agoneon hadamard 16x16
Johann [Fri, 10 Jun 2016 22:49:44 +0000 (15:49 -0700)]
neon hadamard 16x16

Runs about twice as fast as C

BUG=webm:1027

Change-Id: I6760d99f4e22259439ca35d746194b12a81bfa71

8 years agoMerge "hadamard 16x16 test"
Johann Koenig [Tue, 14 Jun 2016 19:22:59 +0000 (19:22 +0000)]
Merge "hadamard 16x16 test"