]> granicus.if.org Git - libvpx/log
libvpx
7 years agopartial fdct test
Johann [Fri, 23 Jun 2017 00:12:27 +0000 (17:12 -0700)]
partial fdct test

Test the _1 variant of the fdct, which simply sums the block and applies
a modifying shift based on the block size.

BUG=webm:1424

Change-Id: Ic80d6008abba0c596b575fa0484d5b5855321468

7 years agoMerge "fdct32x32 neon implementation"
Johann Koenig [Fri, 23 Jun 2017 01:57:59 +0000 (01:57 +0000)]
Merge "fdct32x32 neon implementation"

7 years agoMerge "vp9: Add high source sad to content state."
Marco Paniconi [Thu, 22 Jun 2017 22:18:47 +0000 (22:18 +0000)]
Merge "vp9: Add high source sad to content state."

7 years agoMerge changes I783c5f4f,I365f8e53,I5dac0e98
Linfeng Zhang [Thu, 22 Jun 2017 21:42:23 +0000 (21:42 +0000)]
Merge changes I783c5f4f,I365f8e53,I5dac0e98

* changes:
  Clean vpx_idct16x16_256_add_sse2()
  Update vpx_idct{8x8,16x16,32x32}_1_add_sse2()
  Clean 32x32 full idct sse2 and ssse3 code

7 years agoMerge "Fix int overflow in rate control for high bit rates."
Paul Wilkins [Thu, 22 Jun 2017 16:30:39 +0000 (16:30 +0000)]
Merge "Fix int overflow in rate control for high bit rates."

7 years agofdct32x32 neon implementation
Johann [Fri, 16 Jun 2017 20:14:01 +0000 (13:14 -0700)]
fdct32x32 neon implementation

Almost 3x faster in constrained loop testing. Over 10x faster in HBD
builds.

BUG=webm:1424

Change-Id: I2b7f8453e1d4ada63cde729d8115d684c4a71ff9

7 years agoFix int overflow in rate control for high bit rates.
paulwilkins [Wed, 21 Jun 2017 16:26:20 +0000 (17:26 +0100)]
Fix int overflow in rate control for high bit rates.

Fix misplaced cast that caused an overflow and incorrect rate adaptation
behavior for high data rates. This in particular will have affected 4k encodes
but could also have come into play for some higher rate 1080p cases.

In our standard test sets the quality impact is small though several high rate
clips show improved rate accuracy. This can also impact the number of recode
loop hits and on one problem 4k  clip the encode time for speeds 0 and 1 was
reduced by >25%

Change-Id: I108da7ca42f3bc95c5825dd33c9d84583227dac1

7 years agovp9: Add high source sad to content state.
Marco [Thu, 22 Jun 2017 03:39:59 +0000 (20:39 -0700)]
vp9: Add high source sad to content state.

Use it to limit NEWMV early exit in nonrd pickmode

Small change in RTC metrics, has some improvement
for high motion clips.
Change-Id: I1d89fd955e1b3486d5fb07f4472eeeecd553f67f

7 years agoMerge "vp9: Adjustments for aq-mode and pickmode for speed >= 8."
Marco Paniconi [Thu, 22 Jun 2017 03:27:46 +0000 (03:27 +0000)]
Merge "vp9: Adjustments for aq-mode and pickmode for speed >= 8."

7 years agoMerge "vp8_dx_iface: clear -Wclobbered warnings"
James Zern [Thu, 22 Jun 2017 02:01:10 +0000 (02:01 +0000)]
Merge "vp8_dx_iface: clear -Wclobbered warnings"

7 years agovp9: Put skin detection usage around cpi flag.
Marco [Thu, 22 Jun 2017 00:30:53 +0000 (17:30 -0700)]
vp9: Put skin detection usage around cpi flag.

Skin detection usage in choose_partitioning should be
around the cpi->use_skin_detection.

Change-Id: I6986179af9ce94c60c0974d66c311fc07cc04cfe

7 years agovp9: Adjustments for aq-mode and pickmode for speed >= 8.
Marco [Wed, 21 Jun 2017 22:24:56 +0000 (15:24 -0700)]
vp9: Adjustments for aq-mode and pickmode for speed >= 8.

Adjust the threshold for turning off cyclic refresh for high motion,
and avoid testing golden in nonrd pickmode for speed >= 8 if
golden refresh was long ago.

No change/neutral on RTC metrics.
Change-Id: I40959b8d9637f3553e7458bbabd8c6024c2c09c0

