]> granicus.if.org Git - libvpx/log
libvpx
8 years agoiosbuild.sh: Support macosx targets in Xcode 7.
Tom Finegan [Wed, 9 Dec 2015 21:52:06 +0000 (13:52 -0800)]
iosbuild.sh: Support macosx targets in Xcode 7.

Xcode 7 refuses to link to x86 and x86_64 code that's built for
iphone sim, so add an extra command line flag that forces iosbuild
to use darwin15 targets.

Change-Id: I2228d458f5cccf4d26866040380a974f88d9d360

8 years agoMerge "Changes to exhaustive motion search."
Yaowu Xu [Wed, 9 Dec 2015 15:57:10 +0000 (15:57 +0000)]
Merge "Changes to exhaustive motion search."

8 years agoMerge "Add vp9_avg_4x4_neon and the unit test."
Jacky Chen [Wed, 9 Dec 2015 06:09:33 +0000 (06:09 +0000)]
Merge "Add vp9_avg_4x4_neon and the unit test."

8 years agoMerge changes Id3c6cf5c,I7970575e,If3253a87
James Zern [Wed, 9 Dec 2015 01:39:45 +0000 (01:39 +0000)]
Merge changes Id3c6cf5c,I7970575e,If3253a87

* changes:
  test.mk: simplify vp8/9 checks
  test.mk: regroup white box tests
  test.mk: enable test_intra_pred_speed unconditionally

8 years agoMerge "vp8: fix loop filter level clamping"
James Zern [Wed, 9 Dec 2015 01:38:09 +0000 (01:38 +0000)]
Merge "vp8: fix loop filter level clamping"

8 years agoMerge "vp8: fix quantizer clamping"
James Zern [Wed, 9 Dec 2015 01:37:58 +0000 (01:37 +0000)]
Merge "vp8: fix quantizer clamping"

8 years agoAdd vp9_avg_4x4_neon and the unit test.
jackychen [Thu, 3 Dec 2015 23:21:36 +0000 (15:21 -0800)]
Add vp9_avg_4x4_neon and the unit test.

Change-Id: I3ef9a9648841374ed3cc865a02053c14ad821a20

8 years agoMerge "vp9 denoiser: Re-evaluate mode selection for golden reference."
Marco Paniconi [Wed, 9 Dec 2015 00:34:09 +0000 (00:34 +0000)]
Merge "vp9 denoiser: Re-evaluate mode selection for golden reference."

8 years agoChanges to exhaustive motion search.
paulwilkins [Tue, 8 Dec 2015 15:48:24 +0000 (15:48 +0000)]
Changes to exhaustive motion search.

This change has been imported from VP9 and
alters the nature and use of exhaustive motion search.

Firstly any exhaustive search is preceded by a normal step search.
The exhaustive search is only carried out if the distortion resulting
from the step search is above a threshold value.

Secondly the simple +/- 64 exhaustive search is replaced by a
multi stage mesh based search where each stage has a range
and step/interval size. Subsequent stages use the best position from
the previous stage as the center of the search but use a reduced range
and interval size.

For example:
  stage 1: Range +/- 64 interval 4
  stage 2: Range +/- 32 interval 2
  stage 3: Range +/- 15 interval 1

This process, especially when it follows on from a normal step
search, has shown itself to be almost as effective as a full range
exhaustive search with step 1 but greatly lowers the computational
complexity such that it can be used in some cases for speeds 0-2.

This patch also removes a double exhaustive search for sub 8x8 blocks
which also contained  a bug (the two searches used different distortion
metrics).

For best quality in my test animation sequence this patch has almost
no impact on quality but improves encode speed by more than 5X.

Restricted use in good quality speeds 0-2 yields significant quality gains
on the animation test of 0.2 - 0.5 db with only a small impact on encode
speed. On most natural video clips, however, where the step search
is performing well, the quality gain and speed impact are small.

Change-Id: Iac24152ae239f42a246f39ee5f00fe62d193cb98

8 years agoRe-enable SSE2 based intra 4x4 prediction
Jian Zhou [Tue, 8 Dec 2015 02:50:37 +0000 (18:50 -0800)]
Re-enable SSE2 based intra 4x4 prediction

4x4 Intra predictor implemented with MMX is replaced with SSE2.
Segfault in change 315561 when decoding vp8 is taken care of.

Change-Id: I083a7cb4eb8982954c20865160f91ebec777ec76

