platform/upstream/libvpx.git
7 years agoMerge "Add unit tests for vp9_block_error_fp."
Jerome Jiang [Thu, 2 Feb 2017 22:20:42 +0000 (22:20 +0000)]
Merge "Add unit tests for vp9_block_error_fp."

7 years agoMerge "Add SSSE3 intrinsic 8x8 inverse 2D-DCT"
Jingning Han [Thu, 2 Feb 2017 22:18:31 +0000 (22:18 +0000)]
Merge "Add SSSE3 intrinsic 8x8 inverse 2D-DCT"

7 years agoAdd unit tests for vp9_block_error_fp.
Jerome Jiang [Wed, 1 Feb 2017 04:21:55 +0000 (20:21 -0800)]
Add unit tests for vp9_block_error_fp.

BUG=webm:1365

Change-Id: I004e5cd7ca331d14b31b7fc3edeee45fce064026

7 years agoMerge "Update third_party/googletest to 1.8.0"
Johann Koenig [Thu, 2 Feb 2017 20:15:45 +0000 (20:15 +0000)]
Merge "Update third_party/googletest to 1.8.0"

7 years agoUpdate third_party/googletest to 1.8.0
Johann [Thu, 26 Jan 2017 22:34:45 +0000 (14:34 -0800)]
Update third_party/googletest to 1.8.0

Change-Id: If61137e28291f2a0911e9260eb58f234e0d8594c

7 years agoMerge "Add mips msa sum_squares_2d_i16 function"
Kaustubh Raste [Thu, 2 Feb 2017 08:09:21 +0000 (08:09 +0000)]
Merge "Add mips msa sum_squares_2d_i16 function"

7 years agoMerge "Remove neon assembly for idct 16x16 and 8x8"
Johann Koenig [Thu, 2 Feb 2017 03:25:31 +0000 (03:25 +0000)]
Merge "Remove neon assembly for idct 16x16 and 8x8"

7 years agoMerge changes I43521ad3,I013659f6
Johann Koenig [Thu, 2 Feb 2017 03:03:58 +0000 (03:03 +0000)]
Merge changes I43521ad3,I013659f6

* changes:
  satd highbd neon: use tran_low_t for coeff
  satd highbd sse2: use tran_low_t for coeff

7 years agoAdd SSSE3 intrinsic 8x8 inverse 2D-DCT
Jingning Han [Wed, 1 Feb 2017 20:19:01 +0000 (12:19 -0800)]
Add SSSE3 intrinsic 8x8 inverse 2D-DCT

The intrinsic version reduces the average cycles from 183 to 175.

Change-Id: I7c1bcdb0a830266e93d8347aed38120fb3be0e03

7 years agoMerge "Changes to facilitate row based multi-threading of ARNR filtering"
Yunqing Wang [Wed, 1 Feb 2017 22:04:14 +0000 (22:04 +0000)]
Merge "Changes to facilitate row based multi-threading of ARNR filtering"

7 years agoMerge changes I374dfc08,I7e15192e,Ica414007
Johann Koenig [Wed, 1 Feb 2017 21:56:35 +0000 (21:56 +0000)]
Merge changes I374dfc08,I7e15192e,Ica414007

* changes:
  hadamard highbd ssse3: use tran_low_t for coeff
  hadamard highbd neon: use tran_low_t for coeff
  hadamard highbd sse2: use tran_low_t for coeff

7 years agoChanges to facilitate row based multi-threading of ARNR filtering
Ranjit Kumar Tulabandu [Wed, 1 Feb 2017 11:04:49 +0000 (16:34 +0530)]
Changes to facilitate row based multi-threading of ARNR filtering

Change-Id: I2fd72af00afbbeb903e4fe364611abcc148f2fbb

7 years agoMerge "vp9_rdopt: declare 'c' closer to use"
Johann Koenig [Wed, 1 Feb 2017 20:55:11 +0000 (20:55 +0000)]
Merge "vp9_rdopt: declare 'c' closer to use"

7 years agovp9_rdopt: declare 'c' closer to use
Johann [Tue, 31 Jan 2017 23:35:20 +0000 (15:35 -0800)]
vp9_rdopt: declare 'c' closer to use

Clears up static clang analysis warning regarding a dead store. Only
declare 'c' when it will be used.

Change-Id: I1ac0fc7f94bc44da63938c63cd1efcd6b95e0eb3