7 years agovp8_dx_iface: clear -Wclobbered warnings
James Zern [Wed, 21 Jun 2017 01:34:13 +0000 (18:34 -0700)]
vp8_dx_iface: clear -Wclobbered warnings

with gcc 6.x

Change-Id: Ib2070421603a6777892d4ea01f4b0921696f38b3

7 years agoMerge "dct tests: align InvAccuracyCheck buffers"
Johann Koenig [Wed, 21 Jun 2017 21:16:23 +0000 (21:16 +0000)]
Merge "dct tests: align InvAccuracyCheck buffers"

7 years agoClean vpx_idct16x16_256_add_sse2()
Linfeng Zhang [Tue, 20 Jun 2017 01:10:38 +0000 (18:10 -0700)]
Clean vpx_idct16x16_256_add_sse2()

Remove macro IDCT16 which is redundant with idct16_8col().

Change-Id: I783c5f4fda038a22d5ee5c2b22e8c2cdfb38432c

7 years agoUpdate vpx_idct{8x8,16x16,32x32}_1_add_sse2()
Linfeng Zhang [Thu, 15 Jun 2017 23:48:40 +0000 (16:48 -0700)]
Update vpx_idct{8x8,16x16,32x32}_1_add_sse2()

Change-Id: I365f8e53d9ccd028cef0f561d4de9e5916278609

7 years agoClean 32x32 full idct sse2 and ssse3 code
Linfeng Zhang [Thu, 15 Jun 2017 23:06:53 +0000 (16:06 -0700)]
Clean 32x32 full idct sse2 and ssse3 code

vpx_idct32x32_1024_add_ssse3() is actually a sse2 function and faster
than vpx_idct32x32_1024_add_sse2(). Replace the slow one. All are
code relocations, no new code.

Change-Id: I5dac0e98cc411a4ce05660406921118986638d19

7 years agoMerge "VP9 level targeting: properly handle max_gf_interval"
Hui Su [Wed, 21 Jun 2017 20:38:44 +0000 (20:38 +0000)]
Merge "VP9 level targeting: properly handle max_gf_interval"

7 years agodct tests: align InvAccuracyCheck buffers
Johann [Wed, 21 Jun 2017 18:46:58 +0000 (11:46 -0700)]
dct tests: align InvAccuracyCheck buffers

'in' is used for the reference fdct. 'coeff' is input to the idct being
tested and 'dst[16]' is output

Fixes a segfault on unaligned memory access on x86.

Change-Id: I3691b1380ed49986897dd89a63ce63a80a0e0962

7 years agofix build, rm ref to vpx_idct8x8_64_add_ssse3
James Zern [Wed, 21 Jun 2017 02:42:29 +0000 (19:42 -0700)]
fix build, rm ref to vpx_idct8x8_64_add_ssse3

this was deleted in:
98967645a Remove vpx_idct8x8_64_add_ssse3()

but this was merged in:
9e03eedf6 Merge changes Ib26dd515,Ie60dabc3

after:
a92991133 Merge "dct tests: run all possible sizes in one test"

which added a new reference

Change-Id: I8da4a6c80d27b237a378ff15eead1daab89e7e25

7 years agoMerge changes Ib26dd515,Ie60dabc3
Linfeng Zhang [Wed, 21 Jun 2017 00:38:24 +0000 (00:38 +0000)]
Merge changes Ib26dd515,Ie60dabc3

* changes:
  Clean 8x8 idct x86 optimization
  Remove vpx_idct8x8_64_add_ssse3()

7 years agoVP9 level targeting: properly handle max_gf_interval
hui su [Tue, 20 Jun 2017 23:26:00 +0000 (16:26 -0700)]
VP9 level targeting: properly handle max_gf_interval

Don't overide max_gf_interval if it's not specified. It will
be assigned with a default value in vp9_rc_set_gf_interval_range().

BUG=b/62803416

Change-Id: Ide46ce00279ed076865fc54ce98c55a994f0c798

7 years agovp9: Adjust key-frame pars in vpx_temporal_svc_encoder.
Marco [Tue, 20 Jun 2017 19:20:52 +0000 (12:20 -0700)]
vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.

Sample encoder change: reduce max-intra-rate to 1000 and
buf-initial to 600. Paramaters affect target size of key frame.

Change-Id: I2be6bc2927f5fa74e19e1efa3fb574d23a503300

7 years agovp9: Adjust key-frame pars in vpx_temporal_svc_encoder.
Marco [Tue, 20 Jun 2017 16:05:56 +0000 (09:05 -0700)]
vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.

