platform/upstream/libvpx.git
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 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 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."

7 years agoMerge "Create a class for buffers used in tests"
Johann Koenig [Thu, 12 Jan 2017 01:02:58 +0000 (01:02 +0000)]
Merge "Create a class for buffers used in tests"

7 years agoMerge "Add Y,U,V channel metrics and unweighted metrics."
Peter Boström [Wed, 11 Jan 2017 21:05:47 +0000 (21:05 +0000)]
Merge "Add Y,U,V channel metrics and unweighted metrics."

7 years agoMerge "vp9: Turn on the partition copy for speed 8. Tune threshold."
Jerome Jiang [Wed, 11 Jan 2017 20:50:42 +0000 (20:50 +0000)]
Merge "vp9: Turn on the partition copy for speed 8. Tune threshold."

7 years agoMerge "arm idct16x16: remove extra config guards"
Johann Koenig [Wed, 11 Jan 2017 20:22:27 +0000 (20:22 +0000)]
Merge "arm idct16x16: remove extra config guards"

7 years agoAdd Y,U,V channel metrics and unweighted metrics.
Peter Boström [Wed, 11 Jan 2017 17:28:03 +0000 (12:28 -0500)]
Add Y,U,V channel metrics and unweighted metrics.

Renames SSIM to VpxSSIM as an upscaled weighted SSIM metric, then prints
Y, U and V channels unweighted as well as a weighted but not scaled SSIM
score that's 8/1/1 parts Y/U/V (same as VpxSSIM).

Change-Id: Iff800cc8f145314eeb1a9b4af1e11a25bec095ca

7 years agoMerge "Rework forward 8x8 2D-DCT ssse3 implementation"
Jingning Han [Wed, 11 Jan 2017 19:28:39 +0000 (19:28 +0000)]
Merge "Rework forward 8x8 2D-DCT ssse3 implementation"

7 years agovp9: Turn on the partition copy for speed 8. Tune threshold.
Jerome Jiang [Tue, 10 Jan 2017 20:43:22 +0000 (12:43 -0800)]
vp9: Turn on the partition copy for speed 8. Tune threshold.

For speed 8, it speeds up the encoding on android by 6% for QVGA and
7.4% for VGA with the new threshold. Overall PSNR is improved by 0.667
for rtc.

Change-Id: I4a644560b32c0b5b4e9f49ffb953d000413a3732

7 years agoarm idct16x16: remove extra config guards
Johann [Wed, 11 Jan 2017 18:17:14 +0000 (10:17 -0800)]
arm idct16x16: remove extra config guards

This file is guarded by HAVE_NEON_ASM in the .mk file now.

Change-Id: I513a621c234aa90ad52e426c8ed494d8a7d4b74a

7 years agoCreate a class for buffers used in tests
Johann [Mon, 24 Oct 2016 19:17:51 +0000 (12:17 -0700)]
Create a class for buffers used in tests

Demonstrate its use with the IDCT test.

Change-Id: Idf87fe048847c180f13818fd4df916ba4500134b

7 years agoAdd "Large" label to VP9 target level tests
hui su [Wed, 11 Jan 2017 00:37:59 +0000 (16:37 -0800)]
Add "Large" label to VP9 target level tests

Also reduce the number of test frames.

Change-Id: Iea6fa93ca6b924535aef7bf8b388db4d0ec84c08

7 years agovp9: Make the denoiser work with spatial SVC.
Marco [Wed, 21 Dec 2016 22:33:21 +0000 (14:33 -0800)]
vp9: Make the denoiser work with spatial SVC.

If enabled denoiser will only denoise the top spatial layer for now.

Added unittest for SVC with denoising.

Change-Id: Ifa373771c4ecfa208615eb163cc38f1c22c6664b

7 years agoRework forward 8x8 2D-DCT ssse3 implementation
Jingning Han [Mon, 9 Jan 2017 22:00:29 +0000 (14:00 -0800)]
Rework forward 8x8 2D-DCT ssse3 implementation

This commit reworks the SSSE3 implementation of the forward 8x8
2D-DCT. It uses a cyclic rotation approach to the temporary xmm
registers. It reduces the average cycles from 158 to 154. The SSE2
version uses 169 cycles.

Change-Id: I1b79b9642aae0ed3fb3cefb5b70246e6de5d5caa

