]> granicus.if.org Git - libvpx/log
libvpx
8 years agoMerge "Port alt reference frame filter improvement to VP9"
Jingning Han [Tue, 1 Mar 2016 22:31:37 +0000 (22:31 +0000)]
Merge "Port alt reference frame filter improvement to VP9"

8 years agoMerge "Back port partition rate cost estimate fix to VP9"
Jingning Han [Tue, 1 Mar 2016 22:31:29 +0000 (22:31 +0000)]
Merge "Back port partition rate cost estimate fix to VP9"

8 years agoMerge "Don't copy tx_size to all 8x8 MIs in the prediction block."
Alex Converse [Tue, 1 Mar 2016 17:19:04 +0000 (17:19 +0000)]
Merge "Don't copy tx_size to all 8x8 MIs in the prediction block."

8 years agoPort alt reference frame filter improvement to VP9
Jingning Han [Tue, 1 Mar 2016 00:52:44 +0000 (16:52 -0800)]
Port alt reference frame filter improvement to VP9

Use sharp filter to generate motion compensated reference for
temporal filtering. It improves the average coding performance of
VP9 speed 0:
derf    0.34%
hevcmr  0.38%
stdhd   0.58%

Change-Id: I1772a051be545de8c343055274e5ca0929d19cda

8 years agoBack port partition rate cost estimate fix to VP9
Jingning Han [Mon, 29 Feb 2016 23:20:12 +0000 (15:20 -0800)]
Back port partition rate cost estimate fix to VP9

This commit back ports the fix from
https://chromium-review.googlesource.com/#/c/326940

It corrects the block partition context fetching in rate-distortion
optimization. It improves the average coding performance of speed 0:
derf    0.098%
hevcmr  0.102%
stdhd   0.282%

Change-Id: I8bcc6fe40ba5c6b50a6136daac116dcc738937ec

8 years agovp9-datarate unittests: Include coverage up to speed 8.
Marco [Tue, 1 Mar 2016 00:16:20 +0000 (16:16 -0800)]
vp9-datarate unittests: Include coverage up to speed 8.

Change-Id: I8529cd04ea4f95d21d83f87d56d6dd882d0a5636

8 years agoDon't copy tx_size to all 8x8 MIs in the prediction block.
Alex Converse [Mon, 29 Feb 2016 23:16:42 +0000 (15:16 -0800)]
Don't copy tx_size to all 8x8 MIs in the prediction block.

The double pointer in xd->mi handles this for us.

Cuts encode_suberblock()'s self time in half at rt speed 8.

Change-Id: I820dae24efdbf9a140bbeae82e4e2a5850317766

8 years agovp9: Remove effective_bitrate from SVC datarate tests.
Marco [Mon, 29 Feb 2016 21:11:41 +0000 (13:11 -0800)]
vp9: Remove effective_bitrate from SVC datarate tests.

Change-Id: I1189c2403463e0aca288ba344052ba1c9cf94390

8 years agovp8: multi-res-encoder: Fix timer around encoder in sample encoder.
Marco [Mon, 29 Feb 2016 19:12:02 +0000 (11:12 -0800)]
vp8: multi-res-encoder: Fix timer around encoder in sample encoder.

Change-Id: I0131ab4767e2eb72838ab6e58dd77a85fbf508e0

8 years agovp9-svc: For 1 pass svc, remove frame-level upsampling.
Marco [Wed, 20 Jan 2016 22:10:26 +0000 (14:10 -0800)]
vp9-svc: For 1 pass svc, remove frame-level upsampling.

With the svc fix in https://chromium-review.googlesource.com/#/c/328978/,
the asan error is resolved, so this should work now.

Change-Id: I57b2a593651d414e1b445431d90f2fdc3281128b

8 years agoVPX: Remove pmin/pmax from subpixel functions.
Scott LaVarnway [Wed, 24 Feb 2016 20:03:33 +0000 (12:03 -0800)]
VPX: Remove pmin/pmax from subpixel functions.

These instructions are unnecessary if the adds
are done in the correct order.

Change-Id: I4e533b8267c32e610a4b94203ad052dc9fdabd71

8 years agoMerge "VPX: vpx_filter_block1d16_(v8, v8_avg)"
Scott LaVarnway [Sat, 27 Feb 2016 13:31:18 +0000 (13:31 +0000)]
Merge "VPX: vpx_filter_block1d16_(v8, v8_avg)"

8 years agoMerge changes I95159bcb,Ia74e3097,I661f6439
James Zern [Sat, 27 Feb 2016 02:56:40 +0000 (02:56 +0000)]
Merge changes I95159bcb,Ia74e3097,I661f6439