7 years agoMerge "deblock: annotate postproc parameters"
Johann Koenig [Wed, 1 Feb 2017 19:57:29 +0000 (19:57 +0000)]
Merge "deblock: annotate postproc parameters"

7 years agosatd highbd neon: use tran_low_t for coeff
Johann [Tue, 31 Jan 2017 00:03:05 +0000 (16:03 -0800)]
satd highbd neon: use tran_low_t for coeff

BUG=webm:1365

Change-Id: I43521ad32b6c96737a8ef2b8c327f901fd7eaf84

7 years agosatd highbd sse2: use tran_low_t for coeff
Johann [Mon, 30 Jan 2017 19:39:02 +0000 (11:39 -0800)]
satd highbd sse2: use tran_low_t for coeff

BUG=webm:1365

Change-Id: I013659f6b9fbf9cc52ab840eae520fe0b5f883fb

7 years agohadamard highbd ssse3: use tran_low_t for coeff
Johann [Tue, 31 Jan 2017 16:16:19 +0000 (08:16 -0800)]
hadamard highbd ssse3: use tran_low_t for coeff

BUG=webm:1365

Change-Id: I374dfc08732932382043905f128e928b08cb4f57

7 years agohadamard highbd neon: use tran_low_t for coeff
Johann [Tue, 31 Jan 2017 00:16:27 +0000 (16:16 -0800)]
hadamard highbd neon: use tran_low_t for coeff

BUG=webm:1365

Change-Id: I7e15192ead3a3631755b386f102c979f06e26279

7 years agohadamard highbd sse2: use tran_low_t for coeff
Johann [Fri, 27 Jan 2017 21:37:36 +0000 (13:37 -0800)]
hadamard highbd sse2: use tran_low_t for coeff

BUG=webm:1365

Change-Id: Ica414007d8412ceebfffa9e58e8416226a3fe934

7 years agoMerge "quantize ssse3: remove unused pxor"
Johann Koenig [Wed, 1 Feb 2017 19:41:41 +0000 (19:41 +0000)]
Merge "quantize ssse3: remove unused pxor"

7 years agoMake satd unit test support all bit-depth settings
Jingning Han [Fri, 27 Jan 2017 18:46:53 +0000 (10:46 -0800)]
Make satd unit test support all bit-depth settings

Turn on satd unit test for c function in both regular and high
bit-depth settings.

Change-Id: I4b0c56addfb84964ede0da3ab760fe0ee640cfd0

7 years agoUnify the hadamard transform unit test for bit-depth settings
Jingning Han [Fri, 27 Jan 2017 18:38:58 +0000 (10:38 -0800)]
Unify the hadamard transform unit test for bit-depth settings

Unify the 8x8 and 16x16 Hadamard unit test system for both 8-bit
and high bit-depth settings.

Change-Id: I53373c1d43f3ced514ad1e53e03f0fb9b25d9ead

7 years agoFix real-time compression regression in hbd mode
Jingning Han [Thu, 26 Jan 2017 23:00:04 +0000 (15:00 -0800)]
Fix real-time compression regression in hbd mode

This commit resolves the compression performance regression in
real-time encoding setting when high bit-depth mode is enabled.

The current solution temporarily disables the SIMD implementations
of vpx_satd, hadamard8x8, and hadamard16x16 in high bit-depth mode.

The commit makes the coding results bit-wise identical between
regular coding pipeline and high bit-depth at profile 0.

BUG=webm:1365

Change-Id: Icfb900821733749685370460a1a5a7e07f76f4bf

7 years agodeblock: annotate postproc parameters
Johann [Tue, 31 Jan 2017 23:05:51 +0000 (15:05 -0800)]
deblock: annotate postproc parameters

Clears a clang static analyzer warning where 'cols' is assumed to be
less than 0, preventing the for loop from executing.

The assembly already requires that the size be 8 or 16 (U/V or Y plane)
and cols is a multiple of 8.

Change-Id: Ica4612690ead1638c94cfe56b306e87f8ce644f9

7 years agoMerge "Use Buffer class for post proc tests"
Johann Koenig [Tue, 31 Jan 2017 15:28:28 +0000 (15:28 +0000)]
Merge "Use Buffer class for post proc tests"

7 years agoAdd mips msa sum_squares_2d_i16 function
Kaustubh Raste [Tue, 31 Jan 2017 12:07:10 +0000 (17:37 +0530)]
Add mips msa sum_squares_2d_i16 function

