platform/upstream/libvpx.git
7 years agoquantize test: extend arrays
Johann [Tue, 18 Jul 2017 16:55:45 +0000 (09:55 -0700)]
quantize test: extend arrays

Officially the quant structures are 8 elements, with one dc element and
7 repeated ac elements. The low bit depth optimizations take advantage
of this to fill the xmm registers. The high bit depth version manually
duplicates the values.

If all the optimizations were unified, the structure sizes could be
greatly reduced.

Change-Id: Ibd7a0337a7832ce2a1a05ee433c310077e1059ae

7 years agoquantize test: restrict and correct input
Johann [Tue, 18 Jul 2017 16:40:45 +0000 (09:40 -0700)]
quantize test: restrict and correct input

Use only valid values for quantize inputs. These were determined by
looping over vp9_init_quantizer and looking for max and min values.

This allows extending the test to the low bit depth functions which were
not designed to handle all possible inputs but only valid inputs.

Change-Id: I94e1d8863a49ac227845b65c6b50130e10e6319e

7 years agovp9: Fix to setting content_state for real-time mode.
Marco [Mon, 17 Jul 2017 23:04:04 +0000 (16:04 -0700)]
vp9: Fix to setting content_state for real-time mode.

When content_state_sb is set to LowVarHighSumdiff, don't reset
it to VeryHighSad. Visually better on clips with strong lighting changes.

Small/negligible change in RTC metrics and speed.

Change-Id: I20c383e3c4cf8d1149de5f9260449c0b7cf7c6aa

7 years agovp9: Reuse motion from choose_partitioning in NEWMV search.
Marco [Thu, 13 Jul 2017 21:49:39 +0000 (14:49 -0700)]
vp9: Reuse motion from choose_partitioning in NEWMV search.

When int_pro_motion_estimation is done for superblock in
choose_partitioning, use it to avoid the full_pixel_search
for NEWMV mode, if bsize is >= 32X32.

For speed > 7.
Small/neutral change on RTC metrics.
~1-2% speedup on arm on high motion clip.

Change-Id: I3cfe6833ff4bf75d4afa83eaf058ad45729de85b

7 years agoMerge "fix 'make exampletest' w/CONFIG_REALTIME_ONLY"
James Zern [Sat, 15 Jul 2017 18:37:10 +0000 (18:37 +0000)]
Merge "fix 'make exampletest' w/CONFIG_REALTIME_ONLY"

7 years agovp9: Compute skin only for blocks eligible for noise estimation.
Jerome Jiang [Fri, 14 Jul 2017 20:45:33 +0000 (13:45 -0700)]
vp9: Compute skin only for blocks eligible for noise estimation.

Change-Id: Iddcb83a5968db57cfd312c5bc44b2a226a2a3264

7 years agovp9: Adjust minmax threshold for variance partitioning.
Marco [Thu, 13 Jul 2017 23:09:11 +0000 (16:09 -0700)]
vp9: Adjust minmax threshold for variance partitioning.

Only affects speed 7. Improvement on high motion clips.

Change-Id: Ibddb68fed9c63207df29ffd790f9205b1cecf687

7 years agoquantize test: use Buffer
Johann [Thu, 13 Jul 2017 16:14:37 +0000 (09:14 -0700)]
quantize test: use Buffer

Although the low bitdepth functions are identical (excepting the need
for larger intermediate values) they do not pass these tests. This
improves the error output to aid debugging.

Simplify buffer usage with Buffer and removing unnecessarily aligned
variables.

eob is a single element and never written using aligned instructions.

BUG=webm:1426

Change-Id: Ic95789a135cf1e8a3846d85270f2b818f6ec7e35

7 years agofix 'make exampletest' w/CONFIG_REALTIME_ONLY
James Zern [Thu, 13 Jul 2017 17:47:20 +0000 (10:47 -0700)]
fix 'make exampletest' w/CONFIG_REALTIME_ONLY

for tests that aren't explicitly testing 2-pass behavior use --passes=1
with this configuration

Change-Id: I6a1520ecc65d0f626486604310af29dacb9f197f

7 years agoMerge "remove vp9_firstpass.c w/CONFIG_REALTIME_ONLY"
James Zern [Wed, 12 Jul 2017 23:30:04 +0000 (23:30 +0000)]
Merge "remove vp9_firstpass.c w/CONFIG_REALTIME_ONLY"

7 years agoMerge "sad4d neon: 64x[32,64]"
Johann Koenig [Wed, 12 Jul 2017 20:15:00 +0000 (20:15 +0000)]
Merge "sad4d neon: 64x[32,64]"

7 years agoMerge "vp9: Fix to SVC and denoising for fixed pattern case."
Marco Paniconi [Wed, 12 Jul 2017 19:13:05 +0000 (19:13 +0000)]
Merge "vp9: Fix to SVC and denoising for fixed pattern case."