8 years agoMerge "VP9: Add ssse3 version of vpx_idct32x32_135_add()"
Scott LaVarnway [Mon, 7 Dec 2015 21:13:35 +0000 (21:13 +0000)]
Merge "VP9: Add ssse3 version of vpx_idct32x32_135_add()"

8 years agoMerge "Strip redundant entries from .mailmap"
Johann Koenig [Mon, 7 Dec 2015 18:14:05 +0000 (18:14 +0000)]
Merge "Strip redundant entries from .mailmap"

8 years agoStrip redundant entries from .mailmap
Johann [Mon, 7 Dec 2015 17:03:00 +0000 (09:03 -0800)]
Strip redundant entries from .mailmap

Also prevent them from being reintroduced.

Change-Id: I4e16293c8185462b48e641f066d78449685e2854

8 years agoFix bug when overlaying middle arfs in multi-arf groups.
paulwilkins [Mon, 7 Dec 2015 15:23:46 +0000 (15:23 +0000)]
Fix bug when overlaying middle arfs in multi-arf groups.

Fix copied over from VP9 master to VP10 master.
Do not reset the alt ref active flag when overlaying the middle
arf(s) of a multi arf group.

Change-Id: I1b7392107e7c675640d5ee1624012f39cc374c58

8 years agoRevert "MMX in intra 4x4 prediction replaced with SSE2"
James Zern [Sat, 5 Dec 2015 18:07:10 +0000 (10:07 -0800)]
Revert "MMX in intra 4x4 prediction replaced with SSE2"

This reverts commit 89a1efa4c436c58c101c8b3de866e3014be7d77a.

This causes a segfault when decoding vp8, in both 32 and 64-bit

Change-Id: Idbb9bb28ab897e1d055340497c47b49a12231367

8 years agotest.mk: simplify vp8/9 checks
James Zern [Wed, 25 Nov 2015 06:35:15 +0000 (22:35 -0800)]
test.mk: simplify vp8/9 checks

use CONFIG_VP[89] to protect white-box tests and drop redundant
uses of CONFIG_VP9 in variable assignments within that block

Change-Id: Id3c6cf5c7822aa161b19768b295f58829a1c6447

8 years agotest.mk: regroup white box tests
James Zern [Wed, 25 Nov 2015 02:50:35 +0000 (18:50 -0800)]
test.mk: regroup white box tests

vp8/9/10/multi-config/unconditional

Change-Id: I7970575e997da0b68c6c54741a221fbba5ad0b08

8 years agoMerge "Adjust variance threshold based on source noise level."
Marco Paniconi [Sat, 5 Dec 2015 00:06:14 +0000 (00:06 +0000)]
Merge "Adjust variance threshold based on source noise level."

8 years agoMerge "comment out range_check of fdct in dct.c"
Angie Chiang [Fri, 4 Dec 2015 23:38:35 +0000 (23:38 +0000)]
Merge "comment out range_check of fdct in dct.c"

8 years agoAdjust variance threshold based on source noise level.
Marco [Fri, 4 Dec 2015 19:57:04 +0000 (11:57 -0800)]
Adjust variance threshold based on source noise level.

For non-rd variance partition: Adjust variance threhsold based
on noise level estimate. This change allows the adjustment to be
updated more frequently.

Change-Id: Ie2abf63bf3f1ee54d0bc4ff497298801fdb92b0d

8 years agoMerge changes Ie48229c2,Ib9f18468,I0c90e7c1
Jian Zhou [Fri, 4 Dec 2015 21:43:10 +0000 (21:43 +0000)]
Merge changes Ie48229c2,Ib9f18468,I0c90e7c1

* changes:
  Speed up h_predictor_16x16
  Speed up h_predictor_8x8
  MMX in intra 8x8 prediction replaced with SSE2

8 years agoSpeed up h_predictor_16x16
Jian Zhou [Thu, 26 Nov 2015 01:12:20 +0000 (17:12 -0800)]
Speed up h_predictor_16x16

Relocate the function from SSSE3 to SSE2, Unroll loop from 8 to 4,
and reduce mem access to left.
Speed up by >20% in ./test_intra_pred_speed.

Change-Id: Ie48229c2e32404706b722442942c84983bda74cc

8 years agoSpeed up h_predictor_8x8
Jian Zhou [Wed, 25 Nov 2015 20:28:39 +0000 (12:28 -0800)]
Speed up h_predictor_8x8

