18311 Commits

Author SHA1 Message Date
Nico Weber
8c29d332c9 win: Include <intrin.h> instead of manually declaring intrinsics.
This helps clang-cl.

BUG=chromium:592745

Change-Id: I49f9b6928c91b2b43567f4336520ba4f1010d3ad
2016-06-22 14:44:47 -04:00
Yaowu Xu
ef665996ae 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
2016-06-22 17:55:14 +00:00
Zoe Liu
cb2c037c06 Remove unnecessary macros
Change-Id: Id0975947b4e7b76b2c2464905f3b9a29245946c2
2016-06-22 10:25:40 -07:00
Yue Chen
883e3b840f Merge "(Cosmetics) Remove unnecessary new parameters in obmc experiment" into nextgenv2 2016-06-22 17:22:47 +00:00
Debargha Mukherjee
78842b2870 Merge "Reinstate "Optimize wedge partition selection." without tests." into nextgenv2 2016-06-22 16:59:40 +00:00
Yue Chen
02596589e7 (Cosmetics) Remove unnecessary new parameters in obmc experiment
pred_variance in obmc experiment is equivalant to recon_variance in
baseline

Change-Id: Iba8fb9bd973898be5a0d87a507ceaf65c75bdc51
2016-06-22 06:24:32 +00:00
Jingning Han
c797e709a2 Merge "Fix uninitialized context use case in supertx and var-tx" into nextgenv2 2016-06-22 05:47:45 +00:00
Jingning Han
7272750702 Merge "Make drl support bi-directional reference frames" into nextgenv2 2016-06-22 05:47:34 +00:00
Hui Su
09d7d76b21 Merge "Remove an unnecessary if()" into nextgenv2 2016-06-22 04:10:41 +00:00
Hui Su
467bb16215 Merge "Skip optimizing larger coefficients in trellis quant module" into nextgenv2 2016-06-22 04:10:21 +00:00
James Zern
5d14586392 Merge "remove vpx_highbd_1[02]_sub_pixel_variance4x4_sse4_1" into nextgenv2 2016-06-22 03:13:31 +00:00
Jingning Han
d26815569f Fix uninitialized context use case in supertx and var-tx
This commit fixes the use of uninitialized context values in the
combination of supertx and var-tx.

Change-Id: I2d36badf5c9806ea402ce3e19515cc299e6b79e8
2016-06-22 00:46:22 +00:00
Jingning Han
c2195c5b7e Make drl support bi-directional reference frames
This commit refactors the reference frame structure used in the
dynamic motion vector referencing system, and makes it support
the bi-directional reference frames. This resolves unit test
failure (enc/dec mismatch) when both are turned on.

The compression performance (ref-mv + ext-refs) is improved by
0.2% for lowres.

Change-Id: I233624d8fccc1f69e82295f94de984ff056365dc
2016-06-21 17:39:30 -07:00
Debargha Mukherjee
997b491272 Merge "Add 1D version of vpx_sum_squares_i16" into nextgenv2 2016-06-22 00:33:18 +00:00
Alex Converse
27d3905cae Merge "Cleanup dist_block()" into nextgenv2 2016-06-22 00:16:10 +00:00
Yaowu Xu
b3933e2d3c Merge "Fix ubsan warnings: vp9/encoder/vp9_mcomp.c" 2016-06-22 00:12:58 +00:00
Yaowu Xu
87bf1a149c 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
2016-06-21 15:37:59 -07:00
hui su
9981cb8b0f Remove an unnecessary if()
The condition of this if() is always true.

Change-Id: I251715d519414d1a3d0a78eb3d025df11d913298
2016-06-21 14:56:11 -07:00
hui su
e067755930 Skip optimizing larger coefficients in trellis quant module
This achieves a few percent speed increase without hurting
compression performance.

Change-Id: I040e9bb69274f7de843bdd15926a5c924b30a731
2016-06-21 14:55:52 -07:00
Hui Su
b8ec5dcdf8 Merge "Add a hardware compatibility feature" 2016-06-21 21:33:26 +00:00
Geza Lore
135d663159 Reinstate "Optimize wedge partition selection." without tests.
This reinstates commit efda2831e5f758b4f350679b5c55c0b9282449b0
without the tests and with fixes for 32 bit x86 builds.

Change-Id: I34be4fe1e8a67686d26ba256fd7efe0eb6a569e8
2016-06-21 20:31:50 +01:00
Geza Lore
52141c9111 Add 1D version of vpx_sum_squares_i16
Change-Id: I1829f931749a26aec38c896b609c5a2640d6dfaf
2016-06-21 20:31:50 +01:00
Debargha Mukherjee
7f929d292d Merge "Always respect tile bounds in calc_target_weighted_pred." into nextgenv2 2016-06-21 18:33:40 +00:00
Tom Finegan
cb1d152719 Merge "Disable neon for Xcode versions < v6.3." 2016-06-21 17:53:54 +00:00
hui su
a5af392aae 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
2016-06-21 10:33:57 -07:00
Debargha Mukherjee
db328a6b18 Merge "Fix false uninitialized warnings (GCC 5+)." into nextgenv2 2016-06-21 17:12:13 +00:00
Geza Lore
78bd14b38d Always respect tile bounds in calc_target_weighted_pred.
The tile boundaries should now be respected even between tile rows.
regardless of whether ext-tile is used or not.