average improvement ~4x-5x

Change-Id: I8d91b71d0677009be52b412e4f52b40b98573a53

7 years agoAdd mips msa vpx_minmax_8x8 function
Kaustubh Raste [Tue, 31 Jan 2017 04:30:43 +0000 (10:00 +0530)]
Add mips msa vpx_minmax_8x8 function

average improvement ~4x-5x

Change-Id: I83aee9977534fddb8a9b80d31af646c0b6b1a8c3

7 years agoMerge "Add mips msa vpx_vector_var function"
Kaustubh Raste [Tue, 31 Jan 2017 02:34:51 +0000 (02:34 +0000)]
Merge "Add mips msa vpx_vector_var function"

7 years agoquantize ssse3: remove unused pxor
Johann [Tue, 31 Jan 2017 01:02:57 +0000 (17:02 -0800)]
quantize ssse3: remove unused pxor

Change-Id: Ifa22d77fd530827de0b32ae71810dc2213ab2937

7 years agovp9: Modify bsize condition for using model_rd_large for speed 7.
Marco [Mon, 30 Jan 2017 19:12:49 +0000 (11:12 -0800)]
vp9: Modify bsize condition for using model_rd_large for speed 7.

In non-rd pickmode: Allow speed 7 to also use larger block size in
model_rd. Small change in behavior for speed 7.

Change-Id: I8c5523e424308e8f0bc71b3f6324dec42a464cc8

7 years agoMerge "Disable multi-threading in first pass for SVC encoding"
Yunqing Wang [Sat, 28 Jan 2017 19:29:01 +0000 (19:29 +0000)]
Merge "Disable multi-threading in first pass for SVC encoding"

7 years agoAdd mips msa vpx_vector_var function
Kaustubh Raste [Fri, 27 Jan 2017 09:22:51 +0000 (14:52 +0530)]
Add mips msa vpx_vector_var function

average improvement ~4x-5x

Change-Id: I2f63ef83d816052ca8dc42421e7e9d42f7a7af6b

7 years agoMerge "vp9: Fix to pick_filter_level for highbitdepth build."
Marco Paniconi [Fri, 27 Jan 2017 22:47:44 +0000 (22:47 +0000)]
Merge "vp9: Fix to pick_filter_level for highbitdepth build."

7 years agoMerge "Add macOS Sierra support in configure"
Jerome Jiang [Fri, 27 Jan 2017 21:15:52 +0000 (21:15 +0000)]
Merge "Add macOS Sierra support in configure"

7 years agovp9: Fix to pick_filter_level for highbitdepth build.
Marco [Fri, 27 Jan 2017 18:42:29 +0000 (10:42 -0800)]
vp9: Fix to pick_filter_level for highbitdepth build.

Change-Id: I53b3fa8bfc0a0717eb1b730c29f2b70060b1b1b7

7 years agoAdd macOS Sierra support in configure
Jerome Jiang [Fri, 27 Jan 2017 01:53:00 +0000 (17:53 -0800)]
Add macOS Sierra support in configure

BUG=webm:1367

Change-Id: I3000b6d9f93ec49ca86d08151348d33d86bf0034

7 years agoDisable multi-threading in first pass for SVC encoding
Ranjit Kumar Tulabandu [Fri, 27 Jan 2017 13:37:45 +0000 (19:07 +0530)]
Disable multi-threading in first pass for SVC encoding

BUG=webm:1366

Change-Id: I204ef8496884ba7c4debe64f23f50d298b4090c3

7 years agoMerge "vp9: Modify bsize condition for using model_rd_large."
Marco Paniconi [Fri, 27 Jan 2017 15:15:36 +0000 (15:15 +0000)]
Merge "vp9: Modify bsize condition for using model_rd_large."

7 years agoMerge "vp9: Fixes for usage of skin_map for high bit depth."
Marco Paniconi [Fri, 27 Jan 2017 15:15:15 +0000 (15:15 +0000)]
Merge "vp9: Fixes for usage of skin_map for high bit depth."

7 years agovp9: Modify bsize condition for using model_rd_large.
Marco [Fri, 27 Jan 2017 04:01:41 +0000 (20:01 -0800)]
vp9: Modify bsize condition for using model_rd_large.

In non-rd pickmode: small change in behavior for speed 6 and 7.
Remove condition on HIGHBITDEPTH flag.

