Jingning Han
9c0a2a7935
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
2016-02-29 16:55:13 -08:00
Jingning Han
8d006a16c5
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
2016-02-29 16:50:35 -08:00
James Zern
1ff2935ebf
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
2016-02-25 20:58:56 -08:00
James Zern
48755f9f1a
Merge "vp9/10: fix forced keyframes w/alt-refs enabled"
2016-02-26 03:52:44 +00:00
James Zern
14828e756f
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
2016-02-25 12:34:12 -08:00
James Zern
ac4c37c684
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
2016-02-24 15:56:37 -08:00
Johann Koenig
784eebb2d3
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
2016-02-24 22:33:02 +00:00
Scott LaVarnway
87bd54fa05
Merge "BUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)"
2016-02-24 22:31:07 +00:00
Marco
1cab19e9e4
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
2016-02-23 17:52:37 -08:00
Scott LaVarnway
06d0e2fe6c
BUG FIX: vpx_filter_block1d(8,4)_(v8, v8_avg)
...
Change-Id: Ic7ea79988ed0864e7ddbfeb312516bcf77eaaac1
2016-02-23 12:23:41 -08:00
Marco
a0278cad3f
vp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.
...
Change-Id: I630b8e33106c78382545d49da5fb4c75b1b0b528
2016-02-22 17:44:20 -08:00
Scott LaVarnway
034031d4aa
Merge "VPX: loopfilter_mmx.asm using x86inc"
2016-02-22 13:47:32 +00:00
Scott LaVarnway
6ccf854061
Merge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"
2016-02-22 13:45:27 +00:00
Scott LaVarnway
3bf3aa26ae
Merge "VP9: remove x_mis, y_mis calculations"
2016-02-22 13:44:37 +00:00
Marco
958f372509
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
2016-02-19 09:40:23 -08:00
Scott LaVarnway
0499e06f2f
VP9: rename vpx_read_mode_info to vp9_read_mode_info
...
Change-Id: I3cb3da864e33012ba68d61ee8bafa8c42f00313c
2016-02-19 05:34:12 -08:00
Scott LaVarnway
6c0ce09029
VP9: remove x_mis, y_mis calculations
...
Passed as arguments instead.
Change-Id: I884a90baedf772692372e6e3520702c04a968f44
2016-02-19 05:28:00 -08:00
Scott LaVarnway
15ecdc3970
VPX: loopfilter_mmx.asm using x86inc
...
Change-Id: Idcf29281d617b275e3ca50f77e6d00c60992a36d
2016-02-18 15:34:58 -08:00
James Zern
6261fcf307
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
2016-02-18 18:56:03 +00:00
James Zern
b6b40d3015
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
2016-02-18 18:53:13 +00:00
James Zern
c8fa9e9d53
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
2016-02-18 18:50:58 +00:00
James Zern
4950dbceaf
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
2016-02-18 18:47:48 +00:00
James Zern
a4b47b89fd
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
2016-02-17 18:45:40 -08:00
Johann
a97c83f7a4
Only use .text sections for aout
...
Also do not specify alignment.
Change-Id: I92d07dcce632ff9380c5dce18f88597414ab60c7
2016-02-17 18:45:40 -08:00
Johann
9679be4bc0
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
2016-02-17 18:45:40 -08:00
Johann
7e065cd573
Copy PIC handling code from x86_abi_support
...
Change-Id: Ia05fe78d2bd29b6aebaf6605719fe8a32528f25c
2016-02-17 18:45:21 -08:00
Johann
71ccd103bd
Set 'private_extern' visibility for macho targets
...
Do not set it when building with 'nasm'
Change-Id: Iff2acf22543f5899f6eefa7624821cc6270a0923
2016-02-17 18:08:13 -08:00
James Zern
02fe3ae907
vp8_dx_iface: add missing alloc checks
...
Change-Id: Id9f4022b0cb4b5d0b3dd8759fd491da4e2ba5cb1
2016-02-17 18:04:23 -08:00
James Zern
61b112b67b
vp8/onyx_if: add missing alloc checks
...
Change-Id: I9b0aa340518f45e16fa9754afd87347aabf968d7
2016-02-17 18:04:14 -08:00
Johann
1be46ef6b5
Expand PIC default to macho64 and respect CONFIG_PIC from libvpx
...
Change-Id: I8df65c6e52141183344ee91a7f94e8f4d5687e2f
2016-02-17 17:56:29 -08:00
Johann
4de9641f1a
Use libvpx defines to set name mangling rules
...
Change-Id: Ie5dbfe73bdb6132047f9ab7d5716714d50befea5
2016-02-17 17:55:18 -08:00
Johann
2d6393a98d
Customize x86inc.asm for libvpx
...
Use settings from vpx_config.asm
Prefix functions with vpx.
Change-Id: I71b4a89eaecf51fa56a07d9927081d50798a9042
2016-02-17 17:42:07 -08:00
Johann
2497356d06
Update x86inc.asm from x264
...
Revision d23d18655249944c1ca894b451e2c82c7a584c62
from https://git.videolan.org/x264.git
Change-Id: I841ec8c5ea71935aa364657299c6bba0c8742fc1
2016-02-17 17:41:21 -08:00
James Zern
a3d23877f6
vp8/denoising: add missing alloc check
...
Change-Id: I51ede902cd9d7bafa41f7caa3f9adf77f9df5903
2016-02-17 16:33:56 -08:00
James Zern
345489c9ec
vp10/resize: add missing alloc checks
...
Change-Id: I96669ddbcdda508a295c68ecf103d10f364e0ad5
2016-02-17 16:13:51 -08:00
James Zern
00a39d6e04
vp9_svc_layercontext: add missing alloc checks
...
Change-Id: Ieb305c178c64b3864f0e8fc1a13c29799e1ae8f5
2016-02-17 16:12:40 -08:00
James Zern
efbab73cc1
vp9_resize: add missing alloc checks
...
Change-Id: I87ef6dec7cd2e8f9a40135e5ca11b13520ebd6d7
2016-02-17 16:12:27 -08:00
Alex Converse
09f9c5d7f9
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
2016-02-17 14:46:26 -08:00
James Zern
7fe96753d7
vp10/encoder: add missing alloc checks
...
Change-Id: I5f81250d054bfd1cc69308a491b8fd21b77e4ee1
2016-02-17 14:36:06 -08:00
James Zern
429d61252d
vp10/decoder,resize_mv_buffer: add missing alloc check
...
Change-Id: I8eef989847fcf3c4b9a16b02db477e1007625145
2016-02-17 14:36:05 -08:00
James Zern
5d233390db
vp10_cyclic_refresh_alloc: correct cleanup on error
...
previously only the CYCLIC_REFRESH allocation was being freed
Change-Id: I600eb496ec4b62accf1a6483c8170eabb046787d
2016-02-17 14:36:05 -08:00
James Zern
1710f6507d
vp9_encoder: add missing alloc checks
...
Change-Id: I08939ab22446b86fae884daaebd1f14c49b21897
2016-02-17 14:33:38 -08:00
James Zern
ac4aeb5714
vp9/decoder,resize_mv_buffer: add missing alloc check
...
Change-Id: I3bc92175b07d5ef495bd75128638c340f3c2238f
2016-02-17 12:38:40 -08:00
James Zern
7997c68ed4
vp9_cyclic_refresh_alloc: correct cleanup on error
...
previously only the CYCLIC_REFRESH allocation was being freed
Change-Id: I6e1783d077c5ca83c8d62ea9642f1fb03f2e5bf3
2016-02-17 12:36:49 -08:00
James Zern
3ea537c0ee
lpf_8_test: remove unneeded function wrapper
...
the count parameter has been removed from all loopfilter functions
Change-Id: I87ba72006b59c65c46ca40bcb1c29171dfe0598a
2016-02-16 23:14:03 -08:00
James Zern
110d377899
remove loopfilter 'count' param TODOs
...
Change-Id: I25ce7314372ce2f521526ea7864ffc4ab62e4519
2016-02-16 23:14:03 -08:00
James Zern
9b44d9d00f
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
2016-02-16 23:13:58 -08:00
James Zern
1b519fb666
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
2016-02-16 22:57:45 -08:00
James Zern
e7a23d703b
vpx_highbd_lpf_horizontal_4: remove unused count param
...
Change-Id: I655a771e1b1a8753be5669ef9348a312ba6cfdbc
2016-02-16 22:57:45 -08:00
James Zern
5171857329
vpx_highbd_lpf_horizontal_8: remove unused count param
...
Change-Id: Iaca71ea3796115d4c2d43563b4e6f3914e21f1bf
2016-02-16 22:57:44 -08:00