Clément Bœsch
83cd80d10a
Merge commit ' 12004a9a7f'
...
* commit '12004a9a7f ':
audiodsp/x86: yasmify vector_clipf_sse
audiodsp: reorder arguments for vector_clipf
Merged the version from Libav after a discussion with James Almer on
IRC:
19:22 <ubitux> jamrial: opinion on 12004a9a7f ?
19:23 <ubitux> it was apparently yasmified differently
19:23 <ubitux> (it depends on the previous commit arg shuffle)
19:24 <ubitux> i don't see the magic movsxdifnidn in your port btw
19:24 <ubitux> it's a port from 1d36defe94
19:25 <jamrial> seems better thanks to said arg shuffle
19:25 <jamrial> the loop is the same, but init is simpler
19:25 <jamrial> probably worth merging
19:25 <ubitux> OK
19:25 <ubitux> thanks
19:26 <jamrial> curious they didn't make len ptrdiff_t after the previous bunch of commits, heh
19:26 <ubitux> yeah indeed
Both commits are merged at the same time to prevent a conflict with our
existing yasmified ff_vector_clipf_sse.
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 22:35:07 +01:00
Clément Bœsch
43a4c729d4
Merge commit ' 75d98e30af'
...
* commit '75d98e30af ':
audiodsp/x86: clear the high bits of the order parameter on 64bit
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 18:44:00 +01:00
Clément Bœsch
072fad7cf5
Merge commit ' 1d6c76e11f'
...
* commit '1d6c76e11f ':
audiodsp/x86: fix ff_vector_clip_int32_sse2
No functionnal changes, only cosmetics. This issue was fixed in
9a9e2f1c8a .
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 18:42:37 +01:00
Clément Bœsch
e07fa3008b
Merge commit ' de452e5037'
...
* commit 'de452e5037 ':
pixblockdsp: Change type of stride parameters to ptrdiff_t
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 15:58:32 +01:00
Ilia
2f3d10a01a
avcodec/vp9: avx2 implementation of ipred_dl_16x16_16
...
vp9_diag_downleft_16x16_10bpp_c: 263.0
vp9_diag_downleft_16x16_10bpp_sse2: 44.7
vp9_diag_downleft_16x16_10bpp_ssse3: 32.5
vp9_diag_downleft_16x16_10bpp_avx: 31.9
vp9_diag_downleft_16x16_10bpp_avx2: 25.7
vp9_diag_downleft_16x16_12bpp_c: 264.7
vp9_diag_downleft_16x16_12bpp_sse2: 44.4
vp9_diag_downleft_16x16_12bpp_ssse3: 32.0
vp9_diag_downleft_16x16_12bpp_avx: 32.4
vp9_diag_downleft_16x16_12bpp_avx2: 25.5
Benchmarked with 10000 runs
Signed-off-by: Ilia <zakne0ne@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-03-20 09:47:43 -04:00
Mirage Abeysekara
5eb4f95bef
h264pred: added AVX2 implementation for tm_vp8 16x16.
...
checkasm --bench results with 5000 runs
pred16x16_tm_vp8_c: 302.8
pred16x16_tm_vp8_mmx: 101.4
pred16x16_tm_vp8_mmxext: 95.5
pred16x16_tm_vp8_sse2: 95.1
pred16x16_tm_vp8_avx2: 38.2
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-03-20 09:45:42 -04:00
James Almer
6966a5e4d7
Merge commit ' 721d57e608'
...
* commit '721d57e608 ':
vp56: Separate VP5 and VP6 dsp initialization
Merged-by: James Almer <jamrial@gmail.com>
2017-03-19 17:15:24 -03:00
James Almer
663640d745
Merge commit ' 3fd22538bc'
...
* commit '3fd22538bc ':
prores: Change type of stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com>
2017-03-19 15:30:13 -03:00
James Almer
aec42ebc27
Merge commit ' f81be06cf6'
...
* commit 'f81be06cf6 ':
cavs: Change type of stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com>
2017-03-19 15:23:52 -03:00
James Almer
4e4dfcac58
Merge commit ' 802727b538'
...
* commit '802727b538 ':
vp8: Update some assembly comments left unchanged in bd66f073fe
Merged-by: James Almer <jamrial@gmail.com>
2017-03-19 15:18:31 -03:00
James Almer
4004d33fcb
Merge commit ' d9d26a3674'
...
* commit 'd9d26a3674 ':
vp56: Change type of stride parameters to ptrdiff_t
Merged-by: James Almer <jamrial@gmail.com>
2017-03-19 14:54:25 -03:00
Clément Bœsch
6a42a54b9d
Merge commit ' 6892df9294'
...
* commit '6892df9294 ':
vp3: Change type of stride parameters to ptrdiff_t
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 18:41:26 +01:00
Clément Bœsch
8695ce73ca
Merge commit ' e2b9993558'
...
* commit 'e2b9993558 ':
simple_idct: x86: Drop disabled IDCT implementation
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 16:11:11 +01:00
Clément Bœsch
8286c359ad
Merge commit ' e99ecda550'
...
* commit 'e99ecda550 ':
checkasm: add vp9 MC tests.
vp9mc/x86: sse2 MC assembly.
vp9mc/x86: add AVX and AVX2 MC
vp9mc/x86: rename ff_* to ff_vp9_*
vp9mc/x86: rename ff_avg[48]_sse to ff_avg[48]_mmxext
vp9mc/x86: simplify a few inits.
vp9mc/x86: add 16px functions (64bit only).
Noop (aside from a formatting comment in vp9mc.asm). We already have all
of this. We should consider making a final diff between the two projects
when the dust comes down.
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-16 20:25:39 +01:00
Clément Bœsch
a4f5e79f7c
Merge commit ' 89466de4ae'
...
* commit '89466de4ae ':
vp9/x86: rename vp9dsp to vp9mc
File was already renamed, only the top description is updated.
Merged-by: Clément Bœsch <u@pkh.me>
2017-03-16 20:10:47 +01:00
James Almer
e632fe9bab
Merge commit ' 3c504bc359'
...
* commit '3c504bc359 ':
x86: deduplicate some constants
Merged-by: James Almer <jamrial@gmail.com>
2017-03-15 22:07:28 -03:00
Michael Niedermayer
835d9f299c
avcodec/x86/cavsdsp: Put MMX code under mmx check
...
Without this the FPU state becomes trashed and causes mysterious
fate failures with cpuflags=0
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-06 16:47:17 +01:00
James Darnley
33de0fee2c
avcodec/h264: enable sse2 chroma deblock/loop filter functions
...
Between 1.00 and 1.16 times faster on Intel Yorkfield Core 2 Quad.
Between 1.11 and 1.39 times faster on Intel Kaby Lake Pentium.
2017-02-27 13:22:06 +01:00
James Darnley
cd893b9307
avcodec/h264: add avx 8-bit 4:2:2 chroma h intra deblock/loop filter
...
~1.37x faster (147 vs. 108 cycles) compared to mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
0e16b3e2be
avcodec/h264: add avx 8-bit 4:2:0 chroma h intra deblock/loop filter
...
~1.10x faster (69 vs. 63 cycles) compared to mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
987ffe4b8d
avcodec/h264: add avx 8-bit chroma v intra deblock/loop filter
...
~1.14x faster (90 vs 78 cycles) compared with mmxext
2017-02-27 13:22:06 +01:00
James Darnley
88307b3eec
avcodec/h264: add avx 8-bit 4:2:2 chroma h deblock/loop filter
...
~1.21x faster (68 vs. 56 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
ac096fc82d
avcodec/h264: add avx 8-bit 4:2:0 chroma h deblock/loop filter
...
~1.14x faster (93 vs. 81 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
5c56758843
avcodec/h264: add avx 8-bit chroma v deblock/loop filter
...
~1.24x faster (101 vs. 81 cycles) compared with mmxext function
2017-02-27 13:22:06 +01:00
James Darnley
5336887867
avcodec/h264: sse2, avx h luma mbaff deblock/loop filter
...
x86-64 only
Yorkfield:
- sse2: ~2.17x (434 vs. 200 cycles)
Nehalem:
- sse2: ~2.94x (409 vs. 139 cycles)
Skylake:
- sse2: ~3.10x (370 vs. 119 cycles)
- avx: ~3.29x (370 vs. 112 cycles)
2017-02-18 20:26:52 +01:00
James Darnley
e18bc2114f
avcodec/h264: add named parameters to x86 function
2017-02-18 20:26:50 +01:00
James Darnley
9d815b7424
avcodec/x86: deduplicate PASS8ROWS macro
2017-02-18 20:26:49 +01:00
James Almer
c8467abbad
x86/rv34dsp: add ff_rv34_idct_dc_add_sse2
...
Also disable ff_rv34_idct_dc_add_mmx on x86_64 as the presence of sse2
is guaranteed in such builds.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-02-02 17:51:21 -03:00
James Almer
ab5c4d006d
x86/vp8dsp: add ff_vp8_idct_dc_add_sse2
...
Also disable ff_vp8_idct_dc_add_mmx on x86_64 as the presence of sse2
is guaranteed in such builds.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-02-02 17:18:58 -03:00
Michael Niedermayer
536ac72f46
Revert "Merge commit ' 0a39c9ac0b'"
...
The assumption this is based on is wrong, the code is not always run with bitexact flags
This reverts commit a956164e1e , reversing
changes made to f6005907fd .
Approved-by: James Almer <jamrial@gmail.com>
2017-02-01 02:01:07 +01:00
James Almer
ba5d089381
Merge commit ' d06dfaa5cb'
...
* commit 'd06dfaa5cb ':
x86: huffyuv: Use EXTERNAL_SSSE3_FAST convenience macro where appropriate
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:36:49 -03:00
James Almer
ac774cfa57
Merge commit ' 4efab89332'
...
* commit '4efab89332 ':
x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 15:08:19 -03:00
James Almer
a956164e1e
Merge commit ' 0a39c9ac0b'
...
* commit '0a39c9ac0b ':
x86: hpeldsp: Don't check for bitexact flag when initializing VP3-specific code
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:59:29 -03:00
James Almer
f6005907fd
Merge commit ' 95c1df929b'
...
* commit '95c1df929b ':
x86: hpeldsp: Drop unused function parameters
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:56:11 -03:00
James Almer
4d0e89ce27
Merge commit ' c3e83ad3b7'
...
* commit 'c3e83ad3b7 ':
x86: hpeldsp: Use EXTERNAL_SSE2_FAST where appropriate
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:53:27 -03:00
James Almer
ca8a3978e5
Merge commit ' 1dfc3cf89d'
...
* commit '1dfc3cf89d ':
x86: hpeldsp: Split off VP3-specific bits into a separate file
Merged-by: James Almer <jamrial@gmail.com>
2017-01-31 14:49:29 -03:00
Clément Bœsch
7c300a8ed4
lavc/hevc: remove a few random spaces to reduce diff with libav
2017-01-31 17:02:24 +01:00
Clément Bœsch
78d16eb452
Merge commit ' fca3c3b619'
...
* commit 'fca3c3b619 ':
hevc: Add AVX2 DC IDCT
Mostly noop as we already have that code.
In the ASM, code is merged with the exception of SECTION which is kept
uppercase for consistency with the rest of the codebase.
Still in the ASM, the prototype comment is fixed to honor the '_' added
from the original commit.
idct_dc_proto() is dropped as it's not used anymore here.
Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 16:53:37 +01:00
Clément Bœsch
d0e132bab6
Merge commit ' 1bd890ad17'
...
* commit '1bd890ad17 ':
hevc: Separate adding residual to prediction from IDCT
This commit should be a noop but isn't because of the following renames:
- transform_add → add_residual
- transform_skip → dequant
- idct_4x4_luma → transform_4x4_luma
Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-01-31 15:31:34 +01:00
James Almer
6d4c9f2ade
lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16
...
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:05 -03:00
James Almer
47f212329e
huffyuvdsp: move functions only used by huffyuv from lossless_videodsp
...
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:05 -03:00
James Almer
cf9ef83960
huffyuvencdsp: move shared functions to a new lossless_videoencdsp context
...
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
30c1f27299
huffyuvencdsp: move functions only used by huffyuv from lossless_videodsp
...
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
5ac1dd8e23
lossless_videodsp: move shared functions from huffyuvdsp
...
Several codecs other than huffyuv use them.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
Michael Niedermayer
aa95292043
avcodec/x86/vc1dsp_mc: Fix build with NASM 2.09.10
...
make fate passes
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-02 22:37:55 +01:00
John Comeau
d06518752b
avcodec/x86/imdct36: fix building with nasm 2.11.05
...
fixes `operation size not specified` errors as described here:
http://stackoverflow.com/questions/36854583/compiling-ffmpeg-for-kali-linux-2
I rebuilt again with yasm and made sure it didn't break that.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-02 20:44:16 +01:00
Paul B Mahol
6d09d6edbc
avcodec/magicyuv: add 10 bit support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-20 13:32:15 +01:00
James Darnley
acdd2d805d
avcodec/h264: resolve assert being triggered when stack is not aligned
...
32-bit msvc.
2016-12-07 22:32:19 +01:00
James Darnley
728651df06
avcodec/h264: mmx2, sse2, avx 10-bit 4:2:2 h chroma deblock/loop filter
...
Yorkfield:
- mmx2: 2.53x (504 vs. 199 cycles)
- sse2: 3.83x (504 vs. 131 cycles)
Nehalem:
- mmx2: 2.42x (365 vs. 151 cycles)
- sse2: 3.56x (365 vs. 103 cycles)
Skylake:
- mmx2: 1.81x (308 vs. 170 cycles)
- sse2: 2.84x (308 vs. 108 cycles)
- avx: 2.93x (308 vs. 105 cycles)
2016-12-07 00:29:13 +01:00
James Darnley
add21d0bb3
avcodec/h264: mmx2, sse2, avx 10-bit h chroma deblock/loop filter
...
Yorkfield:
- mmx2: 2.45x (279 vs. 114 cycles)
- sse2: 3.36x (279 vs. 83 cycles)
Nehalem:
- mmx2: 2.10x (192 vs. 92 cycles)
- sse2: 2.84x (192 vs. 68 cycles)
Skylake:
- mmx2: 1.75x (170 vs. 97 cycles)
- sse2: 2.47x (170 vs. 69 cycles)
- avx: 2.47x (170 vs. 69 cycles)
2016-12-07 00:29:13 +01:00