James Zern
0269df41c1
vpx_fdct32x32_1_c: fix accumulator overflow
...
tran_low_t is only 16-bits in non-high-bitdepth mode
Change-Id: Ifc06110c95e86e6d790c44250d52a538b2e9713b
2016-03-30 15:20:20 -07:00
Scott LaVarnway
67c4c8244a
VPX: loopfilter_mmx.asm using x86inc 2
...
This reverts commit 9aa083d164e0d39086aa0c83f0d1a0d0f0d1ba61.
Fixes a decoder mismatch with 32bit PIC builds.
Change-Id: I94717df662834810302fe3594b38c53084a4e284
2016-03-08 04:24:47 -08:00
James Zern
9aa083d164
Revert "VPX: loopfilter_mmx.asm using x86inc"
...
This reverts commit 15ecdc3970462c15fdf7185d373cb52664f40c0f.
breaks 32-bit pic builds
Change-Id: I8bb1b9471a293f05ac7423aaba0339d408931b7a
2016-03-04 18:23:45 -08:00
Scott LaVarnway
dd6729f826
VPX: Remove pmin/pmax from subpixel functions.
...
These instructions are unnecessary if the adds
are done in the correct order.
Change-Id: I4e533b8267c32e610a4b94203ad052dc9fdabd71
2016-02-27 05:47:56 -08:00
Scott LaVarnway
51beb29f52
Merge "VPX: vpx_filter_block1d16_(v8, v8_avg)"
2016-02-27 13:31:18 +00:00
James Zern
654d2163c9
x86/convolve.h: remove redundant check in FUN_CONV_2D
...
the filter will be the same in this case
Change-Id: I95159bcb05bbfb71b57da741393e80cc7ffc5cff
2016-02-25 23:31:50 -08:00
James Zern
6d8c8c6201
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
2016-02-25 21:44:06 -08:00
Scott LaVarnway
1f736e400f
VPX: vpx_filter_block1d16_(v8, v8_avg)
...
Store result with one 16 byte store instead of
two 8 byte stores.
Change-Id: I43acbc5edfd6d6055a926f9b9605d47127400f09
2016-02-25 06:15:24 -08:00
James Zern
b3ceb629ba
x86/convolve.h: change filter[] || chains to |
...
Change-Id: I661f64390f232826857b259e7a67e77f5a3a91ad
2016-02-24 19:47:43 -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
Scott LaVarnway
15ecdc3970
VPX: loopfilter_mmx.asm using x86inc
...
Change-Id: Idcf29281d617b275e3ca50f77e6d00c60992a36d
2016-02-18 15:34:58 -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
James Zern
3c1019e49d
vpx_highbd_lpf_vertical_4: remove unused count param
...
Change-Id: Ic6da723c5cf3cd8127db1f476c3e46ea134cb774
2016-02-16 22:57:44 -08:00
James Zern
72a9f06ac2
vpx_highbd_lpf_vertical_8: remove unused count param
...
Change-Id: Id16f7259897654831d31642c2d5e0bbe5e13416c
2016-02-16 22:57:44 -08:00
James Zern
b1e97c6a25
vpx_lpf_horizontal_4: remove unused count param
...
Change-Id: Iec7d8eda343991f7d7d46931dca17af23c821d11
2016-02-16 22:57:27 -08:00
James Zern
bd5a5bb561
vpx_lpf_horizontal_8: remove unused count param
...
Change-Id: I48741e167a7b09b7c9ad3bfc1c4b88ef1029ae46
2016-02-16 22:54:40 -08:00
James Zern
109a47b342
vpx_lpf_vertical_4: remove unused count param
...
Change-Id: I43a191cb3d42e51e7bca266adfa11c6239a8064c
2016-02-16 14:59:00 -08:00
James Zern
37225744db
vpx_lpf_vertical_8: remove unused count param
...
Change-Id: Ic69406da00afb0f06588e8c0deb2b043952b078c
2016-02-16 14:59:00 -08:00
James Zern
26c6fbdcda
vpx_ve_predictor_4x4_c: quiet unused param warning
...
Change-Id: I62234260e2d2de94d602c6d8095c8f8124334052
2016-02-11 19:22:29 -08:00
James Zern
05437805f7
intrapred/d135: flatten border results before storing
...
the results along the top and left border are then stored with a moving
window into the vector.
~40-67% faster on ARM, ~40-77+% on x86 depending on the block size.
Change-Id: Iab369aa2946a3ae4eb7290d512868fe5db92dbc8
2016-02-05 12:31:48 -08:00
James Zern
cdf1077d5a
intrapred: protect functions w/CONFIG check x2
...
high-bitdepth version
d207e, d63e, d45e are only used with CONFIG_MISC_FIXES
Change-Id: I77292e11f51fd76d4127fd0027f876866bcf8675
2016-02-02 19:38:37 -08:00
Yaowu Xu
6a94d6ad8e
Merge "Enable sse2 version of inverse wht for hbd build"
2016-01-31 04:38:39 +00:00
James Zern
8faccb709a
Merge changes If13946e4,I61a1814d,I2ca9aa3c,I44d91eaa
...
* changes:
intrapred: protect functions w/CONFIG check
vp9_noise_estimate: protect copy_frame w/CONFIG check
vp8_cx_iface: delete 3 unused functions
vp8: mark intra_prediction_down_copy inline
2016-01-30 00:17:16 +00:00
Yaowu Xu
0aef1bc898
Enable sse2 version of inverse wht for hbd build
...
Change-Id: If8f5efd701a11c8a7ad3078d10ec3cd0fe27667e
2016-01-29 14:47:56 -08:00
Yaowu Xu
b229710811
SSSE3 idct8x8 functions for highbitdpeth build
...
This commit changes SSSE3 optimized idct8x8 functions to work with
highbitdepth build.
With this commit and the previous one that enabled SSSE3 idct32x32
functions, tests showed virtually no difference on decoding speed for
file fdJc1_IBKJA.248.webm for the build with -enable-vp9-highbitdpeth
option and the build without the option.
Change-Id: Ibe0634149ec70e8b921e6b30171664b8690a9c45
2016-01-29 12:36:53 -08:00
Yaowu Xu
aac1ef7f80
Enable hbd_build to use SSSE3optimized functions
...
This commit changes the SSSE3 assembly functions for idct32x32 to
support highbitdepth build.
On test clip fdJc1_IBKJA.248.webm, this cuts the speed difference
between hbd and lbd build from between 3-4% to 1-2%.
Change-Id: Ic3390e0113bc1ca5bba8ec80d1795ad31b484fca
2016-01-29 01:30:43 +00:00
James Zern
fea27ccca0
intrapred: protect functions w/CONFIG check
...
d207e, d63e, d45e are only used with CONFIG_MISC_FIXES
Change-Id: If13946e483c4d0ccaa3e1d60dc14216c06d5a219
2016-01-26 20:13:57 -08:00
James Zern
3a2ad10de2
Merge "Code clean of sad4xNx4D_sse"
2016-01-25 20:57:15 +00:00
Alex Converse
ed3df445d9
Revert "Merge "Change highbd variance rounding to prevent negative variance.""
...
This reverts commit ea48370a500537906d62544ca4ed75301d79e772, reversing
changes made to 15939cb2d76c773950cda40988ede89e111872ea.
The commit was insufficiently tested and causes failures.
Change-Id: I623d6fc2cd3ae6fd42d0abab1f8eada465ae57a7
2016-01-13 11:19:06 -08:00
Alex Converse
ea48370a50
Merge "Change highbd variance rounding to prevent negative variance."
2016-01-13 00:25:54 +00:00
Jian Zhou
26a6ce4c6d
Code clean of highbd_tm_predictor_32x32
...
Remove the ARCH_X86_64 constraint. No performance hit on both
big core and small core.
Change-Id: I39860b62b7a0ae4acaafdca7d68f3e5820133a81
2015-12-22 16:51:57 -08:00
Jian Zhou
355bfa2193
Code clean of highbd_tm_predictor_16x16
...
Remove the ARCH_X86_64 constraint.
Change-Id: I0139f8e998cc5525df55161c2054008d21ac24d4
2015-12-22 16:34:40 -08:00
Jian Zhou
a4c265f1b7
Code clean of highbd_dc_predictor_32x32
...
Remove the ARCH_X86_64 constraint.
Change-Id: I7d2545fc4f24eb352cf3e03082fc4d48d46fbb09
2015-12-22 16:06:54 -08:00
James Zern
cedb1db594
Merge "Code clean of highbd_tm_predictor_4x4"
2015-12-22 16:45:01 +00:00
James Zern
a097963f80
Merge "Code clean of highbd_dc_predictor_4x4"
2015-12-22 16:30:37 +00:00
Jian Zhou
52e7f4153b
Merge "Code clean of highbd_v_predictor_4x4"
2015-12-21 18:07:48 +00:00
Yunqing Wang
b597e3e188
Merge "Fix for issue 1114 compile error"
2015-12-19 04:29:39 +00:00
James Zern
8b2ddbc728
sad_sse2: fix sad4xN(_avg) on windows
...
reduce the register count by 1 to avoid xmm6 and unnecessarily
penalizing the other users of the base macro
Change-Id: I59605c9a41a31c1b74f67ec06a40d1a7f92c4699
2015-12-18 19:19:32 -08:00
Jian Zhou
db11307502
Code clean of highbd_tm_predictor_4x4
...
Replace MMX with SSE2, reduce mem access to left neighbor,
loop unrolled.
Change-Id: I941be915af809025f121ecc6c6443f73c9903e70
2015-12-18 18:43:41 -08:00
Jian Zhou
c91dd55eda
Code clean of highbd_v_predictor_4x4
...
MMX replaced with SSE2, same performance.
Change-Id: I2ab8f30a71e5fadbbc172fb385093dec1e11a696
2015-12-18 15:25:27 -08:00
Jian Zhou
8366b414dd
Code clean of highbd_dc_predictor_4x4
...
MMX replaced with SSE2, same performance.
Change-Id: Ic57855254e26757191933c948fac6aa047fadafc
2015-12-18 12:45:23 -08:00
Peter de Rivaz
7361ef732b
Fix for issue 1114 compile error
...
In 32-bit build with --enable-shared, there is a lot of
register pressure and register src_strideq is reused.
The code needs to use the stack based version of src_stride,
but this doesn't compile when used in an lea instruction.
This patch also fixes a related segmentation fault caused by the
implementation using src_strideq even though it has been
reused.
This patch also fixes the HBD subpel variance tests that fail
when compiled without disable-optimizations.
These failures were caused by local variables in the assembler
routines colliding with the caller's stack frame.
Change-Id: Ice9d4dafdcbdc6038ad5ee7c1c09a8f06deca362
2015-12-18 09:43:22 +00:00
Jian Zhou
789dbb3131
Code clean of sad4xNx4D_sse
...
Replace MMX with SSE2.
Change-Id: I948ca1be6ed9b8e67f16555e226f1203726b7da6
2015-12-17 17:43:46 -08:00
Jian Zhou
b158d9a649
Code clean of sad4xN(_avg)_sse
...
Replace MMX with SSE2, reduce psadbw ops which may help Silvermont.
Change-Id: Ic7aec15245c9e5b2f3903dc7631f38e60be7c93d
2015-12-17 11:10:42 -08:00
James Zern
b81f04a0cc
Merge "move vp9_avg to vpx_dsp"
2015-12-15 03:41:22 +00:00
James Zern
d36659cec7
move vp9_avg to vpx_dsp
...
Change-Id: I7bc991abea383db1f86c1bb0f2e849837b54d90f
2015-12-14 14:42:12 -08:00
Jian Zhou
2404e3290e
Merge "Code clean of tm_predictor_32x32"
2015-12-14 17:56:01 +00:00