platform/upstream/libvpx.git
7 years agoAggressive VBR method.
paulwilkins [Thu, 5 Jan 2017 12:35:53 +0000 (12:35 +0000)]
Aggressive VBR method.

VBR method that allows a wider Q range for the first normal frame
in each ARF group and then centers the min - max range for the rest of
the arf group on the chosen Q value for that first frame.

This allows for quite rapid adjustment of the active Q range even if the
initial estimate is poor.

In some cases where the ARF frames themselves are tending to
undershoot but the normal frames are overshooting this can still give
net undershoot. This can be corrected by allowing a larger Q delta for
arf frames but is usually is a sign that the allocation to the arfs was to
high.

Change-Id: Icec87758925d8f7aeb2dca29aac0ff9496237469

7 years agoMerge "highbd x86: consolidate tran_low_t conversions"
Johann Koenig [Tue, 7 Feb 2017 02:49:58 +0000 (02:49 +0000)]
Merge "highbd x86: consolidate tran_low_t conversions"

7 years agovp9: speed 8: Tune threshold of ac skip and partitioning.
Jerome Jiang [Fri, 3 Feb 2017 01:51:01 +0000 (17:51 -0800)]
vp9: speed 8: Tune threshold of ac skip and partitioning.

Threshold for partitioning only affects VGA and lower res.
0.07% quality regression is observed in borg tests on rtc_derf
and 0.2% regression on rtc.
5.6% speed up for low res and 6.8% for VGA on Nexus 6.

Change-Id: If85a2919b48c991de66059c90f32ed06980452be

7 years agohighbd x86: consolidate tran_low_t conversions
Johann [Thu, 2 Feb 2017 22:17:26 +0000 (14:17 -0800)]
highbd x86: consolidate tran_low_t conversions

Create new helper files specifically for converting tran_low_t types.

Change-Id: I7c4c458ef910f3b3d10a3cfbf9df4de7682fd905

7 years agoMerge "Changes to facilitate multi-threading of encoding stage"
Yunqing Wang [Sat, 4 Feb 2017 01:02:29 +0000 (01:02 +0000)]
Merge "Changes to facilitate multi-threading of encoding stage"

7 years agoFix visual studio build failure
Yunqing Wang [Fri, 3 Feb 2017 16:29:21 +0000 (08:29 -0800)]
Fix visual studio build failure

Fixed the following issue.
..\test\vp9_ethread_test.cc(69): warning C4805: '|=' : unsafe mix of type 'bool' and type 'int' in operation [C:\src\buildbot\test-libvpx\tests\dveCPjwhBE\.build-x86_64-win64-vs10\test_libvpx.vcxproj]
..\test\vp9_ethread_test.cc(69): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) [C:\src\buildbot\test-libvpx\tests\dveCPjwhBE\.build-x86_64-win64-vs10\test_libvpx.vcxproj]

Change-Id: I37f897cf12a0b7500d2fcbac9e4615f08a83fdb4

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 agoChanges to facilitate multi-threading of encoding stage
Ranjit Kumar Tulabandu [Thu, 2 Feb 2017 08:49:29 +0000 (14:19 +0530)]
Changes to facilitate multi-threading of encoding stage

Modified the encoding stage to have row level entry points with relevant
initializations and to access the token information at row level

Change-Id: Ife10e55a7c1a420ee906d711caf75002688d9e39

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."