Change-Id: I360a13fcc313d72612fe9b918162ef4bb278cdea

7 years agoAdd mips msa vpx Integer projection row/col functions
Kaustubh Raste [Fri, 27 Jan 2017 05:41:42 +0000 (11:11 +0530)]
Add mips msa vpx Integer projection row/col functions

average improvement ~4x-5x

Change-Id: I17c41383250282b39f5ecae0197ef1df7de20801

7 years agoMerge "Add mips msa vpx satd function"
Kaustubh Raste [Fri, 27 Jan 2017 04:08:51 +0000 (04:08 +0000)]
Merge "Add mips msa vpx satd function"

7 years agovp9: Fixes for usage of skin_map for high bit depth.
Marco [Thu, 26 Jan 2017 22:09:57 +0000 (14:09 -0800)]
vp9: Fixes for usage of skin_map for high bit depth.

Also avoid noise_estimation and source_sad if use_highbitdepth is set.

Change-Id: I5fea396b8f8380ea377045d99ba22a52b92daa46

7 years agoUse Buffer class for post proc tests
Johann [Sat, 10 Dec 2016 00:51:01 +0000 (16:51 -0800)]
Use Buffer class for post proc tests

Add Buffer features for:
Setting the buffer to the output of an ACMRandom function.
Copying a buffer.
Comparing two buffers.
Printing two buffers.

Change-Id: Ib53fb602451a3abdcee279ea2b65b51fbc02d3df

7 years agoMerge "vp9: Refactor copy partitioning to reduce duplication."
Jerome Jiang [Thu, 26 Jan 2017 17:46:10 +0000 (17:46 +0000)]
Merge "vp9: Refactor copy partitioning to reduce duplication."

7 years agovp9: Refactor copy partitioning to reduce duplication.
Jerome Jiang [Wed, 25 Jan 2017 19:31:05 +0000 (11:31 -0800)]
vp9: Refactor copy partitioning to reduce duplication.

Change-Id: Ia1b3c118adec5eccbd2900c8e4b9ea6b1e3e9b7c

7 years agoMerge "Remove marco MVC in mcomp.c"
Yunqing Wang [Thu, 26 Jan 2017 00:32:54 +0000 (00:32 +0000)]
Merge "Remove marco MVC in mcomp.c"

7 years agoMerge "Fix an overflow warning in optimize_b()"
Hui Su [Wed, 25 Jan 2017 22:49:29 +0000 (22:49 +0000)]
Merge "Fix an overflow warning in optimize_b()"

7 years agovp9-denoiser: Modify skip denoising condition for small blocks.
Marco [Wed, 25 Jan 2017 19:39:02 +0000 (11:39 -0800)]
vp9-denoiser: Modify skip denoising condition for small blocks.

Skip denoising for blocks < 16x16, and for block = 16x16
skip denoising for low noise levels and width > 480 for now.
Allow for some speed-up in denoiser.

Change-Id: Ib46cefe4741962d145fa08775defea3a9c928567

7 years agoFix an overflow warning in optimize_b()
hui su [Mon, 23 Jan 2017 19:25:31 +0000 (11:25 -0800)]
Fix an overflow warning in optimize_b()

BUG=webm:1361

Change-Id: Ib840bf3b39f7b3c8c017d3488a83434e9a0f45f5

7 years agoMerge "vp9: Adjust threshold for y sad used in copying partition."
Jerome Jiang [Wed, 25 Jan 2017 17:54:14 +0000 (17:54 +0000)]
Merge "vp9: Adjust threshold for y sad used in copying partition."

7 years agoMerge "Initialize errorperbit and sabperbit in ARNR filtering"
Yunqing Wang [Wed, 25 Jan 2017 16:43:02 +0000 (16:43 +0000)]
Merge "Initialize errorperbit and sabperbit in ARNR filtering"

7 years agoMerge "Multi-threading of first pass stats collection"
Yunqing Wang [Wed, 25 Jan 2017 16:40:32 +0000 (16:40 +0000)]
Merge "Multi-threading of first pass stats collection"

7 years agovp9: Adjust threshold for y sad used in copying partition.
Jerome Jiang [Wed, 25 Jan 2017 01:20:05 +0000 (17:20 -0800)]
vp9: Adjust threshold for y sad used in copying partition.

