platform/upstream/libvpx.git
7 years agoRemove an unused first pass statistic
Yunqing Wang [Wed, 7 Dec 2016 18:00:36 +0000 (10:00 -0800)]
Remove an unused first pass statistic

One of the first pass stats "new_mv_count" is no longer used in VP9,
and is removed. This also makes it easy to implement a multi-threaded
first pass. This change doesn't affect the coding performance, which
has been verified by borg tests.

Change-Id: I4c7c7bf9465fda838eb230814ef0c631c068c903

7 years agoMerge changes Ibad079f2,I7858a0a1
James Zern [Wed, 7 Dec 2016 01:40:28 +0000 (01:40 +0000)]
Merge changes Ibad079f2,I7858a0a1

* changes:
  enable vpx_idct16x16_10_add_neon in hbd builds
  idct16x16,NEON: rm output_stride from pass1 fns

7 years agoenable vpx_idct16x16_10_add_neon in hbd builds
James Zern [Thu, 24 Nov 2016 04:48:00 +0000 (20:48 -0800)]
enable vpx_idct16x16_10_add_neon in hbd builds

BUG=webm:1294

Change-Id: Ibad079f25e673d4f5181961896a8a8333a51e825

7 years agoidct16x16,NEON: rm output_stride from pass1 fns
James Zern [Wed, 30 Nov 2016 03:47:50 +0000 (19:47 -0800)]
idct16x16,NEON: rm output_stride from pass1 fns

vpx_idct16x16_256_add_neon_pass1, vpx_idct16x16_10_add_neon:
this was a constant 8 in all cases meaning the results are stored
contiguously, this allows the number of stores to be reduced.

Change-Id: I7858a0a15a284883ef45c13dfd97c308df9ea09e

7 years agoRefine 8-bit 8x8 idct NEON intrinsics
Linfeng Zhang [Wed, 16 Nov 2016 21:22:50 +0000 (13:22 -0800)]
Refine 8-bit 8x8 idct NEON intrinsics

Change-Id: I4ec4ad1928ec2ed87f596f52f097bc52065278dd

7 years agoCheck in vpx_lpf_vertical_4_dual_neon() assembly
Linfeng Zhang [Fri, 7 Oct 2016 00:01:30 +0000 (17:01 -0700)]
Check in vpx_lpf_vertical_4_dual_neon() assembly

This replaces its C version.

Change-Id: Ie39e9324305fdc0fff610ced608a037e44a85a1a

7 years agoMerge changes I4afc130e,Iaa64d23f
James Zern [Fri, 2 Dec 2016 04:01:27 +0000 (04:01 +0000)]
Merge changes I4afc130e,Iaa64d23f

* changes:
  Add high bitdepth 4x4 idct NEON intrinsics
  Update idct x86 intrinsics to not use saturated add and sub

7 years agoAdd high bitdepth 4x4 idct NEON intrinsics
Linfeng Zhang [Tue, 8 Nov 2016 23:20:18 +0000 (15:20 -0800)]
Add high bitdepth 4x4 idct NEON intrinsics

Change-Id: I4afc130effa05b8be2e9f982967216b1beb2ce4b

7 years agoUpdate idct x86 intrinsics to not use saturated add and sub
Linfeng Zhang [Wed, 23 Nov 2016 00:59:17 +0000 (16:59 -0800)]
Update idct x86 intrinsics to not use saturated add and sub

Change-Id: Iaa64d23fdb45ca1f235b0ea57e614516e548eca4

7 years agoidct16x16,NEON,cosmetics: normalize fn signatures
James Zern [Thu, 24 Nov 2016 01:21:26 +0000 (17:21 -0800)]
idct16x16,NEON,cosmetics: normalize fn signatures

+ remove unused parameters from vpx_idct16x16_10_add_neon_pass2

Change-Id: Ie5912a4abdd308fab589380bca054a2e7234a2c4

7 years agoMerge changes Ide6d3994,I164cfcbe
James Zern [Tue, 29 Nov 2016 00:12:45 +0000 (00:12 +0000)]
Merge changes Ide6d3994,I164cfcbe

* changes:
  enable vpx_idct32x32_135_add_neon in hbd builds
  idct_neon: rename load_tran_low_to_s16 -> ...s16q

7 years agoMerge "build/make/Android.mk: correct rtcd template var refs"
James Zern [Mon, 28 Nov 2016 23:39:37 +0000 (23:39 +0000)]
Merge "build/make/Android.mk: correct rtcd template var refs"

7 years agoMerge "svc_test: fix two warnings"
James Bankoski [Mon, 28 Nov 2016 22:27:25 +0000 (22:27 +0000)]
Merge "svc_test: fix two warnings"