Relocate the function from SSSE3 to SSE2, Unroll loop from 4 to 2,
and reduce mem access to left.
Speed up by >20% in ./test_intra_pred_speed.

Change-Id: Ib9f1846819783b6e05e2a310c930eb844b2b4d2e

8 years agoMerge "Non-rd partition: Use force split on 16x16 for low resolutions."
Marco Paniconi [Fri, 4 Dec 2015 19:21:26 +0000 (19:21 +0000)]
Merge "Non-rd partition: Use force split on 16x16 for low resolutions."

8 years agocomment out range_check of fdct in dct.c
Angie Chiang [Thu, 3 Dec 2015 00:09:56 +0000 (16:09 -0800)]
comment out range_check of fdct in dct.c

The range_check is not used because the bit range
in fdct# is not correct. Since we are going to merge in a new version
of fdct# from nextgenv2, we won't fix the incorrect bit range now.

Change-Id: I54f27a6507f27bf475af302b4dbedc71c5385118

8 years agoMerge "MMX in intra 4x4 prediction replaced with SSE2"
Jian Zhou [Fri, 4 Dec 2015 18:50:58 +0000 (18:50 +0000)]
Merge "MMX in intra 4x4 prediction replaced with SSE2"

8 years agoNon-rd partition: Use force split on 16x16 for low resolutions.
Marco [Thu, 3 Dec 2015 01:15:41 +0000 (17:15 -0800)]
Non-rd partition: Use force split on 16x16 for low resolutions.

For low resolutions, whem 4x4downsample is used for variance,
use the same force split (that is used for 8x8downsample) for 16x16 blocks.

No change in metrics. Small improvement visually.

Change-Id: I915b9895902d0b9a41e75d37fee1bf3714d2366d

8 years agoMerge "Fix bug when overlaying middle arfs in multi-arf groups."
Paul Wilkins [Fri, 4 Dec 2015 10:33:55 +0000 (10:33 +0000)]
Merge "Fix bug when overlaying middle arfs in multi-arf groups."

8 years agoMMX in intra 8x8 prediction replaced with SSE2
Jian Zhou [Fri, 4 Dec 2015 02:11:06 +0000 (18:11 -0800)]
MMX in intra 8x8 prediction replaced with SSE2

8x8 Intra predictor implemented with MMX is replaced with SSE2.

Change-Id: I0c90e7c1e1e6942489ac2bfe58903b728aac7a52

8 years agoMMX in intra 4x4 prediction replaced with SSE2
Jian Zhou [Fri, 4 Dec 2015 00:39:42 +0000 (16:39 -0800)]
MMX in intra 4x4 prediction replaced with SSE2

4x4 Intra predictor implemented with MMX is replaced with SSE2.

Change-Id: Id57da2a7c38832d0356bc998790fc1989d39eafc

8 years agoMerge "vp9-noise estimate: Move level setting to a function."
Marco Paniconi [Fri, 4 Dec 2015 00:24:49 +0000 (00:24 +0000)]
Merge "vp9-noise estimate: Move level setting to a function."

8 years agovp8: fix loop filter level clamping
James Zern [Fri, 4 Dec 2015 00:18:48 +0000 (16:18 -0800)]
vp8: fix loop filter level clamping

the loop filter level is transmitted as 6-bits + sign so needs to be clamped in
the delta + absolute case.

BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1224363

Change-Id: Icbdca4fdbf043466429bd5c9d59dbe913bf153bc

8 years agovp8: fix quantizer clamping
James Zern [Fri, 4 Dec 2015 00:16:28 +0000 (16:16 -0800)]
vp8: fix quantizer clamping

the quantizer is transmitted as 7-bits + sign so needs to be clamped in
the delta + absolute case.

BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1224361

Change-Id: I9115f5d1d5cf7e0a1d149d79486d9d17de9b9639

8 years agoMerge "vp9-denoiser: Increase threshold for mode re-evaluation."
Marco Paniconi [Thu, 3 Dec 2015 23:52:46 +0000 (23:52 +0000)]
Merge "vp9-denoiser: Increase threshold for mode re-evaluation."

8 years agovp9-denoiser: Increase threshold for mode re-evaluation.
Marco [Thu, 3 Dec 2015 21:47:27 +0000 (13:47 -0800)]
vp9-denoiser: Increase threshold for mode re-evaluation.

Change-Id: I57a15aec1cb2d6638f5211d30c2c9f15fb62494f