* changes:
  x86/convolve.h: remove redundant check in FUN_CONV_2D
  x86/convolve.h: replace while w/if for w < 16
  x86/convolve.h: change filter[] || chains to |

8 years agodatarate_test/ChangingDropFrameThresh: set kf interval
James Zern [Fri, 26 Feb 2016 23:14:46 +0000 (15:14 -0800)]
datarate_test/ChangingDropFrameThresh: set kf interval

restore the value for VP9 to 9999 to satisfy the current test
expectations; without this
VP9/DatarateTestVP9Large.ChangingDropFrameThresh/8 will overshoot.

Change-Id: I88dad574ae4ab10f923579824c7347ff468c7045

8 years agoRevert "vp9-svc: Fix speed issue with source downscaling for spatial layers."
James Zern [Sat, 27 Feb 2016 00:53:10 +0000 (16:53 -0800)]
Revert "vp9-svc: Fix speed issue with source downscaling for spatial layers."

This reverts commit f51f0998e1ca99cd7497ded3642bb27445b1b215.

This causes datarate tests to fail. Some are due to the new default
keyframe distance, another causes an assert even forcing 9999:

[ RUN      ] VP9/DatarateOnePassCbrSvc.OnePassCbrSvc3SpatialLayers/0
test_libvpx:
vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c:853: scaledconvolve2d:
Assertion `y_step_q4 <= 32' failed.

Change-Id: I4ee4fea97f47e4f1a23b82a62e6afc6280961e38

8 years agoMerge "vp8-denoiser: Update some denoiser thresholds."
Marco Paniconi [Sat, 27 Feb 2016 00:20:53 +0000 (00:20 +0000)]
Merge "vp8-denoiser: Update some denoiser thresholds."

8 years agoMerge "vp9-svc: Bugfix for svc in non-rd variance partition."
Marco Paniconi [Fri, 26 Feb 2016 22:39:28 +0000 (22:39 +0000)]
Merge "vp9-svc: Bugfix for svc in non-rd variance partition."

8 years agovp9-svc: Bugfix for svc in non-rd variance partition.
Marco [Mon, 22 Feb 2016 22:17:03 +0000 (14:17 -0800)]
vp9-svc: Bugfix for svc in non-rd variance partition.

Reset the scale factors before build_inter_predictors.

Add datarate tests for 3 spatial layers, which exposed this issue.

Change-Id: I7f81efbe44345ecea9fdd5f639a4cca76aed3874

8 years agovp9-svc: Fix speed issue with source downscaling for spatial layers.
Marco [Thu, 25 Feb 2016 16:38:08 +0000 (08:38 -0800)]
vp9-svc: Fix speed issue with source downscaling for spatial layers.

For 1 pass cbr mode: allow for two-stage 1:2 scaling
(which will use the 1:2 optimized scaler) if the spatial
layer is 1/4x1/4 of souce.

Without this change, the base layer for 3 spatial layers would
be using the non-normative scaler which is un-optimized/C code.

Change-Id: Ifcf526ec2aaf3e5fa7924588d9dd8660bf02fb46

8 years agox86/convolve.h: remove redundant check in FUN_CONV_2D
James Zern [Fri, 26 Feb 2016 07:31:50 +0000 (23:31 -0800)]
x86/convolve.h: remove redundant check in FUN_CONV_2D

the filter will be the same in this case

Change-Id: I95159bcb05bbfb71b57da741393e80cc7ffc5cff

8 years agox86/convolve.h: replace while w/if for w < 16
James Zern [Thu, 25 Feb 2016 03:48:49 +0000 (19:48 -0800)]
x86/convolve.h: replace while w/if for w < 16

in non-hbd configurations; any high-bitdepth changes will be done in a
follow-up

Change-Id: Ia74e30971b744c1faab68c92fdeda1a053988c77

8 years agoaltref_test: move AltRefTest instantiation w/in VP8 check
James Zern [Fri, 26 Feb 2016 04:58:56 +0000 (20:58 -0800)]
altref_test: move AltRefTest instantiation w/in VP8 check

some configurations may fail if AltRefTest is undefined though
VP8_INSTANTIATE_TEST_CASE is defined away.

Change-Id: I7272775a506718336bd6cee2225cf83bd72fede5

8 years agoMerge "vp9/10: fix forced keyframes w/alt-refs enabled"
James Zern [Fri, 26 Feb 2016 03:52:44 +0000 (03:52 +0000)]
Merge "vp9/10: fix forced keyframes w/alt-refs enabled"

8 years agovp9: set kf_max_dist to a reasonable default (128)
James Zern [Thu, 25 Feb 2016 04:24:51 +0000 (20:24 -0800)]
vp9: set kf_max_dist to a reasonable default (128)

the same as vp8, with the same reasoning from:
2a0d7b1 Reduce the default kf_max_dist to 128.

see also:
https://trac.ffmpeg.org/ticket/4904
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815673

+ restore vpxenc behavior of taking the library default rather than
  forcing 5s

This change also exposes an issue with one-pass svc in cbr mode, keep
the old default in datarate_test.cc for now.

Change-Id: Id6d1244f42490b06fefc1a7b4e12a423a1f83e88

8 years agoVPX: vpx_filter_block1d16_(v8, v8_avg)
Scott LaVarnway [Thu, 25 Feb 2016 14:15:24 +0000 (06:15 -0800)]
VPX: vpx_filter_block1d16_(v8, v8_avg)

Store result with one 16 byte store instead of
two 8 byte stores.

Change-Id: I43acbc5edfd6d6055a926f9b9605d47127400f09

8 years agox86/convolve.h: change filter[] || chains to |
James Zern [Thu, 25 Feb 2016 03:35:37 +0000 (19:35 -0800)]
x86/convolve.h: change filter[] || chains to |

Change-Id: I661f64390f232826857b259e7a67e77f5a3a91ad

8 years agovp9/10: fix forced keyframes w/alt-refs enabled
James Zern [Fri, 19 Feb 2016 19:05:33 +0000 (11:05 -0800)]
vp9/10: fix forced keyframes w/alt-refs enabled

in 1-pass encodes. issues with 2-pass as well as other forced flags
persist.

Change-Id: Ic7ceb906fccea6456d5df96483c10cacd46e01c7

8 years agoMerge changes from topic 'x86inc'
Johann Koenig [Wed, 24 Feb 2016 22:33:02 +0000 (22:33 +0000)]
Merge changes from topic 'x86inc'

* changes:
  x86inc.asm: only set visibility for chromium builds
  Only use .text sections for aout
  Use .text instead of .rodata on macho
  Copy PIC handling code from x86_abi_support
  Set 'private_extern' visibility for macho targets
  Expand PIC default to macho64 and respect CONFIG_PIC from libvpx
  Use libvpx defines to set name mangling rules
  Customize x86inc.asm for libvpx
  Update x86inc.asm from x264

8 years agoMerge "BUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)"
Scott LaVarnway [Wed, 24 Feb 2016 22:31:06 +0000 (22:31 +0000)]
Merge "BUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)"

8 years agovp9: Update to scene/content change detection.
Marco [Wed, 24 Feb 2016 01:49:34 +0000 (17:49 -0800)]
vp9: Update to scene/content change detection.

Update some parameters and put check on frame size change.
For 1 pass VBR mode, speed >= 5.

Change-Id: If24ed94a21e705ea57d40b9bf235ad079db786fc

8 years agoBUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)
Scott LaVarnway [Tue, 23 Feb 2016 20:23:41 +0000 (12:23 -0800)]
BUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)

Change-Id: Ic7ea79988ed0864e7ddbfeb312516bcf77eaaac1

8 years agovp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.
Marco [Fri, 12 Feb 2016 18:29:26 +0000 (10:29 -0800)]
vp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.

Change-Id: I630b8e33106c78382545d49da5fb4c75b1b0b528

8 years agoMerge "VPX: loopfilter_mmx.asm using x86inc"
Scott LaVarnway [Mon, 22 Feb 2016 13:47:32 +0000 (13:47 +0000)]
Merge "VPX: loopfilter_mmx.asm using x86inc"

8 years agoMerge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"
Scott LaVarnway [Mon, 22 Feb 2016 13:45:26 +0000 (13:45 +0000)]
Merge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"

8 years agoMerge "VP9: remove x_mis, y_mis calculations"
Scott LaVarnway [Mon, 22 Feb 2016 13:44:37 +0000 (13:44 +0000)]
Merge "VP9: remove x_mis, y_mis calculations"

8 years agovp9: 1 pass vbr real-time mode: Adjust gf refresh for scene change.
Marco [Thu, 18 Feb 2016 20:16:01 +0000 (12:16 -0800)]
vp9: 1 pass vbr real-time mode: Adjust gf refresh for scene change.

Use the existing scene/content change detection to better
update/adjust golden frame refresh.

Change only affects 1 pass real-time vbr mode, speed >=5.

Change-Id: I2963a5bb7ca4a19f8cf8511b0a925e502f60e014

8 years agoVP9: rename vpx_read_mode_info to vp9_read_mode_info
Scott LaVarnway [Fri, 19 Feb 2016 13:34:12 +0000 (05:34 -0800)]
VP9: rename vpx_read_mode_info to vp9_read_mode_info

Change-Id: I3cb3da864e33012ba68d61ee8bafa8c42f00313c

8 years agoVP9: remove x_mis, y_mis calculations
Scott LaVarnway [Fri, 19 Feb 2016 13:28:00 +0000 (05:28 -0800)]
VP9: remove x_mis, y_mis calculations

Passed as arguments instead.

Change-Id: I884a90baedf772692372e6e3520702c04a968f44

8 years agoVPX: loopfilter_mmx.asm using x86inc
Scott LaVarnway [Thu, 18 Feb 2016 23:34:58 +0000 (15:34 -0800)]
VPX: loopfilter_mmx.asm using x86inc

Change-Id: Idcf29281d617b275e3ca50f77e6d00c60992a36d

8 years agoMerge changes from topic 'vp10-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:56:03 +0000 (18:56 +0000)]
Merge changes from topic 'vp10-missing-alloc-checks'

* changes:
  vp10/resize: add missing alloc checks
  vp10/encoder: add missing alloc checks
  vp10/decoder,resize_mv_buffer: add missing alloc check
  vp10_cyclic_refresh_alloc: correct cleanup on error

8 years agoMerge changes from topic 'vp9-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:53:13 +0000 (18:53 +0000)]
Merge changes from topic 'vp9-missing-alloc-checks'

* changes:
  vp9_svc_layercontext: add missing alloc checks
  vp9_resize: add missing alloc checks
  vp9_encoder: add missing alloc checks
  vp9/decoder,resize_mv_buffer: add missing alloc check
  vp9_cyclic_refresh_alloc: correct cleanup on error

8 years agoMerge changes from topic 'vp8-missing-alloc-checks'
James Zern [Thu, 18 Feb 2016 18:50:58 +0000 (18:50 +0000)]
Merge changes from topic 'vp8-missing-alloc-checks'

* changes:
  vp8_dx_iface: add missing alloc checks
  vp8/onyx_if: add missing alloc checks
  vp8/denoising: add missing alloc check

8 years agoMerge changes from topic 'rm-loopfilter-count-param'
James Zern [Thu, 18 Feb 2016 18:47:48 +0000 (18:47 +0000)]
Merge changes from topic 'rm-loopfilter-count-param'

* changes:
  lpf_8_test: remove unneeded function wrapper
  remove loopfilter 'count' param TODOs
  split vpx_highbd_lpf_horizontal_16 in two
  split vpx_lpf_horizontal_16 in two
  vpx_highbd_lpf_horizontal_4: remove unused count param
  vpx_highbd_lpf_horizontal_8: remove unused count param
  vpx_highbd_lpf_vertical_4: remove unused count param
  vpx_highbd_lpf_vertical_8: remove unused count param
  vpx_lpf_horizontal_4: remove unused count param
  vpx_lpf_horizontal_8: remove unused count param
  vpx_lpf_vertical_4: remove unused count param
  vpx_lpf_vertical_8: remove unused count param
  lpf_8_test: add missing dspr2 tests
  lpf_8_test: add missing vpx_lpf_horizontal_4 tests
  lpf_8_test: add missing vpx_lpf_vertical_4 tests
  lpf_8_test: simplify function wrapper generation

8 years agox86inc.asm: only set visibility for chromium builds
James Zern [Thu, 18 Feb 2016 02:32:57 +0000 (18:32 -0800)]
x86inc.asm: only set visibility for chromium builds

this restores the previous version's behavior avoiding issues with
builds that may split sources on directory boundaries; protected
visibility may work in this case.

Change-Id: Ie759bd96c9ea5b45613f450dffa6e67eb45f5a8b

8 years agoOnly use .text sections for aout
Johann [Thu, 18 Feb 2016 02:30:46 +0000 (18:30 -0800)]
Only use .text sections for aout

Also do not specify alignment.

Change-Id: I92d07dcce632ff9380c5dce18f88597414ab60c7

8 years agoUse .text instead of .rodata on macho
Johann [Thu, 18 Feb 2016 02:25:09 +0000 (18:25 -0800)]
Use .text instead of .rodata on macho

The read only sections are getting stripped on some OS X builds. As a
result, random data is used in place of the intended tables.

Change-Id: I4629c90d9e0ae4d4efc193a93be6fb93809ae895

8 years agoCopy PIC handling code from x86_abi_support
Johann [Thu, 18 Feb 2016 02:21:03 +0000 (18:21 -0800)]
Copy PIC handling code from x86_abi_support

Change-Id: Ia05fe78d2bd29b6aebaf6605719fe8a32528f25c

8 years agoSet 'private_extern' visibility for macho targets
Johann [Thu, 18 Feb 2016 02:08:13 +0000 (18:08 -0800)]
Set 'private_extern' visibility for macho targets

Do not set it when building with 'nasm'

Change-Id: Iff2acf22543f5899f6eefa7624821cc6270a0923

8 years agovp8_dx_iface: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:56:17 +0000 (14:56 -0800)]
vp8_dx_iface: add missing alloc checks

Change-Id: Id9f4022b0cb4b5d0b3dd8759fd491da4e2ba5cb1

8 years agovp8/onyx_if: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:55:50 +0000 (14:55 -0800)]
vp8/onyx_if: add missing alloc checks

Change-Id: I9b0aa340518f45e16fa9754afd87347aabf968d7

8 years agoExpand PIC default to macho64 and respect CONFIG_PIC from libvpx
Johann [Thu, 18 Feb 2016 01:56:29 +0000 (17:56 -0800)]
Expand PIC default to macho64 and respect CONFIG_PIC from libvpx

Change-Id: I8df65c6e52141183344ee91a7f94e8f4d5687e2f

8 years agoUse libvpx defines to set name mangling rules
Johann [Thu, 18 Feb 2016 01:55:18 +0000 (17:55 -0800)]
Use libvpx defines to set name mangling rules

Change-Id: Ie5dbfe73bdb6132047f9ab7d5716714d50befea5

8 years agoCustomize x86inc.asm for libvpx
Johann [Thu, 18 Feb 2016 01:42:07 +0000 (17:42 -0800)]
Customize x86inc.asm for libvpx

Use settings from vpx_config.asm

Prefix functions with vpx.

Change-Id: I71b4a89eaecf51fa56a07d9927081d50798a9042

8 years agoUpdate x86inc.asm from x264
Johann [Thu, 18 Feb 2016 01:37:24 +0000 (17:37 -0800)]
Update x86inc.asm from x264

Revision d23d18655249944c1ca894b451e2c82c7a584c62
from https://git.videolan.org/x264.git

Change-Id: I841ec8c5ea71935aa364657299c6bba0c8742fc1

8 years agovp8/denoising: add missing alloc check
James Zern [Wed, 17 Feb 2016 22:54:57 +0000 (14:54 -0800)]
vp8/denoising: add missing alloc check

Change-Id: I51ede902cd9d7bafa41f7caa3f9adf77f9df5903

8 years agovp10/resize: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:27:51 +0000 (14:27 -0800)]
vp10/resize: add missing alloc checks

Change-Id: I96669ddbcdda508a295c68ecf103d10f364e0ad5

8 years agovp9_svc_layercontext: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:41:37 +0000 (12:41 -0800)]
vp9_svc_layercontext: add missing alloc checks

Change-Id: Ieb305c178c64b3864f0e8fc1a13c29799e1ae8f5

8 years agovp9_resize: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:41:08 +0000 (12:41 -0800)]
vp9_resize: add missing alloc checks

Change-Id: I87ef6dec7cd2e8f9a40135e5ca11b13520ebd6d7

8 years agoBetter workaround for Bug 1089.
Alex Converse [Wed, 17 Feb 2016 21:39:44 +0000 (13:39 -0800)]
Better workaround for Bug 1089.

Don't initialize first pass costs for a number of symbols where first
pass probabilities aren't initialized.

This brings a 1.22x first pass speedup.

https://bugs.chromium.org/p/webm/issues/detail?id=1089

Change-Id: I97438c357bd88f52f5a15c697031cf0c3cc8f510

8 years agovp10/encoder: add missing alloc checks
James Zern [Wed, 17 Feb 2016 22:27:23 +0000 (14:27 -0800)]
vp10/encoder: add missing alloc checks

Change-Id: I5f81250d054bfd1cc69308a491b8fd21b77e4ee1

8 years agovp10/decoder,resize_mv_buffer: add missing alloc check
James Zern [Wed, 17 Feb 2016 22:26:16 +0000 (14:26 -0800)]
vp10/decoder,resize_mv_buffer: add missing alloc check

Change-Id: I8eef989847fcf3c4b9a16b02db477e1007625145

8 years agovp10_cyclic_refresh_alloc: correct cleanup on error
James Zern [Wed, 17 Feb 2016 22:25:41 +0000 (14:25 -0800)]
vp10_cyclic_refresh_alloc: correct cleanup on error

previously only the CYCLIC_REFRESH allocation was being freed

Change-Id: I600eb496ec4b62accf1a6483c8170eabb046787d

8 years agovp9_encoder: add missing alloc checks
James Zern [Wed, 17 Feb 2016 20:39:39 +0000 (12:39 -0800)]
vp9_encoder: add missing alloc checks

Change-Id: I08939ab22446b86fae884daaebd1f14c49b21897

8 years agovp9/decoder,resize_mv_buffer: add missing alloc check
James Zern [Wed, 17 Feb 2016 20:38:40 +0000 (12:38 -0800)]
vp9/decoder,resize_mv_buffer: add missing alloc check

Change-Id: I3bc92175b07d5ef495bd75128638c340f3c2238f

8 years agovp9_cyclic_refresh_alloc: correct cleanup on error
James Zern [Wed, 17 Feb 2016 20:36:49 +0000 (12:36 -0800)]
vp9_cyclic_refresh_alloc: correct cleanup on error

previously only the CYCLIC_REFRESH allocation was being freed

Change-Id: I6e1783d077c5ca83c8d62ea9642f1fb03f2e5bf3

8 years agovp8-denoiser: Update some denoiser thresholds.
Marco [Tue, 16 Feb 2016 21:15:03 +0000 (13:15 -0800)]
vp8-denoiser: Update some denoiser thresholds.

Change-Id: I67090d72c0fefd3105ac380415249599e053d3bd

8 years agolpf_8_test: remove unneeded function wrapper
James Zern [Sat, 13 Feb 2016 19:05:24 +0000 (11:05 -0800)]
lpf_8_test: remove unneeded function wrapper

the count parameter has been removed from all loopfilter functions

Change-Id: I87ba72006b59c65c46ca40bcb1c29171dfe0598a

8 years agoremove loopfilter 'count' param TODOs
James Zern [Sat, 13 Feb 2016 02:17:54 +0000 (18:17 -0800)]
remove loopfilter 'count' param TODOs

Change-Id: I25ce7314372ce2f521526ea7864ffc4ab62e4519

8 years agosplit vpx_highbd_lpf_horizontal_16 in two
James Zern [Sat, 13 Feb 2016 02:12:57 +0000 (18:12 -0800)]
split vpx_highbd_lpf_horizontal_16 in two

replace with vpx_highbd_lpf_horizontal_edge_16 and
vpx_highbd_lpf_horizontal_edge_8 to avoid passing a count parameter

Change-Id: I551f8cec0fce57032cb2652584bb802e2248644d

8 years agosplit vpx_lpf_horizontal_16 in two
James Zern [Sat, 13 Feb 2016 01:42:34 +0000 (17:42 -0800)]
split vpx_lpf_horizontal_16 in two

replace with vpx_lpf_horizontal_edge_16 and vpx_lpf_horizontal_edge_8 to
avoid passing a count parameter

Change-Id: I848c95c02a3c6ebaa6c2bdf0983dce05cd645271

8 years agovpx_highbd_lpf_horizontal_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:59:39 +0000 (20:59 -0800)]
vpx_highbd_lpf_horizontal_4: remove unused count param

Change-Id: I655a771e1b1a8753be5669ef9348a312ba6cfdbc

8 years agovpx_highbd_lpf_horizontal_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:54:16 +0000 (20:54 -0800)]
vpx_highbd_lpf_horizontal_8: remove unused count param

Change-Id: Iaca71ea3796115d4c2d43563b4e6f3914e21f1bf

8 years agovpx_highbd_lpf_vertical_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:50:42 +0000 (20:50 -0800)]
vpx_highbd_lpf_vertical_4: remove unused count param

Change-Id: Ic6da723c5cf3cd8127db1f476c3e46ea134cb774

8 years agovpx_highbd_lpf_vertical_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:49:56 +0000 (20:49 -0800)]
vpx_highbd_lpf_vertical_8: remove unused count param

Change-Id: Id16f7259897654831d31642c2d5e0bbe5e13416c

8 years agovpx_lpf_horizontal_4: remove unused count param
James Zern [Fri, 12 Feb 2016 04:26:54 +0000 (20:26 -0800)]
vpx_lpf_horizontal_4: remove unused count param

Change-Id: Iec7d8eda343991f7d7d46931dca17af23c821d11

8 years agovpx_lpf_horizontal_8: remove unused count param
James Zern [Fri, 12 Feb 2016 04:02:53 +0000 (20:02 -0800)]
vpx_lpf_horizontal_8: remove unused count param

Change-Id: I48741e167a7b09b7c9ad3bfc1c4b88ef1029ae46

8 years agovp10,encoder: relocate setjmp
James Zern [Wed, 17 Feb 2016 03:33:16 +0000 (19:33 -0800)]
vp10,encoder: relocate setjmp

move to encoder_encode() as vp10_get_compressed_data() allocates data and
would require some modification to make its error return meaningful.

Change-Id: Ia5267c35d16ccd42b6da6d2136402b13e28f9159

8 years agovp9,encoder: relocate setjmp
James Zern [Wed, 17 Feb 2016 03:25:54 +0000 (19:25 -0800)]
vp9,encoder: relocate setjmp

move to encoder_encode() as vp9_get_compressed_data() allocates data and
would require some modification to make its error return meaningful.

Change-Id: I8ddc390a1441afd0ff937842fa4ad1053c956133

8 years agovp10_cx_iface,encode: remove redundant cpi check
James Zern [Wed, 17 Feb 2016 01:58:54 +0000 (17:58 -0800)]
vp10_cx_iface,encode: remove redundant cpi check

this is allocated in init(), a NULL pointer on encode() should be
treated as a failure.

Change-Id: I09c206f088982716fd5acc39949ceb25576313fc

8 years agovp9_cx_iface,encode: remove redundant cpi check
James Zern [Wed, 17 Feb 2016 01:56:13 +0000 (17:56 -0800)]
vp9_cx_iface,encode: remove redundant cpi check

this is allocated in init(), a NULL pointer on encode() should be
treated as a failure.

Change-Id: I3f55ea4a98be616bb5ab74d95ce4a3d6262e734a

8 years agovpx_lpf_vertical_4: remove unused count param
James Zern [Fri, 12 Feb 2016 03:54:51 +0000 (19:54 -0800)]
vpx_lpf_vertical_4: remove unused count param

Change-Id: I43a191cb3d42e51e7bca266adfa11c6239a8064c

8 years agovpx_lpf_vertical_8: remove unused count param
James Zern [Fri, 12 Feb 2016 03:43:36 +0000 (19:43 -0800)]
vpx_lpf_vertical_8: remove unused count param

Change-Id: Ic69406da00afb0f06588e8c0deb2b043952b078c

8 years agolpf_8_test: add missing dspr2 tests
James Zern [Sat, 13 Feb 2016 18:24:26 +0000 (10:24 -0800)]
lpf_8_test: add missing dspr2 tests

Change-Id: I3954ff86ec1965cd6d4eec570c2d1993538d9c11

8 years agolpf_8_test: add missing vpx_lpf_horizontal_4 tests
James Zern [Sat, 13 Feb 2016 04:25:15 +0000 (20:25 -0800)]
lpf_8_test: add missing vpx_lpf_horizontal_4 tests

mmx, msa

Change-Id: Ia9604adcdcc77411f383e081e01a18d232c9d992

8 years agolpf_8_test: add missing vpx_lpf_vertical_4 tests
James Zern [Sat, 13 Feb 2016 04:23:41 +0000 (20:23 -0800)]
lpf_8_test: add missing vpx_lpf_vertical_4 tests

mmx, msa

Change-Id: I113ce0ec144ee673d5dcde4c03fe7670f9f4c369

8 years agolpf_8_test: simplify function wrapper generation
James Zern [Sat, 13 Feb 2016 03:32:05 +0000 (19:32 -0800)]
lpf_8_test: simplify function wrapper generation

Change-Id: Ie4d3e80a4e43dd4ada78d073e308e10db4ea3239

8 years agovp9-real-time mode: Fix condition for allowing reference masking.
Marco [Tue, 16 Feb 2016 16:40:23 +0000 (08:40 -0800)]
vp9-real-time mode: Fix condition for allowing reference masking.

Add frame-level condition for reference masking: under external or
internal dynamic resize, allow for reference masking if none of
the references have been scaled.
Peviously, reference masking was turned off for the stream if dynamic
resize feature was enabled or an external resize event occurred.

reference_masking gives speed up with little/no loss in compression.
For speed 7 on rtc set: encoding time decreases by about 5-7%,
avgPSNR/SSIM goes down ~0.2%.

Change-Id: Ie4444577451ef954414d8fb4b2c99d65cadf1746

8 years agoMerge "Fix tsan error in VP9 sub8x8 intra mode search"
James Zern [Tue, 16 Feb 2016 20:26:41 +0000 (20:26 +0000)]
Merge "Fix tsan error in VP9 sub8x8 intra mode search"

8 years agoFix tsan error in VP9 sub8x8 intra mode search
Jingning Han [Thu, 11 Feb 2016 20:36:49 +0000 (12:36 -0800)]
Fix tsan error in VP9 sub8x8 intra mode search

This commit fixes issue 1141. The issue was triggered in multi-tile
encoding. The change properly saves and restores the block context
information in the real-time mode selection process. It removes
several redundant memcpy operations in sub8x8 intra block mode search.

Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010

8 years agoMerge "vp9-resize: Fix an issue with external dynamic resize."
Marco Paniconi [Tue, 16 Feb 2016 16:18:42 +0000 (16:18 +0000)]
Merge "vp9-resize: Fix an issue with external dynamic resize."

8 years agoMerge changes from topic 'unused-params'
James Zern [Sat, 13 Feb 2016 01:03:45 +0000 (01:03 +0000)]
Merge changes from topic 'unused-params'

* changes:
  tests: quiet some unused parameter warnings
  vp9_error_block_test: prefer EXPECT over assert()
  vp9_encoder_parms_get_to_decoder: add missing initializers
  vpxenc: quiet unused param warning
  vpx_ve_predictor_4x4_c: quiet unused param warning

8 years agovp9-resize: Fix an issue with external dynamic resize.
Marco [Wed, 10 Feb 2016 19:39:04 +0000 (11:39 -0800)]
vp9-resize: Fix an issue with external dynamic resize.

External dynamic resize with swapping width and height was
not handled properly.
Fix is to re-init loop-filter under certain condtions.

Modify unittest to test this case.
Without this change test will fail.

Relates to: https://bugs.chromium.org/p/webm/issues/detail?id=1140

Change-Id: I7d81ca7fe0783b3bc103a52a7b7cf073a96be26e

8 years agotests: quiet some unused parameter warnings
James Zern [Fri, 12 Feb 2016 02:27:00 +0000 (18:27 -0800)]
tests: quiet some unused parameter warnings

Change-Id: Iff8b0d77234f78bf407676891bccad92825bfcc6

8 years agovp9_error_block_test: prefer EXPECT over assert()
James Zern [Fri, 12 Feb 2016 03:07:25 +0000 (19:07 -0800)]
vp9_error_block_test: prefer EXPECT over assert()

Change-Id: Id523448bac903999934370f7b06a5c316f11a966

8 years agovp9_encoder_parms_get_to_decoder: add missing initializers
James Zern [Fri, 12 Feb 2016 02:52:45 +0000 (18:52 -0800)]
vp9_encoder_parms_get_to_decoder: add missing initializers

+ quiet an unused parameter warning

Change-Id: I65f69172febb4e0701d3e440b7e1fb31829cda57

8 years agovpxenc: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:53:50 +0000 (18:53 -0800)]
vpxenc: quiet unused param warning

Change-Id: Ib6ed1b8c03f6c269f8d667b21b895b35363cee9e

8 years agovpx_ve_predictor_4x4_c: quiet unused param warning
James Zern [Fri, 12 Feb 2016 02:31:40 +0000 (18:31 -0800)]
vpx_ve_predictor_4x4_c: quiet unused param warning

Change-Id: I62234260e2d2de94d602c6d8095c8f8124334052

8 years agovp10_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:09:33 +0000 (18:09 -0800)]
vp10_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp10_lookahead_push() under low memory conditions.

Change-Id: I5515017cd71b218840c506791b3a517da7ffc93e

8 years agovp9_receive_raw_frame: add missing setjmp
James Zern [Fri, 12 Feb 2016 02:05:31 +0000 (18:05 -0800)]
vp9_receive_raw_frame: add missing setjmp

allocations done within this function are protected with
vpx_internal_error; adding the setjmp fixes a crash in
vp9_lookahead_push() under low memory conditions.

Change-Id: I4b79dca37cc7fadc4b7633f0db44c0e406799bc6

8 years agovp9-resize: Force reference masking off for external dynamic-resizing.
Marco [Thu, 11 Feb 2016 00:59:09 +0000 (16:59 -0800)]
vp9-resize: Force reference masking off for external dynamic-resizing.

An issue exists with reference_masking in non-rd pickmode for spatial
scaling. It was kept off for internal dynamic resizing and svc, this
change is to keep it off also for external dynamic resizing.

Update to external resize test, and update TODO to re-enable this
at frame level when references have same scale as source.

Change-Id: If880a643572127def703ee5b2d16fd41bdbf256c