Sample encoder change: reduce max-intra-rate to 1500 and
buf-initial to 700. Paramaters affect target size of key frame.

Change-Id: I01e238378b63eeef28dfc2178baadffcd3cc7561

7 years agoMerge "dct tests: run all possible sizes in one test"
Johann Koenig [Tue, 20 Jun 2017 15:04:24 +0000 (15:04 +0000)]
Merge "dct tests: run all possible sizes in one test"

7 years agoMerge "vp9: SVC: Rework the usage of base_mv for SVC."
Marco Paniconi [Tue, 20 Jun 2017 03:08:32 +0000 (03:08 +0000)]
Merge "vp9: SVC: Rework the usage of base_mv for SVC."

7 years agovp9: Adjust key-frame pars in vpx_temporal_svc_encoder.
Marco [Tue, 20 Jun 2017 01:25:53 +0000 (18:25 -0700)]
vp9: Adjust key-frame pars in vpx_temporal_svc_encoder.

Adjust some parameters in sample encoder: vpx_temporal_svc_encoder.
Parameters adjusted to set lower QP for initial key frame,
and allow for larger target size on subsequent key frames.

Change-Id: I092ad968e5b51b9f495dadb6ee96e810663c910e

7 years agoMerge "vp9: Speed >= 8: Adjust resolution threshold for subpel."
Marco Paniconi [Mon, 19 Jun 2017 23:45:34 +0000 (23:45 +0000)]
Merge "vp9: Speed >= 8: Adjust resolution threshold for subpel."

7 years agodct tests: run all possible sizes in one test
Johann [Tue, 9 May 2017 17:08:24 +0000 (10:08 -0700)]
dct tests: run all possible sizes in one test

Modify fdct4x4_test.cc to support all size combinations. This does not
add any new tests and in fact fails a few. There were minimal changes
made to the tests so it's not entirely surprising that some of the
larger 12 bit transforms are failing since it was initially only used
for 4x4.

In follow up patches the tests in fdct8x8_test.cc, dct16x16_test.cc and
dct32x32_test.cc will be evaluated and moved to dct_test.cc.

BUG=webm:1424

Change-Id: I72a23430f457d7fae8c91e706adc0e77c25abc8f

7 years agoMerge "libs.mk: retry partial testdata download"
James Zern [Mon, 19 Jun 2017 22:15:06 +0000 (22:15 +0000)]
Merge "libs.mk: retry partial testdata download"

7 years agolibs.mk: retry partial testdata download
James Zern [Fri, 16 Jun 2017 06:33:11 +0000 (23:33 -0700)]
libs.mk: retry partial testdata download

attempt retry on transient failures uncaught by --retry

Change-Id: I7cd8846ff88daf0f521af9ee182e30bfd79f51f3

7 years agovp9: Speed >= 8: Adjust resolution threshold for subpel.
Marco [Mon, 19 Jun 2017 20:56:04 +0000 (13:56 -0700)]
vp9: Speed >= 8: Adjust resolution threshold for subpel.

Get some quality gain on RTC metrics (~7%), with
~5-8% speed slowdown.

Change-Id: I0d02942a77074424ee0326b6e110ddff09f2df5e

7 years agoMerge "Enable 8x8 skin detection for vp8."
Jerome Jiang [Mon, 19 Jun 2017 16:42:10 +0000 (16:42 +0000)]
Merge "Enable 8x8 skin detection for vp8."

7 years agovp9: SVC: Rework the usage of base_mv for SVC.
Marco [Thu, 15 Jun 2017 23:23:36 +0000 (16:23 -0700)]
vp9: SVC: Rework the usage of base_mv for SVC.

Set the base_mv_aggressive for temporal enhancement layers (TL > 0).
Under the aggressive mode, skip the NEWMV depending on the
SSE of the base_mv. Also reduce the subpel motion to 1/2 under
aggressive mode if base_mv is good.

Speedup ~3% with small/negligible loss in quality on RTC.
Affects speed >= 6.

Change-Id: I89341b279cad6da2a04b76d5e726016191dacdb8

7 years agoMerge "configure: test for -Wparentheses-equality"
James Zern [Fri, 16 Jun 2017 20:07:51 +0000 (20:07 +0000)]
Merge "configure: test for -Wparentheses-equality"

7 years agoEnable 8x8 skin detection for vp8.
Jerome Jiang [Wed, 14 Jun 2017 00:22:26 +0000 (17:22 -0700)]
Enable 8x8 skin detection for vp8.

If 2 or more 8x8 blocks are identified as skin, the macroblock will be
labeled as skin.