Change-Id: I5a39fd274451114a4264215f97f12be2c908016d
2016-06-21 17:56:29 +01:00
Jingning Han
02b8212be8 Merge "Handle two identical states in the trellis chain" into nextgenv2 2016-06-21 16:04:31 +00:00
Geza Lore
7de2ba3eae Fix false uninitialized warnings (GCC 5+).
Change-Id: Ia00c754ddaf22bb7f1dfcd20106db6293bf4b070
2016-06-21 12:54:17 +01:00
Jingning Han
5223a4b405 Handle two identical states in the trellis chain
When the next two states are identical, skip repeated cost table
fetch and multiplication operations. This makes the trellis unit
about 5% faster.

Change-Id: I0dbf7ad0a5732044e4e45dd59e9431a251c678f2
2016-06-20 16:59:28 -07:00
Yue Chen
474ea305ea Merge "Fix RDO issue of obmc + speed feature fast_inter_tx_type_search" into nextgenv2 2016-06-20 21:57:24 +00:00
Yaowu Xu
b4aa5c9408 Merge "Make type conversion explicit" 2016-06-20 21:34:41 +00:00
Yi Luo
f1a50db2d1 Merge "Convolution horizontal filter SSSE3 optimization" into nextgenv2 2016-06-20 20:06:02 +00:00
Yaowu Xu
aee577b691 Merge "Fix ubsan warning: vp9/encoder/vp9_encodeframe.c" 2016-06-20 19:33:33 +00:00
Yaowu Xu
543ea3eb3e Make type conversion explicit
This fixes MSVC warnings.

Change-Id: I675d8486230b2b74d7973d95720a4995c4750282
2016-06-20 12:05:29 -07:00
Yi Luo
229690a95c Convolution horizontal filter SSSE3 optimization
- Apply signal direction/4-pixel vertical/8-pixel vertical
  parallelism.
- Add unit test to verify the bit exact result.
- Overall encoding time improves ~24% on Xeon E5-2680 CPU.

Change-Id: I104dcbfd43451476fee1f94cd16ca5f965878e59
2016-06-20 11:10:30 -07:00
Jingning Han
6929ab0ba6 Merge "Refactor optimize_b for speed performance" 2016-06-20 16:48:22 +00:00
Jingning Han
85786a8ddb Merge "Port optimize_b speed-up from vp10" 2016-06-20 16:48:02 +00:00
Jingning Han
a5bcf03030 Merge "Use precise rate estimate for zero_token" into nextgenv2 2016-06-20 16:47:33 +00:00
Jingning Han
899a989d3a Merge "Optimize the use case of token_cost table" into nextgenv2 2016-06-20 16:47:20 +00:00
Debargha Mukherjee
dc5431ad4b Merge "Turn on AqSegment tests for VP10" into nextgenv2 2016-06-20 16:47:13 +00:00
Yue Chen
1273c39c03 Fix RDO issue of obmc + speed feature fast_inter_tx_type_search
Change-Id: I86a967ad2d824ca7877626eed9eb11f0e057b22d
2016-06-20 16:38:12 +00:00
Yue Chen
b37c279ab5 Merge "Re-enable ActiveMapTest for VP10" into nextgenv2 2016-06-20 16:37:53 +00:00
Johann Koenig
188420f4fd Merge "Configuration: Use 'is_in' instead of echo | grep" 2016-06-19 23:51:33 +00:00
Johann
7a3d48e56f Fix iosbuild.sh: outdated reference to ios-version.sh
File was removed in b29ebfe91c643b4bab1f24c2b55bf0a5a83cb825 but a
reference was missed.

Change-Id: I7a3d81ab196a70cb5691331705f956cc7dc9bb2a
2016-06-19 16:49:00 -07:00
Jingning Han
86b7d39a83 Merge "Fix unit test failure in obmc exp" into nextgenv2 2016-06-18 22:38:53 +00:00
James Zern
4d9e876b44 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
2016-06-18 11:05:55 -07:00
James Zern
d0de89a12a remove vpx_highbd_1[02]_sub_pixel_variance4x4_sse4_1
these cause ASan errors VP10/EndToEndTestLarge.EndtoEndPSNRTest

BUG=webm:1242

Change-Id: I0334e3b255b14e18f61970c3721ae748dc79727b
2016-06-17 19:46:20 -07:00
Jingning Han
887f020691 Fix unit test failure in obmc exp
Properly restore the rate cost in the inner search loop of obmc
prediction. This avoids unexpected encoding behavior. It fixes
the unit test failure in obmc experiment:

AltRefForcedKeyTestLarge.Frame1IsKey/2

Change-Id: I667b219dfcf2f2c63d9d984900ed3cfd10c354bd
2016-06-17 17:44:03 -07:00
Jingning Han
9e185ed177 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
2016-06-17 17:41:09 -07:00