]> granicus.if.org Git - libvpx/log
libvpx
7 years agovp9: Nonrd mode: use content_state_sb for high motion.
Marco [Thu, 6 Jul 2017 20:06:39 +0000 (13:06 -0700)]
vp9: Nonrd mode: use content_state_sb for high motion.

In the content_state for a superblock is set to HighSad,
use that to bias some decisions in variance partition and
nonrd pickmde: use int_pro_motion for sad computation in
choose_partitioning, and set large_block in pickmode based
on the content_state_sb.

Only affects speed >= 7.

Immprovement for high motion content.
Small gain (~1%) in RTC metrics.
Speedup of ~5 for high motion clip on android (speed 8, 1 thread).

Change-Id: I5774c4854f012b89c8e969f6129b60988c2ce11c

7 years agoMerge changes from topic 'rm-dec-frame-parallel'
James Zern [Thu, 6 Jul 2017 04:06:30 +0000 (04:06 +0000)]
Merge changes from topic 'rm-dec-frame-parallel'

* changes:
  vp9_onyxc_int,RefCntBuffer: rm unused members
  remove vp9_dthread.c
  vp9: reduce FRAME_BUFFERS by 3

7 years agoMerge changes from topic 'rm-dec-frame-parallel'
James Zern [Wed, 5 Jul 2017 23:53:22 +0000 (23:53 +0000)]
Merge changes from topic 'rm-dec-frame-parallel'

* changes:
  VP9_COMMON: rm frame_parallel_decode
  VP9Decoder: rm frame_parallel_decode
  vp9_dx: rm worker thread creation

7 years agoMerge "test_vector_test,vp8: correct thread range"
James Zern [Wed, 5 Jul 2017 22:33:51 +0000 (22:33 +0000)]
Merge "test_vector_test,vp8: correct thread range"

7 years agoMerge "Further refactoring of mod error calculation."
Yaowu Xu [Wed, 5 Jul 2017 21:43:50 +0000 (21:43 +0000)]
Merge "Further refactoring of mod error calculation."

7 years agoMerge "Fix incorrect index test in GF group rate assignment."
Yaowu Xu [Wed, 5 Jul 2017 21:43:43 +0000 (21:43 +0000)]
Merge "Fix incorrect index test in GF group rate assignment."

7 years agoMerge "googletest: suppress unsigned overflow in the LCG"
James Zern [Wed, 5 Jul 2017 21:19:44 +0000 (21:19 +0000)]
Merge "googletest: suppress unsigned overflow in the LCG"

7 years agoMerge "test/buffer.h: move range checking to compiler"
Johann Koenig [Wed, 5 Jul 2017 21:15:13 +0000 (21:15 +0000)]
Merge "test/buffer.h: move range checking to compiler"

7 years agoMerge "dct_partial_test: cover vpx_fdct8x8_1_msa in hbd"
James Zern [Wed, 5 Jul 2017 21:08:46 +0000 (21:08 +0000)]
Merge "dct_partial_test: cover vpx_fdct8x8_1_msa in hbd"

7 years agoMerge "level tests: allow level undershoot"
Hui Su [Wed, 5 Jul 2017 20:47:20 +0000 (20:47 +0000)]
Merge "level tests: allow level undershoot"

7 years agodct_partial_test: cover vpx_fdct8x8_1_msa in hbd
James Zern [Sat, 1 Jul 2017 20:10:03 +0000 (13:10 -0700)]
dct_partial_test: cover vpx_fdct8x8_1_msa in hbd

this was enabled in:
5ac88162b partial fdct test

Change-Id: Ibae2031ec1308fe3a3b84a1ce6e7bacda3a7cb82