Change-Id: I596542c81a2df9e96270cab39d920bbfeb02bc6e

7 years agoconfigure: test for -Wparentheses-equality
James Zern [Thu, 15 Jun 2017 23:05:20 +0000 (16:05 -0700)]
configure: test for -Wparentheses-equality

Change-Id: I36de79c58461907deaea70d6131da9119bc0bc69

7 years agoClean 8x8 idct x86 optimization
Linfeng Zhang [Thu, 15 Jun 2017 18:29:07 +0000 (11:29 -0700)]
Clean 8x8 idct x86 optimization

Create load_buffer_8x8() and write_buffer_8x8().

Change-Id: Ib26dd515d734a5402971c91de336ab481b213fdf

7 years agoRemove vpx_idct8x8_64_add_ssse3()
Linfeng Zhang [Thu, 15 Jun 2017 21:09:33 +0000 (14:09 -0700)]
Remove vpx_idct8x8_64_add_ssse3()

It's almost identical with vpx_idct8x8_64_add_sse2(), except little
difference in instructions order.

Change-Id: Ie60dabc35eaa6ebae7c755e6cff00a710aad284f

7 years agoVP9: Add greedy version of av1_optimize_b().
Urvang Joshi [Thu, 8 Jun 2017 21:51:01 +0000 (14:51 -0700)]
VP9: Add greedy version of av1_optimize_b().

This was ported from the greedy version in AV1, written by Dake He
(dkhe@google.com).
See:
https://aomedia.googlesource.com/aom/+/master/av1/encoder/encodemb.c#137

Greedy version is disabled by default, but can be picked by setting
USE_GREEDY_OPTIMIZE_B to 1.
To be enabled by default later.

This is both faster and better in terms of compression.

Compression Improvement:
------------------------
lowres: -0.119
midres: -0.064
hdres:  -0.405

Speed Improvement:
------------------
(Based on encode time of 3 videos of different difficulties at
3 different target bitrates)
With --cpu-used=0: 0.38% to 5.55% faster
With --cpu-used=1: 0.24% to 2.79% faster
With --cpu-used=2: 0.29% to 1.46% faster

Change-Id: Ia7a23b3b244ad8eb253ac9e43cd03c5e021d2635

7 years agoMerge changes Ibf9d120b,I341399ec,Iaa5dd63b,Id59865fd
Linfeng Zhang [Thu, 15 Jun 2017 17:57:50 +0000 (17:57 +0000)]
Merge changes Ibf9d120b,I341399ec,Iaa5dd63b,Id59865fd

* changes:
  Update high bitdepth load_input_data() in x86
  Clean array_transpose_{4X8,16x16,16x16_2) in x86
  Remove array_transpose_8x8() in x86
  Convert 8x8 idct x86 macros to inline functions

7 years agoMerge "vp8: Adjust the pred_err threhsold for drop on overshoot."
Marco Paniconi [Wed, 14 Jun 2017 15:59:54 +0000 (15:59 +0000)]
Merge "vp8: Adjust the pred_err threhsold for drop on overshoot."

7 years agoUpdate high bitdepth load_input_data() in x86
Linfeng Zhang [Tue, 13 Jun 2017 23:53:53 +0000 (16:53 -0700)]
Update high bitdepth load_input_data() in x86

BUG=webm:1412

Change-Id: Ibf9d120b80c7d3a7637e79e123cf2f0aae6dd78c

7 years agoClean array_transpose_{4X8,16x16,16x16_2) in x86
Linfeng Zhang [Mon, 12 Jun 2017 23:23:53 +0000 (16:23 -0700)]
Clean array_transpose_{4X8,16x16,16x16_2) in x86

Change-Id: I341399ecbde37065375ea7e63511a26bfc285ea0

7 years agoRemove array_transpose_8x8() in x86
Linfeng Zhang [Mon, 12 Jun 2017 22:45:50 +0000 (15:45 -0700)]
Remove array_transpose_8x8() in x86

Duplicate of transpose_16bit_8x8()

Change-Id: Iaa5dd63b5cccb044974a65af22c90e13418e311f

7 years agoConvert 8x8 idct x86 macros to inline functions
Linfeng Zhang [Mon, 12 Jun 2017 21:03:37 +0000 (14:03 -0700)]
Convert 8x8 idct x86 macros to inline functions

Change-Id: Id59865fd6c453a24121ce7160048d67875fc67ce

7 years agovp8_skin_detection: add 'vp8_' prefix to public fns
James Zern [Tue, 13 Jun 2017 01:08:20 +0000 (18:08 -0700)]
vp8_skin_detection: add 'vp8_' prefix to public fns

