f0c635f577
avcodec/x86/hpeldsp_init: silence -Wunused-function on --disable-mmx
...
This silences some of the -Wunused-function warnings when compiled with --disable-mmx, e.g
http://fate.ffmpeg.org/log.cgi?time=20150919094617&log=compile&slot=x86_64-archlinux-gcc-disable-mmx .
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-19 23:10:52 +02:00
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 22:10:35 +02:00
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:58 +01:00
0245abc7c1
avcodec/x86/hpeldsp_init: Put CONFIG_* first in if()
...
This is more consistent and may fix a build failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-26 15:41:27 +01:00
86ae0da60c
x86: hpeldsp: propagate changes across codecs
...
Some codecs still use mmx versions, so have them use the versions
with newer instruction sets.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-26 15:37:04 +02:00
81aa0f4604
x86: hpeldsp: implement SSSE3 version of _xy2
...
Loading pb_1 rather than pw_8192 was benchmarked to be more efficient.
Loading of the 2 yields no advantage. Loading of one saves ~11 cycles.
decicycles count:
put8: 3223(mmx) -> 2387
avg8: 2863(mmxext) -> 2125
put16: 4356(sse2) -> 3553
avg16: 4481(sse2) -> 3513
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-24 15:15:56 +02:00
9722a6a3f3
x86: hpeldsp: implement SSE2 put_pixels16_xy2
...
This is obviously equivalent to the avg version, without the avg.
3223(mmx) -> 2006(sse2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-24 03:45:17 +02:00
f0aca50e0b
x86: hpeldsp: implement SSE2 versions
...
Those are mostly used in codecs older than H.264, eg MPEG-2.
put16 versions:
mmx mmx2 sse2
x2: 1888 1185 552
y2: 1778 1092 510
avg16 xy2: 3509(mmx2) -> 2169(sse2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-24 03:29:48 +02:00
c081ca851c
x86: hpeldsp: avg_pixels_xy2 for mmx2&3dnow
...
This is a port of the inline assembly of the mmx version to use the
pavg(us|)b instruction.
8 16
mmx 1498 4355
mmx2 1242 3509
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-22 20:17:49 +02:00
17ac998055
x86: hpeldsp: mark _xy2 versions as approximate
...
Currently, only the mmx version is bitexact, the others (mmxext and
3dnow) are not, in spite of their naming.
Therefore, make their name more obvious. Also restore a comment that
was removed in 71155d7b
.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-22 20:17:45 +02:00
f8de35ebc4
x86: hpeldsp: kill hpeldsp_mmx.c
...
before:
1987 decicycles in 8_x2, 262121 runs, 23 skips
after:
1902 decicycles in 8_x2, 262112 runs, 32 skips
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-22 20:17:40 +02:00
3d4e365073
avcodec/x86/hpeldsp_init: remove redundant if()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-21 13:38:27 +02:00
cd9e08e110
hpeldsp: fix build without inline asm
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-21 13:37:38 +02:00
d1a32c3f49
x86: kill fpel_mmx.c
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-21 03:25:08 +02:00
4998a72b49
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init
Conflicts:
libavcodec/x86/rnd_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-26 16:55:46 +01:00
efc7290eb6
x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init
...
There is no point in having a separate file just for the instantiation
that provides the public functions.
2014-03-26 04:31:27 -07:00
74fed968d1
Merge commit '82dd1026cfc1d72b04019185bea4c1c9621ace3f'
...
* commit '82dd1026cfc1d72b04019185bea4c1c9621ace3f':
x86: dsputil: Move hpeldsp-related declarations to a separate header
Conflicts:
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-22 23:21:54 +01:00
9333bba6ed
Merge commit '6655c933a887a2d20707fff657b614aa1d86a25b'
...
* commit '6655c933a887a2d20707fff657b614aa1d86a25b':
x86: dsputil: Move fpel declarations to a separate header
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-22 23:08:22 +01:00
77bc342975
Merge commit '322a1dda973e802db7b57f2007fad3efcd5bab81'
...
* commit '322a1dda973e802db7b57f2007fad3efcd5bab81':
dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros
Conflicts:
libavcodec/arm/hpeldsp_init_arm.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-22 22:53:33 +01:00
82dd1026cf
x86: dsputil: Move hpeldsp-related declarations to a separate header
2014-03-22 06:17:29 -07:00
6655c933a8
x86: dsputil: Move fpel declarations to a separate header
2014-03-22 06:17:29 -07:00
322a1dda97
dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros
2014-03-22 06:17:29 -07:00
1c788eaca9
Merge commit '831a1180785a786272cdcefb71566a770bfb879e'
...
* commit '831a1180785a786272cdcefb71566a770bfb879e':
Update dsputil- and SIMD-related comments to match reality more closely
Conflicts:
libavcodec/x86/hpeldsp.asm
libavutil/arm/float_dsp_init_arm.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-13 23:59:56 +01:00
d61e1156be
Merge commit '17608f6ee3d2088cdb8d1e704276d8b34f01160d'
...
* commit '17608f6ee3d2088cdb8d1e704276d8b34f01160d':
x86: Add some more missing headers
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-03-13 23:41:17 +01:00
831a118078
Update dsputil- and SIMD-related comments to match reality more closely
2014-03-13 05:50:29 -07:00
17608f6ee3
x86: Add some more missing headers
2014-03-13 05:50:28 -07:00
92b2404571
Merge commit '4c642d8d98703faf52983243098f35865e15b312'
...
* commit '4c642d8d98703faf52983243098f35865e15b312':
x86: hpeldsp: Add missing av_cold attribute to init function
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2014-01-09 20:32:53 +01:00
4c642d8d98
x86: hpeldsp: Add missing av_cold attribute to init function
2014-01-09 15:09:07 +01:00
5b4d57455d
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: Initialize mmxext after amd3dnow optimizations
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-05 11:55:41 +01:00
3d7c84747d
x86: Initialize mmxext after amd3dnow optimizations
...
The mmxext optimizations should be at least equally fast if available and
amd3dnow optimizations are being deprecated. Thus the former should
override the latter, not the other way around.
2013-12-04 18:52:48 +01:00
8be0e2bd43
Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0'
...
* commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0':
x86: avcodec: Use convenience macros to check for CPU flags
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/motion_est.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-08-30 12:08:28 +02:00
6369ba3c9c
x86: avcodec: Use convenience macros to check for CPU flags
2013-08-29 13:07:37 +02:00
9d01bf7d66
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Consistently use "cpu_flags" as variable/parameter name for CPU flags
Conflicts:
libavcodec/x86/dsputil_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/motion_est.c
libavcodec/x86/mpegvideo.c
libavcodec/x86/proresdsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-07-18 09:53:47 +02:00
3ac7fa81b2
Consistently use "cpu_flags" as variable/parameter name for CPU flags
2013-07-18 00:31:35 +02:00
a887372109
Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a'
...
* commit '1399931d07f0f37ef4526eb8d39d33c64e09618a':
x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-14 12:12:20 +02:00
eda9d97b7a
Merge commit '46bb456853b197f4562de7acf5d42abf11ded9be'
...
* commit '46bb456853b197f4562de7acf5d42abf11ded9be':
x86: dsputil: Refactor pixels16 wrapper functions with a macro
Conflicts:
libavcodec/x86/hpeldsp_avg_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-14 10:18:46 +02:00
1399931d07
x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h
...
The header is not (anymore) MMX-specific.
2013-05-12 22:28:07 +02:00
46bb456853
x86: dsputil: Refactor pixels16 wrapper functions with a macro
2013-05-12 22:28:07 +02:00
2f9ef60c97
Merge commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2'
...
* commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2':
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
bf18810a21
Merge commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087'
...
* commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087':
x86: rnd_template: Eliminate pointless OP_AVG macro indirection
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-08 13:55:31 +02:00
92f8e06ecb
x86: dsputil hpeldsp: Move shared template functions into separate object
2013-05-07 18:03:34 +02:00
7edaf4edb5
x86: rnd_template: Eliminate pointless OP_AVG macro indirection
2013-05-07 18:03:34 +02:00
108e2ae829
Merge commit '110796739ab32854dc0b6b0a1c95e6ae98889062'
...
* commit '110796739ab32854dc0b6b0a1c95e6ae98889062':
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
32cc7dacde
Merge commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e'
...
* commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e':
x86: More specific ifdefs for dsputil/hpeldsp init functions
Conflicts:
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-06 20:46:27 +02:00
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
9e5e76ef9e
x86: More specific ifdefs for dsputil/hpeldsp init functions
2013-05-06 11:02:07 +02:00
35ef98013d
Merge commit '932806232108872655556100011fe369125805d3'
...
* commit '932806232108872655556100011fe369125805d3':
x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-03 10:44:09 +02:00
ed1697ffcb
Merge commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd'
...
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
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
9328062321
x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
...
The function does not do any rounding, so there is no point in
keeping it in a round template file.
2013-05-02 11:45:37 +02:00
9c112a6158
x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
...
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-02 11:45:37 +02:00