Visual quality improvement is observed for noisy clips. Little effects
on speed tests on Nexus 6.

Change-Id: Ib38e04002220708c34102de7b5c36e9940775d89

7 years agoMulti-threading of first pass stats collection
Ranjit Kumar Tulabandu [Tue, 27 Dec 2016 13:15:43 +0000 (18:45 +0530)]
Multi-threading of first pass stats collection

(yunqingwang)
1. Rebased the patch. Incorporated recent first pass changes.
2. Turned on the first pass unit test.

Change-Id: Ia2f7ba8152d0b6dd6bf8efb9dfaf505ba7d8edee

7 years agovp9: Adjust some parameters in aq-mode=3 mode.
Marco [Tue, 24 Jan 2017 17:58:05 +0000 (09:58 -0800)]
vp9: Adjust some parameters in aq-mode=3 mode.

Increase the qp-delta, mainly for low resolutions,
excluding case of very low bitrates.

avgPSNR/SSSIM gain of ~3-5% on rtc_derf set.
Small change on rtc set.

Change-Id: Ice03d04bd0340404d1957666ef154fd64fed0606

7 years agoMerge "vp9: Copy partition using avg_source_sad."
Jerome Jiang [Tue, 24 Jan 2017 20:58:09 +0000 (20:58 +0000)]
Merge "vp9: Copy partition using avg_source_sad."

7 years agovp9: Copy partition using avg_source_sad.
Jerome Jiang [Mon, 23 Jan 2017 20:10:01 +0000 (12:10 -0800)]
vp9: Copy partition using avg_source_sad.

Affecting only speed 8.
Speed tests on Nexus 6 show 4% faster for QVGA and 2.4% faster for VGA.
Little/negligible quality regression observed on both rtc and rtc_derf sets.

Change-Id: I337f301a2db49a568d18ba7623160f7678399ae1

7 years agoMerge "Add the multi-threaded first pass encoder unit test"
Yunqing Wang [Tue, 24 Jan 2017 17:14:07 +0000 (17:14 +0000)]
Merge "Add the multi-threaded first pass encoder unit test"

7 years agoInitialize errorperbit and sabperbit in ARNR filtering
Ranjit Kumar Tulabandu [Wed, 11 Jan 2017 13:29:11 +0000 (18:59 +0530)]
Initialize errorperbit and sabperbit in ARNR filtering

(Yunqing)
This patch added the missing initialization in temporal filter.
Borg test BDRate results:
PSNR: -0.019%(lowres); -0.013%(hdres);
SSIM: -0.001%(lowres); -0.010%(hdres).
Other q values gave comparable but no better results.

Change-Id: I7ad0c18b39e6f558342688e2fe1e12fdb133ce9b

7 years agoAdd mips msa vpx satd function
Kaustubh Raste [Tue, 24 Jan 2017 05:14:22 +0000 (10:44 +0530)]
Add mips msa vpx satd function

average improvement ~4x-5x

Change-Id: If8683d636fe2606d4ca1038e28185bca53bbe244

7 years agoMerge "vp9: Adjust the threshold to set avg_source_sad_sb flag."
Jerome Jiang [Tue, 24 Jan 2017 03:43:11 +0000 (03:43 +0000)]
Merge "vp9: Adjust the threshold to set avg_source_sad_sb flag."

7 years agoRemove marco MVC in mcomp.c
Yunqing Wang [Tue, 24 Jan 2017 00:57:34 +0000 (16:57 -0800)]
Remove marco MVC in mcomp.c

Removed MVC so that mv_err_cost() is always called while calculating
the mv cost.

Change-Id: I28123e05fbfc2352128e266c985d2ab093940071

7 years agovp9: Adjust the threshold to set avg_source_sad_sb flag.
Jerome Jiang [Mon, 23 Jan 2017 23:58:15 +0000 (15:58 -0800)]
vp9: Adjust the threshold to set avg_source_sad_sb flag.

Affect only speed 8. Small/Negligible regression on rtc set.

Change-Id: I67a6b6b4008a22ed798bd980336d95bb799f64b4

7 years agoPartialIDctTest: reduce number of RunQuantCheck iterations
Johann [Mon, 23 Jan 2017 21:30:37 +0000 (13:30 -0800)]
PartialIDctTest: reduce number of RunQuantCheck iterations

This currently runs 1000 * 1000 = one *million* times which is quite
unnecessary. It's one of the slowest items in Jenkins and takes over an
hour for each of the larger transforms.