7 years agoMerge changes from topic 'missing-proto'
James Zern [Wed, 5 Jul 2017 20:00:25 +0000 (20:00 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  fwd_txfm_msa.c: add missing vpx_dsp_rtcd.h
  vpx_convolve_*_msa.c: add missing vpx_dsp_rtcd.h
  loopfilter_*_msa.c: add missing vpx_dsp_rtcd.h

7 years agoMerge "partial fdct neon: maintain neon registers"
Johann Koenig [Wed, 5 Jul 2017 19:12:38 +0000 (19:12 +0000)]
Merge "partial fdct neon: maintain neon registers"

7 years agotest/buffer.h: move range checking to compiler
Johann [Wed, 5 Jul 2017 18:14:51 +0000 (11:14 -0700)]
test/buffer.h: move range checking to compiler

Pass low/high values as type T. Out of range values should be caught by
static analysis instead.

Change-Id: I0a3ee8820af05f4c791ab097626174e2206fa6d5

7 years agoFurther refactoring of mod error calculation.
paulwilkins [Fri, 19 May 2017 14:08:15 +0000 (15:08 +0100)]
Further refactoring of mod error calculation.

Further refactoring to support alternative error distributions.

Change-Id: I0f7fa3fd6f3baa4b0a1e53c6aa3be63966e97b82

7 years agoFix incorrect index test in GF group rate assignment.
paulwilkins [Tue, 4 Jul 2017 12:21:14 +0000 (13:21 +0100)]
Fix incorrect index test in GF group rate assignment.

Correct test for middle frame in the group.

Change-Id: I1ee49fa33968eb3c4a01d6a27a60bb1409e3e68c

7 years agoMerge "buffer.h: incorrect RandRange results"
James Zern [Sun, 2 Jul 2017 03:48:53 +0000 (03:48 +0000)]
Merge "buffer.h: incorrect RandRange results"

7 years agobuffer.h: incorrect RandRange results
Johann [Sat, 1 Jul 2017 15:52:18 +0000 (08:52 -0700)]
buffer.h: incorrect RandRange results

'low' was promoted to unsigned, triggering a ubsan warning

Change-Id: Id49340079d39c105da93cf13e96cf852a93a94ba

7 years agoMerge changes I4ed1312f,Id2673eec
James Zern [Sun, 2 Jul 2017 02:38:39 +0000 (02:38 +0000)]
Merge changes I4ed1312f,Id2673eec

* changes:
  ppc: Add vpx_idct8x8_64_add_vsx
  ppc: Add vpx_idct4x4_16_add_vsx

7 years agoppc: Add vpx_idct8x8_64_add_vsx
Alexandra Hájková [Mon, 12 Jun 2017 09:35:50 +0000 (09:35 +0000)]
ppc: Add vpx_idct8x8_64_add_vsx

Change-Id: I4ed1312f365509e0595dcc09890ecb050f6f2069

7 years agoppc: Add vpx_idct4x4_16_add_vsx
Alexandra Hájková [Sat, 10 Jun 2017 14:44:46 +0000 (14:44 +0000)]
ppc: Add vpx_idct4x4_16_add_vsx

Change-Id: Id2673eece32027fb245919c7a5c81994a4a19fd8

7 years agogoogletest: suppress unsigned overflow in the LCG
Alex Converse [Tue, 11 Apr 2017 17:20:18 +0000 (10:20 -0700)]
googletest: suppress unsigned overflow in the LCG

Local application of:
https://github.com/google/googletest/pull/1066

Suppress unsigned overflow instrumentation in the LCG

The rest of the (covered) codebase is already integer overflow clean.

TESTED=gtest_shuffle_test goes from fail to pass with -fsanitize=integer

Change-Id: I8a6db02a7c274160adb08b7dfd528b87b5b53050

7 years agohighbd_idct8x8_add_sse4: make << of neg. val a multiply
James Zern [Sat, 1 Jul 2017 18:52:20 +0000 (11:52 -0700)]
highbd_idct8x8_add_sse4: make << of neg. val a multiply

left shifting a negative value is undefined; quiets a ubsan warning.
this is applied to a constant, no change in the generated code.

Change-Id: Ia17a7672d4832463decbc4afd6cd42974d02698e

7 years agopartial fdct neon: maintain neon registers
Johann [Sat, 1 Jul 2017 16:28:07 +0000 (09:28 -0700)]
partial fdct neon: maintain neon registers

Finish the calulations in neon registers. This avoids a potentially
expensive move from neon to gp and allows at least clang to store
directly to memory.

BUG=webm:1424

Change-Id: Idef25eec95f7610947167818e9194bde8b00d282

7 years agofwd_txfm_msa.c: add missing vpx_dsp_rtcd.h
James Zern [Sat, 1 Jul 2017 01:53:30 +0000 (18:53 -0700)]
fwd_txfm_msa.c: add missing vpx_dsp_rtcd.h

+ only expose compatible functions in high-bitdepth build

quiets -Wmissing-prototypes warnings

Change-Id: I8ef7db08a34c5c54b5cde6e732c0d70f4287c89a

7 years agovpx_convolve_*_msa.c: add missing vpx_dsp_rtcd.h
James Zern [Sat, 1 Jul 2017 01:49:08 +0000 (18:49 -0700)]
vpx_convolve_*_msa.c: add missing vpx_dsp_rtcd.h

quiets -Wmissing-prototypes warnings

Change-Id: I1ab5b8ae4a62f54e0f9eb3fc81371c9b99972c30

7 years agoloopfilter_*_msa.c: add missing vpx_dsp_rtcd.h
James Zern [Sat, 1 Jul 2017 01:47:47 +0000 (18:47 -0700)]
loopfilter_*_msa.c: add missing vpx_dsp_rtcd.h

+ make some functions static

quiets -Wmissing-prototypes warnings

Change-Id: I2130e06142e71a004a1eb30e173feba4f6fe68a0

7 years agofwd_txfm_msa.c: correct vpx_fdct8x8_1_msa prototype
James Zern [Sat, 1 Jul 2017 01:44:46 +0000 (18:44 -0700)]
fwd_txfm_msa.c: correct vpx_fdct8x8_1_msa prototype

this makes the function compatible with high-bitdepth and fixes test
failures since:
5ac88162b partial fdct test

Change-Id: Ib630694608237f0c515948942e05dbea259ba338

7 years agotest_vector_test,vp8: correct thread range
James Zern [Fri, 30 Jun 2017 23:21:06 +0000 (16:21 -0700)]
test_vector_test,vp8: correct thread range

testing::Range does not include the end parameter in the set of values.
also adjust the start to 2 as the single threaded case is already
covered in another instantiation

Change-Id: Iae3bf3ed4363dd434eccfa5ad4e3c5e553fbee60

7 years agoMerge "gen_msvs_sln: fix solution version for 2015/17"
James Zern [Fri, 30 Jun 2017 22:05:32 +0000 (22:05 +0000)]
Merge "gen_msvs_sln: fix solution version for 2015/17"

7 years agoMerge "cosmetics,vp9/encoder: s/txm/txfm/"
James Zern [Fri, 30 Jun 2017 21:57:16 +0000 (21:57 +0000)]
Merge "cosmetics,vp9/encoder: s/txm/txfm/"

7 years agoMerge "vp9: Adjust condition for checking intra mode."
Jerome Jiang [Fri, 30 Jun 2017 21:55:00 +0000 (21:55 +0000)]
Merge "vp9: Adjust condition for checking intra mode."

7 years agovp9: Adjust condition for checking intra mode.
Marco [Thu, 29 Jun 2017 00:03:53 +0000 (17:03 -0700)]
vp9: Adjust condition for checking intra mode.

For nonrd_pickmode: add condition for checking
intra mode if the sb content state is VeryHighSad.

Reduces artifacts when sudden change in content.

Metrics on RTC/RTC_derf neutral (small gain).
No speed loss observed.

Change-Id: I07006d28fd2dc06c1d06b07630102b0fece50c40

7 years agoMerge changes I5d038b4f,I9d00d1dd,I0722841d,I1f640db7
Linfeng Zhang [Fri, 30 Jun 2017 20:49:19 +0000 (20:49 +0000)]
Merge changes I5d038b4f,I9d00d1dd,I0722841d,I1f640db7

* changes:
  Add vpx_highbd_idct8x8_{12, 64}_add_sse4_1
  sse2: Add transpose_32bit_4x4x2() and update transpose_32bit_4x4()
  Refactor highbd idct 4x4 sse4.1 code and add highbd_inv_txfm_sse4.h
  Refactor vpx_idct8x8_12_add_ssse3() and add inv_txfm_ssse3.h

7 years agogen_msvs_sln: fix solution version for 2015/17
James Zern [Fri, 30 Jun 2017 19:36:46 +0000 (12:36 -0700)]
gen_msvs_sln: fix solution version for 2015/17

these are rewritten to 12; 15 causes the open to fail under vs2017

Change-Id: I9c3fd38b632180fa10f1713d4a5d9d15aefd8569

7 years agovp9_onyxc_int,RefCntBuffer: rm unused members
James Zern [Wed, 28 Jun 2017 03:22:53 +0000 (20:22 -0700)]
vp9_onyxc_int,RefCntBuffer: rm unused members

the last frame_worker_owner, row and col references were removed in:
131bd06e6 remove vp9_dthread.c

BUG=webm:1395

Change-Id: Ia7fb2e8782b12a58d2a2263849d20a8abf06aef6

7 years agoVP9_COMMON: rm frame_parallel_decode
James Zern [Tue, 27 Jun 2017 05:45:06 +0000 (22:45 -0700)]
VP9_COMMON: rm frame_parallel_decode

this has been 0 since the removal of frame_parallel_decode in
vp9_dx_iface.

BUG=webm:1395

Change-Id: I3a562b2c6b82050064d2b2ccb18a3e77c700b2da

7 years agoremove vp9_dthread.c
James Zern [Wed, 28 Jun 2017 03:16:11 +0000 (20:16 -0700)]
remove vp9_dthread.c

and the related prototypes in vp9_dthread.h. the last references were
removed in:
09dabc58d VP9_COMMON: rm frame_parallel_decode

vp9_dx_iface.c still uses FrameWorkerData

BUG=webm:1395

Change-Id: Ica8e98ae776fc0105f1fbbed9e0a729808980810

7 years agoVP9Decoder: rm frame_parallel_decode
James Zern [Tue, 27 Jun 2017 05:39:07 +0000 (22:39 -0700)]
VP9Decoder: rm frame_parallel_decode

this has been 0 since the removal of frame_parallel_decode in
vp9_dx_iface.

BUG=webm:1395

Change-Id: I3f579766ecfa4777395b99686738e1c5610f86ef

7 years agovp9: reduce FRAME_BUFFERS by 3
James Zern [Wed, 28 Jun 2017 03:02:28 +0000 (20:02 -0700)]
vp9: reduce FRAME_BUFFERS by 3

the additional buffers are unneeded with the removal of
frame_parallel_decode

BUG=webm:1395

Change-Id: Id9ec4cb6462af5d07a0d3cf939bd216db27d9d9e

7 years agovp9_dx: rm worker thread creation
James Zern [Tue, 27 Jun 2017 05:21:32 +0000 (22:21 -0700)]
vp9_dx: rm worker thread creation

creating a thread associated with the sole worker isn't necessary when
only execute() is being used after the removal of frame_parallel_decode.

BUG=webm:1395

Change-Id: I2255ce72607321e5708bc82a632dc6825d4eff5c

7 years agoMerge changes from topic 'rm-dec-frame-parallel'
James Zern [Fri, 30 Jun 2017 19:02:05 +0000 (19:02 +0000)]
Merge changes from topic 'rm-dec-frame-parallel'

* changes:
  vp9_dx,vpx_codec_alg_priv: rm *worker_id*
  vp9_dx,vpx_codec_alg_priv: rm *cache*
  vp9_dx,vpx_codec_alg_priv: rm frame_parallel_decode

7 years agobuffer.h: use stride_ instead of stride()
Johann [Fri, 30 Jun 2017 14:37:20 +0000 (07:37 -0700)]
buffer.h: use stride_ instead of stride()

Change-Id: Ib51231349bf0ff3e23672762dc7bfa49b5fe4083

7 years agotesting: ranges for random values
Johann [Wed, 28 Jun 2017 21:33:38 +0000 (14:33 -0700)]
testing: ranges for random values

Add a method to acm_random.h to generate ranges of values

Add a way to call that method to buffer.h

Adjust dct_[partial_]test.cc to use it.

Change-Id: I8c23ae9d27612c28f050b0e44c41cb4ad2494086

7 years agoMerge changes Id5beb35d,I2945fe54,Ib0f3cfd6,I78a2eba8
Johann Koenig [Fri, 30 Jun 2017 01:00:07 +0000 (01:00 +0000)]
Merge changes Id5beb35d,I2945fe54,Ib0f3cfd6,I78a2eba8

* changes:
  partial fdct neon: add 32x32_1
  partial fdct neon: add 16x16_1
  partial fdct neon: add 4x4_1
  partial fdct neon: move 8x8_1 and enable hbd tests

7 years agoAdd vpx_highbd_idct8x8_{12, 64}_add_sse4_1
Linfeng Zhang [Thu, 29 Jun 2017 23:30:32 +0000 (16:30 -0700)]
Add vpx_highbd_idct8x8_{12, 64}_add_sse4_1

BUG=webm:1412

Change-Id: I5d038b4fa842ce2f6b9bd5c8c44c70647bda9591

7 years agosse2: Add transpose_32bit_4x4x2() and update transpose_32bit_4x4()
Linfeng Zhang [Wed, 28 Jun 2017 23:29:40 +0000 (16:29 -0700)]
sse2: Add transpose_32bit_4x4x2() and update transpose_32bit_4x4()

BUG=webm:1412

Change-Id: I9d00d1ddbd724fd5f825fd974c4cf46a9bca6cb3

7 years agoRefactor highbd idct 4x4 sse4.1 code and add highbd_inv_txfm_sse4.h
Linfeng Zhang [Wed, 28 Jun 2017 23:17:39 +0000 (16:17 -0700)]
Refactor highbd idct 4x4 sse4.1 code and add highbd_inv_txfm_sse4.h

Also clean highbd_inv_txfm_sse2.h

BUG=webm:1412

Change-Id: I0722841d824ce602874019bd9779b10d49d10c0b

7 years agoRefactor vpx_idct8x8_12_add_ssse3() and add inv_txfm_ssse3.h
Linfeng Zhang [Wed, 28 Jun 2017 21:36:23 +0000 (14:36 -0700)]
Refactor vpx_idct8x8_12_add_ssse3() and add inv_txfm_ssse3.h

BUG=webm:1412

Change-Id: I1f640db71ad4c644b7521305a781f2218eb1ba9d

7 years agovp9_dx,vpx_codec_alg_priv: rm *worker_id*
James Zern [Tue, 27 Jun 2017 05:12:57 +0000 (22:12 -0700)]
vp9_dx,vpx_codec_alg_priv: rm *worker_id*

+ available_threads

these are unused with the removal of frame_parallel_decode

BUG=webm:1395

Change-Id: I59c5075542a5a74d4a539c213682f566b005f5a6

7 years agovp9_dx,vpx_codec_alg_priv: rm *cache*
James Zern [Tue, 27 Jun 2017 04:59:12 +0000 (21:59 -0700)]
vp9_dx,vpx_codec_alg_priv: rm *cache*

these fields are unused with the removal of frame_parallel_decode

BUG=webm:1395

Change-Id: Ia3821f7fb81d17b20033b094e5265b1030ee4030

7 years agovp9_dx,vpx_codec_alg_priv: rm frame_parallel_decode
James Zern [Tue, 27 Jun 2017 04:47:18 +0000 (21:47 -0700)]
vp9_dx,vpx_codec_alg_priv: rm frame_parallel_decode

this field has been 0 since:
01d23109a vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op

BUG=webm:1395

Change-Id: I15448e9401e15329b54c6878dda033b17be5ec6b

7 years agoMerge changes from topic 'rm-dec-frame-parallel'
James Zern [Thu, 29 Jun 2017 23:21:18 +0000 (23:21 +0000)]
Merge changes from topic 'rm-dec-frame-parallel'

* changes:
  rm vp9_frame_parallel_test.cc
  test_vector_test: rm ref to VPX_CODEC_USE_FRAME_THREADING

7 years agorm vp9_frame_parallel_test.cc
James Zern [Tue, 27 Jun 2017 02:26:22 +0000 (19:26 -0700)]
rm vp9_frame_parallel_test.cc

VPX_CODEC_USE_FRAME_THREADING was made a no-op in:
01d23109a vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op

and the tests in this file have been disabled since:
6ab0870d4 disable VP9MultiThreadedFrameParallel tests

BUG=webm:1395

Change-Id: I2c7a250acb65cf9522cf8a7bb724bb92070e41c6

7 years agotest_vector_test: rm ref to VPX_CODEC_USE_FRAME_THREADING
James Zern [Tue, 27 Jun 2017 02:18:14 +0000 (19:18 -0700)]
test_vector_test: rm ref to VPX_CODEC_USE_FRAME_THREADING

this was made a no-op in:
01d23109a vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op

and the test hitting this branch has been disabled since:
6ab0870d4 disable VP9MultiThreadedFrameParallel tests

rename the test to VP9MultiThreaded to exercise the tile-based threading

BUG=webm:1395

Change-Id: I35564a75eb5a7d7f7ccb923133b1b07295201f4c

7 years agocosmetics,vp9/encoder: s/txm/txfm/
James Zern [Thu, 29 Jun 2017 22:07:55 +0000 (15:07 -0700)]
cosmetics,vp9/encoder: s/txm/txfm/

txfm is more commonly used as an abbreviation through the codebase

Change-Id: I86fd90ef132468f9da270091c05daa1f5a49ece2

7 years agodct_partial_test,fwd_txfm: change << to *
James Zern [Thu, 29 Jun 2017 21:42:03 +0000 (14:42 -0700)]
dct_partial_test,fwd_txfm: change << to *

left shift of a negative number is undefined in C; quiets a ubsan
warning

Change-Id: Ib1624ad5326ac8e0eead9348468ef7fe5d4df9a4

7 years agovp9: Remove avg2x2 in skin detection and clean up.
Jerome Jiang [Tue, 27 Jun 2017 20:20:02 +0000 (13:20 -0700)]
vp9: Remove avg2x2 in skin detection and clean up.

Change-Id: I6510e36866138f8ac4cb82c207e58e0b9522e499

7 years agopartial fdct neon: add 32x32_1
Johann [Fri, 23 Jun 2017 01:36:08 +0000 (18:36 -0700)]
partial fdct neon: add 32x32_1

Always return an int32_t. Since it needs to be moved to a register for
shifting, this doesn't really penalize the smaller transforms.

The values could potentially be summed and shifted in place.

BUG=webm:1424

Change-Id: Id5beb35d79c7574ebd99285fc4182788cf2bb972

7 years agopartial fdct neon: add 16x16_1
Johann [Fri, 23 Jun 2017 01:22:27 +0000 (18:22 -0700)]
partial fdct neon: add 16x16_1

For the 8x8_1, the highbd output fit nicely in the existing function. 12
bit input will overflow this implementation of 16x16_1.

BUG=webm:1424

Change-Id: I2945fe5478b18f996f1a5de80110fa30f3f4e7ec

7 years agopartial fdct neon: add 4x4_1
Johann [Fri, 23 Jun 2017 01:12:28 +0000 (18:12 -0700)]
partial fdct neon: add 4x4_1

BUG=webm:1424

Change-Id: Ib0f3cfd6116fc1f5a99acb8bfd76e25b90177ffc

7 years agopartial fdct neon: move 8x8_1 and enable hbd tests
Johann [Fri, 23 Jun 2017 01:01:23 +0000 (18:01 -0700)]
partial fdct neon: move 8x8_1 and enable hbd tests

The function was originally written with HBD in mind. Enable it and
configure the tests.

BUG=webm:1424

Change-Id: I78a2eba8d4d9d59db98a344ba0840d4a60ebe9a1

7 years agoMerge changes Ib454762d,I966650df,Ie126553e,I068f06c6,Icb72a94e
Johann Koenig [Wed, 28 Jun 2017 22:37:00 +0000 (22:37 +0000)]
Merge changes Ib454762d,I966650df,Ie126553e,I068f06c6,Icb72a94e

* changes:
  sad neon: rewrite 64x64 and add 64x32
  sad neon: rewrite 32x32, add 32x16 and 32x64
  sad neon: rewrite 16x8, 16x16, add 16x32
  sad neon: rewrite 8x8 and 8x16
  sad neon: rewrite 4x4 and add 4x8

7 years agoMerge "buffer.h: Only allow Init() to be called once."
Johann Koenig [Wed, 28 Jun 2017 22:36:05 +0000 (22:36 +0000)]
Merge "buffer.h: Only allow Init() to be called once."

7 years agoMerge "partial fdct test"
Johann Koenig [Wed, 28 Jun 2017 22:34:53 +0000 (22:34 +0000)]
Merge "partial fdct test"

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 agosad neon: rewrite 64x64 and add 64x32
Johann [Tue, 27 Jun 2017 22:17:31 +0000 (15:17 -0700)]
sad neon: rewrite 64x64 and add 64x32

BUG=webm:1425

Change-Id: Ib454762d1c61b05a98324fe81ad58c9e09784717

7 years agosad neon: rewrite 32x32, add 32x16 and 32x64
Johann [Tue, 27 Jun 2017 21:33:28 +0000 (14:33 -0700)]
sad neon: rewrite 32x32, add 32x16 and 32x64

BUG=webm:1425

Change-Id: I966650df7e3face93e1e771634d1cc5458a35f85

7 years agosad neon: rewrite 16x8, 16x16, add 16x32
Johann [Tue, 27 Jun 2017 21:15:58 +0000 (14:15 -0700)]
sad neon: rewrite 16x8, 16x16, add 16x32

BUG=webm:1425

Change-Id: Ie126553e5fffcdfaf3d82a85b368ac10ce9ab082

7 years agosad neon: rewrite 8x8 and 8x16
Johann [Tue, 27 Jun 2017 20:02:28 +0000 (13:02 -0700)]
sad neon: rewrite 8x8 and 8x16

BUG=webm:1425

Change-Id: I068f06c67b841f09ea07c04ada0c2f1706102138

7 years agosad neon: rewrite 4x4 and add 4x8
Johann [Tue, 27 Jun 2017 19:44:54 +0000 (12:44 -0700)]
sad neon: rewrite 4x4 and add 4x8

The previous implementation loaded 8 values (discarding half)

BUG=webm:1425

Change-Id: Icb72a94e2557a4ee2db7091266ab58fd92f72158

7 years agoMerge "vp9: compute skinmap only once before encoding."
Jerome Jiang [Wed, 28 Jun 2017 18:01:46 +0000 (18:01 +0000)]
Merge "vp9: compute skinmap only once before encoding."

7 years agobuffer.h: Only allow Init() to be called once.
Johann [Wed, 7 Jun 2017 19:25:05 +0000 (12:25 -0700)]
buffer.h: Only allow Init() to be called once.

Change-Id: I041c8b6f314802833c5287a176dbfeec9461b08e

7 years agovp9: Speed >= 8: Remove logic on reducing subpel.
Marco [Wed, 28 Jun 2017 03:14:26 +0000 (20:14 -0700)]
vp9: Speed >= 8: Remove logic on reducing subpel.

Existing logic was only affecting resolutions above 720p.
Needs more testing for reducing subpel for speed >= 8.

No change on RTC metrics.

Change-Id: I2f4bf9f25891614aafa9a86aa5a5063a3ccfce4d

7 years agoMerge "highbd_quantize_fp_32x32: normalize abs_qcoeff type"
James Zern [Tue, 27 Jun 2017 23:30:16 +0000 (23:30 +0000)]
Merge "highbd_quantize_fp_32x32: normalize abs_qcoeff type"

7 years agovp9: compute skinmap only once before encoding.
Jerome Jiang [Tue, 27 Jun 2017 20:17:59 +0000 (13:17 -0700)]
vp9: compute skinmap only once before encoding.

This could save some cycles since skin detection is used in multiple
places in vp9.

1~2% speed up on ARM.

Change-Id: I86b731945f85215bbb0976021cd0f2040ff2687c

7 years agolevel tests: allow level undershoot
hui su [Mon, 26 Jun 2017 22:17:04 +0000 (15:17 -0700)]
level tests: allow level undershoot

Obtaining a level that is lower than the target should be tolerated.

Change-Id: I90a55ee6d7142e9f6cc525ebbd1e0501defcbe28

7 years agoUpdate vpx_idct8x8_12_add_ssse3()
Linfeng Zhang [Mon, 26 Jun 2017 21:57:41 +0000 (14:57 -0700)]
Update vpx_idct8x8_12_add_ssse3()

Change-Id: I0f38801c391db87ddae168602a786a062cd34b1d

7 years agoMerge "Update load_input_data() in x86"
Linfeng Zhang [Mon, 26 Jun 2017 21:48:49 +0000 (21:48 +0000)]
Merge "Update load_input_data() in x86"

7 years agoMerge "vp8: Clean up skinmap debugging codes."
Jerome Jiang [Mon, 26 Jun 2017 21:32:51 +0000 (21:32 +0000)]
Merge "vp8: Clean up skinmap debugging codes."

7 years agoUpdate load_input_data() in x86
Linfeng Zhang [Fri, 23 Jun 2017 23:04:27 +0000 (16:04 -0700)]
Update load_input_data() in x86

Split to load_input_data4() and load_input_data8().
Use pack with signed saturation instruction for high bitdepth.

Change-Id: Icda3e0129a6fdb4a51d1cafbdc652ae3a65f4e06

7 years agoroll libwebm snapshot
James Zern [Thu, 22 Jun 2017 03:16:26 +0000 (20:16 -0700)]
roll libwebm snapshot

git log --no-merges --oneline 9732ae9..a97c484
9096786 mkvparser: fix float conversion warning
84e8257 disable -Wdeprecated-declarations in legacy code
a98f495 AddGenericFrame: fix memory leak on failure
da131dd AddCuePoint: fix memory leak on failure
b0cea9c Add(Audio|Video)Track: fix memory leak on failure
5261a67 webm_info: check vp9 ParseUncompressedHeader return
85f7e2e webm_info,PrintVP9Info: validate alt ref sizes
9b97ca1 vp9_header_parser_tests: check parser return
300d6d8 CuePoint::Find: check Track pointer
50c44bb webm_info,OutputCues: fix indexing of tracks
a0d27f0 mkvparser,Block::Parse: remove incorrect assert
784fc1b vttdemux,CloseFiles: check file pointer before closing
b4522c1 .gitattributes: force mkv/webm to be treated as binary
a118f3d Add test for projection parse failures.
d398479 Add test for primary chromaticity parse failures.
9bbec4c Fix permissions on test file.
2cef4d5 mkvparser:Parse: s/FLT_MIN/-FLT_MAX/
35a3c88 mkvmuxer: Turn off estimate_file_duration_ by default
5a41830 mkvparser: Avoid double free when Chromaticity parse fails.
67e3ffa mkvparser: Avoid casts of values too large for float in
Projection elements.
87bcddf vttdemux::ChapterAtomParser: check for NULL display string
a534a24 Update .gitignore
a0d67d0 mkvmuxer: Fix hard-coded data size in EbmlElementSize
c36112c mkvparser: #include sys/type.h
686664e Fix cmake generation warnings on Windows.
2b2c196 cmake: Fix required flag check.
166e40f Cmake refactor.
9fb774a Add missing include in webm2pes.cc.
4956b2d mkvmuxer: Force new clusters when audio queue gets too long.
54f1559 cmake: Cache results of CXX flag tests.
81c73fc mkvparser: Avoid alloc failures in SeekHead::Parse.

Change-Id: Ib81b1772ec81e7af3852dcfef2d312416f6db53d

7 years agoMerge "Add vpx_highbd_idct4x4_16_add_sse4_1()"
Linfeng Zhang [Sat, 24 Jun 2017 01:15:13 +0000 (01:15 +0000)]
Merge "Add vpx_highbd_idct4x4_16_add_sse4_1()"

7 years agoMerge "Enable greedy version of optimize_b() in VP9 by default."
Urvang Joshi [Sat, 24 Jun 2017 00:58:24 +0000 (00:58 +0000)]
Merge "Enable greedy version of optimize_b() in VP9 by default."

7 years agoMerge "Cosmetics, 8x8 idct SSE2 optimization"
Linfeng Zhang [Sat, 24 Jun 2017 00:51:07 +0000 (00:51 +0000)]
Merge "Cosmetics, 8x8 idct SSE2 optimization"

7 years agoEnable greedy version of optimize_b() in VP9 by default.
Urvang Joshi [Sat, 24 Jun 2017 00:04:58 +0000 (17:04 -0700)]
Enable greedy version of optimize_b() in VP9 by default.

Improvements were already mentioned in the previous patch:
https://chromium-review.googlesource.com/#/c/531675/

Change-Id: I4906ab1c61c25a815bdeb986016fad6dcb69eb71

7 years agoMerge "variance_test: move Subpel* from tuples to TestParams"
James Zern [Fri, 23 Jun 2017 22:48:40 +0000 (22:48 +0000)]
Merge "variance_test: move Subpel* from tuples to TestParams"

7 years agoMerge "vp9: Use scene detection for CBR mode."
Marco Paniconi [Fri, 23 Jun 2017 21:59:31 +0000 (21:59 +0000)]
Merge "vp9: Use scene detection for CBR mode."

7 years agoAdd vpx_highbd_idct4x4_16_add_sse4_1()
Linfeng Zhang [Fri, 23 Jun 2017 21:27:18 +0000 (14:27 -0700)]
Add vpx_highbd_idct4x4_16_add_sse4_1()

BUG=webm:1412

Change-Id: Ie33482409351a01be4e89466b0441834eb1e905a

7 years agoCosmetics, 8x8 idct SSE2 optimization
Linfeng Zhang [Wed, 21 Jun 2017 22:18:17 +0000 (15:18 -0700)]
Cosmetics, 8x8 idct SSE2 optimization

Change-Id: Id21fa94fd323e36cd19a2d890bf4a0cafb7d964d

7 years agovp8: Clean up skinmap debugging codes.
Jerome Jiang [Fri, 23 Jun 2017 20:59:54 +0000 (13:59 -0700)]
vp8: Clean up skinmap debugging codes.

Use the computed skinmap.

Change-Id: I8aabb5922ef5190ec85b9e01807cb79b4803b925

7 years agoMerge "datarate_test: rename thread -> Thread in test name"
James Zern [Fri, 23 Jun 2017 20:00:50 +0000 (20:00 +0000)]
Merge "datarate_test: rename thread -> Thread in test name"

7 years agovariance_test: move Subpel* from tuples to TestParams
James Zern [Fri, 23 Jun 2017 07:26:00 +0000 (00:26 -0700)]
variance_test: move Subpel* from tuples to TestParams

this normalizes these tests with the regular variance ones both in
implementation and test list output

Change-Id: I387aea81456f94b8223b8fb2a28cab94bc1aa9d5

7 years agovp9: Use scene detection for CBR mode.
Marco [Thu, 22 Jun 2017 21:59:27 +0000 (14:59 -0700)]
vp9: Use scene detection for CBR mode.

Use the scene detection for CBR mode, and use it to reset the
rate control if large source sad is detected and rate
correctioni fact/QP is at minimum state.

Avoids large frame sizes after big content change following
low content period.

Only affects CBR mode for 1 pass at speeds 5, 6, 7.
Change-Id: I56dd853478cd5849b32db776e9221e258998d874

7 years agoMerge "vp8: Compute skinmap only once before encoding."
Jerome Jiang [Fri, 23 Jun 2017 17:17:01 +0000 (17:17 +0000)]
Merge "vp8: Compute skinmap only once before encoding."

7 years agoMerge changes from topic 'missing-proto'
James Zern [Fri, 23 Jun 2017 05:44:24 +0000 (05:44 +0000)]
Merge changes from topic 'missing-proto'

* changes:
  onyxd_int.h: add missing prototypes
  onyxd.h: add vp8dx_references_buffer prototype
  vp[89],vpx_dsp: add missing includes
  vp8,encodeframe.h: correct prototypes
  vp8: add temporal_filter.h
  add picklpf.h
  add ethreading.h
  vp8,bitstream.h: add missing prototypes
  vp8: remove vp8_fast_quantize_b_mmx
  vp8,loopfilter_filters: make some functions static
  vp9_ratectrl: make adjust_gf_boost_lag_one_pass_vbr static
  vp9_encodeframe: make scale_part_thresh_sumdiff static
  vp9_alt_ref_aq: correct vp9_alt_ref_aq_create proto
  tiny_ssim: make some functions static

7 years agoonyxd_int.h: add missing prototypes
James Zern [Fri, 16 Jun 2017 23:16:05 +0000 (16:16 -0700)]
onyxd_int.h: add missing prototypes

vp8cx_init_de_quantizer, vp8_mb_init_dequantizer
quiets -Wmissing-prototypes

Change-Id: Ib63d14caf0144eff31a75b7cdb667b7e1f9d83ae

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 agovp8: Compute skinmap only once before encoding.
Jerome Jiang [Wed, 21 Jun 2017 22:02:31 +0000 (15:02 -0700)]
vp8: Compute skinmap only once before encoding.

Get ready for other uses (i.e. cyclic refresh).
Then use it when needed.

Change-Id: Id0519a9921045e5fb7f3badb54e9f04e903f28f9

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