8 years agovp9-noise estimate: Move level setting to a function.
Marco [Thu, 3 Dec 2015 21:08:37 +0000 (13:08 -0800)]
vp9-noise estimate: Move level setting to a function.

This is so we may update level at any time (e.g., to be used
for setting thresholds in variance-based partition).

Change-Id: I32caad2271b8e03017a531f9ea456a6dbb9d49c7

8 years agoRemove palette from VP10
hui su [Thu, 3 Dec 2015 20:30:47 +0000 (12:30 -0800)]
Remove palette from VP10

Store it in nextgenv2 for now.

Change-Id: Iab0af0e15246758e3b6e8bde4a74b13c410576fc

8 years agoFix bug when overlaying middle arfs in multi-arf groups.
paulwilkins [Thu, 3 Dec 2015 12:09:47 +0000 (12:09 +0000)]
Fix bug when overlaying middle arfs in multi-arf groups.

Do not reset the alt ref active flag when overlaying the middle
arf(s) of a multi arf group.

Change-Id: Ia55a55a376973f3fd17161429fd2afb07b4df31f

8 years agoMerge "SSE2 speed up of h_predictor_4x4"
Jian Zhou [Wed, 2 Dec 2015 18:49:00 +0000 (18:49 +0000)]
Merge "SSE2 speed up of  h_predictor_4x4"

8 years agoVP9: Add ssse3 version of vpx_idct32x32_135_add()
Scott LaVarnway [Wed, 2 Dec 2015 12:50:46 +0000 (04:50 -0800)]
VP9: Add ssse3 version of vpx_idct32x32_135_add()

Change-Id: I9a780131efaad28cf1ad233ae64c5c319a329727

8 years agoFix a spatial svc test crash
Debargha Mukherjee [Tue, 1 Dec 2015 23:12:06 +0000 (15:12 -0800)]
Fix a spatial svc test crash

Fixes crash in 2pass spatial svc test that was introduced in:
https://chromium-review.googlesource.com/#/c/313571/6

Change-Id: Iab3e8225a8d159cd33f5849dffe6802e25038047

8 years agoFix a spatial svc assert failure
Debargha Mukherjee [Tue, 1 Dec 2015 21:20:02 +0000 (13:20 -0800)]
Fix a spatial svc assert failure

Fixes spatial svc rc assert failure introdcued in:
https://chromium-review.googlesource.com/#/c/312959/1

Change-Id: I6096bfbc484859d71a5fb55e6a3248a31885af61

8 years agoMerge "Spatial SVC crash fix"
Debargha Mukherjee [Tue, 1 Dec 2015 21:24:46 +0000 (21:24 +0000)]
Merge "Spatial SVC crash fix"

8 years agoFix a spatial svc bug related to scaling
Debargha Mukherjee [Tue, 1 Dec 2015 18:40:10 +0000 (10:40 -0800)]
Fix a spatial svc bug related to scaling

Fixes bug introduced in
https://chromium-review.googlesource.com/#/c/299482/5

Change-Id: If542c1a917380465dd9bc4ce5e32b0adbb20e340

8 years agovp9 denoiser: Re-evaluate mode selection for golden reference.
Marco [Tue, 1 Dec 2015 17:30:35 +0000 (09:30 -0800)]
vp9 denoiser: Re-evaluate mode selection for golden reference.

Under certain denoising conditons, check for re-evaluation of
zero_last mode if best mode was golden reference.

Change-Id: Ic6cdfd175eef2f7d68606300c7173ab6654b3f6e

8 years agoCondition use of minmax in variance partition on speed setting.
Marco [Mon, 30 Nov 2015 23:34:57 +0000 (15:34 -0800)]
Condition use of minmax in variance partition on speed setting.

For non-rd variance partition: only allow minmax computation
(which currently has no arm-neon optimization) for speeds < 8.

Performance loss is small: On RTC set with speed 8, few clips lose ~2/3%,
average loss is < 1%.

Change-Id: Ia9414f4d0b77dc83c3e73ca8de5d903f64b425ce

8 years agoMerge "VPX: x86 asm version of vpx_idct32x32_1024_add()"
Scott LaVarnway [Mon, 30 Nov 2015 23:28:27 +0000 (23:28 +0000)]
Merge "VPX: x86 asm version of vpx_idct32x32_1024_add()"