7 years agosvc_test: fix two warnings
Jim Bankoski [Mon, 28 Nov 2016 20:53:39 +0000 (12:53 -0800)]
svc_test: fix two warnings

Use of possibly uninitialized variable and missing test initializer.

Change-Id: I2192c81c39ef4239cc11a309850c0ee8781ef17e

7 years agoCosmetic changes to variable names in deblocker tests.
Jerome Jiang [Mon, 28 Nov 2016 18:08:12 +0000 (10:08 -0800)]
Cosmetic changes to variable names in deblocker tests.

Change kExpectedOutput to expected_output in function parameters in
the deblocker test.

Change-Id: I5baf8d1285ac47922950887406c7aa519ddc512a

7 years agobuild/make/Android.mk: correct rtcd template var refs
James Zern [Fri, 25 Nov 2016 01:51:10 +0000 (17:51 -0800)]
build/make/Android.mk: correct rtcd template var refs

the expansion of findstring and rtcd_dep_template_CONFIG_ASM_ABIS needs
to be deferred until the block is parsed as makefile syntax rather than
eval time where rtcd_dep_template_CONFIG_ASM_ABIS will be unset. this
ensures vpx_config.asm is properly created.

Change-Id: I7c38c6c082da78397936467482789dd468adc316

7 years agoMerge changes I6b4cd56e,I88f91b92
James Zern [Thu, 24 Nov 2016 07:22:04 +0000 (07:22 +0000)]
Merge changes I6b4cd56e,I88f91b92

* changes:
  Android.mk,armv7: fix idct_neon.asm.S creation
  build/make/Android.mk: set/use qexec appropriately

7 years agoenable vpx_idct32x32_135_add_neon in hbd builds
James Zern [Wed, 23 Nov 2016 01:47:38 +0000 (17:47 -0800)]
enable vpx_idct32x32_135_add_neon in hbd builds

BUG=webm:1294

Change-Id: Ide6d3994fe01c4320c9d143e6d059b49568048e4

7 years agoidct_neon: rename load_tran_low_to_s16 -> ...s16q
James Zern [Sat, 19 Nov 2016 04:25:17 +0000 (20:25 -0800)]
idct_neon: rename load_tran_low_to_s16 -> ...s16q

BUG=webm:1294

Change-Id: I164cfcbe9bc4511d1d04af9206cf351a0ec2957b

7 years agoMerge changes Icc4ead05,Ib019964b,I3b5fd3b3,Ieedadee2
James Zern [Thu, 24 Nov 2016 03:31:25 +0000 (03:31 +0000)]
Merge changes Icc4ead05,Ib019964b,I3b5fd3b3,Ieedadee2

* changes:
  Update vpx_idct4x4_16_add_neon() to pass SingleExtremeCoeff test
  Refine 8-bit 4x4 idct NEON intrinsics
  Add idct speed test.
  Update partial_idct_test.cc to support high bitdepth

7 years agoMerge "Change C/MSA post proc to match SSE2."
Jerome Jiang [Thu, 24 Nov 2016 01:56:34 +0000 (01:56 +0000)]
Merge "Change C/MSA post proc to match SSE2."

7 years agoMerge "Cover more filter levels in unit tests for post proc."
Jerome Jiang [Thu, 24 Nov 2016 01:56:22 +0000 (01:56 +0000)]
Merge "Cover more filter levels in unit tests for post proc."

7 years agoAndroid.mk,armv7: fix idct_neon.asm.S creation
James Zern [Thu, 24 Nov 2016 00:49:19 +0000 (16:49 -0800)]
Android.mk,armv7: fix idct_neon.asm.S creation

force this to be created before any other .S files. this change
additionally removes the file from the source list as it doesn't need to
be compiled on its own.

Change-Id: I6b4cd56ef6059d08f75f06fb749cddf76e0e165e

7 years agobuild/make/Android.mk: set/use qexec appropriately
James Zern [Thu, 24 Nov 2016 00:46:50 +0000 (16:46 -0800)]
build/make/Android.mk: set/use qexec appropriately

commands are echo'd when V=1; libs.mk depends on this variable as well

Change-Id: I88f91b9260f16686cfccdf6bd3f29d246521b62e

7 years agovp9: Adjust cyclic refresh parameters for low bitrates.
Marco [Tue, 22 Nov 2016 00:37:32 +0000 (16:37 -0800)]
vp9: Adjust cyclic refresh parameters for low bitrates.

Increase the motion threshold and qp-delta for segment#2 boost.
This can increase the frame-drop at low bitrates, but generally
better spatial quality.

Only affects real-time mode with aq-mode=3, at very low bitrates.

Change-Id: I5ccb784667f70d0c27d369806b93b1f93d5605d1

