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

8 years agoMerge "vp9: Encoding cycle reduction for speed 8."
Jacky Chen [Tue, 14 Jun 2016 15:41:31 +0000 (15:41 +0000)]
Merge "vp9: Encoding cycle reduction for speed 8."

8 years agoMerge "Small re-arrangement."
Paul Wilkins [Tue, 14 Jun 2016 11:46:58 +0000 (11:46 +0000)]
Merge "Small re-arrangement."

8 years agohadamard 16x16 test
Johann [Thu, 12 May 2016 20:02:26 +0000 (13:02 -0700)]
hadamard 16x16 test

BUG=webm:1027

Change-Id: Ibe58781905b372b9fe29dace39b4bfdd33fd0f83

8 years agovp9: Encoding cycle reduction for speed 8.
JackyChen [Mon, 6 Jun 2016 23:30:14 +0000 (16:30 -0700)]
vp9: Encoding cycle reduction for speed 8.

1. Skip golden non-zeromv and newmv-last for bsize >= 16x16 if the
temporal variance obtained from choose_partitioning is very low.
2. Skip horz and vert INTRA mode for speed 8.

This change works best on the clips with little noise and with some
motion (e.g. gips_motion which has > 5% speed up). PSNR drop is 1.78%
on rtc test set, no obvious visual quality regression found.

Change-Id: Ib43b5b20e67809d03c5a6890818ddff59e1fc94a

8 years agoVP9: minor block_yrd() refactoring
Scott LaVarnway [Mon, 13 Jun 2016 14:35:45 +0000 (07:35 -0700)]
VP9: minor block_yrd() refactoring

Change-Id: Ic0a81fb5816c8252ca4876753320fde5c28d893f

8 years agoMerge "vp9: Put lower limit on frames_to_key adjustment to gf interval."
Marco Paniconi [Fri, 10 Jun 2016 22:49:48 +0000 (22:49 +0000)]
Merge "vp9: Put lower limit on frames_to_key adjustment to gf interval."

8 years agoMerge "Add a couple of missing WRAPLOW checks"
Debargha Mukherjee [Fri, 10 Jun 2016 21:55:36 +0000 (21:55 +0000)]
Merge "Add a couple of missing WRAPLOW checks"

8 years agoMerge "vp9_diamond_search_sad_avx cosmetics"
James Zern [Fri, 10 Jun 2016 17:30:39 +0000 (17:30 +0000)]
Merge "vp9_diamond_search_sad_avx cosmetics"

8 years agovp9: Put lower limit on frames_to_key adjustment to gf interval.
Marco [Fri, 10 Jun 2016 17:04:46 +0000 (10:04 -0700)]
vp9: Put lower limit on frames_to_key adjustment to gf interval.

For 1 pass vbr.

Change-Id: I6c1c1cca3944150140e896e175b07ed518641b9b

8 years agovp9_diamond_search_sad_avx cosmetics
Scott LaVarnway [Fri, 10 Jun 2016 11:56:21 +0000 (04:56 -0700)]
vp9_diamond_search_sad_avx cosmetics

Fixed cosmetic issues noted in Change 349854.

Change-Id: I1d94070e4066fa920173013c5a36a30dd1cb357d

8 years agoMerge changes I58081309,I502fd707
James Zern [Thu, 9 Jun 2016 22:54:12 +0000 (22:54 +0000)]
Merge changes I58081309,I502fd707

* changes:
  fdct8x8_test: fix unsigned overflow
  fdct4x4_test: fix unsigned overflow

8 years agoAdd a couple of missing WRAPLOW checks
Debargha Mukherjee [Thu, 9 Jun 2016 19:58:27 +0000 (12:58 -0700)]
Add a couple of missing WRAPLOW checks

To make coefficient checking consistent with the VP9 spec sections
8.7.1.6 and 8.7.1.1.

Change-Id: I92e38e89a41d1e482317bb478c48ffa608d2d6ee

8 years agoSmall re-arrangement.
paulwilkins [Fri, 3 Jun 2016 14:42:47 +0000 (15:42 +0100)]
Small re-arrangement.