8 years agoMerge "vp9 denoiser: Fix to re-evaluate mode selection."
Marco Paniconi [Mon, 30 Nov 2015 19:00:39 +0000 (19:00 +0000)]
Merge "vp9 denoiser: Fix to re-evaluate mode selection."

8 years agoSSE2 speed up of h_predictor_4x4
Jian Zhou [Tue, 24 Nov 2015 20:16:05 +0000 (12:16 -0800)]
SSE2 speed up of  h_predictor_4x4

Relocate h_predictor_4x4 from SSSE3 to SSE2 with XMM registers.
Speed up by ~25% in ./test_intra_pred_speed.

Change-Id: I64e14c13b482a471449be3559bfb0da45cf88d9d

8 years agovp9: Update to noise estimation for denoising.
Marco [Mon, 30 Nov 2015 16:51:25 +0000 (08:51 -0800)]
vp9: Update to noise estimation for denoising.

Change initial state of noise level, and only update
denoiser with noise level when estimate is done.

Change-Id: If44090d29949d3e4927e855d88241634cdb395dc

8 years agovp9 denoiser: Fix to re-evaluate mode selection.
Marco [Mon, 30 Nov 2015 16:57:49 +0000 (08:57 -0800)]
vp9 denoiser: Fix to re-evaluate mode selection.

This fix allows to enable reuse_inter_pred.

Change-Id: I53f2bf1163bb0036ffb6df92117a86debdca11d1

8 years agoVPX: x86 asm version of vpx_idct32x32_1024_add()
Scott LaVarnway [Wed, 25 Nov 2015 18:11:29 +0000 (10:11 -0800)]
VPX: x86 asm version of vpx_idct32x32_1024_add()

Change-Id: I3ba4ede553e068bf116dce59d1317347988b3542

8 years agotest.mk: enable test_intra_pred_speed unconditionally
James Zern [Wed, 25 Nov 2015 02:42:20 +0000 (18:42 -0800)]
test.mk: enable test_intra_pred_speed unconditionally

vpx_dsp is currently included in all configurations

Change-Id: If3253a87d27f3e1abc94fbfe76f978c1172f3762

8 years agoMerge "vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering."
Marco Paniconi [Wed, 25 Nov 2015 04:24:00 +0000 (04:24 +0000)]
Merge "vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering."

8 years agoMerge "Speed up tm_predictor_8x8"
Jian Zhou [Wed, 25 Nov 2015 02:34:07 +0000 (02:34 +0000)]
Merge "Speed up tm_predictor_8x8"

8 years agoMerge "configure: simplify x86 asm dependencies"
James Zern [Wed, 25 Nov 2015 02:19:47 +0000 (02:19 +0000)]
Merge "configure: simplify x86 asm dependencies"

8 years agoMerge changes Iaf8cbe95,I6748183d,I2a49811d
James Zern [Wed, 25 Nov 2015 01:48:53 +0000 (01:48 +0000)]
Merge changes Iaf8cbe95,I6748183d,I2a49811d

* changes:
  add vp9_satd_neon
  fix vp9_satd_sse2
  vp9_satd: return an int

8 years agovp9 denoiser: Re-evaluate ZEROMV after denoiser filtering.
Marco [Fri, 13 Nov 2015 23:58:42 +0000 (15:58 -0800)]
vp9 denoiser: Re-evaluate ZEROMV after denoiser filtering.

For denoising, and for noise level above threshold, re-evaluate
ZEROMV for mode selection after denoising.
Current change only does this check if selected best mode (before denoising)
was intra.

Change-Id: I4b1435b68d26c78f7597b995ee7bff0ddd5f9511

8 years agoSpatial SVC crash fix
Debargha Mukherjee [Wed, 25 Nov 2015 00:40:27 +0000 (16:40 -0800)]
Spatial SVC crash fix

Fixes a spatial_svc breakage introduced in
https://chromium-review.googlesource.com/#/c/305228/3.

Change-Id: I7f2cecbdca980addb85d5e58b58b5454f4730ada

8 years agoadd vp9_satd_neon
James Zern [Fri, 20 Nov 2015 07:39:10 +0000 (23:39 -0800)]
add vp9_satd_neon

~60-65% faster at the function level across block sizes

Change-Id: Iaf8cbe95731c43fdcbf68256e44284ba51a93893

8 years agoSpeed up tm_predictor_8x8
Jian Zhou [Fri, 20 Nov 2015 02:57:36 +0000 (18:57 -0800)]
Speed up tm_predictor_8x8