7 years agoMerge "use storage.googleapis for testdata download"
James Zern [Wed, 23 Nov 2016 19:27:20 +0000 (19:27 +0000)]
Merge "use storage.googleapis for testdata download"

7 years agoChange C/MSA post proc to match SSE2.
Jerome Jiang [Sat, 19 Nov 2016 01:11:59 +0000 (17:11 -0800)]
Change C/MSA post proc to match SSE2.

BUG=webm:1321

Change-Id: I719023375dc48cf7d8ed72188853f0f1ccc4ad7f

7 years agoCover more filter levels in unit tests for post proc.
Jerome Jiang [Sat, 19 Nov 2016 01:07:20 +0000 (17:07 -0800)]
Cover more filter levels in unit tests for post proc.

For some filter level, the C/MSA doesn't match SSE2. Part of unit tests
are disabled. They will be re-enabled when C/MSA funcs are fixed.
BUG=webm:1321

Change-Id: Ib16b98b5eecb15d2252aa4ea267b782ee2b27533

7 years agoMerge "vp9: Use more aggressive skip when short_circuit_low_temp_var = 1."
Marco Paniconi [Wed, 23 Nov 2016 18:15:58 +0000 (18:15 +0000)]
Merge "vp9: Use more aggressive skip when short_circuit_low_temp_var = 1."

7 years agouse storage.googleapis for testdata download
James Zern [Wed, 23 Nov 2016 07:03:12 +0000 (23:03 -0800)]
use storage.googleapis for testdata download

replace downloads.webmproject.org with the canonical
storage.googleapis.com/... form. this appears less likely to fail when
dealing with multiple concurrent connections.

Change-Id: I0dcbd04df9e4057fa851f458b3ef7e3589f1f2f1

7 years agoMerge "avoid redefining WIN32_LEAN_AND_MEAN"
James Zern [Wed, 23 Nov 2016 00:43:21 +0000 (00:43 +0000)]
Merge "avoid redefining WIN32_LEAN_AND_MEAN"

7 years agoMerge "vp9,read_inter_block_mode_info: quiet msan warning"
James Zern [Wed, 23 Nov 2016 00:42:24 +0000 (00:42 +0000)]
Merge "vp9,read_inter_block_mode_info: quiet msan warning"

7 years agovp9,read_inter_block_mode_info: quiet msan warning
James Zern [Tue, 22 Nov 2016 02:20:33 +0000 (18:20 -0800)]
vp9,read_inter_block_mode_info: quiet msan warning

best_sub8x8[1] won't be used meaningfully when is_compound is false, but
may trigger an msan warning as the value is copied around and later
clamped.

BUG=667044

Change-Id: Icc24c3b72cdb550bebea44d4aaa4ff8bf3fbab56

7 years agoMerge "Add 32x32 d45 and 8x8, 16x16, 32x32 d135 NEON intra prediction"
Linfeng Zhang [Tue, 22 Nov 2016 23:20:53 +0000 (23:20 +0000)]
Merge "Add 32x32 d45 and 8x8, 16x16, 32x32 d135 NEON intra prediction"

7 years agoavoid redefining WIN32_LEAN_AND_MEAN
James Zern [Tue, 22 Nov 2016 23:15:53 +0000 (15:15 -0800)]
avoid redefining WIN32_LEAN_AND_MEAN

fixes redef errors when the macro is supplied elsewhere, e.g., the
command line

Change-Id: Ic15726817a43e30595d50562ef1f077060c193cf

7 years agovp9: Use more aggressive skip when short_circuit_low_temp_var = 1.
Marco [Tue, 22 Nov 2016 18:10:06 +0000 (10:10 -0800)]
vp9: Use more aggressive skip when short_circuit_low_temp_var = 1.

Use the same feature as https://chromium-review.googlesource.com/#/c/411327/,
but allow it to be used for speed  = 6 and 7, where
short_circuit_low_temp_var = 1.

Speed up of ~2-3% for speed 7, with little/no loss in compression.

Change-Id: I263a0f261ad9929034392d68f0153dc6376fdb5f

7 years agoCosmetic changes to post proc unit tests.
Jerome Jiang [Tue, 22 Nov 2016 21:35:12 +0000 (13:35 -0800)]
Cosmetic changes to post proc unit tests.

Remove unnecessary "virtual" before some functions. Change *_btm_* in
variable names to *_bottom_*.

Change-Id: Ifd4ce667537617f451cdfed47dd8c48817fd983b

7 years agoMerge "build/make/Android.mk: use -fPIC w/ENABLE_SHARED=1"
James Zern [Tue, 22 Nov 2016 20:14:12 +0000 (20:14 +0000)]
Merge "build/make/Android.mk: use -fPIC w/ENABLE_SHARED=1"

