summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: utvideodec: Fix single symbol mode decoding truespeech: drop useless casts libavcodec: drop bogus dependencies from mpc[78] and qdm2 mpegaudio: move ff_mpa_enwindow to a separate file AVOptions: store defaults for INT64 options in int64 union member. Conflicts: libavcodec/Makefile libavfilter/af_asyncts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * AVOptions: store defaults for INT64 options in int64 union member.Anton Khirnov2012-08-24
| | | | | | | | | | Double does not have enough precision to represent all int64 numbers exactly.
* | Merge commit 'a1bcc76e6036e78f25cbb7323c145056cfca9d93'Michael Niedermayer2012-08-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'a1bcc76e6036e78f25cbb7323c145056cfca9d93': (21 commits) cmdutils: fix a memleak when specifying an option twice. x86: mpegvideo: more sensible names for optimization file and init function x86: mpegvideoenc: Split optimizations off into a separate file dnxhdenc: x86: more sensible names for optimization file and init function svq1/svq3: Move common code out of SVQ1 decoder-specific file dirac: add Comments and references to the standard lavr: x86: optimized 6-channel flt to fltp conversion lavr: x86: optimized 2-channel flt to fltp conversion lavr: x86: optimized 6-channel flt to s16p conversion lavr: x86: optimized 2-channel flt to s16p conversion lavr: x86: optimized 6-channel s16 to fltp conversion lavr: x86: optimized 2-channel s16 to fltp conversion lavr: x86: optimized 6-channel s16 to s16p conversion lavr: x86: optimized 2-channel s16 to s16p conversion lavr: x86: optimized 2-channel fltp to flt conversion lavr: x86: optimized 6-channel fltp to s16 conversion lavr: x86: optimized 2-channel fltp to s16 conversion lavr: x86: optimized 6-channel s16p to flt conversion lavr: x86: optimized 2-channel s16p to flt conversion lavr: x86: optimized 6-channel s16p to s16 conversion ... Conflicts: libavcodec/dirac.c libavcodec/mpegvideo.h libavcodec/x86/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavr: x86: optimized 6-channel s16 to fltp conversionJustin Ruggles2012-08-23
| |
| * x86: remove FASTDIV inline asmMans Rullgard2012-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 4.3 and later do the right thing with the plain C code. Earlier versions in 32-bit mode generate one extra instruction, needlessly zeroing what would be the high half of the shifted value. At least two gcc configurations miscompile the inline asm in some situations. In 64-bit mode, all gcc versions generate imul r64, r64 followed by shr. On Intel i7 and later, this imul is faster 32-bit mul. On older Intel and all AMD, it is slightly slower. On Atom it is much slower. Considering where the FASTDIV macro is used, any overall negative performance impact of this change should be negligible. If anyone cares, they should file a bug against gcc and get the instruction selection fixed. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: build: x86: Only compile mpegvideo optimizations when necessary configure: Drop fastdiv option build: Make the E-AC-3 encoder select the AC-3 encoder fate: flac: Only run tests requiring samples when samples are available Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * configure: Drop fastdiv optionDiego Biurrun2012-08-22
| | | | | | | | | | | | There is no point in having the user disable any fastdiv macros. Besides the condition implementation was broken and only disabled the C implementation, but no platform specific assembly versions.
* | deprecate av_parse_cpu_flagsMichael Niedermayer2012-08-16
| | | | | | | | | | | | | | This function is problematic in several ways, its also quite unpredictable which flags it ends up turning on Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | av_parse_cpu_caps: add "mmxext" as alias for mmx2Michael Niedermayer2012-08-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | 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>
| * Add more missing includes after removing the implicit common.hMartin Storsjö2012-08-16
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * Add some more missing includes after removing the implicit common.hMartin Storsjö2012-08-15
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * 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-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: g723.1: simplify scale_vector() g723.1: simplify normalize_bits() vda: cosmetics: fix Doxygen comment formatting vda: better frame allocation vda: Merge implementation into one file vda: support synchronous decoding vda: Reuse the bitstream buffer and reallocate it only if needed build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC avprobe: Include libm.h for the log2 fallback proresenc: use the edge emulation buffer rtmp: handle bytes read reports configure: Fix typo in mpeg2video/svq1 decoder dependency declaration Use log2(x) instead of log(x) / log(2) x86: swscale: fix fragile memory accesses x86: swscale: remove disabled code x86: yadif: fix asm with suncc x86: cabac: allow building with suncc x86: mlpdsp: avoid taking address of void ARM: intmath: use native-size return types for clipping functions Conflicts: configure ffprobe.c libavcodec/Makefile libavcodec/g723_1.c libavcodec/v210dec.h libavcodec/vda.h libavcodec/vda_h264.c libavcodec/x86/cabac.h libavfilter/x86/yadif_template.c libswscale/x86/rgb2rgb_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ARM: intmath: use native-size return types for clipping functionsMans Rullgard2012-08-13
| | | | | | | | | | | | | | This avoids having the compiler redundantly mask the values to the smaller size. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) g723.1: do not pass large structs by value g723.1: do not bounce intermediate values via memory g723.1: declare a variable in the block it is used g723.1: avoid saving/restoring excitation g723.1: avoid unnecessary memcpy() in residual_interp() g723.1: make postfilter write directly to output buffer g723.1: drop unnecessary variable buf_ptr in formant_postfilter() g723.1: make scale_vector() output to a separate buffer g723.1: make autocorr_max() work on an arbitrary buffer g723.1: do not needlessly use int64_t g723.1: use saturating addition functions g723.1: optimise scale_vector() g723.1: remove useless uses of MUL64() g723.1: remove unnecessary argument 'shift' from dot_product() g723.1: deobfuscate "(x << 4) - x" to "15 * x" celp: optimise ff_celp_lp_synthesis_filter() libavutil: add saturating addition functions cllc: Implement ARGB support cllc: Add support for QRGB cllc: Rename some funcs to represent what they actually do ... Conflicts: LICENSE libavcodec/g723_1.c libavcodec/x86/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavutil: add saturating addition functionsMans Rullgard2012-08-13
| | | | | | | | | | | | | | Fixed-point audio codecs often use saturating arithmetic, and special instructions for these operations are common. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | lavu/opt.h: add AV_OPT_FLAG_FILTERING_PARAM macroStefano Sabatini2012-08-12
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavf: simplify is_intra_only() by using codec descriptors. lavc: add an intra-only codec property. lavc: add codec descriptors. lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code. dict: move struct AVDictionary definition to dict.c dict: add av_dict_count() Conflicts: doc/APIchanges libavcodec/old_codec_ids.h libavformat/utils.c libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dict: move struct AVDictionary definition to dict.cMans Rullgard2012-08-10
| | | | | | | | | | | | | | This makes struct AVDictionary fully opaque now that nothing needs to access it directly any more. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * dict: add av_dict_count()Mans Rullgard2012-08-10
| | | | | | | | | | | | | | | | This adds a function to retrieve the number of entries in a dictionary and updates the places directly accessing what should be an opaque struct to use this new function instead. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | lavu/opt: fix crash in av_opt_next() in case the class has no optionsStefano Sabatini2012-08-10
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: g723.1: fix addition overflow g723.1: simplify and fix multiplication overflow g723.1: deobfuscate an expression g723.1: remove unused #includes ARM: add missing "cc" clobber in av_clipl_int32_arm() rtmp: Factorize the code by adding handle_invoke_error rtmp: Factorize the code by adding handle_invoke_status rtmp: Factorize the code by adding handle_invoke_result libavutil: remove unused av_abort() macro ffmenc: replace if/abort with assert() libavutil: drop offsetof() fallback definition libavutil: drop fallback definitions of INTxx_MIN/MAX configure: Check for a sctp struct instead of just the header configure: suncc: Add -xc99 to dependency flags, required on Solaris doxygen: Fix function parameter names to match the code doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs swf: Move shared table out of the header file swf: Move swf_audio_codec_tags table to the only place it is used fate: add G.723.1 decoder tests Conflicts: configure doc/platform.texi libavformat/Makefile libavutil/arm/intmath.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ARM: add missing "cc" clobber in av_clipl_int32_arm()Mans Rullgard2012-08-10
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * libavutil: remove unused av_abort() macroMans Rullgard2012-08-09
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * libavutil: drop offsetof() fallback definitionMans Rullgard2012-08-09
| | | | | | | | | | | | | | | | | | The only compiler I have that does not define the standard offsetof() macro is "Bruce's C Compiler", a simple compiler for producing 8/16-bit 8086 code, usually for use in early stages of PC booting. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * libavutil: drop fallback definitions of INTxx_MIN/MAXMans Rullgard2012-08-09
| | | | | | | | | | | | | | This list is incomplete (we also use UINT16_MAX), so there does not appear to be any system we care about that needs these. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * doxygen: Fix function parameter names to match the codeDiego Biurrun2012-08-09
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: mpegvideo: reduce excessive inlining of mpeg_motion() mpegvideo: convert mpegvideo_common.h to a .c file build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO Move MASK_ABS macro to libavcodec/mathops.h x86: move MANGLE() and related macros to libavutil/x86/asm.h x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h aacdec: Don't fall back to the old output configuration when no old configuration is present. rtmp: Add message tracking rtsp: Support mpegts in raw udp packets rtsp: Support receiving plain data over UDP without any RTP encapsulation rtpdec: Remove an unused include rtpenc: Remove an av_abort() that depends on user-supplied data vsrc_movie: discourage its use with avconv. avconv: allow no input files. avconv: prevent invalid reads in transcode_init() avconv: rename OutputStream.is_past_recording_time to finished. Conflicts: configure doc/filters.texi ffmpeg.c ffmpeg.h libavcodec/Makefile libavcodec/aacdec.c libavcodec/mpegvideo.c libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Move MASK_ABS macro to libavcodec/mathops.hMans Rullgard2012-08-09
| | | | | | | | | | | | | | | | | | | | | | | | This macro is only used in two places, both in libavcodec, so this is a more sensible place for it. Two small tweaks to the macro are made: - removing the trailing semicolon - dropping unnecessary 'volatile' from the x86 asm Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: move MANGLE() and related macros to libavutil/x86/asm.hMans Rullgard2012-08-09
| | | | | | | | | | | | These x86-specific macros do not belong in generic code. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.hMans Rullgard2012-08-09
| | | | | | | | | | | | | | This puts x86-specific things in the x86/ subdirectory where they belong. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | integer: switch to av_assertMichael Niedermayer2012-08-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | integer: fix typos in assertsMichael Niedermayer2012-08-09
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-09
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) build: cosmetics: Reorder some lists in a more logical fashion x86: pngdsp: Fix assembly for OS/2 fate: add test for RTjpeg in nuv with frameheader rtmp: send check_bw as notification g723_1: clip argument for 15-bit version of normalize_bits() g723_1: use all LPC vectors in formant postfilter id3v2: Support v2.2 PIC avplay: fix build with lavfi disabled. avconv: split configuring filter configuration to a separate file. avconv: split option parsing into a separate file. mpc8: do not leave padding after last frame in buffer for the next decode call mpegaudioenc: list supported channel layouts. mpegaudiodec: don't print an error on > 1 frame in a packet. api-example: update to new audio encoding API. configure: add --enable/disable-random option doc: cygwin: Update list of FATE package requirements build: Remove all installed headers and header directories on uninstall build: change checkheaders to use regular build rules rtmp: Add a new option 'rtmp_subscribe' rtmp: Add support for subscribing live streams ... Conflicts: Makefile common.mak configure doc/examples/decoding_encoding.c ffmpeg.c libavcodec/g723_1.c libavcodec/mpegaudiodec.c libavcodec/x86/pngdsp.asm libavformat/version.h library.mak tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ARM: use Q/R inline asm operand modifiers only if supportedMans Rullgard2012-08-07
| | | | | | | | | | | | | | | | | | | | Some compilers do not support the Q/R modifiers used to access the low/high parts of a 64-bit register pair. Check for this and disable all uses of it when not supported. Fixes bug #337. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | lavu/timecode: add av_timecode_check_frame_rate().Clément Bœsch2012-08-08
| |
* | x86inc.asm: remove redundant ifdef __YASM_VER__Michael Niedermayer2012-08-08
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: fix build with nasm 2.08 x86: use nop cpu directives only if supported x86: fix rNmp macros with nasm build: add trailing / to yasm/nasm -I flags x86: use 32-bit source registers with movd instruction x86: add colons after labels Conflicts: Makefile libavutil/x86/x86inc.asm Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: fix build with nasm 2.08Mans Rullgard2012-08-07
| | | | | | | | | | | | | | | | It appears that something goes wrong in old nasm versions when the %+ operator is used in the last argument of a macro invocation and this argument is tested with %ifdef within the macro. This patch rearranges the macro arguments such that the %+ operator is never used in the last argument.
| * x86: use nop cpu directives only if supportedMans Rullgard2012-08-07
| | | | | | | | | | | | | | nasm does not support 'CPU foonop' directives. This adds a configure test for the directive and uses it only if supported. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: fix rNmp macros with nasmMans Rullgard2012-08-07
| | | | | | | | | | | | For some reason, nasm requires this. No harm done to yasm. Signed-off-by: Mans Rullgard <mans@mansr.com>
| * x86: add colons after labelsMans Rullgard2012-08-07
| | | | | | | | | | | | nasm prints a warning if the colon is missing. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2 rational: add av_inv_q() returning the inverse of an AVRational dpx: Make start offset unsigned lavfi: properly signal out-of-memory error in ff_filter_samples cosmetics: Fix a few switched periods and linebreaks zerocodec: Fix memleak in decode_frame zerocodec: Cosmetics Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rational: add av_inv_q() returning the inverse of an AVRationalMans Rullgard2012-08-05
| | | | | | | | | | | | This allows simplifying a few expressions. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | 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-08-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vc1dec: Remove separate scaling function for interlaced field MVs vc1dec: Invoke edge_emulation regardless of MV precision x86: Use consistent 3dnowext function and macro name suffixes g723_1: scale output as supposed for the case with postfilter disabled g723_1: increase excitation storage by 4 g723_1: fix upper bound parameter from inverse maximum autocorrelation g723_1: make scale_vector() behave like the reference g723_1: fix off-by-one error in normalize_bits() g723_1: save/restore excitation with offset to store LPC history wmapro: prevent division by zero when sample rate is unspecified x86: proresdsp: improve SIGNEXTEND macro comments x86: h264dsp: K&R formatting cosmetics LICENSE: Document all GPL files Conflicts: libavcodec/g723_1.c libavcodec/wmaprodec.c libavcodec/x86/h264dsp_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: Use consistent 3dnowext function and macro name suffixesDiego Biurrun2012-08-03
| | | | | | | | | | | | Currently there is a wild mix of 3dn2/3dnow2/3dnowext. Switching to "3dnowext", which is a more common name of the CPU flag, as reported e.g. by the Linux kernel, unifies this.
* | timecode: show frame rate when invalid.Clément Bœsch2012-08-01
| |