James Almer
07b4b0ca62
tta/x86: add ff_ttafilter_process_dec_{ssse3, sse4}
...
Results are from a Win64 build running on an AMD FX 6300
1121 decicycles in ttafilter_process_dec_c, 16777112 runs, 104 skips
522 decicycles in ff_ttafilter_process_dec_ssse3, 16777149 runs, 67 skips
477 decicycles in ff_ttafilter_process_dec_sse4, 16777156 runs, 60 skips
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 13:51:19 +01:00
Ronald S. Bultje
fdb093c4e4
vp9/x86: intra prediction SIMD.
...
Partially based on h264_intrapred. (I hope to eventually merge these
two intrapred implementations back together.)
2014-02-17 13:39:00 +01:00
James Darnley
623f380a18
lavc: fix flac encoder and decoder dependencies
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-13 21:00:32 +01:00
Michael Niedermayer
82ae8a44e6
Merge commit ' 5b59a9fc61'
...
* commit '5b59a9fc61 ':
x86: dcadsp: implement int8x8_fmul_int32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-08 01:20:33 +01:00
Christophe Gisquet
5b59a9fc61
x86: dcadsp: implement int8x8_fmul_int32
...
For the callable function (as opposed to the inline one):
C SSE SSE2 SSE4
Win32: 47 42 29 26
Win64: 30 33 25 23
The SSE version is neither compiled nor set for ARCH_X86_64, as the
inlinable function takes over.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2014-02-07 22:52:40 +01:00
Loren Merritt
9c978f243a
flac/x86: add ff_flac_lpc_32_sse4()
...
benchmarked on sandybridge x86_64:
1358232 decicycles in flac_lpc_32_c
1244575 decicycles in flac_lpc_32_sse4, James Almer's patch
650045 decicycles in flac_lpc_32_sse4, this patch
I haven't tested the edgecases such as odd block lengths
odd block length tested-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-06 02:51:19 +01:00
Michael Niedermayer
f70d7eb20c
Move add/diff_int16 to lossless_videodsp
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 21:32:47 +01:00
Clément Bœsch
af68bd1c06
vp9/x86: add ff_vp9_loop_filter_[vh]_16_16_ssse3().
...
16662 decicycles in loop_filter_h_16_16_c, 8387355 runs, 1253 skips
17510 decicycles in loop_filter_v_16_16_c, 8387516 runs, 1092 skips
4941 decicycles in ff_vp9_loop_filter_h_16_16_ssse3, 8387887 runs, 721 skips
3899 decicycles in ff_vp9_loop_filter_v_16_16_ssse3, 8387980 runs, 628 skips
Overall decode time goes from:
./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 8.10s user 0.02s system 99% cpu 8.126 total
to:
./ffmpeg -v 0 -nostats -threads 1 -i ~/samples/vp9/ped1080p.webm -f null - 6.15s user 0.04s system 99% cpu 6.199 total
(46 to 61 fps)
2014-01-12 20:20:24 +01:00
Ronald S. Bultje
8729964b99
vp9: split x86 assembly in two files.
...
(And in future, loopfilter or intra pred could be put in their own
respective files also.)
2013-12-07 12:39:35 -05:00
Ronald S. Bultje
72ca830f51
lavc: VP9 decoder
...
Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>
Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-15 10:16:28 +01:00
Michael Niedermayer
a30f7918b5
Merge commit ' 0338c39698'
...
* commit '0338c39698 ':
dsputil: Split off H.263 bits into their own H263DSPContext
Conflicts:
configure
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-08 17:42:56 +01:00
Diego Biurrun
0338c39698
dsputil: Split off H.263 bits into their own H263DSPContext
2013-11-08 12:40:47 +01:00
Michael Niedermayer
7146eacfc5
Merge commit ' 1700b4e678'
...
* commit '1700b4e678 ':
x86: vp8dsp: Split loopfilter code into a separate file
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 10:13:14 +01:00
Diego Biurrun
1700b4e678
x86: vp8dsp: Split loopfilter code into a separate file
2013-11-01 22:05:20 +01:00
Michael Niedermayer
c86955d24a
Merge commit ' 2ddb35b911'
...
* commit '2ddb35b911 ':
x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-06 11:50:01 +02:00
Diego Biurrun
2ddb35b911
x86: dsputil: Separate ff_add_hfyu_median_prediction_cmov from dsputil_mmx
...
The function does not depend on MMX and compilation without MMX enabled
fails if the function is compiled conditional on MMX availability.
2013-10-05 19:21:15 +02:00
Michael Niedermayer
9d8e8495c9
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: fdct: Only build fdct code if encoders have been enabled
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 14:36:58 +02:00
Diego Biurrun
6cc133ec58
x86: fdct: Only build fdct code if encoders have been enabled
...
fdct is only initialized if encoders are enabled.
2013-10-04 10:50:44 +02:00
Ronald S. Bultje
c07ac8d467
VP9 MC (ssse3) optimizations.
...
Decoding time of ped1080p.webm goes from 20.7sec to 11.3sec.
2013-10-02 21:03:15 -04:00
Michael Niedermayer
477641e9f8
Merge commit ' a64f6a04ac'
...
* commit 'a64f6a04ac ':
dsputil: x86: Hide arch-specific initialization details
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:32:05 +02:00
Diego Biurrun
a64f6a04ac
dsputil: x86: Hide arch-specific initialization details
...
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Michael Niedermayer
f9418d156f
Merge commit ' 8506ff97c9'
...
* commit '8506ff97c9 ':
vp56: Mark VP6-only optimizations as such.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:04:11 +02:00
Diego Biurrun
8506ff97c9
vp56: Mark VP6-only optimizations as such.
...
Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.
2013-08-23 14:42:19 +02:00
Michael Niedermayer
f903b42663
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Split DCT and FFT initialization into separate files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 14:28:42 +02:00
Diego Biurrun
e7b31844f6
x86: Split DCT and FFT initialization into separate files
2013-08-21 20:15:27 +02:00
Michael Niedermayer
3a0e21f037
Merge commit ' 186599ffe0'
...
* commit '186599ffe0 ':
build: cosmetics: Place unconditional before conditional OBJS lines
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:49:43 +02:00
Diego Biurrun
186599ffe0
build: cosmetics: Place unconditional before conditional OBJS lines
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:31 +03:00
Michael Niedermayer
b2da63db50
Merge commit ' 245b76a108'
...
* commit '245b76a108 ':
x86: dsputil: Split inline assembly from init code
Conflicts:
libavcodec/x86/dsputil_mmx.c
Note, the author attribution is left in place and not removed
as it is in the merged commit.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 11:19:20 +02:00
Diego Biurrun
245b76a108
x86: dsputil: Split inline assembly from init code
...
Also remove some pointless comments.
2013-05-12 22:28:07 +02:00
Michael Niedermayer
2f9ef60c97
Merge commit ' 92f8e06ecb'
...
* commit '92f8e06ecb ':
x86: dsputil hpeldsp: Move shared template functions into separate object
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:01:58 +02:00
Diego Biurrun
92f8e06ecb
x86: dsputil hpeldsp: Move shared template functions into separate object
2013-05-07 18:03:34 +02:00
Michael Niedermayer
108e2ae829
Merge commit ' 110796739a'
...
* commit '110796739a ':
x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:00:40 +02:00
Michael Niedermayer
a6e782434a
Merge commit ' dc1b328d0d'
...
* commit 'dc1b328d0d ':
x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 20:53:37 +02:00
Diego Biurrun
110796739a
x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c
...
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-06 11:02:08 +02:00
Diego Biurrun
dc1b328d0d
x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled
2013-05-06 11:02:08 +02:00
Michael Niedermayer
ed1697ffcb
Merge commit ' 9b3a04d306'
...
* commit '9b3a04d306 ':
x86: Move duplicated put_pixels{8|16}_mmx functions into their own file
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:36:52 +02:00
Diego Biurrun
9b3a04d306
x86: Move duplicated put_pixels{8|16}_mmx functions into their own file
2013-05-02 11:16:45 +02:00
Michael Niedermayer
3ad5d8694c
Merge commit ' 6b110d3a73'
...
* commit '6b110d3a73 ':
ppc: More consistent names for H.264 optimizations files
mpegaudiosp: More consistent names for ppc/x86 optimization files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:53:33 +02:00
Diego Biurrun
643e433bf7
mpegaudiosp: More consistent names for ppc/x86 optimization files
2013-04-30 12:19:43 +02:00
Michael Niedermayer
d0aa60da10
Merge commit ' 8db00081a3'
...
* commit '8db00081a3 ':
x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Conflicts:
libavcodec/hpeldsp.c
libavcodec/hpeldsp.h
libavcodec/x86/Makefile
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/hpeldsp_rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:42:51 +02:00
Ronald S. Bultje
8db00081a3
x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:53 +03:00
Michael Niedermayer
742c392885
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
dsputil: Make dsputil selectable
Conflicts:
configure
libavcodec/Makefile
libavcodec/x86/Makefile
libavcodec/x86/constants.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_mmx.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:32:29 +02:00
Ronald S. Bultje
b93b27edb0
dsputil: Make dsputil selectable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:04:05 +03:00
Ronald S. Bultje
610b18e2e3
x86: qpel: Move fullpel and l2 functions to a separate file
...
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Carl Eugen Hoyos
670bb1c979
Fix compilation with --enable-decoder=webp --disable-decoder=vp8
2013-03-30 08:25:44 +01:00
Ronald S. Bultje
3ced55d51c
Move x86 half-pel assembly from dsputil to hpeldsp.
2013-03-13 03:59:23 +01:00
Michael Niedermayer
1f27053b91
Merge commit ' de27d2b92f'
...
* commit 'de27d2b92f ':
lavc: remove disabled FF_API_LIBMPEG2 cruft
Conflicts:
libavcodec/avcodec.h
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:56:33 +01:00
Ronald S. Bultje
6a701306db
dsputil: make selectable.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 19:56:58 +01:00
Ronald S. Bultje
22cc8a103c
x86/qpel: move fullpel and l2 functions to separate file.
...
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:25:30 +01:00
Michael Niedermayer
fa09ad5c9e
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: dsputil: Fix h263 loop filter link error in some configurations
Conflicts:
libavcodec/x86/dsputil.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-19 12:41:27 +01:00