summaryrefslogtreecommitdiff
path: root/libavcodec/x86/rv40dsp_init.c
Commit message (Collapse)AuthorAge
* build: Generalize yasm/nasm-related variable namesDiego Biurrun2017-06-21
| | | | | | | | None of them are specific to the YASM assembler. (Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1) Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c'James Almer2017-03-21
|\ | | | | | | | | | | | | * commit 'e4a94d8b36c48d95a7d412c40d7b558422ff659c': h264chroma: Change type of stride parameters to ptrdiff_t Merged-by: James Almer <jamrial@gmail.com>
| * h264chroma: Change type of stride parameters to ptrdiff_tDiego Biurrun2016-09-29
| | | | | | | | | | This avoids SIMD-optimized functions having to sign-extend their stride argument manually to be able to do pointer arithmetic.
* | all: fix -Wextra-semi reported on clangGanesh Ajjanagadde2015-10-24
| | | | | | | | | | | | | | | | | | This fixes extra semicolons that clang 3.7 on GNU/Linux warns about. These were trigggered when built under -Wpedantic, which essentially checks for strict ISO compliance in numerous ways. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avcodec/x86/rv40dsp_init: silence -Wunused-variable on --disable-mmxGanesh Ajjanagadde2015-09-22
| | | | | | | | | | | | | | | | | | This silences -Wunused-variable when compiled with --disable-mmx, e.g http://fate.ffmpeg.org/log.cgi?time=20150919094617&log=compile&slot=x86_64-archlinux-gcc-disable-mmx. The alternative of header guards will make it far too ugly. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | x86: lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNEDChristophe Gisquet2015-03-14
| | | | | | | | | | | | The later may yield incorrect code for on-stack variables. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac'Michael Niedermayer2014-07-25
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac': qpeldsp: Mark source pointer in qpel_mc_func function pointer const Conflicts: libavcodec/h264qpel_template.c libavcodec/x86/cavsdsp.c libavcodec/x86/rv40dsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * qpeldsp: Mark source pointer in qpel_mc_func function pointer constDiego Biurrun2014-07-25
| |
* | avcodec/x86/rv40dsp_init: fix () in macrosMichael Niedermayer2014-06-20
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | x86: hpeldsp: propagate changes across codecsChristophe Gisquet2014-05-26
| | | | | | | | | | | | | | Some codecs still use mmx versions, so have them use the versions with newer instruction sets. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '82dd1026cfc1d72b04019185bea4c1c9621ace3f'Michael Niedermayer2014-03-22
|\| | | | | | | | | | | | | | | | | | | * 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>
| * x86: dsputil: Move hpeldsp-related declarations to a separate headerDiego Biurrun2014-03-22
| |
* | Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4'Michael Niedermayer2013-08-30
|\| | | | | | | | | | | | | * commit 'e998b56362c711701b3daa34e7b956e7126336f4': x86: avcodec: Consistently structure CPU extension initialization Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: avcodec: Consistently structure CPU extension initializationDiego Biurrun2013-08-29
| |
* | Merge commit 'cd529172377229f2e86987869ccc08f426bfe114'Michael Niedermayer2013-08-29
|\| | | | | | | | | | | | | * commit 'cd529172377229f2e86987869ccc08f426bfe114': x86: rv40dsp: Move inline assembly optimizations out of YASM init section Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: rv40dsp: Move inline assembly optimizations out of YASM init sectionDiego Biurrun2013-08-28
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-07-18
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Consistently use "cpu_flags" as variable/parameter name for CPU flagsDiego Biurrun2013-07-18
| |
* | Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a'Michael Niedermayer2013-05-14
|\| | | | | | | | | | | | | | | | | | | * commit '1399931d07f0f37ef4526eb8d39d33c64e09618a': x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h Conflicts: libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.hDiego Biurrun2013-05-12
| | | | | | | | The header is not (anymore) MMX-specific.
* | Merge commit '63bac48f734fc69cca2ef2cfada92cd9a222734d'Michael Niedermayer2013-05-08
|\| | | | | | | | | | | | | | | | | | | | | * commit '63bac48f734fc69cca2ef2cfada92cd9a222734d': x86: dsputil: Move rv40-specific functions where they belong Conflicts: libavcodec/x86/dsputil_mmx.c libavcodec/x86/dsputil_mmx.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: dsputil: Move rv40-specific functions where they belongDiego Biurrun2013-05-07
| |
* | Merge commit 'a8b6015823e628047a45916404c00044c5e80415'Michael Niedermayer2013-03-13
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'a8b6015823e628047a45916404c00044c5e80415': dsputil: convert remaining functions to use ptrdiff_t strides Conflicts: libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/h264qpel_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: convert remaining functions to use ptrdiff_t stridesLuca Barbato2013-03-12
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc'Michael Niedermayer2013-02-07
|\| | | | | | | | | | | | | | | | | | | | | * commit 'a846dccb29d2bb0798af1d47d06100eda9ca87cc': h264chroma: x86: Fix building with yasm disabled rv34: Drop now unnecessary dsputil dependencies Conflicts: libavcodec/x86/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rv34: Drop now unnecessary dsputil dependenciesDiego Biurrun2013-02-06
| |
* | Merge commit '620289a20e022b9c16c10d546ef86cc0bb77cc84'Michael Niedermayer2013-02-06
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '620289a20e022b9c16c10d546ef86cc0bb77cc84': sh4: Fix silly type vs. variable name search and replace typo configure: Group all hwaccels together in a separate variable Add av_cold attributes to arch-specific init functions Conflicts: configure libavcodec/arm/mpegvideo_armv5te.c libavcodec/x86/mlpdsp.c libavcodec/x86/motion_est.c libavcodec/x86/mpegvideoenc.c libavcodec/x86/videodsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add av_cold attributes to arch-specific init functionsDiego Biurrun2013-02-05
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-14
|\| | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: mmx2 ---> mmxext in asm constructs Conflicts: libavcodec/x86/h264_chromamc_10bit.asm libavcodec/x86/h264_deblock.asm libavcodec/x86/h264dsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: mmx2 ---> mmxext in asm constructsDiego Biurrun2012-11-14
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: vc1: call ff_vc1dsp_init_x86() under if (ARCH_X86) x86: cavs: call ff_cavsdsp_init_x86() under if (ARCH_X86) x86: call most of the x86 dsp init functions under if (ARCH_X86) doc: support the new website layout doc: remove a warning from filters.texi doc: initial nut documentation segment: drop global headers setting lavu: fix typo in Makefile Conflicts: doc/Makefile doc/filters.texi doc/t2h.init libavcodec/fmtconvert.c libavcodec/proresdsp.c libavcodec/x86/Makefile libavcodec/x86/vc1dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: call most of the x86 dsp init functions under if (ARCH_X86)Janne Grunau2012-10-08
| | | | | | | | Rename the called dsp init functions to *_init_x86.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-09-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swscale: Provide the right alignment for external mmx asm x86: Replace checks for CPU extensions and flags by convenience macros configure: msvc: fix/simplify setting of flags for hostcc x86: mlpdsp: mlp_filter_channel_x86 requires inline asm Conflicts: libavcodec/x86/fft_init.c libavcodec/x86/h264_intrapred_init.c libavcodec/x86/h264dsp_init.c libavcodec/x86/mpegaudiodec.c libavcodec/x86/proresdsp_init.c libavutil/x86/float_dsp_init.c libswscale/utils.c libswscale/x86/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: Replace checks for CPU extensions and flags by convenience macrosDiego Biurrun2012-09-08
| | | | | | | | | | This separates code relying on inline from that relying on external assembly and fixes instances where the coalesced check was incorrect.
* | Merge commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5'Michael Niedermayer2012-08-31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5': x86: Fix linking with some or all of yasm, mmx, optimizations disabled configure: Add more fine-grained SSE CPU capabilities flags avfilter: x86: Use more precise compile template names x86: cosmetics: Comment some #endifs for better readability g723_1: add comfort noise generation utvideoenc: Switch to dsputils' median prediction utvideoenc: Avoid writing into the input picture avtools: remove the distinction between func_arg and func2_arg. avconv: make the -passlogfile option per-stream. avconv: make the -pass option per-stream. cmdutils: make -codecs print lossy/lossless flags. lavc: add lossy/lossless codec properties. Conflicts: Changelog cmdutils.c configure doc/APIchanges ffmpeg.h ffmpeg_opt.c ffprobe.c libavcodec/codec_desc.c libavcodec/g723_1.c libavcodec/utvideoenc.c libavcodec/version.h libavcodec/x86/mpegaudiodec.c libavcodec/x86/rv40dsp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: Fix linking with some or all of yasm, mmx, optimizations disabledDiego Biurrun2012-08-30
| | | | | | | | | | Some optimized template functions reference optimized symbols, so they must be explicitly disabled when those symbols are unavailable.
| * x86: cosmetics: Comment some #endifs for better readabilityDiego Biurrun2012-08-30
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Fix even more missing includes after the common.h removal build: Factor out rangecoder dependencies to CONFIG_RANGECODER build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE x86: avcodec: Consistently name all init files Add more missing includes after removing the implicit common.h Add some more missing includes after removing the implicit common.h Don't include common.h from avutil.h rtmp: Automatically compute the hash for SWFVerification Conflicts: configure doc/APIchanges doc/examples/decoding_encoding.c libavcodec/Makefile libavcodec/assdec.c libavcodec/audio_frame_queue.c libavcodec/avpacket.c libavcodec/dv_profile.c libavcodec/dwt.c libavcodec/libtheoraenc.c libavcodec/rawdec.c libavcodec/rv40dsp.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/v210dec.h libavcodec/vc1dsp.c libavcodec/x86/Makefile libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/buffer.c libavfilter/formats.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_select.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/version.h libavutil/audioconvert.c libavutil/error.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Don't include common.h from avutil.hMartin Storsjö2012-08-15
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavr: fix handling of custom mix matrices fate: force pix_fmt in lagarith-rgb32 test fate: add tests for lagarith lossless video codec. ARMv6: vp8: fix stack allocation with Apple's assembler ARM: vp56: allow inline asm to build with clang fft: 3dnow: fix register name typo in DECL_IMDCT macro x86: dct32: port to cpuflags x86: build: replace mmx2 by mmxext Revert "wmapro: prevent division by zero when sample rate is unspecified" wmapro: prevent division by zero when sample rate is unspecified lagarith: fix color plane inversion for YUY2 output. lagarith: pad RGB buffer by 1 byte. dsputil: make add_hfyu_left_prediction_sse4() support unaligned src. Conflicts: doc/APIchanges libavcodec/lagarith.c libavfilter/x86/gradfun.c libavutil/cpu.h libavutil/version.h libswscale/utils.c libswscale/version.h libswscale/x86/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: build: replace mmx2 by mmxextDiego Biurrun2012-08-03
| | | | | | | | | | | | | | Refactoring mmx2/mmxext YASM code with cpuflags will force renames. So switching to a consistent naming scheme beforehand is sensible. The name "mmxext" is more official and widespread and also the name of the CPU flag, as reported e.g. by the Linux kernel.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-07-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: libopenjpeg: support YUV and deep RGB pixel formats Fix typo in v410 decoder. vf_yadif: unset cur_buf on the input link. vf_overlay: ensure the overlay frame does not get leaked. vf_overlay: prevent premature freeing of cur_buf Support urlencoded http authentication credentials rtmp: Return an error when the client bandwidth is incorrect rtmp: Return proper error code in handle_server_bw rtmp: Return proper error code in handle_client_bw rtmp: Return proper error codes in handle_chunk_size lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt() vp8: Replace x*155/100 by x*101581>>16. vp3: don't use calls to inline asm in yasm code. x86/dsputil: put inline asm under HAVE_INLINE_ASM. dsputil_mmx: fix incorrect assembly code rtmp: Factorize the code by adding handle_invoke rtmp: Factorize the code by adding handle_chunk_size rtmp: Factorize the code by adding handle_ping rtmp: Factorize the code by adding handle_client_bw rtmp: Factorize the code by adding handle_server_bw Conflicts: libavcodec/libopenjpegdec.c libavcodec/x86/dsputil_mmx.c libavfilter/vf_overlay.c libavformat/Makefile libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86/dsputil: put inline asm under HAVE_INLINE_ASM.Ronald S. Bultje2012-07-25
| | | | | | | | | | | | | | This allows compiling with compilers that don't support gcc-style inline assembly. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: libspeexenc: add supported sample rates and channel layouts. Replace usleep() calls with av_usleep() lavu: add av_usleep() function utvideo: mark interlaced frames as such utvideo: Fix interlaced prediction for RGB utvideo. cosmetics: do not use full path for local headers lavu/file: include unistd.h only when available configure: check for unistd.h log: include unistd.h only when needed lavf: include libavutil/time.h instead of redeclaring av_gettime() Conflicts: configure doc/APIchanges ffmpeg.c ffplay.c libavcodec/utvideo.c libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: do not use full path for local headersDiego Biurrun2012-06-22
| |
* | libavcodec/x86/rv40dsp_init.c: add missing HAVE_YASMMichael Niedermayer2012-06-10
|/ | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* x86: rv40: Mark rv40_weight functions as MMX2; they use MMX2 instructions.Michael Kostylev2012-05-15
|
* rv40dsp x86: MMX/MMX2/3DNow/SSE2/SSSE3 implementations of MCChristophe Gisquet2012-05-10
| | | | | | | | | | | | | | | | | | | | Code mostly inspired by vp8's MC, however: - its MMX2 horizontal filter is worse because it can't take advantage of the coefficient redundancy - that same coefficient redundancy allows better code for non-SSSE3 versions Benchmark (rounded to tens of unit): V8x8 H8x8 2D8x8 V16x16 H16x16 2D16x16 C 445 358 985 1785 1559 3280 MMX* 219 271 478 714 929 1443 SSE2 131 158 294 425 515 892 SSSE3 120 122 248 387 390 763 End result is overall around a 15% speedup for SSSE3 version (on 6 sequences); all loop filter functions now take around 55% of decoding time, while luma MC dsp functions are around 6%, chroma ones are 1.3% and biweight around 2.3%. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* rv40dsp: implement prescaled versions for biweight.Christophe GISQUET2012-04-10
| | | | | | | | | | Quite often, the original weights are multiple of 512. By prescaling them by 1/512 when they are computed (once per frame), no intermediate shifting is needed, and no prescaling on each call either. The x86 code already used that trick. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rv34: change most "int stride" into "ptrdiff_t stride".Ronald S. Bultje2012-02-20
| | | | | | This prevents having to sign-extend on 64-bit systems with 32-bit ints, such as x86-64. Also fixes crashes on systems where we don't do it and arguments are not in registers, such as Win64 for all weight functions.