7 years agovp9: 1 pass cbr: Adjustments to usage of gf_cbr_boost and aq=3 mode.
Marco [Tue, 10 Jan 2017 00:38:49 +0000 (16:38 -0800)]
vp9: 1 pass cbr: Adjustments to usage of gf_cbr_boost and aq=3 mode.

When aq=3 mode is on and the gf_cbr_boost is set: make sure golden frame
is always refreshed, and don't incorporate segement cost in qp setting
on the boosted golden frame.

Better performance on RTC set with gf_cbr_boost on,
for example with gf_cbr_boost=50, gains from ~0.5-3%.

Change-Id: Ie811f5e4d444ff3320bd6e2c1745b2c4c09a8460

7 years agoMerge "vp9: Set less aggresive short_circuit_low_temp_var for HD at speed 8."
Jerome Jiang [Tue, 10 Jan 2017 00:51:09 +0000 (00:51 +0000)]
Merge "vp9: Set less aggresive short_circuit_low_temp_var for HD at speed 8."

7 years agovp9: Set less aggresive short_circuit_low_temp_var for HD at speed 8.
Jerome Jiang [Mon, 9 Jan 2017 23:04:13 +0000 (15:04 -0800)]
vp9: Set less aggresive short_circuit_low_temp_var for HD at speed 8.

Quality improved by 1.866 and 0.386 for two noisy clips (dark720p and
marcooffice720p), respectively.

Change-Id: Ib33a7672ae9ca53da156208f7cd13f07b5543e44

7 years agoMerge "Fix compile warnings for target=armv7-android-gcc"
Jerome Jiang [Mon, 9 Jan 2017 23:53:41 +0000 (23:53 +0000)]
Merge "Fix compile warnings for target=armv7-android-gcc"

7 years agoMerge "Refine 8-bit 16x16 idct NEON intrinsics"
James Zern [Mon, 9 Jan 2017 23:52:29 +0000 (23:52 +0000)]
Merge "Refine 8-bit 16x16 idct NEON intrinsics"

7 years agoMerge "vp9: 1 pass cbr: Fix to qp clamping when gf_cbr_boost_pct is used."
Marco Paniconi [Mon, 9 Jan 2017 23:30:32 +0000 (23:30 +0000)]
Merge "vp9: 1 pass cbr: Fix to qp clamping when gf_cbr_boost_pct is used."

7 years agovp9: Fix comment in speed features.
Marco [Mon, 9 Jan 2017 21:03:50 +0000 (13:03 -0800)]
vp9: Fix comment in speed features.

Change-Id: I65d79c06b152922d725bf559adaa508f91cd5766

7 years agovp9: 1 pass cbr: Fix to qp clamping when gf_cbr_boost_pct is used.
Marco [Mon, 9 Jan 2017 20:46:01 +0000 (12:46 -0800)]
vp9: 1 pass cbr: Fix to qp clamping when gf_cbr_boost_pct is used.

Avoid the qp-clamping on gf/alt frame if gf_cbr_boost_pct is set.

Change only affect CBR mode when  gf_cbr_boost_pct is set.

Change-Id: I0655ed4f2b047c8ed1ed33a070c17960ad776704

7 years agoMerge "postproc: vpx_mbpost_proc_down_neon"
Johann Koenig [Mon, 9 Jan 2017 19:53:15 +0000 (19:53 +0000)]
Merge "postproc: vpx_mbpost_proc_down_neon"

7 years agoMerge "Add mips dspr2 partial idct tests"
Johann Koenig [Mon, 9 Jan 2017 19:49:02 +0000 (19:49 +0000)]
Merge "Add mips dspr2 partial idct tests"

7 years agoMerge "Fix mips dspr2 idct32x32 functions for large coefficient input"
Johann Koenig [Mon, 9 Jan 2017 19:47:47 +0000 (19:47 +0000)]
Merge "Fix mips dspr2 idct32x32 functions for large coefficient input"

7 years agoMerge "Fix mips dspr2 idct16x16 functions for large coefficient input"
Johann Koenig [Mon, 9 Jan 2017 19:47:00 +0000 (19:47 +0000)]
Merge "Fix mips dspr2 idct16x16 functions for large coefficient input"

7 years agoMerge "Fix mips dspr2 idct8x8 functions for large coefficient input"
Johann Koenig [Mon, 9 Jan 2017 19:46:18 +0000 (19:46 +0000)]
Merge "Fix mips dspr2 idct8x8 functions for large coefficient input"

