platform/upstream/libvpx.git
7 years agosad neon: macroize 32xN definitions
Johann [Thu, 6 Jul 2017 15:33:15 +0000 (08:33 -0700)]
sad neon: macroize 32xN definitions

Change-Id: I0020a49e77d27514375a03095d5821dc0aa7d128

7 years agosad neon: avg for 16x[8,16,32]
Johann [Thu, 6 Jul 2017 15:31:41 +0000 (08:31 -0700)]
sad neon: avg for 16x[8,16,32]

BUG=webm:1425

Change-Id: Ia42e4f36547c5fe12114fb58379e34bce82eb2f2

7 years agosad neon: macroize 16xN definitions
Johann [Thu, 6 Jul 2017 15:03:45 +0000 (08:03 -0700)]
sad neon: macroize 16xN definitions

Change-Id: I5aea6ffbfa48eb1970afe3be54f0bba275d7fa58

7 years agoMerge changes I7b36a57e,If2ab51e3,Ifc685a96
Johann Koenig [Fri, 7 Jul 2017 14:03:13 +0000 (14:03 +0000)]
Merge changes I7b36a57e,If2ab51e3,Ifc685a96

* changes:
  sad neon: macroize 8xN definitions
  sad neon: avg for 8x[4,8,16]
  sad neon: avg for 4x4 and 4x8

7 years agoMerge "vp9: Nonrd mode: use content_state_sb for high motion."
Marco Paniconi [Fri, 7 Jul 2017 03:00:59 +0000 (03:00 +0000)]
Merge "vp9: Nonrd mode: use content_state_sb for high motion."

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

* changes:
  vp9: remove FrameWorkerData & vp9_dthread.h
  vp9: remove (un)lock_buffer_pool

7 years agovp8cx,cosmetics: correct VP9_SET_TILE_COLUMNS docs
James Zern [Thu, 6 Jul 2017 17:38:01 +0000 (10:38 -0700)]
vp8cx,cosmetics: correct VP9_SET_TILE_COLUMNS docs

this has been set to max since:
f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default
~v1.4.0

Change-Id: Ic796fc05abe73a58700ec50e3f8e72d3462898ec

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 agovp8cx,cosmetics: correct VP9_SET_FRAME_PARALLEL_DECODING docs
James Zern [Thu, 6 Jul 2017 17:33:05 +0000 (10:33 -0700)]
vp8cx,cosmetics: correct VP9_SET_FRAME_PARALLEL_DECODING docs

this has been on by default since:
f5c36a5ce VP9: turn on tile-columns and frame-parallel-mode by default
~v1.4.0

Change-Id: I52017ab0157feaf429dce3d9e1af8a53bb5c1b65

7 years agosad neon: macroize 8xN definitions
Johann [Thu, 6 Jul 2017 14:51:59 +0000 (07:51 -0700)]
sad neon: macroize 8xN definitions

Change-Id: I7b36a57e893c1795a37ba7994995bec7ff021409

7 years agosad neon: avg for 8x[4,8,16]
Johann [Wed, 28 Jun 2017 21:11:35 +0000 (14:11 -0700)]
sad neon: avg for 8x[4,8,16]

BUG=webm:1425

Change-Id: If2ab51e3050e078b0011b174efe41fcb65a15f44

7 years agosad neon: avg for 4x4 and 4x8
Johann [Wed, 28 Jun 2017 20:20:13 +0000 (13:20 -0700)]
sad neon: avg for 4x4 and 4x8

BUG=webm:1425

Change-Id: Ifc685a96cb34f7fd9243b4c674027480564b84fb

7 years agovp9: remove FrameWorkerData & vp9_dthread.h
James Zern [Thu, 29 Jun 2017 19:18:23 +0000 (12:18 -0700)]
vp9: remove FrameWorkerData & vp9_dthread.h

the file was empty after the struct removal. the only remaining use was
within vp9_dx_iface, but the wrapper became unnecessary after the
removal of frame_parallel_decode.

BUG=webm:1395

Change-Id: I515ab585d701e77d388d12b2802d844c424f9bcd

7 years agovp9: remove (un)lock_buffer_pool
James Zern [Wed, 28 Jun 2017 03:32:15 +0000 (20:32 -0700)]
vp9: remove (un)lock_buffer_pool

there is no threaded access to this pool after the removal of
frame_parallel_decode

BUG=webm:1395

Change-Id: I710769b87102edc898c59eb9a2e7a91d8c49107f

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"