Change-Id: I01653b5e610683e1a2d778ec60cf5065562ab8db

7 years agovp9: Non-rd pickmode: fix to add ARF mode entries to THR_MODES.
Marco [Mon, 23 Jan 2017 18:53:34 +0000 (10:53 -0800)]
vp9: Non-rd pickmode: fix to add ARF mode entries to THR_MODES.

BUG=webm:1359

Change-Id: Ie0c66efa2e19d1ec9c744d14e3fa8f1e6214cdd6

7 years agovp9: Small threshold adjustment to unittest BasicRateTargeting444
Marco [Sun, 22 Jan 2017 02:12:45 +0000 (18:12 -0800)]
vp9: Small threshold adjustment to unittest BasicRateTargeting444

Due to recent change to speed >=7 from commit:219cdab.

Change-Id: I366e7750ec91119881050ff6c05849504c7959e8

7 years agoMerge "Add mips msa vpx hadamard functions"
Kaustubh Raste [Sat, 21 Jan 2017 03:16:38 +0000 (03:16 +0000)]
Merge "Add mips msa vpx hadamard functions"

7 years agoMerge "vp9: Add feature to use block source_sad for realtime mode."
Jerome Jiang [Fri, 20 Jan 2017 20:35:07 +0000 (20:35 +0000)]
Merge "vp9: Add feature to use block source_sad for realtime mode."

7 years agovp9: Add feature to use block source_sad for realtime mode.
Marco [Tue, 17 Jan 2017 18:39:26 +0000 (10:39 -0800)]
vp9: Add feature to use block source_sad for realtime mode.

Only for speed >= 7, and affects skipping of intra modes.
Threshold is set low for now, needs to be tuned.
Small/no difference in metrics on rtc clips.

Change-Id: If9bdbd43f08d1f80407cdd2e9e5e96780dcd2424

7 years agoAdd the multi-threaded first pass encoder unit test
Yunqing Wang [Fri, 20 Jan 2017 17:15:15 +0000 (09:15 -0800)]
Add the multi-threaded first pass encoder unit test

Added the multi-threaded first pass encoder unit test in VP9. The test is
to check if the new multi-threaded first pass encoder(namely, new-mt = 1)
still generates matching stats. In the unit test, the new-mt mode will be
turned on once the multi-threaded first pass implementation is checked in.

Change-Id: Ic21bb1a55c454f024cfd2b397a4c148cfe638218

7 years agotools_common.h: add missing ';' in generic branch
James Zern [Thu, 19 Jan 2017 23:09:20 +0000 (15:09 -0800)]
tools_common.h: add missing ';' in generic branch

missed in:
380a26112 Fix compile warnings for target=armv7-android-gcc

Change-Id: I2820fff00858a19f7dcf6e0fff189d455b7d640f

7 years agoRemove neon assembly for idct 16x16 and 8x8
Johann [Thu, 19 Jan 2017 18:07:12 +0000 (10:07 -0800)]
Remove neon assembly for idct 16x16 and 8x8

Tested using test/partial_idct_test.cc:DISABLED_Speed

Both gcc 4.9 and clang 3.8 from the r13 Android NDK offer improvements
using the intrinsics:
<function>    <clang asm> <gcc asm> <clang intrin> <gcc intrin>
idct16x16_256  1720ms      1703ms    1546ms         1554ms
idct16x16_10   1320ms      1247ms     518ms          488ms
idct16x16_1     107ms       108ms      64ms           68ms
idct8x8_64      924ms       931ms     866ms          989ms
idct8x8_12      826ms       824ms     519ms          514ms
idct8x8_1       172ms       166ms     110ms          125ms

idct8x8_64 isn't quite perfect (slight regression with gcc intrinsics)
but as a counter example idct16x16_10 goes from ~1300ms to ~500ms

On a sample clip, clang improved from 48.5 to 49fps and gcc stayed roughly
stable.

BUG=webm:1303

Change-Id: I9d4fd2b41b46ea6174a887b40a82c8e6e4769ed4

7 years agovp9: Modify usage of force_skip under low temporal variance in non-rd pickmode.
Marco [Fri, 13 Jan 2017 23:13:36 +0000 (15:13 -0800)]
vp9: Modify usage of force_skip under low temporal variance in non-rd pickmode.