7 years agoMerge "Fix mips dspr2 idct4x4 functions for large coefficient input"
Johann Koenig [Mon, 9 Jan 2017 19:45:53 +0000 (19:45 +0000)]
Merge "Fix mips dspr2 idct4x4 functions for large coefficient input"

7 years agoMerge "Add mips dspr2 vp9 intrapred tests"
Johann Koenig [Mon, 9 Jan 2017 19:39:13 +0000 (19:39 +0000)]
Merge "Add mips dspr2 vp9 intrapred tests"

7 years agopostproc: vpx_mbpost_proc_down_neon
Johann [Thu, 22 Dec 2016 18:04:42 +0000 (10:04 -0800)]
postproc: vpx_mbpost_proc_down_neon

This was much more amenable to optimization than the across filter.
Speedup of almost 2.5x

BUG=webm:1320

Change-Id: I49acc0f9cb2e7642303df90132cbc938acade4c4

7 years agoMerge "postproc: vpx_mbpost_proc_across_ip_neon"
Johann Koenig [Mon, 9 Jan 2017 18:17:26 +0000 (18:17 +0000)]
Merge "postproc: vpx_mbpost_proc_across_ip_neon"

7 years agoMerge "vp9: 1 pass cbr mode: increase threshold for gf_cbr_boost_pct usage."
Marco Paniconi [Mon, 9 Jan 2017 17:23:12 +0000 (17:23 +0000)]
Merge "vp9: 1 pass cbr mode: increase threshold for gf_cbr_boost_pct usage."

7 years agoAdd mips dspr2 partial idct tests
Kaustubh Raste [Mon, 9 Jan 2017 12:00:16 +0000 (17:30 +0530)]
Add mips dspr2 partial idct tests

Change-Id: Idf4003ea6f9a2a42a9f26e156bee73697acb7a37

7 years agoFix mips dspr2 idct32x32 functions for large coefficient input
Kaustubh Raste [Mon, 9 Jan 2017 11:51:09 +0000 (17:21 +0530)]
Fix mips dspr2 idct32x32 functions for large coefficient input

Change-Id: If9da7099f226a27a09cc9e2899eb66a1158909d2

7 years agoFix mips dspr2 idct16x16 functions for large coefficient input
Kaustubh Raste [Mon, 9 Jan 2017 11:05:28 +0000 (16:35 +0530)]
Fix mips dspr2 idct16x16 functions for large coefficient input

Change-Id: I9be3d3d040837f658c6314606e28db8c31092a1a

7 years agoFix mips dspr2 idct8x8 functions for large coefficient input
Kaustubh Raste [Mon, 9 Jan 2017 10:52:19 +0000 (16:22 +0530)]
Fix mips dspr2 idct8x8 functions for large coefficient input

Change-Id: If011dd923bbe976589735d5aa1c3167dda1a3b61

7 years agoFix mips dspr2 idct4x4 functions for large coefficient input
Kaustubh Raste [Mon, 9 Jan 2017 09:58:30 +0000 (15:28 +0530)]
Fix mips dspr2 idct4x4 functions for large coefficient input

Change-Id: I06730eec80ca81e0b7436d26232465b79f447e89

7 years agoAdd mips dspr2 vp9 intrapred tests
Kaustubh Raste [Mon, 9 Jan 2017 08:41:57 +0000 (14:11 +0530)]
Add mips dspr2 vp9 intrapred tests

Change-Id: I6be8c59ee220af0597bc2d7213f2779ac2e88db9

7 years agoRefine 8-bit 16x16 idct NEON intrinsics
Linfeng Zhang [Sat, 7 Jan 2017 01:52:07 +0000 (17:52 -0800)]
Refine 8-bit 16x16 idct NEON intrinsics

Speed test shows 25% gain on vpx_idct16x16_256_add_neon(),
and vpx_idct16x16_10_add_neon() got trippled.

Change-Id: If8518d9b6a3efab74031297b8d40cd83c4a49541

7 years agoMerge "Add support for VP9 level targeting"
Hui Su [Sat, 7 Jan 2017 00:55:41 +0000 (00:55 +0000)]
Merge "Add support for VP9 level targeting"

7 years agopostproc: vpx_mbpost_proc_across_ip_neon
Johann [Wed, 21 Dec 2016 22:19:25 +0000 (14:19 -0800)]
postproc: vpx_mbpost_proc_across_ip_neon

