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

7 years agovp9: Set short circuit to level 3 for VGA for speed 8.
Jerome Jiang [Wed, 4 Jan 2017 19:22:51 +0000 (11:22 -0800)]
vp9: Set short circuit to level 3 for VGA for speed 8.

vp9: Set short circuit to level 3 for VGA for speed 8. Also change the
threshold_32x32 to 5/8*thresholds[1] to improve quality regression
caused to VGA clips.

Change-Id: Ia1590e91e7cb22be78d5b85013387bb1be4272e3

7 years agoMerge "vp9: 1 pass cbr: allow noise estimation down to 360p."
Marco Paniconi [Wed, 4 Jan 2017 17:24:08 +0000 (17:24 +0000)]
Merge "vp9: 1 pass cbr: allow noise estimation down to 360p."

7 years agovp9: 1 pass cbr: allow noise estimation down to 360p.
Marco [Wed, 4 Jan 2017 00:01:05 +0000 (16:01 -0800)]
vp9: 1 pass cbr: allow noise estimation down to 360p.

Also adjust some thresholds for noise level setting.

Change-Id: I7e03d7057ef2061c9447728deb9c6aff5d3da4b7

7 years agovp9: SVC unittests: fix to use y4m source.
Marco [Wed, 21 Dec 2016 20:53:51 +0000 (12:53 -0800)]
vp9: SVC unittests: fix to use y4m source.

Comment out check on buffer underrun, as it currently fails
on some of the svc tests.

Also cast the update of bits_in_buffer_model_, as this can
go negative now due to the buffer underrun.
This fixes the issue in #1352.

BUG=webm:1350
BUG=webm:1352

Change-Id: Ibd4ef23921daf09e5c15b000aca904aa4573599c

7 years agoMerge "Fix for out of range motion vector bug in joint motion search"
Yunqing Wang [Tue, 3 Jan 2017 17:46:15 +0000 (17:46 +0000)]
Merge "Fix for out of range motion vector bug in joint motion search"

7 years agoFix for out of range motion vector bug in joint motion search
Ranjit Kumar Tulabandu [Wed, 21 Dec 2016 09:42:17 +0000 (15:12 +0530)]
Fix for out of range motion vector bug in joint motion search

Clamped the initial mv in vp9_refining_search_8p_c.

BUG=webm:1354

Change-Id: I47d302b350937e3e6e52e95c983b5fb0b4c64fba

7 years agoMerge "Make sub-pixel mv search's return value consistent with the return type"
Yunqing Wang [Thu, 29 Dec 2016 19:16:00 +0000 (19:16 +0000)]
Merge "Make sub-pixel mv search's return value consistent with the return type"

7 years agoMerge "Bug fix to avoid random crashes during ARNR filtering"
Yunqing Wang [Thu, 29 Dec 2016 17:24:24 +0000 (17:24 +0000)]
Merge "Bug fix to avoid random crashes during ARNR filtering"

7 years agoMerge "Remove superfluous conditional on 'shortcut'"
Gabriel Marin [Thu, 29 Dec 2016 06:03:43 +0000 (06:03 +0000)]
Merge "Remove superfluous conditional on 'shortcut'"

7 years agoClean DC only idct NEON intrinsics
Linfeng Zhang [Wed, 28 Dec 2016 21:51:44 +0000 (13:51 -0800)]
Clean DC only idct NEON intrinsics

BUG=webm:1301

Change-Id: Iffc83854218460b3f687f3774e71d45b552382a5

7 years agoAdd high bitdepth 8x8 idct NEON intrinsics
Linfeng Zhang [Wed, 28 Dec 2016 00:28:53 +0000 (16:28 -0800)]
Add high bitdepth 8x8 idct NEON intrinsics

BUG=webm:1301

Change-Id: I56e3bc3aab9214e2debac93796389a7194991084

7 years agoMake sub-pixel mv search's return value consistent with the return type
Yunqing Wang [Tue, 27 Dec 2016 19:52:39 +0000 (11:52 -0800)]
Make sub-pixel mv search's return value consistent with the return type

For out-of-range cases, returned UINT_MAX instead of INT_MAX in the
sub-pixel mv search to be consistent with the "uint32_t" return type.

Change-Id: I8e206d771228c13d89bafbbe9f14722c8ecc6a7a

7 years agoBug fix to avoid random crashes during ARNR filtering
Ranjit Kumar Tulabandu [Wed, 23 Nov 2016 13:16:44 +0000 (18:46 +0530)]
Bug fix to avoid random crashes during ARNR filtering

The function 'vp9_find_best_sub_pixel_tree_pruned_more' is modified
to return INT_MAX for handling invalid MV cases from UINT32_MAX.

yunqingwang:
patch 3: rebased on top of the tree.
patch 4: The return type of vp9_find_best_sub_pixel_tree* was changed
to uint32_t to fix ubsan warnings. Changing UINT_MAX back to INT_MAX
was not quite right. Patch 4 modified vp9_temporal_filter.c to accept
uint32_t.
(Note: Inconsistency exists in vp9_find_best_sub_pixel_tree*, which
will be fixed in a separate CL.)