For short_circuit set to level 1, skip newmv for 64x64 blocks if the
low temporal variance flag is set. Also modify threshold for 64x64 split
in variance partitioning.

Overall speed-up on noisy clips of 2-4%.
Only affect speed >= 7.

Change-Id: I384b3772007e84de6f8707e480d2ddf1fe1f907d

7 years agoAdd mips msa vpx hadamard functions
Kaustubh Raste [Thu, 19 Jan 2017 09:14:03 +0000 (14:44 +0530)]
Add mips msa vpx hadamard functions

average improvement ~4x-5x

Change-Id: I167132d894c04fa85dda8dde7906ff9c61b3a65d

7 years agovp9: Stop copying partition every a fixed number of frames.
Jerome Jiang [Fri, 13 Jan 2017 22:20:59 +0000 (14:20 -0800)]
vp9: Stop copying partition every a fixed number of frames.

Avoid quality loss when copying partition of superblock with large motions.
Maximum consecutively copied frames can be set (currently 5).

Change-Id: I11c30575514f02194c0f001444cf4021609e5049

7 years agoMerge "Add CSV per-frame stats to vpxdec."
Peter Boström [Wed, 18 Jan 2017 16:32:34 +0000 (16:32 +0000)]
Merge "Add CSV per-frame stats to vpxdec."

7 years agoMerge "vp9_cx_iface,encoder_encode: check validate_img return"
James Zern [Wed, 18 Jan 2017 07:36:53 +0000 (07:36 +0000)]
Merge "vp9_cx_iface,encoder_encode: check validate_img return"

7 years agovp9: Disable partition copy when resizing is enabled.
Jerome Jiang [Wed, 18 Jan 2017 02:18:39 +0000 (18:18 -0800)]
vp9: Disable partition copy when resizing is enabled.

Change-Id: I4fa3262e0f1c4018604c954b020ec5d1e3d1465c

7 years agoMerge "vp9: Set low variance flag when partition is copied."
Jerome Jiang [Tue, 17 Jan 2017 21:02:52 +0000 (21:02 +0000)]
Merge "vp9: Set low variance flag when partition is copied."

7 years agovp9: Set low variance flag when partition is copied.
Jerome Jiang [Fri, 13 Jan 2017 19:28:27 +0000 (11:28 -0800)]
vp9: Set low variance flag when partition is copied.

Also set the flag to 1 when exit early choosing 64x64 block
such that skipping new mv for golden works in these scenerios.

Change the size of prev_segment_id to the number of superblocks
to save memory.

Borg test shows quality regression of 0.012% on average PSNR
and 0.035% on SSIM.

Change-Id: I5014224c8617d439d35c66ece3fed9ae30b31d23

7 years agoMerge "Cygwin x86_64 support."
Johann Koenig [Tue, 17 Jan 2017 17:45:54 +0000 (17:45 +0000)]
Merge "Cygwin x86_64 support."

7 years agoCygwin x86_64 support.
Moriyoshi Koizumi [Mon, 16 Jan 2017 10:27:00 +0000 (19:27 +0900)]
Cygwin x86_64 support.

This should have been taken into account at 64347a10

Change-Id: Ie8e3ad7cbaab3e5799e04bd50f2639390b0a2428

7 years agoAdd per-frame SSIM/PSNR stats to tools/tiny_ssim.
Peter Boström [Tue, 17 Jan 2017 15:47:50 +0000 (10:47 -0500)]
Add per-frame SSIM/PSNR stats to tools/tiny_ssim.

Adds an optional output framestats.csv file that prints comparions
per-frame instead of averaged over the entire clip. It prints
per-channel and combined metrics for SSIM and PSNR.

Change-Id: Id28dfade27bc5775b59a9d83cfe8b37d1d52b686

7 years agovp9_cx_iface,encoder_encode: check validate_img return
James Zern [Sat, 14 Jan 2017 00:53:03 +0000 (16:53 -0800)]
vp9_cx_iface,encoder_encode: check validate_img return

before calling vp9_apply_encoding_flags() which may crash if the
resolution was invalid. this is the same change as:
c0523090b vp8e_encode: check validate_config return

BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1315288

Change-Id: Icd2aab322422e83d3a778fca6d7789e5000239d7

7 years agovp9: Add speed feature flag for computing average source sad.
Marco [Fri, 13 Jan 2017 19:21:33 +0000 (11:21 -0800)]
vp9: Add speed feature flag for computing average source sad.