7 years agoUpdate vpx_idct4x4_16_add_neon() to pass SingleExtremeCoeff test
Linfeng Zhang [Tue, 22 Nov 2016 19:35:05 +0000 (11:35 -0800)]
Update vpx_idct4x4_16_add_neon() to pass SingleExtremeCoeff test

Change-Id: Icc4ead05506797d12bf134e8790443676fef5c10

7 years agoMerge "vp9-tests : split VpxEncoderThreadTest into two tests."
James Bankoski [Tue, 22 Nov 2016 19:34:16 +0000 (19:34 +0000)]
Merge "vp9-tests : split VpxEncoderThreadTest into two tests."

7 years agoRefine 8-bit 4x4 idct NEON intrinsics
Linfeng Zhang [Tue, 15 Nov 2016 18:21:35 +0000 (10:21 -0800)]
Refine 8-bit 4x4 idct NEON intrinsics

Change-Id: Ib019964bfcbce7aec57d8c3583127f9354d3c11f

7 years agoAdd idct speed test.
Linfeng Zhang [Tue, 8 Nov 2016 01:23:38 +0000 (17:23 -0800)]
Add idct speed test.

Change-Id: I3b5fd3b36cac1fb3a93e27fd8fd0781c91d412ce

7 years agoUpdate partial_idct_test.cc to support high bitdepth
Linfeng Zhang [Fri, 4 Nov 2016 18:24:47 +0000 (11:24 -0700)]
Update partial_idct_test.cc to support high bitdepth

BUG=webm:1301

Change-Id: Ieedadee221ce539e39bf806c41331f749f891a3c

7 years agovp9-tests : split VpxEncoderThreadTest into two tests.
Jim Bankoski [Tue, 22 Nov 2016 15:31:04 +0000 (07:31 -0800)]
vp9-tests : split VpxEncoderThreadTest into two tests.

VpxEncoderThreadTest was taking a very long time for some runs and
timing out a lot.   This is an attempt to split the test into runs
that can be run nightly ( speeds 2 through 9) and runs that can
be run weekly ( speeds 0-1 ).

Change-Id: Iee6f61a561006d3a30381dd3b52b9a4dce07a70c

7 years agoFix mips dspr2 build warning
Kaustubh Raste [Tue, 22 Nov 2016 12:19:17 +0000 (17:49 +0530)]
Fix mips dspr2 build warning

Change-Id: Ia8fb3ed124f01384e7896e309c9ff22c05b40719

7 years agoAdd validation of frame_parallel_decoding_mode
Yaowu Xu [Mon, 21 Nov 2016 18:49:56 +0000 (10:49 -0800)]
Add validation of frame_parallel_decoding_mode

This is a boolean value that is written into bitstream, any value other
than 0 or 1 could have led to unexpected behavior. This commit fix the
issue by adding validation of the value to make sure it is boolean.

BUG=webm:1339

Change-Id: I2d3e69e8dbefcab9a0db9cb39a91a40ce531c5a1

7 years agoMerge "Enable asymptotic closed-loop encoding decision"
Jingning Han [Sat, 19 Nov 2016 04:12:55 +0000 (04:12 +0000)]
Merge "Enable asymptotic closed-loop encoding decision"

7 years agoMerge "Fix SingleLargeCoeff idct test"
Kaustubh Raste [Sat, 19 Nov 2016 03:37:29 +0000 (03:37 +0000)]
Merge "Fix SingleLargeCoeff idct test"