Move initialization of a some new "twopass" values
to the function vp9_init_second_pass() and some other
small  changes.

Remove #if GROUP_ADAPTIVE_MAXQ as this is always
enabled now.

Change-Id: I1dbec2fd7c419779848aa987c4cd7824d4df8456

8 years agovp9_subexp.h: normalize function prototype
James Zern [Thu, 9 Jun 2016 05:55:53 +0000 (22:55 -0700)]
vp9_subexp.h: normalize function prototype

vp9_prob_diff_update_savings_search_model

updated in:
19e0b40 Refactor probability savings search.

Change-Id: I13ae3106961f0271f51df17ee1c70c99f2d75f8f

8 years agoMerge "vp9: Use nonrd_pick_partition on scene-cut, for speed 5 vbr mode."
Marco Paniconi [Thu, 9 Jun 2016 00:49:02 +0000 (00:49 +0000)]
Merge "vp9: Use nonrd_pick_partition on scene-cut, for speed 5 vbr mode."

8 years agofdct8x8_test: fix unsigned overflow
James Zern [Thu, 9 Jun 2016 00:33:34 +0000 (17:33 -0700)]
fdct8x8_test: fix unsigned overflow

the difference between src and dst will be signed, the error will be
unsigned.
quiets -fsanitize=integer:
unsigned integer overflow: 4294967295 * 4294967295

Change-Id: I580813093ee46284fde7954520dfcb1188f79268

8 years agofdct4x4_test: fix unsigned overflow
James Zern [Thu, 9 Jun 2016 00:29:02 +0000 (17:29 -0700)]
fdct4x4_test: fix unsigned overflow

the difference between src and dst will be signed, the error will be
unsigned.
quiets -fsanitize=integer:
unsigned integer overflow: 4294967295 * 4294967295

Change-Id: I502fd707823c4faaa7f587c9cc0312f057e04904

8 years agovp9: Use nonrd_pick_partition on scene-cut, for speed 5 vbr mode.
Marco [Wed, 8 Jun 2016 20:03:29 +0000 (13:03 -0700)]
vp9: Use nonrd_pick_partition on scene-cut, for speed 5 vbr mode.

On scene-cut detected frames (i.e., high_source_sad = 1), use
nonrd_pick_partition (over choose_part + select_part), as
the nonrd_pick partitioning is generally better.

Small positive increase in metrics on ytlive set (~0.5 - 1%).
Negligle overall speed decrease, as its only used on scene-cut frames.

Only affects 1 pass vbr mode, speed = 5.

Change-Id: I07c89cbdc75f5bb16eb8e0e2773ead0980d2de5c

8 years agovp9: Reduce overshoot factor for setting longer gf interval.
Marco [Wed, 8 Jun 2016 22:13:52 +0000 (15:13 -0700)]
vp9: Reduce overshoot factor for setting longer gf interval.

Only affects 1 pass vbr mode.

Change-Id: Ifd7ff3771eabe322a371b35b159cace6baa3b070

8 years agoMerge "Refactor probability savings search."
Alex Converse [Wed, 8 Jun 2016 17:49:52 +0000 (17:49 +0000)]
Merge "Refactor probability savings search."

8 years agoMerge "Revert "remove vp9_diamond_search_sad_avx.c""
James Zern [Wed, 8 Jun 2016 02:56:00 +0000 (02:56 +0000)]
Merge "Revert "remove vp9_diamond_search_sad_avx.c""

8 years agoMerge "Avoid a potential assertion fail in optimize_b()"
Hui Su [Wed, 8 Jun 2016 00:33:48 +0000 (00:33 +0000)]
Merge "Avoid a potential assertion fail in optimize_b()"

8 years agoRevert "remove vp9_diamond_search_sad_avx.c"
Scott LaVarnway [Wed, 8 Jun 2016 00:21:01 +0000 (17:21 -0700)]
Revert "remove vp9_diamond_search_sad_avx.c"