7 years agoMerge changes Ibf5e61dc,I44b48512,I7de2500c,I5081b5ce
Johann Koenig [Wed, 12 Jul 2017 15:01:30 +0000 (15:01 +0000)]
Merge changes Ibf5e61dc,I44b48512,I7de2500c,I5081b5ce

* changes:
  sad4d neon: 32x[16,32,64]
  sad4d neon: 16x[8,16,32]
  sad4d neon: 8x[4,8,16]
  sad4d neon: 4x4, 4x8

7 years agosad4d neon: 64x[32,64]
Johann [Tue, 11 Jul 2017 16:15:09 +0000 (09:15 -0700)]
sad4d neon: 64x[32,64]

Rewrite 64x64.

BUG=webm:1425

Change-Id: I336bf5a3aa4b783389c10b16a50f0f559346ecbf

7 years agosad4d neon: 32x[16,32,64]
Johann [Tue, 11 Jul 2017 14:39:28 +0000 (07:39 -0700)]
sad4d neon: 32x[16,32,64]

Rewrite 32x32. Use half the accumulator registers.

BUG=webm:1425

Change-Id: Ibf5e61dc4ba15056102aef8495f4a02c668c5d13

7 years agosad4d neon: 16x[8,16,32]
Johann [Tue, 11 Jul 2017 14:22:26 +0000 (07:22 -0700)]
sad4d neon: 16x[8,16,32]

Rewrite 16x16. Use half the accumulator registers.

BUG=webm:1425

Change-Id: I44b48512b1e3629505d83c2645e800f53878ccc2

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 agoMerge "Remove the token state array from greedy optimize_b."
Urvang Joshi [Wed, 12 Jul 2017 00:08:56 +0000 (00:08 +0000)]
Merge "Remove the token state array from greedy optimize_b."

7 years agoremove vp9_firstpass.c w/CONFIG_REALTIME_ONLY
James Zern [Sat, 8 Jul 2017 04:42:44 +0000 (21:42 -0700)]
remove vp9_firstpass.c w/CONFIG_REALTIME_ONLY

BUG=webm:1446

Change-Id: I6e0ea9342c715d354c641109737172afa649b85b

7 years agoRemove the token state array from greedy optimize_b.
Urvang Joshi [Tue, 11 Jul 2017 20:05:29 +0000 (13:05 -0700)]
Remove the token state array from greedy optimize_b.

Reduces memory usage, and speeds up encoding for some difficult clips.
No impact on output or metrics.

Ported from aomedia patch:
https://aomedia-review.googlesource.com/c/14501

Change-Id: I26ec69af8336f9e80da486a1cfbfc89a3596954d

7 years agoMerge "Reintroduce fix for max qindex calculation of a gf interval"
James Bankoski [Tue, 11 Jul 2017 19:47:16 +0000 (19:47 +0000)]
Merge "Reintroduce fix for max qindex calculation of a gf interval"

7 years agoMerge "vp9: Move skinmap computation into multithreading loop."
Jerome Jiang [Tue, 11 Jul 2017 19:44:22 +0000 (19:44 +0000)]
Merge "vp9: Move skinmap computation into multithreading loop."

7 years agoReintroduce fix for max qindex calculation of a gf interval
Jim Bankoski [Tue, 11 Jul 2017 13:48:13 +0000 (06:48 -0700)]
Reintroduce fix for max qindex calculation of a gf interval

This reintroduces the fix:
  https://chromium-review.googlesource.com/c/422807/
and later reverted here:
  https://chromium-review.googlesource.com/c/447843/

BUG=webm:1355

This time behind a compile time flag :

configure --disable-always_adjust_bpm
configure --enable-always_adjust_bpm

This should make side by side testing easier and let users of the
lib pick which way they want to go.

Change-Id: I7d7b37b83015dc001810af84c132cbc1e71ba8d6

7 years agovp9: Fix to SVC and denoising for fixed pattern case.
Marco [Tue, 11 Jul 2017 00:38:03 +0000 (17:38 -0700)]
vp9: Fix to SVC and denoising for fixed pattern case.

For fixed pattern SVC: keep track of denoised last_frame buffer
for base temporal layer, and if alt_ref is updated on middle/upper
temporal layers, force an update to denoised last_frame buffer.
This allows for improved denoising on top temporal layers.

Change-Id: Icbd08566027d4d2eabc024d3b7a0d959d2f8c18b

7 years agovp9: Move skinmap computation into multithreading loop.
Jerome Jiang [Mon, 10 Jul 2017 23:16:05 +0000 (16:16 -0700)]
vp9: Move skinmap computation into multithreading loop.

Change-Id: Iebc9dd293d8b1449c0674c0295349297e9b90646

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