BUG=webm:1438

Change-Id: I5feb31c254d02e116e624cfe702e73ba5a1f7aca

7 years agorename vp8/common/skin_detection.[hc] -> vp8_*
James Zern [Tue, 13 Jun 2017 00:54:21 +0000 (17:54 -0700)]
rename vp8/common/skin_detection.[hc] -> vp8_*

some build systems have trouble with duplicate basenames.
vpx_dsp/skin_detection.[hc] were added in:
658e85425 Merge skin detection code in vp8/9.

BUG=webm:1438

Change-Id: Ieaa70b40bda409ec23e6d179b47a930ac6243b05

7 years agovp8: Adjust the pred_err threhsold for drop on overshoot.
Marco [Mon, 12 Jun 2017 16:51:47 +0000 (09:51 -0700)]
vp8: Adjust the pred_err threhsold for drop on overshoot.

Change-Id: Ica2a09ac87160936b6f7bd01f167f464ea3ac41c

7 years agoMerge "vp9 level targeting: more strict constraint on min_gf_interval"
Hui Su [Mon, 12 Jun 2017 16:38:02 +0000 (16:38 +0000)]
Merge "vp9 level targeting: more strict constraint on min_gf_interval"

7 years agoMerge "Remove duplication on vp8/9_write_yuv_frame."
Jerome Jiang [Sat, 10 Jun 2017 04:50:19 +0000 (04:50 +0000)]
Merge "Remove duplication on vp8/9_write_yuv_frame."

7 years agovp9: SVC: Use prune_evenemore only for non_reference.
Marco [Sat, 10 Jun 2017 00:48:03 +0000 (17:48 -0700)]
vp9: SVC: Use prune_evenemore only for non_reference.

Set subpel prune_evenmore only for non_reference frames,
instead of all TL > 0 frames. Gain some quality back at
cost of small speed loss (~1-2%).

Change only effects SVC encoding at speed >= 7.

Change-Id: I5b9f51e51dccfd7050521a66996176b0415ca3f9

7 years agoRemove duplication on vp8/9_write_yuv_frame.
Jerome Jiang [Thu, 8 Jun 2017 23:07:02 +0000 (16:07 -0700)]
Remove duplication on vp8/9_write_yuv_frame.

Change-Id: Ib3546032a27c715bf509c0e24d26a189bc829da8

7 years agoMerge "idct_test: don't use std::nothrow anymore"
Johann Koenig [Fri, 9 Jun 2017 20:42:39 +0000 (20:42 +0000)]
Merge "idct_test: don't use std::nothrow anymore"

7 years agoMerge "buffer.h: allow declaring an alignment"
Johann Koenig [Fri, 9 Jun 2017 20:42:21 +0000 (20:42 +0000)]
Merge "buffer.h: allow declaring an alignment"

7 years agoMerge "Remove some dead code. Coverity CID 1310058"
Johann Koenig [Fri, 9 Jun 2017 20:41:56 +0000 (20:41 +0000)]
Merge "Remove some dead code. Coverity CID 1310058"

7 years agoidct_test: don't use std::nothrow anymore
Johann [Thu, 8 Jun 2017 17:09:23 +0000 (10:09 -0700)]
idct_test: don't use std::nothrow anymore

But still check for NULL before calling Init()

Change-Id: I2bf2887e1064c9103d29c542d20365c0aea75d76

7 years agobuffer.h: allow declaring an alignment
Johann [Tue, 6 Jun 2017 22:15:47 +0000 (15:15 -0700)]
buffer.h: allow declaring an alignment

x86 simd register operations generally prefer and may require 16 byte
alignment.

Change-Id: I73ce577a90dc66af60743c5727c36f23200950ba

7 years agoRemove some dead code. Coverity CID 1310058
Sylvestre Ledru [Fri, 9 Jun 2017 12:08:18 +0000 (14:08 +0200)]
Remove some dead code. Coverity CID 1310058

Change-Id: I1186cf1dd8cde42f5970928f43edfc852298289d

7 years agoMerge "vp8_decode_frame: fix oob read on truncated key frame"
James Zern [Thu, 8 Jun 2017 23:17:49 +0000 (23:17 +0000)]
Merge "vp8_decode_frame: fix oob read on truncated key frame"

7 years agovp8_decode_frame: fix oob read on truncated key frame
James Zern [Thu, 8 Jun 2017 03:46:13 +0000 (20:46 -0700)]
vp8_decode_frame: fix oob read on truncated key frame