If enabled will compute source_sad for every superblock on every frame,
prior to encoding. Off by default, only on for speed=8 when
copy_partition is set.

Change-Id: Iab7903180a23dad369135e8234b7f896f20e1231

7 years agoMerge "vp9: Adjust threshold for copy partiton, for speed=8."
Marco Paniconi [Fri, 13 Jan 2017 19:07:56 +0000 (19:07 +0000)]
Merge "vp9: Adjust threshold for copy partiton, for speed=8."

7 years agovp9: Adjust threshold for copy partiton, for speed=8.
Marco [Fri, 13 Jan 2017 18:27:51 +0000 (10:27 -0800)]
vp9: Adjust threshold for copy partiton, for speed=8.

Change-Id: I4799cb2b67d911ee385e6d6992c61633ca77e69d

7 years agoMerge "Rework 8x8 transpose SSSE3 for avg computation"
Jingning Han [Fri, 13 Jan 2017 18:25:16 +0000 (18:25 +0000)]
Merge "Rework 8x8 transpose SSSE3 for avg computation"

7 years agoMerge "Rework 8x8 transpose SSSE3 for inverse 2D-DCT"
Jingning Han [Fri, 13 Jan 2017 18:25:09 +0000 (18:25 +0000)]
Merge "Rework 8x8 transpose SSSE3 for inverse 2D-DCT"

7 years agoAdd CSV per-frame stats to vpxdec.
Peter Boström [Fri, 13 Jan 2017 12:56:43 +0000 (07:56 -0500)]
Add CSV per-frame stats to vpxdec.

Used with --framestats=file.csv. Currently prints raw codec QP (not
internal 0-63 range) and bytes per frame.

Change-Id: Ifbb90129c218dda869eaf5b810bad12a32ebd82d

7 years agoMerge "vp9: Update threshold for partition copy."
Marco Paniconi [Fri, 13 Jan 2017 06:22:52 +0000 (06:22 +0000)]
Merge "vp9: Update threshold for partition copy."

7 years agovp9: Update threshold for partition copy.
Jerome Jiang [Fri, 13 Jan 2017 01:59:22 +0000 (17:59 -0800)]
vp9: Update threshold for partition copy.

Avoid many visual artifacts. Compression quality is improved by more
than 1%. Encode speed is about 4% for QVGA and 6% for VGA faster on
android.

Change-Id: I4dd0a81429ddf7efdef1e80a191da5fb8de8e8af

7 years agoMerge remote-tracking branch 'origin/longtailedduck'
Johann [Thu, 12 Jan 2017 23:40:14 +0000 (15:40 -0800)]
Merge remote-tracking branch 'origin/longtailedduck'

7 years agoRework 8x8 transpose SSSE3 for avg computation
Jingning Han [Thu, 12 Jan 2017 23:15:14 +0000 (15:15 -0800)]
Rework 8x8 transpose SSSE3 for avg computation

Use same transpose process as inv_txfm_sse2 does.

Change-Id: I2db05f0b254628a11f621c4c09abb89501ba6d3c

7 years agoRework 8x8 transpose SSSE3 for inverse 2D-DCT
Jingning Han [Thu, 12 Jan 2017 23:06:30 +0000 (15:06 -0800)]
Rework 8x8 transpose SSSE3 for inverse 2D-DCT

Use same transpose process as inv_txfm_sse2 does.

Change-Id: Ic4827825bd174cba57a0a80e19bf458a648e7d94

7 years agoAdd decoder getters for the last quantizer.
Peter Boström [Thu, 12 Jan 2017 20:21:15 +0000 (15:21 -0500)]
Add decoder getters for the last quantizer.

To be used for frame stats output of vpxdec.

Change-Id: I0739a01bd3635c4b3fedd58f3e27363ce8fb1b1e

7 years agoRelease v1.6.1 Long Tailed Duck v1.6.1
Johann [Fri, 30 Dec 2016 00:31:22 +0000 (16:31 -0800)]
Release v1.6.1 Long Tailed Duck

Change-Id: If27447472417c7ed34238295427ddb9da0561725

7 years agoMerge "vp9: Make the denoiser work with spatial SVC."
Marco Paniconi [Thu, 12 Jan 2017 17:54:41 +0000 (17:54 +0000)]
Merge "vp9: Make the denoiser work with spatial SVC."