aboutsummaryrefslogtreecommitdiff
path: root/libavcodec/x86/ac3dsp.asm
AgeCommit message (Collapse)Author
2014-04-05Merge commit '57b5b84e208ad61ffdd74ad849bed212deb92bc5'Michael Niedermayer
* commit '57b5b84e208ad61ffdd74ad849bed212deb92bc5': x86: dsputil: Move ff_apply_window_int16_* bits to ac3dsp, where they belong Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04x86: dsputil: Move ff_apply_window_int16_* bits to ac3dsp, where they belongDiego Biurrun
2014-03-13Merge commit '831a1180785a786272cdcefb71566a770bfb879e'Michael Niedermayer
* 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-13Update dsputil- and SIMD-related comments to match reality more closelyDiego Biurrun
2013-04-27Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents Conflicts: tests/fate/ac3.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponentsDiego Biurrun
The function requires increasing the fuzz factor for the ac3/eac3 encode tests and even so makes fate fail. It only provides a slight encoding speedup for legacy CPUs that do not support SS2. Thus its benefit is not worth the trouble it creates and fixing it would be a waste of time.
2013-01-21x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assemblyDiego Biurrun
CC: libav-stable@libav.org
2013-01-15Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'Michael Niedermayer
* commit 'd8c772de53d29afb1bada88afa859fce8489c668': nutdec: Always return a value from nut_read_timestamp() configure: Make warnings from -Wreturn-type fatal errors x86: ABS2: port to cpuflags vdpau: Remove av_unused attribute from function declaration h264: fix ff_generate_sliding_window_mmcos() prototype. Conflicts: configure libavformat/nutdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14x86: ABS2: port to cpuflagsDiego Biurrun
2012-11-14Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* 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>
2012-11-14x86: mmx2 ---> mmxext in asm constructsDiego Biurrun
2012-11-03Merge commit '9a07c1332cfe092b57b5758f22b686ca58806c60'Michael Niedermayer
* commit '9a07c1332cfe092b57b5758f22b686ca58806c60': parser: Move Doxygen documentation to the header files PGS subtitles: Expose forced flag x86: PMINUB: port to cpuflags Conflicts: libavcodec/avcodec.h libavcodec/pgssubdec.c libavcodec/version.h libavcodec/x86/ac3dsp.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-03Merge commit '9ce02e14f01de50fcc6f7f459544b140be66d615'Michael Niedermayer
* commit '9ce02e14f01de50fcc6f7f459544b140be66d615': x86: ac3dsp: port to cpuflags x86util: Add cpuflags_mmxext alias for cpuflags_mmx2 x86inc: Only define program_name if the macro is unset Conflicts: libavcodec/x86/ac3dsp.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-02x86: PMINUB: port to cpuflagsDiego Biurrun
2012-11-02x86: ac3dsp: port to cpuflagsDiego Biurrun
2012-10-31Merge commit 'be923ed659016350592acb9b3346f706f8170ac5'Michael Niedermayer
* commit 'be923ed659016350592acb9b3346f706f8170ac5': x86: fmtconvert: port to cpuflags x86: MMX2 ---> MMXEXT in macro names Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31Merge commit '6860b4081d046558c44b1b42f22022ea341a2a73'Michael Niedermayer
* commit '6860b4081d046558c44b1b42f22022ea341a2a73': x86: include x86inc.asm in x86util.asm cng: Reindent some incorrectly indented lines cngdec: Allow flushing the decoder cngdec: Make the dbov variable have the right unit cngdec: Fix the memset size to cover the full array cngdec: Update the LPC coefficients after averaging the reflection coefficients configure: fix print_config() with broke awks Conflicts: libavcodec/x86/ac3dsp.asm libavcodec/x86/dct32.asm libavcodec/x86/deinterlace.asm libavcodec/x86/dsputil.asm libavcodec/x86/dsputilenc.asm libavcodec/x86/fft.asm libavcodec/x86/fmtconvert.asm libavcodec/x86/h264_chromamc.asm libavcodec/x86/h264_deblock.asm libavcodec/x86/h264_deblock_10bit.asm libavcodec/x86/h264_idct.asm libavcodec/x86/h264_idct_10bit.asm libavcodec/x86/h264_intrapred.asm libavcodec/x86/h264_intrapred_10bit.asm libavcodec/x86/h264_weight.asm libavcodec/x86/vc1dsp.asm libavcodec/x86/vp3dsp.asm libavcodec/x86/vp56dsp.asm libavcodec/x86/vp8dsp.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31x86: MMX2 ---> MMXEXT in macro namesDiego Biurrun
2012-10-31x86: include x86inc.asm in x86util.asmDiego Biurrun
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31x86: yasm: Use complete source path for macro helper %includesDiego Biurrun
This is more consistent with the way we handle C #includes and it simplifies the build system.
2012-08-31Add some missing _EXTERNAL suffixes to yasm source files.Carl Eugen Hoyos
2012-08-31Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: MSS1 and MSS2: set final pixel format after common stuff has been initialised MSS2 decoder configure: handle --disable-asm before check_deps x86: Split inline and external assembly #ifdefs configure: x86: Separate inline from standalone assembler capabilities pktdumper: Use a custom define instead of PATH_MAX for buffers pktdumper: Use av_strlcpy instead of strncpy pktdumper: Use sizeof(variable) instead of the direct buffer length Conflicts: Changelog configure libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/dct-test.c libavcodec/imgconvert.c libavcodec/mss12.c libavcodec/version.h libavfilter/x86/gradfun.c libswscale/x86/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31x86: Split inline and external assembly #ifdefsDiego Biurrun
2012-08-04Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* 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>
2012-08-03x86: build: replace mmx2 by mmxextDiego Biurrun
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.
2012-05-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: fate: Work around non-standard wc implementations at more places fate: work around non-standard wc implementations x86: rv40: Mark rv40_weight functions as MMX2; they use MMX2 instructions. ac3dsp: simplify x86 versions of ac3_max_msb_abs_int16 fate: use standard diff options tta: Fix comment about channel number; TTA supports >2 channels. avfilter: Move ff_get_ref_perms_string() to where it is used. build: Add 'check' target to run all compile and test targets. indeo3: validate new frame size before resetting decoder indeo3: when freeing buffers, set pointers referencing them to NULL as well indeo3: initialise pixel planes on allocation indeo3: ensure that decoded cell data is in 7-bit range as presumed by decoder fate: rename psx-str-v3-mdec to mdec-v3 fate: convert psx-str to a demuxer test lavf: add mdec to is_intra_only() list Conflicts: doc/developer.texi libavcodec/indeo3.c libavfilter/video.c libavformat/utils.c tests/fate/demux.mak tests/fate/video.mak tests/lavf-regression.sh tests/ref/vsynth1/cljr tests/ref/vsynth1/ffvhuff tests/ref/vsynth2/cljr tests/ref/vsynth2/ffvhuff Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-15ac3dsp: simplify x86 versions of ac3_max_msb_abs_int16Justin Ruggles
Simplifies the code by using cpuflags and a new macro. Also fixes the invalid use of the MMX2 pshufw operation in the MMX-only function.
2012-04-13Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: swscale: K&R formatting cosmetics (part II) tiffdec: Add a malloc check and refactor another. faxcompr: Check malloc results and unify return path configure: escape colons in values written to config.fate ac3dsp: call femms/emms at the end of float_to_fixed24() for 3DNow and SSE matroska: Fix leaking memory allocated for laces. pthread: Fix crash due to fctx->delaying not being cleared. vp3: Assert on invalid filter_limit values. h264: fix 10bit biweight functions after recent x86inc.asm fixes. ffv1: Fix size mismatch in encode_line. movenc: Remove a dead initialization git-howto: Explain how to avoid Windows line endings in git checkouts. build: Move all arch OBJS declarations into arch subdirectory Makefiles. Conflicts: configure libavcodec/vp3.c libavformat/matroskadec.c libavutil/Makefile libswscale/Makefile libswscale/swscale.c libswscale/swscale_internal.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12ac3dsp: call femms/emms at the end of float_to_fixed24() for 3DNow and SSEJustin Ruggles
Fixes ac3-encode and eac3-encode FATE test failures with SSE2 disabled. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-11Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (38 commits) v210enc: remove redundant check for pix_fmt wavpack: allow user to disable CRC checking v210enc: Use Bytestream2 functions cafdec: Check return value of avio_seek and avoid modifying state if it fails yop: Check return value of avio_seek and avoid modifying state if it fails tta: Check return value of avio_seek and avoid modifying state if it fails tmv: Check return value of avio_seek and avoid modifying state if it fails r3d: Check return value of avio_seek and avoid modifying state if it fails nsvdec: Check return value of avio_seek and avoid modifying state if it fails mpc8: Check return value of avio_seek and avoid modifying state if it fails jvdec: Check return value of avio_seek and avoid modifying state if it fails filmstripdec: Check return value of avio_seek and avoid modifying state if it fails ffmdec: Check return value of avio_seek and avoid modifying state if it fails dv: Check return value of avio_seek and avoid modifying state if it fails bink: Check return value of avio_seek and avoid modifying state if it fails Check AVCodec.pix_fmts in avcodec_open2() svq3: Prevent illegal reads while parsing extradata. remove ParseContext1 vc1: use ff_parse_close mpegvideo parser: move specific fields into private context ... Conflicts: libavcodec/4xm.c libavcodec/aacdec.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/mpeg4video_parser.c libavcodec/svq3.c libavcodec/v210enc.c libavformat/cafdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09ac3dsp: do not use pshufb in ac3_extract_exponents_ssse3()Justin Ruggles
We need to do unsigned saturation in order to cover the corner case when the absolute coefficient value is 16777215 (the maximum value). Fixes Bug #216
2012-01-28Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (71 commits) movenc: Allow writing to a non-seekable output if using empty moov movenc: Support adding isml (smooth streaming live) metadata libavcodec: Don't crash in avcodec_encode_audio if time_base isn't set sunrast: Document the different Sun Raster file format types. sunrast: Add a check for experimental type. libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat lavf: remove disabled FF_API_SET_PTS_INFO cruft lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft lavf: remove disabled FF_API_REORDER_PRIVATE cruft lavf: remove disabled FF_API_SEEK_PUBLIC cruft lavf: remove disabled FF_API_STREAM_COPY cruft lavf: remove disabled FF_API_PRELOAD cruft lavf: remove disabled FF_API_NEW_STREAM cruft lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft lavf: remove disabled FF_API_MUXRATE cruft lavf: remove disabled FF_API_FILESIZE cruft lavf: remove disabled FF_API_TIMESTAMP cruft lavf: remove disabled FF_API_LOOP_OUTPUT cruft lavf: remove disabled FF_API_LOOP_INPUT cruft lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft ... Conflicts: doc/APIchanges libavcodec/8bps.c libavcodec/avcodec.h libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/options.c libavcodec/sunrast.c libavcodec/utils.c libavcodec/version.h libavcodec/x86/h264_deblock.asm libavdevice/libdc1394.c libavdevice/v4l2.c libavformat/avformat.h libavformat/avio.c libavformat/avio.h libavformat/aviobuf.c libavformat/dv.c libavformat/mov.c libavformat/utils.c libavformat/version.h libavformat/wtv.c libavutil/Makefile libavutil/file.c libswscale/x86/input.asm libswscale/x86/swscale_mmx.c libswscale/x86/swscale_template.c tests/ref/lavf/ffm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-27config.asm: change %ifdef directives to %if directives.Ronald S. Bultje
This allows combining multiple conditionals in a single statement.
2011-10-19Move x264asm to libavutil.Kieran Kunhya
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: Fix NASM include directive dsputil_mmx: Honor HAVE_AMD3DNOW lavf,lavd: remove all usage of AVFormatParameters from demuxers. jack: add 'channels' private option. VC-1: fix reading of custom PAR. Remove redundant and dubious video codec detection by its extradata mpeg12: remove repeat-field code disabled since May 2002 patch checklist: suggest fate instead of regression tests Turn on resampling on sudden size change instead of bailing out during recode. avtools: reinitialise filter chain when input video stream changes dimensions Conflicts: Makefile avconv.c doc/developer.texi ffplay.c libavcodec/x86/dsputil_mmx.c libavdevice/libdc1394.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15Fix NASM include directiveDave Yeo
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-13Merge commit 'b2c087871dafc7d030b2d48457ddff597dfd4925'Michael Niedermayer
* commit 'b2c087871dafc7d030b2d48457ddff597dfd4925': Move x86util.asm from libavcodec/ to libavutil/. Move x86inc.asm to libavutil/. APIchanges: note error_recognition in lavf lavf: add support for error_recognition, use it in avidec, and bump minor API version avconv: change semantics of -map avconv: get rid of new* options. cmdutils: allow precisely specifying a stream for AVOptions. configure: add missing CFLAGS to fix building on the HURD libx264: Include hint for possible values for configuring libx264 cmdutils: allow ':'-separated modifiers in option names. avconv: make -map_metadata work consistently with the other options avconv: remove deprecated options. avconv: make -map_chapters accept only the input file index. Make a copy of ffmpeg under a new name -- avconv. ffmpeg: add a warning stating that the program is deprecated. Add weighted motion compensation for RV40 B-frames RV3/4: calculate B-frame motion weights once per frame Move RV3/4-specific DSP functions into their own context mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt h264: notice memory allocation failure Conflicts: .gitignore Makefile cmdutils.c configure doc/ffplay.texi doc/ffprobe.texi doc/ffserver.texi libavcodec/libx264.c libavformat/avformat.h libavformat/avidec.c libavformat/version.h tests/lavf-regression.sh tests/lavfi-regression.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-12Move x86util.asm from libavcodec/ to libavutil/.Ronald S. Bultje
This allows using it in swscale also.
2011-08-12Move x86inc.asm to libavutil/.Ronald S. Bultje
This allows using it in libswscale/ also.
2011-07-02Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: get_bits: remove x86 inline asm in A32 bitstream reader doc: Remove outdated information about our issue tracker avidec: Factor out the sync fucntionality. fate-aac: Expand coverage. ac3dsp: add x86-optimized versions of ac3dsp.extract_exponents(). ac3dsp: simplify extract_exponents() now that it does not need to do clipping. ac3enc: clip coefficients after MDCT. ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions. swscale: for >8bit scaling, read in native bit-depth. matroskadec: matroska_read_seek after after EBML_STOP leads to failure. doxygen: fix usage of @file directive in libavutil/{dict,file}.h doxygen: Help doxygen parser to understand the DECLARE_ALIGNED and offsetof macros Conflicts: doc/issue_tracker.txt libavformat/avidec.c libavutil/dict.h libswscale/swscale.c libswscale/utils.c tests/ref/lavfi/pixfmts_scale Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-01ac3dsp: add x86-optimized versions of ac3dsp.extract_exponents().Justin Ruggles
2011-05-29Merge remote-tracking branch 'qatar/master' into masterMichael Niedermayer
* qatar/master: (27 commits) ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits() ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits. ac3dsp: fix loop condition in ac3_update_bap_counts_c() ARM: unbreak build ac3enc: modify mantissa bit counting to keep bap counts for all values of bap instead of just 0 to 4. ac3enc: split mantissa bit counting into a separate function. ac3enc: store per-block/channel bap pointers by reference block in a 2D array rather than in the AC3Block struct. get_bits: add av_unused tag to cache variable sws: replace all long with int. ARM: aacdec: fix constraints on inline asm ARM: remove unnecessary volatile from inline asm ARM: add "cc" clobbers to inline asm where needed ARM: improve FASTDIV asm ac3enc: use LOCAL_ALIGNED macro APIchanges: fill in git hash for av_get_pix_fmt_name (0420bd7). lavu: add av_get_pix_fmt_name() convenience function cmdutils: remove OPT_FUNC2 swscale: fix crash in bilinear scaling. vpxenc: add VP8E_SET_STATIC_THRESHOLD mapping webm: support stereo videos in matroska/webm muxer ... Conflicts: Changelog cmdutils.c cmdutils.h doc/APIchanges doc/muxers.texi ffmpeg.c ffplay.c libavcodec/ac3enc.c libavcodec/ac3enc_float.c libavcodec/avcodec.h libavcodec/get_bits.h libavcodec/libvpxenc.c libavcodec/version.h libavdevice/libdc1394.c libavformat/matroskaenc.c libavutil/avutil.h libswscale/rgb2rgb.c libswscale/swscale.c libswscale/swscale_template.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-28ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits.Justin Ruggles
this should fix the windows builds Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-28ac3enc: modify mantissa bit counting to keep bap counts for all values of bapJustin Ruggles
instead of just 0 to 4. This does all the actual bit counting as a final step.
2011-05-15Merge remote branch 'qatar/master'Michael Niedermayer
* qatar/master: Fix FSF address copy paste error in some license headers. Add an aac sample which uses LTP to fate-aac. DUPLICATE [PATCH] Update pixdesc_be fate refs after adding 9/10bit YUV420P formats. arm: properly mark external symbol call Conflicts: libavcodec/x86/ac3dsp.asm libavcodec/x86/deinterlace.asm libavcodec/x86/dsputil_yasm.asm libavcodec/x86/dsputilenc_yasm.asm libavcodec/x86/fft_mmx.asm libavcodec/x86/fmtconvert.asm libavcodec/x86/h264_chromamc.asm libavcodec/x86/h264_deblock.asm libavcodec/x86/h264_idct.asm libavcodec/x86/h264_intrapred.asm libavcodec/x86/h264_weight.asm libavcodec/x86/vc1dsp_yasm.asm libavcodec/x86/vp3dsp.asm libavcodec/x86/vp56dsp.asm libavcodec/x86/vp8dsp.asm libavcodec/x86/x86util.asm libswscale/ppc/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14Fix FSF address copy paste error in some license headers.Diego Biurrun
2011-03-19Replace FFmpeg with Libav in licence headersMans Rullgard
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-17ac3enc: add float_to_fixed24() with x86-optimized versions to AC3DSPContextJustin Ruggles
and use in scale_coefficients() for the floating-point AC-3 encoder.
2011-03-14ac3enc: add SIMD-optimized shifting functions for use with the fixed-point ↵Justin Ruggles
AC3 encoder.
2011-02-16ac3dsp: Change punpckhqdq to movhlps in ac3_max_msb_abs_int16().Justin Ruggles
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>