Left neighbor read from memory only once.
Speed up by ~20% in ./test_intra_pred_speed.

Change-Id: Ia1388630df6fed0dce9a6eeded6cb855bbc43505

8 years agovp9-denoiser: Fix to reset frame_stats.
Marco [Tue, 24 Nov 2015 23:56:59 +0000 (15:56 -0800)]
vp9-denoiser: Fix to reset frame_stats.

zeromv_lastref_sse was not reset.

Change-Id: I23c12e804d63dc7dc18514f6efe71de1d1acbd6a

8 years agoMerge "vp9 non-rd pickmode: Fix logic in reference masking."
Marco Paniconi [Tue, 24 Nov 2015 19:14:35 +0000 (19:14 +0000)]
Merge "vp9 non-rd pickmode: Fix logic in reference masking."

8 years agoMerge "bitreader/writer: Change shift to signed"
Alex Converse [Tue, 24 Nov 2015 18:33:45 +0000 (18:33 +0000)]
Merge "bitreader/writer: Change shift to signed"

8 years agoMerge "Deduplicate some high bit depth tables"
Alex Converse [Tue, 24 Nov 2015 18:24:32 +0000 (18:24 +0000)]
Merge "Deduplicate some high bit depth tables"

8 years agovp9 non-rd pickmode: Fix logic in reference masking.
Marco [Tue, 24 Nov 2015 00:37:12 +0000 (16:37 -0800)]
vp9 non-rd pickmode: Fix logic in reference masking.

This change makes sure last reference with zero mv
is always checked for mode selection.

No change in metrics.

Change-Id: Iaf01877bf34272b966c78bfe18daad882a0a419e

8 years agoMerge "VPX: Removed unnecessary pmulhrsw in IDCT32X32_34"
Scott LaVarnway [Mon, 23 Nov 2015 23:37:13 +0000 (23:37 +0000)]
Merge "VPX: Removed unnecessary pmulhrsw in IDCT32X32_34"

8 years agoMerge "VP9: Only zero counts when !frame_parallel_decoding_mode (2)"
Scott LaVarnway [Mon, 23 Nov 2015 23:36:46 +0000 (23:36 +0000)]
Merge "VP9: Only zero counts when !frame_parallel_decoding_mode (2)"

8 years agoVP9: Only zero counts when !frame_parallel_decoding_mode (2)
Scott LaVarnway [Mon, 23 Nov 2015 22:42:15 +0000 (14:42 -0800)]
VP9: Only zero counts when !frame_parallel_decoding_mode (2)

The counts are never used when frame_parallel_decoding_mode
is set.

Change-Id: I293aa68abadcdd30973adacb9f5f5a3aecf8daa2

8 years agovp9-svc: Fix to allow setting qp-max/min per spatial and temporal layer.
Marco [Fri, 20 Nov 2015 18:12:11 +0000 (10:12 -0800)]
vp9-svc: Fix to allow setting qp-max/min per spatial and temporal layer.

Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624

8 years agoVPX: Removed unnecessary pmulhrsw in IDCT32X32_34
Scott LaVarnway [Mon, 23 Nov 2015 18:24:09 +0000 (10:24 -0800)]
VPX: Removed unnecessary pmulhrsw in IDCT32X32_34

and fixed macro name.

Change-Id: I306b98a2b4ec80b130ae80290b4cd9c7a5363311

8 years agoRevert "Speed up h_predictor_4x4"
James Zern [Sat, 21 Nov 2015 06:24:11 +0000 (22:24 -0800)]
Revert "Speed up h_predictor_4x4"

This reverts commit d76032ae87e535be5b924d9e88bbd67189380534.

breaks 32-bit builds

Change-Id: If6266ec2a405b5a21d615112f0f37e8a71193858

8 years agoMerge "Use Interlocked calls in win32 once() implementation."
James Zern [Sat, 21 Nov 2015 01:40:11 +0000 (01:40 +0000)]
Merge "Use Interlocked calls in win32 once() implementation."

8 years agoMerge "Speed up h_predictor_4x4"
James Zern [Sat, 21 Nov 2015 01:12:42 +0000 (01:12 +0000)]
Merge "Speed up h_predictor_4x4"

8 years agovp9 denoiser: Bias to last reference for temporal filter.
Marco [Thu, 19 Nov 2015 01:04:15 +0000 (17:04 -0800)]
vp9 denoiser: Bias to last reference for temporal filter.

