summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* g723.1: remove useless uses of MUL64()Mans Rullgard2012-08-13
| | | | | | | | The operands in both cases are 16-bit so cannot overflow a 32-bit destination. In gain_scale() the inputs are reduced to 14-bit, so even the shift cannot overflow. Signed-off-by: Mans Rullgard <mans@mansr.com>
* g723.1: remove unnecessary argument 'shift' from dot_product()Mans Rullgard2012-08-13
| | | | | | | The 'shift' argument is always 1 so there is no need to pass it explicitly in every call. Signed-off-by: Mans Rullgard <mans@mansr.com>
* g723.1: deobfuscate "(x << 4) - x" to "15 * x"Mans Rullgard2012-08-13
| | | | | | The compiler performs this optimisation. Signed-off-by: Mans Rullgard <mans@mansr.com>
* celp: optimise ff_celp_lp_synthesis_filter()Mans Rullgard2012-08-13
| | | | | | | | | | | | | Adding instead of subtracting the products in the loop allows the compiler to generate more efficient multiply-accumulate instructions when 16-bit multiply-subtract is not available. ARM has only multiply-accumulate for 16-bit operands. In general, if only one variant exists, it is usually accumulate rather than subtract. In the same spirit, using the dedicated saturation function enables use of any special optimised versions of this. Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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>
* cllc: Implement ARGB supportDerek Buitenhuis2012-08-12
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* cllc: Add support for QRGBDerek Buitenhuis2012-08-12
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* cllc: Rename some funcs to represent what they actually doDerek Buitenhuis2012-08-12
| | | | | | | This is in preparation for adding support for other colorspaces and coding types. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* x86: Drop silly "_yasm" suffixes from filenamesDiego Biurrun2012-08-12
|
* doc: Clarify licensing issues arising from external librariesDiego Biurrun2012-08-12
|
* lavf: Detect discontinuities in timestamps for framerate/analyzeduration ↵Martin Storsjö2012-08-12
| | | | | | | | | calculation If the dts difference is more than 1000 times the average dts difference, restart the analysis. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: Initialize the stream info timestamps in avformat_new_streamMartin Storsjö2012-08-12
| | | | | | | | | | | These are normally initialized to AV_NOPTS_VALUE at the start of avformat_find_stream_info, but if a new stream is found while this function is running (e.g. like in mpegts), the newly added AVStreams didn't have these values properly initalized, leading to avformat_find_stream_info terminating too soon (when the first timestamps are far from 0). Signed-off-by: Martin Storsjö <martin@martin.st>
* id3v2: Match PIC mimetype/format case-insensitivelyMohammad Alsaleh2012-08-12
| | | | | | | | | | | Some files' embedded art seems to have the mimetype 'image/JPG' instead of 'image/jpg'. Libav fails to parse those because it matches case-sensitively. Use av_strncasecmp() to fix this behaviour. Signed-off-by: Mohammad Alsaleh <msal@tormail.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* configure: Rename check_asm() to more fitting check_inline_asm()Diego Biurrun2012-08-11
|
* fate: Only test enabled filtersDiego Biurrun2012-08-11
| | | | This fixes running FATE without --enable-gpl.
* avresample: De-doxygenize some comments where Doxygen is not appropriateDiego Biurrun2012-08-11
|
* rtmp: split chunk_size var into in_chunk_size and out_chunk_sizeJordi Ortiz2012-08-11
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Factorize the code by adding find_tracked_methodSamuel Pitoiset2012-08-11
| | | | | | | Also fix the bytestream reader size parameter to take the offset into account. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: simplify is_intra_only() by using codec descriptors.Anton Khirnov2012-08-11
|
* lavc: add an intra-only codec property.Anton Khirnov2012-08-11
|
* lavc: add codec descriptors.Anton Khirnov2012-08-11
| | | | | They describe properties that are inherent to a codec (as described by an AVCodecID) without referring to a specific implementation.
* lavc: fix mixing CODEC_ID/AV_CODEC_ID in C++ code.Anton Khirnov2012-08-10
| | | | | | | C++ does not allow to mix different enums, so e.g. code comparing ACodecID with CodecID would fail to compile with gcc. This very evil hack should fix this problem.
* 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>
* g723.1: fix addition overflowMans Rullgard2012-08-10
| | | | | | | This addition must be done as 64-bit to avoid overflow and for the subsequent clipping to be meaningful. Signed-off-by: Mans Rullgard <mans@mansr.com>
* g723.1: simplify and fix multiplication overflowMans Rullgard2012-08-10
| | | | | | | | | | In 16-bit arithmetic, x * 0xffffc is simply x * -4 with extra overflows, (and the constant was probably meant to be 0xfffc). Combined with the shift, this simplifies to -x >> 1. Finally, clearing the low two bits with a 32-bit mask and switching to a 32-bit type allows more efficient code on 32-bit machines. Signed-off-by: Mans Rullgard <mans@mansr.com>
* g723.1: deobfuscate an expressionMans Rullgard2012-08-10
| | | | | | | (x << 2) - x is just an optimisation of 3 * x the compiler is perfectly capable of doing on its own. Signed-off-by: Mans Rullgard <mans@mansr.com>
* g723.1: remove unused #includesMans Rullgard2012-08-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ARM: add missing "cc" clobber in av_clipl_int32_arm()Mans Rullgard2012-08-10
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rtmp: Factorize the code by adding handle_invoke_errorSamuel Pitoiset2012-08-09
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* rtmp: Factorize the code by adding handle_invoke_statusSamuel Pitoiset2012-08-09
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* rtmp: Factorize the code by adding handle_invoke_resultSamuel Pitoiset2012-08-09
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* libavutil: remove unused av_abort() macroMans Rullgard2012-08-09
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* ffmenc: replace if/abort with assert()Mans Rullgard2012-08-09
| | | | | | | | The condition is trivially true, but keeping the assert() is sensible to avoid FFM_HEADER_SIZE ever getting out of sync with the actual code. 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>
* configure: Check for a sctp struct instead of just the headerMichael Niedermayer2012-08-09
| | | | | | | | | | | | This fixes build failures on debian/kfreebsd, which has the sctp.h header, but it is currently broken (a cpp test succeeds, but a compile test fails), see http://bugs.debian.org/684330 for details. Also remove the checked item from HAVE_LIST, since the corresponding HAVE_* define isn't used by the source code. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: suncc: Add -xc99 to dependency flags, required on SolarisDiego Biurrun2012-08-09
|
* doxygen: Fix function parameter names to match the codeDiego Biurrun2012-08-09
|
* doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugsDiego Biurrun2012-08-09
|
* swf: Move shared table out of the header fileDiego Biurrun2012-08-09
|
* swf: Move swf_audio_codec_tags table to the only place it is usedDiego Biurrun2012-08-09
|
* fate: add G.723.1 decoder testsKostya Shishkov2012-08-09
|
* motion_est: drop inline from sad_hpel_motion_search()Mans Rullgard2012-08-09
| | | | | | | This function is only ever called through a function pointer, so marking it inline makes no sense. Signed-off-by: Mans Rullgard <mans@mansr.com>
* motion_est: remove unused macrosMans Rullgard2012-08-09
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* motion_est: remove useless no_motion_search() functionMans Rullgard2012-08-09
| | | | | | | | At both places this function is called, mb_[xy] == s->mb_[xy] making the call together with following code equivalent to simply assigning zeros. Signed-off-by: Mans Rullgard <mans@mansr.com>
* lagarith: frame multithreadingHendrik Leppkes2012-08-09
| | | | | | | About 2x speedup going from 1 to 2 threads. 1.7s to 0.85s on foreman CIF. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* doxygen: qdm2: Drop documentation for non-existing function parametersDiego Biurrun2012-08-09
|
* build: add HOSTOBJS to SUBDIR_VARS listDiego Biurrun2012-08-09
| | | | | Even though HOSTOBJS are not referenced directly in subdirectory Makefile snippets right now, robustness requires resetting the variable contents.
* mpegvideo: reduce excessive inlining of mpeg_motion()Mans Rullgard2012-08-09
| | | | | | | | | The main benefit of inlining this function is from constant propagation for the 'field_based' argument. Instead of inlining all calls, create two versions of the function for field_based values of 0 and 1. Signed-off-by: Mans Rullgard <mans@mansr.com>