James Almer
76a99d467f
x86/hecv_res_add: add ff_hevc_transform_add{8,16,32}_8_avx
...
~15% faster than sse2
Reviewed-by: Mickaël Raulet <mraulet@gmail.com >
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2014-08-20 16:54:52 -03:00
James Almer
9f498f4e6f
x86/hevc_res_add: fix register count in hevc_transform_add{16,32}_10_avx2
...
Signed-off-by: James Almer <jamrial@gmail.com >
2014-08-19 21:34:52 -03:00
James Almer
201a511bb9
lavc/tiff: add support for YUV deflate
...
Signed-off-by: James Almer <jamrial@gmail.com >
2014-08-19 18:48:39 -03:00
James Almer
b4231b4fed
lavc/tiff: move unpack_yuv() above the deflate functions
...
Signed-off-by: James Almer <jamrial@gmail.com >
2014-08-19 18:48:31 -03:00
James Almer and Michael Niedermayer
853c1fb668
lavf/wavdec: add sanity check for AVCodecContext.channels
...
Fixes ticket #3862 .
As a side effect, this also fixes aac_latm in wav.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-18 09:29:25 +02:00
James Almer and Michael Niedermayer
dffbac0956
lavf/oggparsevp8: use ff_vorbis_stream_comment()
...
commit db68ef89 did not update the vp8 parser
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-14 05:47:06 +02:00
James Almer and Michael Niedermayer
9f61d6d8fb
lavc/dnxhd: ff_dnxhd_cid_table is not exported
...
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-13 13:12:52 +02:00
James Almer and Michael Niedermayer
a8592db9bb
avcodec/idctdsp: make add/put_pixels_clamped_c internal functions
...
This reduces code duplication and differences with the fork.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-13 01:44:41 +02:00
James Almer and Michael Niedermayer
7cafdfe9c7
lavfi: duplicate ff_log2_tab
...
Fixes compilation failures on msvc/icl shared builds
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-13 01:00:38 +02:00
James Almer and Michael Niedermayer
9ffac3d00d
lsws: duplicate ff_log2_tab
...
libswscale uses the table but wasn't duplicating it like the rest of the libs.
This should fix compilation failures on msvc/icl after lavu stopped exporting
internal functions and tables.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-12 20:52:21 +02:00
James Almer and Michael Niedermayer
c97870d1a1
x86/dca: remove unused header
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-12 12:46:53 +02:00
James Almer and Michael Niedermayer
e20ff251a6
x86/ttadsp: remove an unnecessary mova
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-12 12:29:05 +02:00
James Almer and Michael Niedermayer
d6711ee648
lavu: stop exporting internal functions
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-12 04:35:52 +02:00
James Almer and Michael Niedermayer
744f15b6b3
lavu: rename ff_opencl_set_parameter() to avpriv_opencl_set_parameter()
...
It was wrongly being exported and used by libavfilter.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-12 03:49:45 +02:00
James Almer and Michael Niedermayer
7b3de03c8f
lavf: stop exporting internal functions
...
Except for those currently used by ffserver.
Signed-off-by: James Almer <jamrial@gmail.com >
Also left some others that seemed used by applications other than ffserver
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-11 14:29:56 +02:00
James Almer and Michael Niedermayer
31b7ab9f06
lavf/mpegts: remove obsolete ff_mpegts_parse_* cruft
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-11 13:46:53 +02:00
James Almer and Michael Niedermayer
59ecd4882d
lavc/raw: remove obsolete ff_raw_pix_fmt_tags cruft
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-11 13:46:23 +02:00
James Almer and Michael Niedermayer
8f2634f970
lavc: stop exporting internal functions and tables
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-11 13:23:48 +02:00
James Almer and Michael Niedermayer
6985ef7813
lavfi: stop exporting internal functions
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-10 04:51:19 +02:00
James Almer and Michael Niedermayer
ddce2b2654
tools/fourcc2pixfmt: use avpriv_get_raw_pix_fmt_tags()
...
lavc doesn't export ff_raw_pix_fmt_tags[] anymore.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-10 04:50:31 +02:00
James Almer and Michael Niedermayer
d34ec64a22
replace calls to url_feof() with avio_feof()
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-08 00:48:38 +02:00
James Almer and Michael Niedermayer
5c3c67126f
lavf/avio: rename url_feof() to avio_feof()
...
It's a public function and should use the avio_ namespace
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-08 00:48:22 +02:00
James Almer and Michael Niedermayer
350f4be12d
lavf: remove nonexistent functions from the version file
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 13:35:35 +02:00
James Almer and Michael Niedermayer
dd2b0c1cde
lavc: remove nonexistent functions from the version file
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 13:20:59 +02:00
James Almer and Michael Niedermayer
1fd880cef3
lavd/dshow: use av_codec_get_id()
...
ff_codec_get_id() is a lavf internal function
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 13:03:17 +02:00
James Almer and Michael Niedermayer
0ab00a75e4
avcodec/raw: add avpriv_get_raw_pix_fmt_tags()
...
Used to expose ff_raw_pix_fmt_tags[] to other libav* libraries
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 12:52:38 +02:00
James Almer and Michael Niedermayer
5b12b4fc4b
lavf/mpegts: rename ff_mpegts_parse_*() to avpriv_mpegts_parse_*()
...
The were wrongly being exported and used by libavdevice
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 04:28:11 +02:00
James Almer and Michael Niedermayer
8dfb8190d7
libavcodec/rawdec: remove old ff_find_pix_fmt() function
...
It's been dead code for more than a year
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-07 00:44:07 +02:00
James Almer and Michael Niedermayer
de417982e8
x86/vp9lpf: use fewer instructions in SPLATB_MIX
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-05 02:47:54 +02:00
James Almer and Michael Niedermayer
b7863c972c
x86/hevc_mc: use fewer instructions in hevc_put_hevc_{uni, bi}_w[24]_{8, 10, 12}
...
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-04 14:47:15 +02:00
James Almer and Michael Niedermayer
b1a44e6bf5
x86/hevc_mc: remove an unnecessary pxor
...
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Mickaël Raulet <mraulet@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-04 14:35:08 +02:00
James Almer and Michael Niedermayer
d0f56ca071
x86/hevc_deblock: improve 8bit transpose store macros
...
Up to four instructions less depending on function and instruction set.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-03 04:24:15 +02:00
James Almer and Michael Niedermayer
62baf5b853
x86/hevc_deblock: use existing x86util transpose macro in chroma_{10, 12}
...
Cosmetic change. No measurable difference in speed.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-31 22:56:21 +02:00
James Almer and Michael Niedermayer
73c4f63ba5
x86/hevc_deblock: add add ff_hevc_[hv]_loop_filter_luma_{8, 10, 12}_avx
...
~5% faster than SSSE3
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 14:04:59 +02:00
James Almer and Michael Niedermayer
88ba821f23
x86/hevc_deblock: improve luma functions register allocation
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 13:38:05 +02:00
James Almer and Michael Niedermayer
c74b08c5c6
x86/hevc_deblock: remove some unnecessary instructions
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 13:27:44 +02:00
James Almer and Michael Niedermayer
4f91bb0ff0
x86/hevc_deblock: use psignw instead of pmullw where possible
...
It's slightly faster
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-29 03:42:29 +02:00
James Almer and Michael Niedermayer
664e9e4331
x86/hevc_deblock: load less data in hevc_h_loop_filter_luma_8
...
Reading 8 bytes is enough.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-28 21:55:22 +02:00
James Almer and Michael Niedermayer
f137876182
x86/hevc_idct: add a colon to labels
...
This fixes a warning spam when using NASM
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-28 21:43:32 +02:00
James Almer and Michael Niedermayer
bfb3b2b7a6
x86/hevc_idct: add 12bit idct_dc
...
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Mickaël Raulet <mraulet@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-27 00:30:56 +02:00
James Almer and Michael Niedermayer
1ace9573dc
x86/hevc_idct: replace old and unused idct functions
...
Only 8-bit and 10-bit idct_dc() functions are included (adding others should be trivial).
Benchmarks on an Intel Core i5-4200U:
idct8x8_dc
SSE2 MMXEXT C
cycles 22 26 57
idct16x16_dc
AVX2 SSE2 C
cycles 27 32 249
idct32x32_dc
AVX2 SSE2 C
cycles 62 126 1375
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Mickaël Raulet <mraulet@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-26 18:00:11 +02:00
James Almer and Michael Niedermayer
277e5ca617
alpha/me_cmp: move code out of dsputil
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-18 05:15:17 +02:00
James Almer and Michael Niedermayer
95a2d705cd
alpha/idctdsp: move disabled cruft out of dsputil
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-18 05:15:05 +02:00
James Almer and Michael Niedermayer
b67a0e99ee
diracdec: don't call ff_emulated_edge_mc_8 directly
...
Use the videodsp function pointer instead.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-16 03:53:49 +02:00
James Almer and Michael Niedermayer
ad24256e7e
diracdec: remove unused dsputil context
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-16 00:11:18 +02:00
James Almer and Michael Niedermayer
276bef5340
x86/hevc_deblock: add ff_hevc_[hv]_loop_filter_luma_{8, 10}_sse2
...
Signed-off-by: James Almer <jamrial@gmail.com >
Reviewed-by: Kieran Kunhya <kierank@obe.tv >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-13 13:48:31 +02:00
James Almer and Michael Niedermayer
123649dd19
x86/dsputilenc: remove some empty if statements
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-12 15:04:58 +02:00
James Almer and Michael Niedermayer
ddea3b7106
x86/yadif-10: remove duplicate ABS macro
...
And use the x86util ones instead, which are optimized for mmxext/sse2.
About ~1% increase in performance on pre SSSE3 processors.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-10 21:06:51 +02:00
James Almer and Michael Niedermayer
2571e8fe37
alpha/pixblockdsp: move code out of dsputil
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-10 04:01:03 +02:00
James Almer and Michael Niedermayer
2375b09473
alpha/idctdsp: move idct init code out of dsputil
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-08 22:19:38 +02:00
James Almer and Michael Niedermayer
195f7bd23d
x86/svq1enc: use unaligned mov on SSE2
...
Might fix fate failures on some systems
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-06 20:27:57 +02:00
James Almer and Michael Niedermayer
dad31083ae
x86/svq1enc: port ssd_int8_vs_int16 to yasm
...
Also add an SSE2 version
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-05 21:43:40 +02:00
James Almer and Michael Niedermayer
9937362c54
x86/swr: use lavu helper macros to check CPU extensions
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-04 02:12:16 +02:00
James Almer and Michael Niedermayer
8279a15284
x86/swr: split audioconvert and rematrix DSP into separate files
...
Also rename resample_x86_dsp.c to resample_init.c
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-04 02:00:11 +02:00
James Almer and Michael Niedermayer
857cd1f33b
swr: initialize only the necessary resample dsp functions
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-04 01:37:41 +02:00
James Almer and Michael Niedermayer
b5f0eac068
swr: rename swresample_dsp init functions to swri_resample_dsp
...
The swresample_ prefix is not for internal functions
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 13:18:30 +02:00
James Almer and Michael Niedermayer
42a92a240d
swr: remove obsolete resample prototypes
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 03:14:45 +02:00
James Almer and Michael Niedermayer
23a9edf531
Partially revert "swr: add prototypes for resample dsp functions"
...
Prototypes are not needed anymore now that the x86 functions don't
include resample_template.c
The DO_RESAMPLE_ONE macro is removed for that same reason as well.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 03:14:36 +02:00
James Almer and Michael Niedermayer
c45b7f0d80
x86/swr: add ff_resample_{common, linear}_int16_xop
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 01:11:20 +02:00
James Almer and Michael Niedermayer
1a69224f44
x86/swr: add ff_resample_{common, linear}_float_fma
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 01:09:53 +02:00
James Almer and Michael Niedermayer
a441a2437b
x86: rename dsputil.asm to idctdsp.asm
...
Its only function is no longer part of dsputil.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 01:08:04 +02:00
James Almer and Michael Niedermayer
dd2c9034b1
x86/swr: convert resample_{common, linear}_double_sse2 to yasm
...
Signed-off-by: James Almer <jamrial@gmail.com >
312531 -> 311528 dezicycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-01 17:57:36 +02:00
James Almer and Michael Niedermayer
5fef4afb85
configure: add missing audiodsp dependency for ra144
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-27 13:37:10 +02:00
James Almer and Michael Niedermayer
607c88126c
configure: fix g729 decoder dependencies
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-27 13:36:50 +02:00
James Almer and Michael Niedermayer
a6b8aef0dc
configure: remove duplicate ape_decoder_select line
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-27 13:36:37 +02:00
James Almer and Michael Niedermayer
057d2704e7
x86/videodsp: add emulated_edge_mc_mmxext
...
This also changes hfix8_mmx and above to use mmx regs instead of
gprs, and makes emulated_edge_mc_sse and emulated_edge_mc_sse2 use
mmxext hfix and hvar functions instead of mmx where possible.
This is mostly in preparation for an ssse3 version.
Signed-off-by: James Almer <jamrial@gmail.com >
code is about 1 cpu cycle faster approximately
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-26 17:58:57 +02:00
James Almer and Michael Niedermayer
476bd3c7e4
x86/dsputil: move put_signed_pixels_clamped out of bswapdsp.asm
...
It's still a dsputil function
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-23 22:11:18 +02:00
James Almer and Michael Niedermayer
c172683bf4
x86/dsputil: remove redundant global motion compensation code
...
The SSE version has been no different than the mmx one since commit a41bf09d
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-23 02:15:06 +02:00
James Almer and Michael Niedermayer
6ec3dc97fc
x86/audiodsp: move asm code out of dsputil
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-22 19:53:09 +02:00
James Almer and Michael Niedermayer
e930287900
configure: remove superfluous check for AVX/FMA3 support in Yasm
...
The minimum Yasm/NASM version required to compile ffmpeg supports both
instruction sets
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-20 15:53:58 +02:00
James Almer and Michael Niedermayer
05d95c53a7
alpha/blockdsp: move clear_blocks out of dsputil
...
The blockdsp split did not cover Alpha optimizations
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 22:39:38 +02:00
James Almer and Michael Niedermayer
a5ce608fc7
x86/blockdsp: restore author attribution
...
See commits
649c00c96d
5fecfb7d58
73b02e2460
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 18:31:44 +02:00
James Almer and Michael Niedermayer
4c9ee1590f
lavf/Makefile: fix standalone compilation of live_flv demuxer
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 13:25:28 +02:00
James Almer and Michael Niedermayer
60a06400a9
configure: fix NASM output format on Win64
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 13:18:30 +02:00
James Almer and Michael Niedermayer
454c019cb5
x86/hevc_idct: fix movd parameter size in DC_ADD_INIT
...
Fixes compilation with NASM x86_64
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 13:18:13 +02:00
James Almer and Michael Niedermayer
fe782233aa
x86/blockdsp: move asm code out of dsputil
...
Also replace INLINE_<opt> with EXTERNAL_<opt> that were wrongly
changed by commit 2b05db4f81
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-19 13:09:03 +02:00
James Almer and Michael Niedermayer
7f4dfbd080
swr: add prototypes for resample dsp functions
...
Should fix compilation failures with MSVC and any other compiler
without inline asm support.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-15 01:33:17 +02:00
James Almer and Michael Niedermayer
345f2234d1
x86/scale: fix xmm register count for hscale*_sse2
...
xmm6 was being clobbered in ff_hscale8to{15,19}_8_sse2 on Win64
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-09 04:13:23 +02:00
James Almer and Michael Niedermayer
6d408495b5
x86/dct32: don't build ff_dct32_float_sse on x86_64
...
There's an SSE2 version already, and technically the SSE version
on x86_64 was wrong (using pshufd and pshuflw, SSE2 instructions).
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-09 00:51:43 +02:00
James Almer and Michael Niedermayer
85065d2a7c
x86/float_dsp: add missing femms
...
It was lost during the port.
Should fix fate on 3dnowext machines.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-08 20:06:28 +02:00
James Almer and Michael Niedermayer
dcaf9660b6
x86/float_dsp: port vector_fmul_window to yasm
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-08 12:41:32 +02:00
James Almer and Michael Niedermayer
fc8db12a73
x86/vp9: inital AVX2 intra_pred
...
tos3k-vp9-b10000.webm on a Core i5-4200U @1.6GHz
1219 decicycles in ff_vp9_ipred_dc_32x32_ssse3, 131070 runs, 2 skips
439 decicycles in ff_vp9_ipred_dc_32x32_avx2, 131070 runs, 2 skips
3570 decicycles in ff_vp9_ipred_dc_top_32x32_ssse3, 4096 runs, 0 skips
2494 decicycles in ff_vp9_ipred_dc_top_32x32_avx2, 4096 runs, 0 skips
1419 decicycles in ff_vp9_ipred_dc_left_32x32_ssse3, 16384 runs, 0 skips
717 decicycles in ff_vp9_ipred_dc_left_32x32_avx2, 16384 runs, 0 skips
2737 decicycles in ff_vp9_ipred_tm_32x32_avx, 1024 runs, 0 skips
2088 decicycles in ff_vp9_ipred_tm_32x32_avx2, 1024 runs, 0 skips
3090 decicycles in ff_vp9_ipred_v_32x32_avx, 512 runs, 0 skips
2226 decicycles in ff_vp9_ipred_v_32x32_avx2, 512 runs, 0 skips
1565 decicycles in ff_vp9_ipred_h_32x32_avx, 1024 runs, 0 skips
922 decicycles in ff_vp9_ipred_h_32x32_avx2, 1024 runs, 0 skips
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-08 02:37:20 +02:00
James Almer and Michael Niedermayer
ec98f80af4
x86/dsputil: move some mmx init code inside dsputil_init_mmx()
...
This reduces differences with the fork
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-06 05:26:04 +02:00
James Almer and Michael Niedermayer
625ffa1457
x86/motion_est: sad_{x, y}2_mmxext functions are bitexact
...
Only the xy2 functions aren't.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-04 00:48:35 +02:00
James Almer and Michael Niedermayer
3ab4f96a91
motion-test: force C functions for the reference C context
...
It was instead using the highest available asm functions, which completely
kills the point of being a reference C context.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-04 00:48:28 +02:00
James Almer and Michael Niedermayer
e1bd40fe6b
x86/motion_est: enable sad16_sse2 on k10 CPUs
...
The check is meant for k8 CPUs. sad16_sse2 is ~20% faster than sad16_mmxext on k10.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-01 02:10:32 +02:00
James Almer and Michael Niedermayer
ac1077ab50
lavc/dsputil: add missing vsad8 and vsse8 functions
...
the mpeg encoder would try to use them if vsad or vsse were selected for frame_skip_cmp
and frame_skip_threshold or frame_skip_factor were set to values != 0
example: "ffmpeg -i INPUT -c:v mpeg2video -skipcmp vsad -skip_threshold 1 -f null -"
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-31 19:45:03 +02:00
James Almer and Michael Niedermayer
f128342df2
build: fix compilation of svq1enc_mmx.c with --disable-mmx
...
It's needed for ff_svq1enc_init_x86() even if simd functions are disabled.
Alternatively, svq1enc_init.c could be made and the relevant code moved there.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-31 00:38:24 +02:00
James Almer and Michael Niedermayer
4ac41a52e2
x86/huffyuvdsp: fix some prototypes
...
Remove duplicate prototypes and fix int -> intptr_t in another
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-31 00:29:00 +02:00
James Almer and Michael Niedermayer
02a3e327f1
x86/dsputilenc: add missing guards to ff_pix_sum16_xop
...
XOP support was added in Yasm 1.0.0 and Nasm 2.06, and we still
support older versions.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-29 22:31:28 +02:00
James Almer and Michael Niedermayer
05de4d3011
x86/dsputilenc: implement XOP version of pix_sum16
...
SSE2: 137 cycles
XOP: 87 cycles
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-29 18:40:23 +02:00
James Almer and Michael Niedermayer
561bfc85eb
x86/dsputilenc: implement SSE2 versions of pix_{sum16, norm1}
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-28 23:29:34 +02:00
James Almer and Michael Niedermayer
5863207086
x86/dsputilenc: use HADDD in ff_sse16_sse2
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-27 15:12:50 +02:00
James Almer and Michael Niedermayer
e64e079ece
x86/dsputilenc: implement SSE2 version of diff_pixels
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-27 05:55:11 +02:00
James Almer and Michael Niedermayer
d94e255dd1
x86/dsputilenc: make the SUM_ABS_DCTELEM macro more readable
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-25 02:03:54 +02:00
James Almer and Michael Niedermayer
61eea421b2
x86/dsputilenc: port sum_abs_dctelem functions to yasm
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-24 21:46:25 +02:00
James Almer and Michael Niedermayer
7538ad2248
x86/hevc_deblock: improve chroma functions register allocation
...
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-24 01:16:26 +02:00
James Almer and Michael Niedermayer
584327f22f
x86/dsputil: fix argument declaration in vector_clipf
...
Should fix fate failures in msvc x86_64
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-23 23:10:17 +02:00
James Almer and Michael Niedermayer
518cbf9b4a
x86/dsputil: fix VECTOR_CLIP_INT32 macro
...
The inline loop was incrementing and using the value of %%i
the wrong way.
Disassembly of ff_vector_clip_int32_sse2 before and after
this patch:
movdqa (%rdx),%xmm0 | movdqa (%rdx),%xmm0
movdqa 0x10(%rdx),%xmm1 | movdqa 0x10(%rdx),%xmm1
movdqa 0x20(%rdx),%xmm2 | movdqa 0x20(%rdx),%xmm2
movdqa 0x30(%rdx),%xmm3 | movdqa 0x30(%rdx),%xmm3
[...] |
movdqa %xmm0,(%rcx) | movdqa %xmm0,(%rcx)
movdqa %xmm1,0x10(%rcx) | movdqa %xmm1,0x10(%rcx)
movdqa %xmm2,0x20(%rcx) | movdqa %xmm2,0x20(%rcx)
movdqa %xmm3,0x30(%rcx) | movdqa %xmm3,0x30(%rcx)
movdqa (%rdx),%xmm0 | movdqa 0x40(%rdx),%xmm0
movdqa 0x20(%rdx),%xmm1 | movdqa 0x50(%rdx),%xmm1
movdqa 0x40(%rdx),%xmm2 | movdqa 0x60(%rdx),%xmm2
movdqa 0x60(%rdx),%xmm3 | movdqa 0x70(%rdx),%xmm3
[...] |
movdqa %xmm0,(%rcx) | movdqa %xmm0,0x40(%rcx)
movdqa %xmm1,0x20(%rcx) | movdqa %xmm1,0x50(%rcx)
movdqa %xmm2,0x40(%rcx) | movdqa %xmm2,0x60(%rcx)
movdqa %xmm3,0x60(%rcx) | movdqa %xmm3,0x70(%rcx)
add $0x80,%rdx | add $0x80,%rdx
add $0x80,%rcx | add $0x80,%rcx
Other versions were unaffected.
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-23 22:59:55 +02:00
James Almer and Michael Niedermayer
6a4832caae
x86/diracdsp: mark all functions as yasm
...
No inline asm dirac code remains in the tree, so replace every relevant check.
This also moves all the dirac functions from dsputil_mmx.c to diracdsp_mmx.c
Signed-off-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-23 15:02:42 +02:00