Change-Id: I6a360a12e8da8cdcb8a779647512591612d64f31

8 years agofix vp9_satd_sse2
James Zern [Fri, 20 Nov 2015 04:04:16 +0000 (20:04 -0800)]
fix vp9_satd_sse2

accumulate satd in 32-bits
+ add unit test

Change-Id: I6748183df3662ddb9d635f9641f9586f2fd38ad5

8 years agovp9_satd: return an int
James Zern [Thu, 19 Nov 2015 07:17:27 +0000 (23:17 -0800)]
vp9_satd: return an int

the final sum may use up to 26 bits

+ add a unit test
+ disable the sse2 as the result will rollover; this will be fixed in a
future commit

Change-Id: I2a49811dfaa06abfd9fa1e1e65ed7cd68e4c97ce

8 years agoMerge "vp9-svc: Fix the setting of is_key_frame."
Marco Paniconi [Fri, 20 Nov 2015 18:29:15 +0000 (18:29 +0000)]
Merge "vp9-svc: Fix the setting of is_key_frame."

8 years agoMerge "Fix a signed shift overflow in vpx_rb_read_inv_signed_literal."
Alex Converse [Fri, 20 Nov 2015 17:42:05 +0000 (17:42 +0000)]
Merge "Fix a signed shift overflow in vpx_rb_read_inv_signed_literal."

8 years agoMerge "Fix unsigned overflow in rd_variance_adjustment."
Alex Converse [Fri, 20 Nov 2015 17:41:58 +0000 (17:41 +0000)]
Merge "Fix unsigned overflow in rd_variance_adjustment."

8 years agovp9-svc: Fix the setting of is_key_frame.
Marco [Fri, 20 Nov 2015 16:44:19 +0000 (08:44 -0800)]
vp9-svc: Fix the setting of is_key_frame.

Change on affects 1 pass CBR.
On key frame, temporal layer_id is reset to 0 for 1 pass CBR,
but since "layer" is reset, the svc.layer_context[layer].is_key_frame
was not correspondingly set properly.

Change-Id: I08f6da0a55ac7429ccfbaddfb7be14479e43543b

8 years agoMerge "VPX: x86 asm version of vpx_idct32x32_34_add()"
Scott LaVarnway [Fri, 20 Nov 2015 15:11:00 +0000 (15:11 +0000)]
Merge "VPX: x86 asm version of vpx_idct32x32_34_add()"

8 years agobitreader/writer: Change shift to signed
Alex Converse [Thu, 19 Nov 2015 23:07:55 +0000 (15:07 -0800)]
bitreader/writer: Change shift to signed

Silences several legal but suspicious unsigned overflows found with
clang -fsanitize=integer.

Change-Id: I69399751492a183167932b0a10751c433c32ca7b

8 years agoFix a signed shift overflow in vpx_rb_read_inv_signed_literal.
Alex Converse [Thu, 19 Nov 2015 23:04:20 +0000 (15:04 -0800)]
Fix a signed shift overflow in vpx_rb_read_inv_signed_literal.

Found with clang -fsanitize=integer

Change-Id: I17cb2166c06ff463abfaf9b0e6bc749d0d6fdf94

8 years agoFix unsigned overflow in rd_variance_adjustment.
Alex Converse [Thu, 19 Nov 2015 22:53:51 +0000 (14:53 -0800)]
Fix unsigned overflow in rd_variance_adjustment.

Found with clang -fsanitize=integer

Change-Id: I2538e7483cb2d5f06bceecbd3326bdd88bfecfa1

8 years agoSpeed up h_predictor_4x4
Jian Zhou [Thu, 19 Nov 2015 19:34:22 +0000 (11:34 -0800)]
Speed up h_predictor_4x4

Modify h_predictor_4x4 with XMM registers.
Speed up by ~25% in ./test_intra_pred_speed.

Change-Id: Id01c34c48e75b9d56dfc2e93af12cf0c0326a279

8 years agoMerge "Changes to best quality settings."
Paul Wilkins [Thu, 19 Nov 2015 16:13:43 +0000 (16:13 +0000)]
Merge "Changes to best quality settings."

8 years agoMerge "Speed up tm_predictor_4x4"
Jian Zhou [Thu, 19 Nov 2015 02:32:48 +0000 (02:32 +0000)]
Merge "Speed up  tm_predictor_4x4"

