James Almer
0de1d6287e
x86/mlpdec: add ff_mlp_rematrix_channel_{sse4,avx2}
...
2x to 2.5x faster than the C version.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 22:11:55 -03:00
James Almer
4f4f08e6f0
x86/idctdsp: port {put,add}_pixels_clamped to yasm
...
Also add sse2 versions for both.
put_pixels_clamped port and sse2 version originally written by Timothy Gu.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 21:52:13 -03:00
Michael Niedermayer
b3b05a11d3
Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5'
...
* commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5':
cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs
Conflicts:
libavcodec/mpeg4videodec.c
libavcodec/x86/Makefile
libavcodec/x86/dct-test.c
libavcodec/x86/xvididct_sse2.c
libavcodec/xvididct.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-27 21:09:30 +02:00
Diego Biurrun
dcb7c868ec
cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs
2014-08-27 04:54:05 -07:00
Pierre Edouard Lepere
a6af4bf64d
x86: hevc: adding transform_add
...
Reviewed-by: James Almer <jamrial@gmail.com>
Approved-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-20 01:28:56 +02:00
Michael Niedermayer
3bb2297351
Merge commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6'
...
* commit 'efd26bedec9a345a5960dbfcbaec888418f2d4e6':
build: Add explanatory comments to (optimization) blocks in the Makefiles
Conflicts:
libavcodec/ppc/Makefile
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:25:12 +02:00
Diego Biurrun
efd26bedec
build: Add explanatory comments to (optimization) blocks in the Makefiles
2014-08-15 02:55:21 -07:00
James Darnley
0081a14e7d
lavc/flacenc: add sse4 version of the 16-bit lpc encoder
...
From 1.8 to 2.4 times faster. Runtime is reduced by 2 to 39%. The
speed-up generally increases with compression_level.
This lpc encoder is not used with levels < 3 so it provides no speed-up
in these cases.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 01:14:47 +02:00
Michael Niedermayer
f54e01c24e
Merge commit 'a786c8259dafeca9744252230b5d78f67810770c'
...
* commit 'a786c8259dafeca9744252230b5d78f67810770c':
idct: Split off Xvid IDCT
Conflicts:
libavcodec/Makefile
libavcodec/mpeg4videodec.c
libavcodec/x86/Makefile
libavcodec/x86/idctdsp_init.c
This split is somewhat restructured leaving the xvid IDCT available
outside mpeg4 if manually selected.
The code also could not be merged unchanged as it conflicted with a
bugfix in FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-01 16:21:52 +02:00
Diego Biurrun
a786c8259d
idct: Split off Xvid IDCT
...
The Xvid IDCT is only required to decode some Xvid-encoded MPEG-4 files,
so there is no point in having it as an unconditional part of idctdsp.
2014-08-01 01:25:18 -07:00
Michael Niedermayer
a91c5ed008
Merge commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d'
...
* commit '4f8cf0dc4ef6110174056df7edd9dc2f2a988b6d':
x86: build: Restore ordering of OBJS lines
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-29 00:34:53 +02:00
Diego Biurrun
4f8cf0dc4e
x86: build: Restore ordering of OBJS lines
2014-07-28 13:19:04 -07:00
Pierre Edouard Lepere
1a880b2fb8
hevc: SSE2 and SSSE3 loop filters
...
Additional contributions by James Almer <jamrial@gmail.com>,
Carl Eugen Hoyos <cehoyos@ag.or.at>, Fiona Glaser <fiona@x264.com> and
Anton Khirnov <anton@khirnov.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-26 15:01:01 +00:00
Michael Niedermayer
3a2d1465c8
Merge commit '2d60444331fca1910510038dd3817bea885c2367'
...
* commit '2d60444331fca1910510038dd3817bea885c2367':
dsputil: Split motion estimation compare bits off into their own context
Conflicts:
configure
libavcodec/Makefile
libavcodec/arm/Makefile
libavcodec/dvenc.c
libavcodec/error_resilience.c
libavcodec/h264.h
libavcodec/h264_slice.c
libavcodec/me_cmp.c
libavcodec/me_cmp.h
libavcodec/motion_est.c
libavcodec/motion_est_template.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Michael Niedermayer
d6676a1605
Merge commit 'c23ce454b3e33634a188d6facfd2b7182af5af93'
...
* commit 'c23ce454b3e33634a188d6facfd2b7182af5af93':
x86: dsputil: Coalesce all init files
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_x86.h
libavcodec/x86/motion_est.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 22:07:52 +02:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Diego Biurrun
c23ce454b3
x86: dsputil: Coalesce all init files
...
This makes the init files match the structure of the dsputil split.
2014-07-17 03:32:56 -07:00
Michael Niedermayer
cc3e7a4c3d
Merge commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310'
...
* commit 'acf91215c74a91eb3b86af01dcb1d3c78d0e2310':
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 21:51:20 +02:00
Diego Biurrun
acf91215c7
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
...
The remaining dsputil bits are encoding-specific anyway.
2014-07-13 07:01:05 -07:00
Michael Niedermayer
2d5e9451de
Merge commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e'
...
* commit 'f46bb608d9d76c543e4929dc8cffe36b84bd789e':
dsputil: Split off pixel block routines into their own context
Conflicts:
configure
libavcodec/dsputil.c
libavcodec/mpegvideo_enc.c
libavcodec/pixblockdsp_template.c
libavcodec/x86/dsputilenc.asm
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 01:22:14 +02:00
Diego Biurrun
f46bb608d9
dsputil: Split off pixel block routines into their own context
2014-07-09 08:05:26 -07:00
Michael Niedermayer
14e2406de7
Merge commit 'a9aee08d900f686e966c64afec5d88a7d9d130a3'
...
* commit 'a9aee08d900f686e966c64afec5d88a7d9d130a3':
dsputil: Split off FDCT bits into their own context
Conflicts:
configure
libavcodec/Makefile
libavcodec/asvenc.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 03:19:06 +02:00
Diego Biurrun
a9aee08d90
dsputil: Split off FDCT bits into their own context
2014-07-07 12:28:45 -07:00
Michael Niedermayer
3790801f9c
Merge commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b'
...
* commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b':
dsputil: Move draw_edges() to mpegvideoencdsp
Conflicts:
libavcodec/mpegvideo_enc.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 16:17:27 +02:00
Michael Niedermayer
020865f557
Merge commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d'
...
* commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d':
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
Conflicts:
libavcodec/dsputil.c
libavcodec/mpegvideo_enc.c
libavcodec/x86/dsputilenc.asm
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 15:36:58 +02:00
Michael Niedermayer
462c6cdb8e
Merge commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94'
...
* commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94':
dsputil: Split off *_8x8basis to a separate context
Conflicts:
libavcodec/dsputil.c
libavcodec/mpegvideo_enc.c
libavcodec/x86/dsputilenc_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 15:08:55 +02:00
Diego Biurrun
3c650efb81
dsputil: Move draw_edges() to mpegvideoencdsp
2014-07-06 14:48:50 -07:00
Diego Biurrun
c166148409
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
2014-07-06 14:26:53 -07:00
Diego Biurrun
8d686ca59d
dsputil: Split off *_8x8basis to a separate context
2014-07-06 13:09:24 -07:00
James Almer
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
Michael Niedermayer
19b79c1429
Merge commit 'b0de1c766329dd8c9960ad1722e2f653160abc1b'
...
* commit 'b0de1c766329dd8c9960ad1722e2f653160abc1b':
x86: build: Only compile FDCT code if MMX is enabled
Conflicts:
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 20:12:31 +02:00
Michael Niedermayer
5036c8b17b
Merge commit '12f129e545e5a5844b6ad7f3eb6a438015cad8bc'
...
* commit '12f129e545e5a5844b6ad7f3eb6a438015cad8bc':
x86: Unconditionally compile blockdsp and svq1enc init files
Conflicts:
libavcodec/x86/Makefile
blockdsp_mmx is renamed to blockdsp_init as we already have a blockdsp file
and _init is how all other such files are called
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 19:50:05 +02:00
Michael Niedermayer
6bef3e55bd
Merge commit '009331303a6462d07cbe94aef9c446f1a1695519'
...
* commit '009331303a6462d07cbe94aef9c446f1a1695519':
x86: huffyuvdsp: Move inline assembly to init file
Conflicts:
libavcodec/x86/Makefile
libavcodec/x86/huffyuvdsp.h
libavcodec/x86/huffyuvdsp_init.c
libavcodec/x86/huffyuvdsp_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-05 19:11:26 +02:00
Diego Biurrun
b0de1c7663
x86: build: Only compile FDCT code if MMX is enabled
...
All other files containing purely inline assembly are treated the same way.
2014-07-05 04:18:34 -07:00
Diego Biurrun
12f129e545
x86: Unconditionally compile blockdsp and svq1enc init files
...
This avoids a link failure with MMX disabled as the init functions
are referenced unconditionally.
2014-07-05 04:18:34 -07:00
Diego Biurrun
009331303a
x86: huffyuvdsp: Move inline assembly to init file
...
This avoids a link failure with MMX disabled as now code and
initialization are compiled under the same condition.
2014-07-05 04:18:34 -07:00
James Almer
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
Michael Niedermayer
581b5f0b9b
Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
...
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
dsputil: Split off IDCT bits into their own context
Conflicts:
configure
libavcodec/aic.c
libavcodec/arm/Makefile
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
libavcodec/asvdec.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.c
libavcodec/dvdec.c
libavcodec/dxva2_mpeg2.c
libavcodec/intrax8.c
libavcodec/mdec.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc_common.h
libavcodec/mpegvideo.c
libavcodec/ppc/dsputil_altivec.h
libavcodec/ppc/dsputil_ppc.c
libavcodec/ppc/idctdsp.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:22:11 +02:00
Diego Biurrun
e3fcb14347
dsputil: Split off IDCT bits into their own context
2014-06-30 07:58:46 -07:00
James Almer
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
Michael Niedermayer
d7463c6813
Merge commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf'
...
* commit 'fab9df63a3156ffe1f9490aafaea41e03ef60ddf':
dsputil: Split off global motion compensation bits into a separate context
Conflicts:
libavcodec/dsputil.c
libavcodec/dsputil.h
libavcodec/ppc/dsputil_altivec.h
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 21:10:10 +02:00
Diego Biurrun
fab9df63a3
dsputil: Split off global motion compensation bits into a separate context
2014-06-23 09:58:17 -07:00
Michael Niedermayer
35bb74900b
Merge commit 'c67b449bebbe0b35c73b203683e77a0a649bc765'
...
* commit 'c67b449bebbe0b35c73b203683e77a0a649bc765':
dsputil: Split bswap*_buf() off into a separate context
Conflicts:
configure
libavcodec/4xm.c
libavcodec/ac3dec.c
libavcodec/ac3dec.h
libavcodec/apedec.c
libavcodec/eamad.c
libavcodec/flacenc.c
libavcodec/fraps.c
libavcodec/huffyuv.c
libavcodec/huffyuvdec.c
libavcodec/motionpixels.c
libavcodec/truemotion2.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 13:31:26 +02:00
Diego Biurrun
c67b449beb
dsputil: Split bswap*_buf() off into a separate context
2014-06-22 18:22:31 -07:00
Michael Niedermayer
99497b4683
Merge commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2'
...
* commit '9a9e2f1c8aa4539a261625145e5c1f46a8106ac2':
dsputil: Split audio operations off into a separate context
Conflicts:
configure
libavcodec/takdec.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil.asm
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-22 17:58:28 +02:00
Diego Biurrun
9a9e2f1c8a
dsputil: Split audio operations off into a separate context
2014-06-22 06:20:15 -07:00
James Almer
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
Michael Niedermayer
2b05db4f81
Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'
...
* commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9':
dsputil: Split clear_block*/fill_block* off into a separate context
Conflicts:
configure
libavcodec/asvdec.c
libavcodec/dnxhddec.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.h
libavcodec/eamad.c
libavcodec/intrax8.c
libavcodec/mjpegdec.c
libavcodec/ppc/dsputil_ppc.c
libavcodec/vc1dec.c
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 04:54:38 +02:00
Diego Biurrun
e74433a8e6
dsputil: Split clear_block*/fill_block* off into a separate context
2014-06-18 14:07:23 -07:00
plepere
92cccb7bcd
avcodec/hevc: new idct + asm
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-17 13:23:36 +02:00