The speedup is pretty poor. I would be concerned except the SSE2 is
worse:
Existing SSE2 improvement: 22%
New neon improvement: 35%

BUG=webm:1320

Change-Id: Ied598a261134aa6cbe69f96f58589d2bae17bf62

7 years agovp9: 1 pass cbr mode: increase threshold for gf_cbr_boost_pct usage.
Marco [Fri, 6 Jan 2017 23:28:21 +0000 (15:28 -0800)]
vp9: 1 pass cbr mode: increase threshold for gf_cbr_boost_pct usage.

Increase the boost threshold below which GOLDEN update will use same
rate correction factor as INTER_NORMAL.

Improves performance when gf_cbr_boost_pct is set (between 0 and 100)
in CBR mode.

Change-Id: I9f54cc18664786a100b13a416b7137ae03bd0cab

7 years agoMerge "vp9: Enable more aggresive short circuit for speed 8."
Jerome Jiang [Fri, 6 Jan 2017 22:38:39 +0000 (22:38 +0000)]
Merge "vp9: Enable more aggresive short circuit for speed 8."

7 years agoMerge "vp9: Add some controls to sample encoder: vpx_temporal_svc_encoder"
Marco Paniconi [Fri, 6 Jan 2017 22:34:49 +0000 (22:34 +0000)]
Merge "vp9: Add some controls to sample encoder: vpx_temporal_svc_encoder"

7 years agoMerge "vp9: Compute source sad for every superblock when partition copy is on."
Jerome Jiang [Fri, 6 Jan 2017 21:57:27 +0000 (21:57 +0000)]
Merge "vp9: Compute source sad for every superblock when partition copy is on."

7 years agovp9: Add some controls to sample encoder: vpx_temporal_svc_encoder
Marco [Fri, 6 Jan 2017 19:28:31 +0000 (11:28 -0800)]
vp9: Add some controls to sample encoder: vpx_temporal_svc_encoder

Add the gf boost and frame_parallel controls.
Set as default to off.

Change-Id: Id85fcb16a4fae97f51c09e9ebadb5cdcd510c2f5

7 years agovp9: Enable more aggresive short circuit for speed 8.
Jerome Jiang [Fri, 6 Jan 2017 18:06:37 +0000 (10:06 -0800)]
vp9: Enable more aggresive short circuit for speed 8.

Set short_circuit_low_temp_var to 3 for speed 8 for all res.
No strong visual difference on all clips.

Change-Id: Ia6d9a314291ab1c14d5421bbdd769974083aeb2a

7 years agoAdd support for VP9 level targeting
hui su [Fri, 2 Dec 2016 18:11:33 +0000 (10:11 -0800)]
Add support for VP9 level targeting

Constraints on encoder config:
-target_bandwidth is no larger than 80% of level bitrate limit
-target_bandwidth * (1 + max_over_shoot_pct) is no larger than
88% of level bitrate limit
-min_gf_interval is no smaller than level limit
-tile_columns is no larger than level limit

Constraints on rate control:
-current frame size plus previous three frames' size is no larger
than the CPB level limit
-current frame size is no larger than 50%/40%/20% of the CPB
level limit if it's a key/alt-ref/other frame.

Change-Id: I84d1a2d6d6e3c82bfd533b3309ce999cfaba2c8b

7 years agovp9: Compute source sad for every superblock when partition copy is on.
Jerome Jiang [Thu, 5 Jan 2017 00:19:42 +0000 (16:19 -0800)]
vp9: Compute source sad for every superblock when partition copy is on.

The source sad could be used to copy the partition without going into
choose_partitioning function to speed up vp9 encoding. Computing source
sad takes little time. Speed test on Android and Linux shows little
encoding time gain (less than 1.4%).

Turned off for now since partition copy is turned off.

Change-Id: I61c9d5b8f22329760cb29a4ee30a7f9c232ce8d3

7 years agoMerge "Add high bitdepth 8x8 idct NEON intrinsics"
Linfeng Zhang [Fri, 6 Jan 2017 16:47:22 +0000 (16:47 +0000)]
Merge "Add high bitdepth 8x8 idct NEON intrinsics"

7 years agoMerge "Clean DC only idct NEON intrinsics"
Linfeng Zhang [Fri, 6 Jan 2017 01:16:18 +0000 (01:16 +0000)]
Merge "Clean DC only idct NEON intrinsics"