the check for error correction being disabled was overriding the data
length checks. this avoids returning incorrect information (width /
height) for the decoded frame which could result in inconsistent sizes
returned in to an application causing it to read beyond the bounds of
the frame allocation.

BUG=webm:1443
BUG=b/62458770

Change-Id: I063459674e01b57c0990cb29372e0eb9a1fbf342

7 years agoRevert "buffer.h: use size_t"
Johann [Thu, 8 Jun 2017 17:20:21 +0000 (10:20 -0700)]
Revert "buffer.h: use size_t"

This reverts commit f08581c1d010ea95b8cfae686b5c0a64b32519f9.

type conversion warnings abound.

Change-Id: I41d4c0e7a388e1008bdbc55fefda4bbca3f89f00

7 years agoMerge "Merge skin detection code in vp8/9."
Jerome Jiang [Thu, 8 Jun 2017 16:35:59 +0000 (16:35 +0000)]
Merge "Merge skin detection code in vp8/9."

7 years agoMerge "fdct16x16 neon optimization"
Johann Koenig [Thu, 8 Jun 2017 15:19:35 +0000 (15:19 +0000)]
Merge "fdct16x16 neon optimization"

7 years agoMerge skin detection code in vp8/9.
Jerome Jiang [Mon, 5 Jun 2017 18:09:05 +0000 (11:09 -0700)]
Merge skin detection code in vp8/9.

BUG=webm:1438

Change-Id: Ie3dc034c7dbb498a0b088a767b1936ddeed4df14

7 years agovp9 level targeting: more strict constraint on min_gf_interval
hui su [Wed, 7 Jun 2017 22:50:36 +0000 (15:50 -0700)]
vp9 level targeting: more strict constraint on min_gf_interval

min_gf_interval should be no less than min_altref_distance + 1,
as the encoder may produce bitstream with alt-ref distance being
min_gf_interval - 1.

BUG=b/38450599

Change-Id: Ifb733daa643ebc668d1b23e1ce92db94b66dabe8

7 years agofdct16x16 neon optimization
Johann [Thu, 25 May 2017 17:02:34 +0000 (10:02 -0700)]
fdct16x16 neon optimization

Roughly 2x speedup. Since the only change for HBD is to store(), the
improvement appears to hold there as well.

BUG=webm:1424

Change-Id: I15b813d50deb2e47b49a6b0705945de748e83c19

7 years agoMerge "vp9: SVC: Enable simple_block_yrd for temporal layers."
Marco Paniconi [Wed, 7 Jun 2017 21:12:13 +0000 (21:12 +0000)]
Merge "vp9: SVC: Enable simple_block_yrd for temporal layers."

7 years agoMerge changes Iade45f69,I18d90658,Ieca3f1ef
Johann Koenig [Wed, 7 Jun 2017 19:20:15 +0000 (19:20 +0000)]
Merge changes Iade45f69,I18d90658,Ieca3f1ef

* changes:
  buffer.h: add num_elements_
  buffer.h: zero-init all values
  buffer.h: use size_t

7 years agovp9: SVC: Enable simple_block_yrd for temporal layers.
Marco [Wed, 7 Jun 2017 18:33:40 +0000 (11:33 -0700)]
vp9: SVC: Enable simple_block_yrd for temporal layers.

Enable simple_block_yrd for temporal enhancement layers (TL > 0).
And remove block size condiiton for SVC mode.
Only affects speed >= 7 SVC.

Speedup ~3-4%.
avgPSNR regression on RTC for (3 spatial, 3 temporal) layers: ~1%.

Change-Id: Iff4fc191623b71c69cd373e7c0823385e7ac67ed

7 years agobuffer.h: add num_elements_
Johann [Tue, 6 Jun 2017 20:17:07 +0000 (13:17 -0700)]
buffer.h: add num_elements_

raw_size_ was being incorrectly computed and used

Change-Id: Iade45f69964c567ffb258880f26006a96ae5a30d

7 years agobuffer.h: zero-init all values
Johann [Wed, 7 Jun 2017 18:27:26 +0000 (11:27 -0700)]
buffer.h: zero-init all values

Change-Id: I18d90658bcd4365d49adcadd6954090b3b399aa8

7 years agobuffer.h: use size_t
Johann [Tue, 6 Jun 2017 19:58:15 +0000 (12:58 -0700)]
buffer.h: use size_t

Change-Id: Ieca3f1ef23cd1d7b844ea3ecb054007ed280b04f