Change-Id: Ib1a79dc2aa41ea6335c21669c76883cdbb7e0535

7 years agoMerge "Clean idct 8x8 neon functions"
Linfeng Zhang [Tue, 27 Dec 2016 17:59:27 +0000 (17:59 +0000)]
Merge "Clean idct 8x8 neon functions"

7 years agoRevert "vp9: SVC unittests: fix to use y4m source."
James Zern [Fri, 23 Dec 2016 22:10:13 +0000 (14:10 -0800)]
Revert "vp9: SVC unittests: fix to use y4m source."

This reverts commit f0b491a52405abb1b3dbb6b2c74dd6a4c7a7ddb1.

This change results in unsigned integer overflows (as reported by
-fsanitize=integer) in datarate_test.cc,
for many of --gtest_filter=VP9/DatarateOnePassCbrSvc.OnePassCbrSvc*:
unsigned integer overflow: 167198 - 185560 cannot be represented in type
'unsigned long'

As the encoder didn't change, but the input with the change to
(correctly) use Y4mVideoSource, this revert is merely masking the issue.

BUG=webm:1352

Change-Id: Iecd9a6c83b3fca67c566732a5c92d36193cc2060

7 years agoFix compile warnings for target=armv7-android-gcc
Jerome Jiang [Wed, 21 Dec 2016 00:49:42 +0000 (16:49 -0800)]
Fix compile warnings for target=armv7-android-gcc

Fix compile warnings about implicit type conversion for
target=armv7-android-gcc in vpxenc.c.

BUG=webm:1348

Change-Id: I9fbabd843512f2a1a09f4bb934cd091e834eed9c

7 years agoMerge "vp9: SVC unittests: fix to use y4m source."
Marco Paniconi [Thu, 22 Dec 2016 17:26:41 +0000 (17:26 +0000)]
Merge "vp9: SVC unittests: fix to use y4m source."

7 years agolibs.mk/stress.sh,curl: set --retry to 1
James Zern [Thu, 22 Dec 2016 13:20:55 +0000 (08:20 -0500)]
libs.mk/stress.sh,curl: set --retry to 1

provide some resilience for transient errors

Change-Id: I8db3d4eb5ef3cccc235a8c4c0052199c0ce23a27

7 years agovp9: SVC unittests: fix to use y4m source.
Marco [Wed, 21 Dec 2016 20:53:51 +0000 (12:53 -0800)]
vp9: SVC unittests: fix to use y4m source.

Comment out check on buffer underrun, as it currently fails
on some of the svc tests.

BUG=webm:1350

Change-Id: I73c88b800cdcc06bd2f900f7b7e2a5fd08248065

7 years agoClean idct 8x8 neon functions
Linfeng Zhang [Wed, 21 Dec 2016 22:24:17 +0000 (14:24 -0800)]
Clean idct 8x8 neon functions

BUG=webm:1301

Change-Id: I05f47dca1fddc155c8396e627cfccf6449677307

7 years agovp9: 1 pass vbr: Skip find_predictors in pickmode when source is altref.
Marco [Fri, 16 Dec 2016 00:10:30 +0000 (16:10 -0800)]
vp9: 1 pass vbr: Skip find_predictors in pickmode when source is altref.

When source frame is altref, we only do zero-mv mode, so we can skip
the find_predictors(). No change in compression.
Small speed gain, ~1%.

Only affects 1 pass vbr with lookhead altref, for ytlive with
the macro flag USE_ALTREF_FOR_ONE_PASS on.

Change-Id: I9318c5da8521f017bf54919cd652438b3a6313d1

7 years agoMerge "vp9; Fix to unitest for high noise."
Marco Paniconi [Wed, 21 Dec 2016 19:38:00 +0000 (19:38 +0000)]
Merge "vp9; Fix to unitest for high noise."

7 years agovp9; Fix to unitest for high noise.
Marco [Wed, 21 Dec 2016 18:19:44 +0000 (10:19 -0800)]
vp9; Fix to unitest for high noise.

Source if y4m, and fix comment.

Change-Id: I1eb84977d42dd0f9009c276b56b3fdb03949bfc2

7 years agoMerge "vp9: Add datarate test for denoiser, for high noise case."
Marco Paniconi [Wed, 21 Dec 2016 03:56:10 +0000 (03:56 +0000)]
Merge "vp9: Add datarate test for denoiser, for high noise case."

7 years agovp9: Add datarate test for denoiser, for high noise case.
Marco [Mon, 19 Dec 2016 22:07:49 +0000 (14:07 -0800)]
vp9: Add datarate test for denoiser, for high noise case.

Also breakout the denoiser tests, as the denoiser only
runs for real-time speed >=5.

Change-Id: I921b785860c35e9d1ebfad0833673a98490186c2