This reverts commit be12fefa4b7d224e9f39275a6bb4fab01b8bae3b
and commit 057c1c4034ba5b9bf360c5c1f600ebc6d0718c3a.

Also, the mismatch between the avx version and the
c version has been fixed.

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

For a rt encode using 1080p@60fps material, up to 11% performance
improvement overall was seen.

Change-Id: Icd1f216209ebc6fc0b8da885f32f356fa4355ed0

8 years agoAvoid a potential assertion fail in optimize_b()
hui su [Tue, 7 Jun 2016 22:45:04 +0000 (15:45 -0700)]
Avoid a potential assertion fail in optimize_b()

The eob of a block is not perperly set when skip_recode is true,
thus triggering assert(eob <= default_eob) to fail.

Change-Id: Ifecbe33dce2dc4903e0a80bd384dc09bf0dd8a44

8 years agoMerge "ivfdec: tolerate invalid framerates (2)"
James Zern [Tue, 7 Jun 2016 22:39:49 +0000 (22:39 +0000)]
Merge "ivfdec: tolerate invalid framerates (2)"

8 years agoMerge "vp9: Replace the avg_size_inter metric, for 1 pass vbr."
Marco Paniconi [Tue, 7 Jun 2016 22:27:33 +0000 (22:27 +0000)]
Merge "vp9: Replace the avg_size_inter metric, for 1 pass vbr."

8 years agoMerge changes I999ef597,Ic6dc9f53
Johann Koenig [Tue, 7 Jun 2016 21:43:55 +0000 (21:43 +0000)]
Merge changes I999ef597,Ic6dc9f53

* changes:
  configure: Add -mstackrealign flags to CFLAGS on OS/2
  vpx: Add OS/2-specific threading codes

8 years agovp9: Replace the avg_size_inter metric, for 1 pass vbr.
Marco [Mon, 6 Jun 2016 22:11:08 +0000 (15:11 -0700)]
vp9: Replace the avg_size_inter metric, for 1 pass vbr.

Code cleaup, use existing rolling_actual/target metrics instead,
set threshold to get same/similar effect.

Little/no change in metrics on ytlive set.

Change-Id: I74f3c3d0a143a9cf20dc9c3dee54c0f7e6a97a51

8 years agovp9: Small ajustment to settings gf_interval, 1 pass vbr.
Marco [Mon, 6 Jun 2016 18:42:09 +0000 (11:42 -0700)]
vp9: Small ajustment to settings gf_interval, 1 pass vbr.

Add a max condition and lower the min value.

No change in behavior (metrics for yt live set) for the
default min/max_gf_interval=4/16 settings.
Small positive change when min/max_gf_interval=7/16
(for 60fps clips on ytlive set).

Change-Id: I1c1d72425c86c69419ea43fb9730130e81062f91

8 years agoMerge "Move range checks into WRAPLOW"
Debargha Mukherjee [Mon, 6 Jun 2016 16:28:23 +0000 (16:28 +0000)]
Merge "Move range checks into WRAPLOW"

8 years agoivfdec: tolerate invalid framerates (2)
James Zern [Sat, 4 Jun 2016 01:04:54 +0000 (18:04 -0700)]
ivfdec: tolerate invalid framerates (2)

add an upper bound to the framerate denominator above which 30fps will
be reported; fixes warning in corrupt / fuzzed files

Change-Id: I46a6a6f34ab756535cd009fe12273d83dcc1e9f1

8 years agoMerge changes If31d36c8,I10b947e7
James Zern [Sat, 4 Jun 2016 00:56:06 +0000 (00:56 +0000)]
Merge changes If31d36c8,I10b947e7

* changes:
  vpx_dsp,add_noise: remove mmx implementation
  vpx_dsp: remove mmx variance implementations

8 years agoMerge "Fix Visual Studio build failure in filter_selectively_vert_row2() calls"
James Zern [Fri, 3 Jun 2016 20:07:47 +0000 (20:07 +0000)]
Merge "Fix Visual Studio build failure in filter_selectively_vert_row2() calls"