7 years agovp9: SVC: Enable row-mt in sample encoder.
Marco [Wed, 7 Jun 2017 17:27:19 +0000 (10:27 -0700)]
vp9: SVC: Enable row-mt in sample encoder.

Change-Id: I4b51043cb3f5955efe947fe4685aed4a21adb8bd

7 years agoMerge "ppc: Add vpx_sadnxmx4d_vsx for n,m = {8, 16, 32 ,64}"
James Zern [Tue, 6 Jun 2017 23:52:39 +0000 (23:52 +0000)]
Merge "ppc: Add vpx_sadnxmx4d_vsx for n,m = {8, 16, 32 ,64}"

7 years agoMerge "vp9: SVC: Adjust some speed settings for SVC speed >= 7."
Marco Paniconi [Tue, 6 Jun 2017 23:07:44 +0000 (23:07 +0000)]
Merge "vp9: SVC: Adjust some speed settings for SVC speed >= 7."

7 years agovp9: SVC: Adjust some speed settings for SVC speed >= 7.
Marco [Tue, 6 Jun 2017 22:28:06 +0000 (15:28 -0700)]
vp9: SVC: Adjust some speed settings for SVC speed >= 7.

Keep the 1/4subpel for all frames, use SUBPEL_TREE_PRUNED_EVENMORE
for all temporal enhancement layer frames.

Change-Id: Ibc681acbb6fc75b7b3c57fc483fcb11d591dfc9a

7 years agobuffer.h: split out init
Johann [Tue, 6 Jun 2017 19:48:01 +0000 (12:48 -0700)]
buffer.h: split out init

Change-Id: Idfbd2e01714ca9d00525c5aeba78678b43fb0287

7 years agobuffer.h: Use T for values
Johann [Tue, 6 Jun 2017 19:05:14 +0000 (12:05 -0700)]
buffer.h: Use T for values

Change-Id: I2da4110e843b6e361028b921c24b6ca2ea9077d9

7 years agoInitialize cost_list all to INT_MAX.
Jerome Jiang [Tue, 6 Jun 2017 17:13:34 +0000 (10:13 -0700)]
Initialize cost_list all to INT_MAX.

It is initialized to be { INT_MAX, 0, ... } in ffe0f9b.
No effect on encoders.
Make it consistent with other initializations.

BUG=webm:1440

Change-Id: Ie2a180d93626b55914c8c4255e466a1986d2b922

7 years agovp9_mcomp,get_cost_surf_min: quiet conversion warning
James Zern [Tue, 6 Jun 2017 05:52:58 +0000 (22:52 -0700)]
vp9_mcomp,get_cost_surf_min: quiet conversion warning

visual studio will warn if a 32-bit shift is implicitly converted to 64.
in this case integer storage is enough for the result.
since:
f3a9ae5ba Fix ubsan failure in vp9_mcomp.c.

Change-Id: I7e0e199ef8d3c64e07b780c8905da8c53c1d09fc

7 years agoMerge "Fix valgrind failure on uninitialized variables."
Jerome Jiang [Tue, 6 Jun 2017 03:47:30 +0000 (03:47 +0000)]
Merge "Fix valgrind failure on uninitialized variables."

7 years agoMerge "ppc: Add vpx_sad64/32/16x64/32/16_avg_vsx"
James Zern [Tue, 6 Jun 2017 02:19:41 +0000 (02:19 +0000)]
Merge "ppc: Add vpx_sad64/32/16x64/32/16_avg_vsx"

7 years agoFix valgrind failure on uninitialized variables.
Jerome Jiang [Mon, 5 Jun 2017 18:41:02 +0000 (11:41 -0700)]
Fix valgrind failure on uninitialized variables.

BUG=webm:1440

Change-Id: I7074e42bdfa8dd25f11bbb3f2ab1b41d6f4c12e4

7 years agoFix ubsan failure in vp9_mcomp.c.
Jerome Jiang [Fri, 2 Jun 2017 20:50:08 +0000 (13:50 -0700)]
Fix ubsan failure in vp9_mcomp.c.

Change-Id: Iff1dea1fe9d4ea1d3fc95ea736ddf12f30e6f48d

7 years agovp9: SVC: Force subpel search off under certain conditions.
Marco [Fri, 26 May 2017 18:36:45 +0000 (11:36 -0700)]
vp9: SVC: Force subpel search off under certain conditions.

For SVC 1 pass non-rd mode:
Force subpel seach off for SVC for non-reference frames
under motion threshold.

Add flag to svc context to indicate if the frame is not used
as a reference.

Little/no quaity loss, ~2% speedup.

