platform/upstream/libvpx.git
7 years agosad4d neon: 8x[4,8,16]
Johann [Tue, 11 Jul 2017 14:01:12 +0000 (07:01 -0700)]
sad4d neon: 8x[4,8,16]

BUG=webm:1425

Change-Id: I7de2500cca4b621f21478c4b0333c56d76dbc9a4

7 years agosad4d neon: 4x4, 4x8
Johann [Tue, 11 Jul 2017 12:44:23 +0000 (05:44 -0700)]
sad4d neon: 4x4, 4x8

BUG=webm:1425

Change-Id: I5081b5ce131821d590c53ac1206a94f50cb8b468

7 years agoavg_neon: fix 4x4, update 8x8
Johann [Mon, 10 Jul 2017 22:14:13 +0000 (15:14 -0700)]
avg_neon: fix 4x4, update 8x8

4x4 was failing with a bus error. Most likely due to clang alignment
hints on 32bit loads.

Change-Id: Ib191ce0e6239fc55d85f10e4dbe15876e5052edb

7 years agoneon: consolidate horizontal adds
Johann [Fri, 7 Jul 2017 17:37:30 +0000 (10:37 -0700)]
neon: consolidate horizontal adds

Change-Id: Iaf9e88ff636ccf8f0ef310869c6827f3f205cca8

7 years agoMerge "remove vp9_full_sad_search"
Johann Koenig [Mon, 10 Jul 2017 20:42:40 +0000 (20:42 +0000)]
Merge "remove vp9_full_sad_search"

7 years agoMerge "vp9: Remove alt-ref from denoiser."
Jerome Jiang [Mon, 10 Jul 2017 20:03:51 +0000 (20:03 +0000)]
Merge "vp9: Remove alt-ref from denoiser."

7 years agoremove vp9_full_sad_search
Johann [Fri, 7 Jul 2017 18:14:00 +0000 (11:14 -0700)]
remove vp9_full_sad_search

This code is unused in vp9. Only vp8 still contains references to
vpx_sad_NxMx[3|8] and only for sizes 16x16, 16x8, 8x16, 8x8 and 4x4.

Remove the remaining sizes and all the highbitdepth versions.

BUG=webm:1425

Change-Id: If6a253977c8e0c04599e25cbeb45f71a94f563e8

7 years agovp9: Remove alt-ref from denoiser.
Jerome Jiang [Fri, 30 Jun 2017 22:42:31 +0000 (15:42 -0700)]
vp9: Remove alt-ref from denoiser.

Denoiser is used in real-time mode which does not use alt-ref.
Reduce memory usage when denoiser is enabled.

Change-Id: I54ba3bcaeeb1818bbdf718ef90e97d4897ff793d

7 years agoMerge changes Id84d9780,Iaa6ea75b,I3362e0dd,I0020a49e,Ia42e4f36, ...
Johann Koenig [Fri, 7 Jul 2017 21:01:23 +0000 (21:01 +0000)]
Merge changes Id84d9780,Iaa6ea75b,I3362e0dd,I0020a49e,Ia42e4f36, ...

* changes:
  sad neon: avg for 64x[32,64]
  sad neon: macroize 64xN definitions
  sad neon: avg for 32x[16,32,64]
  sad neon: macroize 32xN definitions
  sad neon: avg for 16x[8,16,32]
  sad neon: macroize 16xN definitions

7 years agoMerge "cosmetics,vp9/: normalize inv/fwd_txfm naming"
James Zern [Fri, 7 Jul 2017 19:15:02 +0000 (19:15 +0000)]
Merge "cosmetics,vp9/: normalize inv/fwd_txfm naming"

7 years agoMerge "fdct neon: 32x32_rd"
Johann Koenig [Fri, 7 Jul 2017 14:05:51 +0000 (14:05 +0000)]
Merge "fdct neon: 32x32_rd"

7 years agosad neon: avg for 64x[32,64]
Johann [Thu, 6 Jul 2017 16:16:02 +0000 (09:16 -0700)]
sad neon: avg for 64x[32,64]

BUG=webm:1425

Change-Id: Id84d97807a6a0fbcc889c4dfe11929d54f85493d

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

Change-Id: Iaa6ea75b10e75784f31b1e08637eecf0dcb5cff9

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

BUG=webm:1425

Change-Id: I3362e0dded3b46ca032caa7f44db42f324bc596d

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 agocosmetics,vp9/: normalize inv/fwd_txfm naming
James Zern [Fri, 30 Jun 2017 22:29:46 +0000 (15:29 -0700)]
cosmetics,vp9/: normalize inv/fwd_txfm naming

+ vpx_dsp/, test/

itxfm -> inv_txfm, ftxfm -> fwd_txfm

Change-Id: I3aacdb65143576d64cfe5c9b14dd358c17c1fe7e

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 agofdct neon: 32x32_rd
Johann [Fri, 30 Jun 2017 03:39:02 +0000 (20:39 -0700)]
fdct neon: 32x32_rd

About 40% faster than the non-rd version.

BUG=webm:1424

Change-Id: Ia99d14eb9532302eeaab8cd3e503395b0374b5a2

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