7 years agovpx_temporal_svc_encoder.sh: fix comment (// -> #)
James Zern [Sat, 19 Nov 2016 03:11:55 +0000 (19:11 -0800)]
vpx_temporal_svc_encoder.sh: fix comment (// -> #)

Change-Id: Ib13152a9ff523b1c29e8519e4f7ed01ad9874525

7 years agobuild/make/Android.mk: use -fPIC w/ENABLE_SHARED=1
James Zern [Sat, 19 Nov 2016 02:53:22 +0000 (18:53 -0800)]
build/make/Android.mk: use -fPIC w/ENABLE_SHARED=1

fixes reloc errors like:
R_X86_64_PC32
vpx_dsp/x86/deblock_sse2.o:
requires dynamic R_X86_64_PC32 reloc against 'vpx_rv' which may overflow
at runtime

Change-Id: I218fc0e7c8258197f890d395f335e5a4fe82dccb

7 years agoMerge "Clean horizontal intra prediction NEON optimization"
James Zern [Sat, 19 Nov 2016 01:29:37 +0000 (01:29 +0000)]
Merge "Clean horizontal intra prediction NEON optimization"

7 years agoMerge "partial_idct_test: s/SingleLargeCoef/SingleExtremeCoeff/"
James Zern [Fri, 18 Nov 2016 20:02:43 +0000 (20:02 +0000)]
Merge "partial_idct_test: s/SingleLargeCoef/SingleExtremeCoeff/"

7 years agoMerge "Change *_xmm to *_sse2 in deblocker assembly functions."
Jerome Jiang [Fri, 18 Nov 2016 00:23:45 +0000 (00:23 +0000)]
Merge "Change *_xmm to *_sse2 in deblocker assembly functions."

7 years agoChange *_xmm to *_sse2 in deblocker assembly functions.
Jerome Jiang [Thu, 17 Nov 2016 19:09:29 +0000 (11:09 -0800)]
Change *_xmm to *_sse2 in deblocker assembly functions.

Some cosmetic changes because xmm is an anachronism.

Change-Id: I436a5b78a3c52776c20d6640939311f2a84a9bc7

7 years agopartial_idct_test: s/SingleLargeCoef/SingleExtremeCoeff/
James Zern [Thu, 17 Nov 2016 20:28:57 +0000 (12:28 -0800)]
partial_idct_test: s/SingleLargeCoef/SingleExtremeCoeff/

tests with 'Large' in the name are reserved for slow running tests which
may not be run on all platforms

Change-Id: I2a7d6dd46b29b50469893e46433844132fb727c2

7 years agoMerge "vpx_temporal_svc_encoder.sh: Run all tests for 1-4 threads for vp8/vp9."
Marco Paniconi [Thu, 17 Nov 2016 20:22:32 +0000 (20:22 +0000)]
Merge "vpx_temporal_svc_encoder.sh: Run all tests for 1-4 threads for vp8/vp9."

7 years agoFix SingleLargeCoeff idct test
Kaustubh Raste [Thu, 17 Nov 2016 11:35:53 +0000 (17:05 +0530)]
Fix SingleLargeCoeff idct test

Updated idct code to handle single large coefficient (-32768)

Change-Id: Ia13ab1ab434a9a1b9954a5914088977a88841cc7

7 years agoMerge "Change C and msa to match results from sse2."
Jerome Jiang [Thu, 17 Nov 2016 05:16:27 +0000 (05:16 +0000)]
Merge "Change C and msa to match results from sse2."

7 years agoChange C and msa to match results from sse2.
Jerome Jiang [Wed, 2 Nov 2016 16:55:49 +0000 (09:55 -0700)]
Change C and msa to match results from sse2.

Re-enable the tests to check CvsAssembly.
BUG=webm:1321

Change-Id: Id7f7d74b06c469fb6c8f5d04e91359e9cd9097a6

7 years agovpx_temporal_svc_encoder.sh: Run all tests for 1-4 threads for vp8/vp9.
Marco [Wed, 16 Nov 2016 21:03:26 +0000 (13:03 -0800)]
vpx_temporal_svc_encoder.sh: Run all tests for 1-4 threads for vp8/vp9.

Change-Id: I079ee87cb32e36a1486c377c0037945b4bb89626

7 years agostress.sh: Runs multiple libvpx encodes and decodes in parallel
Jim Bankoski [Mon, 14 Nov 2016 14:17:19 +0000 (06:17 -0800)]
stress.sh: Runs multiple libvpx encodes and decodes in parallel

This runs multiple encodes and decodes of vp8 and vp9 in parallel,
with so many threads that problems with synchronization can show up.

Change-Id: I2b297e7f43d1e741323c7ad9f50a3931ae609f16

7 years agoMerge "build/make/Android.mk: fix cpufeatures import"
James Zern [Tue, 15 Nov 2016 23:41:48 +0000 (23:41 +0000)]
Merge "build/make/Android.mk: fix cpufeatures import"

7 years agoMerge changes I3950c883,I2b679b04
James Zern [Tue, 15 Nov 2016 23:41:18 +0000 (23:41 +0000)]
Merge changes I3950c883,I2b679b04

* changes:
  partial_idct_test: use <limits> for int16_min/max
  vpx_timer.h,x86.h: define NOMINMAX for windows.h

7 years agoMerge "Add high bitdepth intra prediction NEON optimization (mode tm)"
Linfeng Zhang [Tue, 15 Nov 2016 23:30:48 +0000 (23:30 +0000)]
Merge "Add high bitdepth intra prediction NEON optimization (mode tm)"

7 years agoMerge "vp9: Speed 8: More aggresive golden skip for low res."
Jerome Jiang [Tue, 15 Nov 2016 22:50:58 +0000 (22:50 +0000)]
Merge "vp9: Speed 8: More aggresive golden skip for low res."

7 years agoAdd high bitdepth intra prediction NEON optimization (mode tm)
Linfeng Zhang [Fri, 28 Oct 2016 22:04:45 +0000 (15:04 -0700)]
Add high bitdepth intra prediction NEON optimization (mode tm)

BUG=webm:1316

Change-Id: Ib014de06836ac12726f4a2c9f0833ec4eb4d233b

7 years agovp9: Speed 8: More aggresive golden skip for low res.
Jerome Jiang [Tue, 15 Nov 2016 18:37:12 +0000 (10:37 -0800)]
vp9: Speed 8: More aggresive golden skip for low res.

Add a new, more aggresive short circuit: short_circuit_low_temp_var = 3 to skip
golden of any mode when variance is lower than threshold for low res.
This change only affects speed = 8, low resolution.

Metrics for avgPSNR/SSIM on rtc_derf (low resolution) show loss of
0.27/0.31%.
On Nexus 6, the encoding time is reduced by ~2.3% on average across all
low-res clips.

Visually little change on rtc_derf clips.

Change-Id: Ia8f7366fc2d49181a96733a380b4dbd7390246ec

7 years agopartial_idct_test: use <limits> for int16_min/max
James Zern [Sat, 12 Nov 2016 20:59:34 +0000 (12:59 -0800)]
partial_idct_test: use <limits> for int16_min/max

this removes the need for __STDC_LIMIT_MACROS which is defined in
vpx_integer.h, but may be preceded by earlier includes of stdint.h;
fixes build with the r13 ndk

Change-Id: I3950c8837cf90d5584a20ce370ae370581c2182c

7 years agovpx_timer.h,x86.h: define NOMINMAX for windows.h
James Zern [Tue, 15 Nov 2016 20:16:14 +0000 (12:16 -0800)]
vpx_timer.h,x86.h: define NOMINMAX for windows.h

avoids the definition of min/max macros in headers that may appear in
c++ unit tests. the codebase uses VPXMIN/MAX for this purpose in any
case

Change-Id: I2b679b045d64fb34fd8780f704e3caf10a758d82

7 years agobuild/make/Android.mk: fix cpufeatures import
James Zern [Mon, 14 Nov 2016 21:21:27 +0000 (13:21 -0800)]
build/make/Android.mk: fix cpufeatures import

use 'android/cpufeatures' rather than 'cpufeatures'; this matches the
documentation, fixes compilation with r12b/r13 and still works with
older ndks.

Change-Id: I2f34233c164e6d4d46428f8905d5502cea4288a2

7 years agovp9: Speed 8: Turn off 4x4avg for low-res non-key frames.
Jerome Jiang [Mon, 14 Nov 2016 18:22:00 +0000 (10:22 -0800)]
vp9: Speed 8: Turn off 4x4avg for low-res non-key frames.

Changes only affects speed = 8 for low resolutions.

Metrics for avgPSNR/SSIM on rtc_derf (low resolutions) show loss of
0.5/0.6%.
On Nexus 6, the encoding time is reduced by ~5.9% on average across all
low-res clips.
Visually little/no change on rtc_derf clips.

Change-Id: I68dd50e558d72dcc1af8317d224bfae5e3bd872d

7 years agoEnable asymptotic closed-loop encoding decision
Jingning Han [Sat, 12 Nov 2016 00:10:01 +0000 (16:10 -0800)]
Enable asymptotic closed-loop encoding decision

This commit enables asymptotic closed-loop encoding decision for
the key frame and alternate reference frame. It follows the regular
rate control scheme, but leaves out additional iteration on the
updated frame level probability model. It is enabled for speed 0.

The compression performance is improved:

lowres 0.2%
midres 0.35%
hdres  0.4%

Change-Id: I905ffa057c9a1ef2e90ef87c9723a6cf7dbe67cb

7 years agoAdd high bitdepth intra prediction NEON optimization (h and v)
Linfeng Zhang [Fri, 28 Oct 2016 16:42:11 +0000 (09:42 -0700)]
Add high bitdepth intra prediction NEON optimization (h and v)

BUG=webm:1316

Change-Id: I47eeac698a98a31d1af5f72441052302e9fa4f46

7 years agoMerge "Add unit tests for post proc."
Jerome Jiang [Sat, 12 Nov 2016 04:38:26 +0000 (04:38 +0000)]
Merge "Add unit tests for post proc."

7 years agoAdd unit tests for post proc.
Jerome Jiang [Wed, 2 Nov 2016 16:52:41 +0000 (09:52 -0700)]
Add unit tests for post proc.

Some tests are disabled since C and msa don't match sse2.
BUG=webm:1321

Change-Id: I61f303348e5292844a822612f100dbe006489e3e

7 years agoMerge "vp9: Adjust thresholds for limiting cyclic refresh for noisy content."
Marco Paniconi [Fri, 11 Nov 2016 17:11:19 +0000 (17:11 +0000)]
Merge "vp9: Adjust thresholds for limiting cyclic refresh for noisy content."

7 years agoMerge "*ppflags.h: remove unused *_DEBUG_* enum values"
James Zern [Thu, 10 Nov 2016 20:53:22 +0000 (20:53 +0000)]
Merge "*ppflags.h: remove unused *_DEBUG_* enum values"

7 years agoMerge changes I339088b2,Iaade219e,If142afb1,I4257c4b3
James Zern [Thu, 10 Nov 2016 05:02:39 +0000 (05:02 +0000)]
Merge changes I339088b2,Iaade219e,If142afb1,I4257c4b3

* changes:
  fdct8x8_test: add vpx_idct8x8_64_add_neon in hbd
  fdct4x4_test: add vpx_idct4x4_16_add_neon in hbd
  partial_idct_test,NEON: add missing idct variants
  enable vpx_idct32x32_34_add_neon in hbd builds

7 years agofdct8x8_test: add vpx_idct8x8_64_add_neon in hbd
James Zern [Wed, 9 Nov 2016 02:02:24 +0000 (18:02 -0800)]
fdct8x8_test: add vpx_idct8x8_64_add_neon in hbd

this was enabled in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

+ enable it for all NEON configs, both intrisincs and assembly versions
exist

BUG=webm:1294

Change-Id: I339088b2a398200f95658d040034fb9b2a7c8ce0

7 years agoAdd high bitdepth intra prediction NEON optimization (mode d45 and d135)
Linfeng Zhang [Thu, 27 Oct 2016 23:06:07 +0000 (16:06 -0700)]
Add high bitdepth intra prediction NEON optimization (mode d45 and d135)

BUG=webm:1316

Change-Id: I6a330874348df04df24a6d9efdc06f567e04bf8e

7 years ago*ppflags.h: remove unused *_DEBUG_* enum values
James Zern [Wed, 9 Nov 2016 05:09:16 +0000 (21:09 -0800)]
*ppflags.h: remove unused *_DEBUG_* enum values

usage of the vp8 versions was removed in:
3f72509 vp8: remove VP8_SET_DBG* control support

vp9 had the usage stripped even earlier.

Change-Id: I978142eb6492552cd29c9c6feb1e89acfc5f7b84

7 years agofdct4x4_test: add vpx_idct4x4_16_add_neon in hbd
James Zern [Wed, 9 Nov 2016 01:50:43 +0000 (17:50 -0800)]
fdct4x4_test: add vpx_idct4x4_16_add_neon in hbd

this was enabled in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

+ enable it for all NEON configs, both intrisincs and assembly versions
exist

BUG=webm:1294

Change-Id: Iaade219e9d1de7b69423670d3ea6271b0965e068

7 years agopartial_idct_test,NEON: add missing idct variants
James Zern [Wed, 9 Nov 2016 01:22:32 +0000 (17:22 -0800)]
partial_idct_test,NEON: add missing idct variants

idct4x4 and idct8x8 were universally enabled for high-bitdepth builds
in:
3ae2597 idct,NEON: add a tran_low_t->s16 load adapter

BUG=webm:1294

Change-Id: If142afb169c48728cc4b222e7c41aa4a63f95f0f

7 years agoenable vpx_idct32x32_34_add_neon in hbd builds
James Zern [Tue, 8 Nov 2016 04:22:22 +0000 (20:22 -0800)]
enable vpx_idct32x32_34_add_neon in hbd builds

replace load_and_transpose_s16_8x8() in idct32_6_neon() with a separate
load_tran_low_to_s16() and transpose_s16_8x8(). the combined function is
used in idct32_8_neon() where the input is the correctly sized output
from the earlier stage.

BUG=webm:1294

Change-Id: I4257c4b3a421b2cf5d13651f966eee0680ef98a9

7 years agovp9: Adjust thresholds for limiting cyclic refresh for noisy content.
Marco [Tue, 8 Nov 2016 23:46:50 +0000 (15:46 -0800)]
vp9: Adjust thresholds for limiting cyclic refresh for noisy content.

For noisy content, be more aggressive in skippping some blocks for
delta-qp to reduce noise pulsing artifact. Also treat frame boundary
case when dimension is not multiple of superblock size/64.

Only affects non-screen content case, and when source noise
is measured to be high (at least level kMedium).

Change-Id: Ib13a2a20ed1ce37ff3c44d95c3ef2635fd695222

7 years agoRefine vp8_refining_search_sadx4 targeting
Johann [Fri, 30 Sep 2016 00:57:51 +0000 (17:57 -0700)]
Refine vp8_refining_search_sadx4 targeting

This uses the same sdx4df pointers as vp8_diamond_search_sadx4 and
should therefore target the same optimizations.

See e4ddf9db6a37eee59c079f5ae427643ae3424fcf

Change-Id: Ic298e9b25c34bbe6b7a0799509355b0addb56675

7 years agoOptimize idct32x32_135_add for NEON
Johann [Tue, 1 Nov 2016 18:02:09 +0000 (11:02 -0700)]
Optimize idct32x32_135_add for NEON

BUG=webm:1295

Change-Id: I7f80ef4d29813fcb401fc6075babf19e3c195462

7 years agoMerge "Add high bitdepth intra prediction NEON optimization (mode dc)"
Linfeng Zhang [Tue, 8 Nov 2016 16:53:41 +0000 (16:53 +0000)]
Merge "Add high bitdepth intra prediction NEON optimization (mode dc)"

7 years agoMerge "partial_idct_test: set MinSupportedCoeff for NEON"
James Zern [Tue, 8 Nov 2016 01:05:16 +0000 (01:05 +0000)]
Merge "partial_idct_test: set MinSupportedCoeff for NEON"

7 years agoMerge "ads2gas: remove RN stanza"
Johann Koenig [Tue, 8 Nov 2016 00:44:16 +0000 (00:44 +0000)]
Merge "ads2gas: remove RN stanza"

7 years agoads2gas: remove RN stanza
Johann [Tue, 8 Nov 2016 00:19:15 +0000 (16:19 -0800)]
ads2gas: remove RN stanza

The matching on ads2gas_apple.pl is too liberal and catches
CONFIG_EXTERNAL_BUILD and CONFIG_INTERNAL_STATS because they have RN in
the names.

The RN renaming feature is not used in any existing assembly files. It
was used in some armv6 files but they were removed.

Change-Id: Ib65abf1947d3e89f0d1584e2a5de399d24008f95

7 years agopartial_idct_test: set MinSupportedCoeff for NEON
James Zern [Mon, 7 Nov 2016 23:27:02 +0000 (15:27 -0800)]
partial_idct_test: set MinSupportedCoeff for NEON

vpx_idct4x4_16_add_neon fails with INT16_MIN, +1 is all right

BUG=webm:1335

Change-Id: I25830c8ab0782822fc3c9db6cc669c2e65f2700e

7 years agoRename vpx_highbd_idct8x8_10{*}() to vpx_highbd_idct8x8_12{*}()
Linfeng Zhang [Fri, 4 Nov 2016 16:44:22 +0000 (09:44 -0700)]
Rename vpx_highbd_idct8x8_10{*}() to vpx_highbd_idct8x8_12{*}()

Also update its trigger threshold from 10 to 12.

Change-Id: Ib8dddd87a5a22a12ca66e7084d342fbb027b0a2f

7 years agoMerge "Replace highbd_dct_const_round_shift with dct_const_round_shift"
Linfeng Zhang [Mon, 7 Nov 2016 16:55:00 +0000 (16:55 +0000)]
Merge "Replace highbd_dct_const_round_shift with dct_const_round_shift"

7 years agoMerge "idct test: use coeff consistently"
Johann Koenig [Sun, 6 Nov 2016 00:13:05 +0000 (00:13 +0000)]
Merge "idct test: use coeff consistently"

7 years agoMerge "partial_idct_test: Add large coefficient test"
Johann Koenig [Sun, 6 Nov 2016 00:12:59 +0000 (00:12 +0000)]
Merge "partial_idct_test: Add large coefficient test"

7 years agoMerge "Update vp9_fdct8x8_quant_ssse3 for highbitdepth"
Johann Koenig [Sun, 6 Nov 2016 00:12:12 +0000 (00:12 +0000)]
Merge "Update vp9_fdct8x8_quant_ssse3 for highbitdepth"

7 years agoMerge "vp9-svc: Add unittest for svc-decoding."
James Zern [Sat, 5 Nov 2016 02:47:11 +0000 (02:47 +0000)]
Merge "vp9-svc: Add unittest for svc-decoding."

7 years agoidct test: use coeff consistently
Johann [Sat, 5 Nov 2016 01:41:56 +0000 (18:41 -0700)]
idct test: use coeff consistently

Change-Id: I913a13066993a3315a0ff8310b3cad1572d4cdd7

7 years agopartial_idct_test: Add large coefficient test
Johann [Tue, 1 Nov 2016 19:09:46 +0000 (12:09 -0700)]
partial_idct_test: Add large coefficient test

Two functions do not pass this test:
vpx_idct8x8_64_add_ssse3
vpx_idct8x8_12_add_ssse3

The test has been modified to avoid triggering an issue with those
functions but they still must be investigated.

BUG=webm:1332

Change-Id: I52569a81e8e6e0b33c4a4d060d0b69c3fc4f578e