Change-Id: Ic433c44b514d19d08b28f80ff05231dc943b28e9

7 years agoMerge "vp9: Speed >8: Set subpel_search_method for low motion."
Marco Paniconi [Thu, 1 Jun 2017 23:56:53 +0000 (23:56 +0000)]
Merge "vp9: Speed >8: Set subpel_search_method for low motion."

7 years agovp9: Speed >8: Set subpel_search_method for low motion.
Marco [Thu, 1 Jun 2017 23:07:15 +0000 (16:07 -0700)]
vp9: Speed >8: Set subpel_search_method for low motion.

Speed >=8: for resolutions above CIF, and for low motion content,
set subpel_search_method to SUBPEL_TREE_PRUNED_EVENMORE.

Small speed gain (~2%) on vga clips,
RTC metrics up by ~2-3% on average.

Change-Id: Ie26ba0264589652f92dfe74308740debf94cf0cc

7 years agovp8 skin detection: Fix visual studio build failure.
Jerome Jiang [Thu, 1 Jun 2017 20:46:46 +0000 (13:46 -0700)]
vp8 skin detection: Fix visual studio build failure.

Change-Id: I510b755550ebbfa2aaf9b974920d7f1c6454a845

7 years agoFix corruption in skin map debugging output yuv.
Jerome Jiang [Wed, 31 May 2017 22:56:29 +0000 (15:56 -0700)]
Fix corruption in skin map debugging output yuv.

For both vp8 and vp9.

BUG=webm:1437

Change-Id: Ifd06f68a876ade91cc2cc27c574c4641b77cce28

7 years agovp8: Clean up skin detection.
Jerome Jiang [Wed, 31 May 2017 21:57:10 +0000 (14:57 -0700)]
vp8: Clean up skin detection.

Use only the average of center 2x2 pixels in vp8.

Change-Id: I2b23ff19a90827226273e0fca49e90c734eda59b

7 years agoMerge "comp_avg_pred neon: used by sub pixel avg variance"
Johann Koenig [Wed, 31 May 2017 18:17:27 +0000 (18:17 +0000)]
Merge "comp_avg_pred neon: used by sub pixel avg variance"

7 years agoMerge "Write skin map of vp8 skin detection for debug."
Jerome Jiang [Wed, 31 May 2017 16:37:07 +0000 (16:37 +0000)]
Merge "Write skin map of vp8 skin detection for debug."

7 years agoMerge "Update vpx_highbd_idct4x4_16_add_sse2()"
Linfeng Zhang [Wed, 31 May 2017 15:56:19 +0000 (15:56 +0000)]
Merge "Update vpx_highbd_idct4x4_16_add_sse2()"

7 years agocomp_avg_pred neon: used by sub pixel avg variance
Johann [Wed, 3 May 2017 21:58:52 +0000 (14:58 -0700)]
comp_avg_pred neon: used by sub pixel avg variance

BUG=webm:1423

Change-Id: I33de537f238f58f89b7a6c1c2d6e8110de4b8804

7 years agoWrite skin map of vp8 skin detection for debug.
Jerome Jiang [Fri, 26 May 2017 23:20:49 +0000 (16:20 -0700)]
Write skin map of vp8 skin detection for debug.

Change-Id: Ica1b4e918aa759cd0ce65920f9d88452bbf9e3b4

7 years agoUpdate vpx_highbd_idct4x4_16_add_sse2()
Linfeng Zhang [Mon, 22 May 2017 23:04:05 +0000 (16:04 -0700)]
Update vpx_highbd_idct4x4_16_add_sse2()

BUG=webm:1412

Change-Id: I26e4b34ae9bc1ae80c24f56d740d737a95f1ab84

7 years agoMerge "comp_avg_pred: alignment"
Johann Koenig [Tue, 30 May 2017 16:21:05 +0000 (16:21 +0000)]
Merge "comp_avg_pred: alignment"

7 years agoMerge "remove DECLARE_ALIGNED from neon code"
Johann Koenig [Tue, 30 May 2017 15:58:16 +0000 (15:58 +0000)]
Merge "remove DECLARE_ALIGNED from neon code"

7 years agocomp_avg_pred: alignment
Johann [Tue, 30 May 2017 14:46:43 +0000 (07:46 -0700)]
comp_avg_pred: alignment

x86 requires 16 byte alignment for some vector loads/stores.

arm does not have the same requirement.

The asserts are still in avg_pred_sse2.c. This just removes them from
the common code.

Change-Id: Ic5175c607a94d2abf0b80d431c4e30c8a6f731b6