8 years agoSpeed up tm_predictor_4x4
Jian Zhou [Sat, 14 Nov 2015 02:42:48 +0000 (18:42 -0800)]
Speed up  tm_predictor_4x4

tm_predictor_4x4 is implemented with SSE2 using XMM registers.
Speed up by ~25% in ./test_intra_pred_speed.

Change-Id: I25074b78d476a2cb17f81cf654bdfd80df2070e0

8 years agovp9-svc: Fix to key frame counter for spatial layers.
Marco [Wed, 18 Nov 2015 22:29:25 +0000 (14:29 -0800)]
vp9-svc: Fix to key frame counter for spatial layers.

Existing condition only applied to temporal layers.

Change-Id: Icef20a59d0afc61d4e14dea01aff4786fa9e41ae

8 years agoMerge "Changes to exhaustive motion search."
Paul Wilkins [Wed, 18 Nov 2015 11:10:13 +0000 (11:10 +0000)]
Merge "Changes to exhaustive motion search."

8 years agoVPX: x86 asm version of vpx_idct32x32_34_add()
Scott LaVarnway [Wed, 18 Nov 2015 01:42:24 +0000 (17:42 -0800)]
VPX: x86 asm version of vpx_idct32x32_34_add()

Change-Id: Ic81f38998fb1b8d33f5a5d7424c2c41002786cef

8 years agoconfigure: simplify x86 asm dependencies
James Zern [Wed, 18 Nov 2015 00:14:05 +0000 (16:14 -0800)]
configure: simplify x86 asm dependencies

--disable-XXX has the effect of disabling all extensions above it, e.g.,
--disable-ssse3 disables ssse3-avx2.

Change-Id: If02b44ca71ee12e4acb12010db8593a7989f2a9d

8 years agoFixed a few sanity checks.
Zoe Liu [Tue, 10 Nov 2015 01:21:11 +0000 (17:21 -0800)]
Fixed a few sanity checks.

Change-Id: Ieec4a7be5945dc6de192e2d8292ab978baf47f53
(cherry picked from commit 2096296421c7fa56abb49470c0fbe7c4337b8a71)

8 years agoChanges to best quality settings.
paulwilkins [Tue, 17 Nov 2015 16:20:20 +0000 (16:20 +0000)]
Changes to best quality settings.

Small changes to the best quality default speed trade off.
Some speedup settings are worth while even for best quality as they
have only a very small impact on quality but a significant impact on
encode time.

These changes give as much as a further 50-60% increase in encode
speed for my test animations clip with minimal impact on quality.

For this sequence these changes improve the best quality encode  speed
to about the same level as good quality speed 0 in Q3 2015 whilst
retaining the large quality gain of over 1 db

For many natural videos though the quality difference from good 0
to best is much smaller.

Change-Id: I28b3840009d77e129817a78a7c41e29cb03e1132

8 years agoEnable resize test(down&up) by changing the bitrate.
jackychen [Sat, 14 Nov 2015 00:02:43 +0000 (16:02 -0800)]
Enable resize test(down&up) by changing the bitrate.

Change-Id: I5a4f1f7b9de20fbfc28cb743dcd29c0eeca736f8

8 years agoUse Interlocked calls in win32 once() implementation.
Ralph Giles [Fri, 13 Nov 2015 20:56:34 +0000 (12:56 -0800)]
Use Interlocked calls in win32 once() implementation.

This is simpler than the previous scheme, which tried to allocate
the CRITICAL_SECTION struct in a thread-safe manner before it
could use it to run the wrapped function in a thread-safe manner.

Change-Id: I172e5544e5f16403a3a0e5e2b9104b1292a0d786

8 years agoReduce sampling time for noise estimate.
Marco [Fri, 13 Nov 2015 16:09:17 +0000 (08:09 -0800)]
Reduce sampling time for noise estimate.

Change-Id: I46abd85e2187b8f4c2846416a23fab26d9b9f67d

8 years agoFix resize internal test.
Marco [Fri, 13 Nov 2015 14:20:41 +0000 (06:20 -0800)]
Fix resize internal test.

Temporary fix to make sure it always passes.

Change-Id: I56a0529986ad7049b6090f871c14e9e06d573d5f

8 years agoMerge "VP9 noise estimation: add frame level motion metrics and adjust thresholds."
Marco Paniconi [Fri, 13 Nov 2015 14:09:19 +0000 (14:09 +0000)]
Merge "VP9 noise estimation: add frame level motion metrics and adjust thresholds."