summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
...
* arm: Use .data.rel.ro for const data with relocationsMartin Storsjö2014-12-09
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* v210enc: Add SIMD optimised 8-bit and 10-bit encodersKieran Kunhya2014-12-05
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavu: fix memory leaks by using a mutex instead of atomicswm42014-11-27
| | | | | | | | | | | | | | | | | | | | | The buffer pool has to atomically add and remove entries from the linked list of available buffers. This was done by removing the entire list with a CAS operation, working on it, and then setting it back again (using a retry-loop in case another thread was doing the same thing). This could effectively cause memory leaks: while a thread was working on the buffer list, other threads would allocate new buffers, increasing the pool's total size. There was no real leak, but since these extra buffers were not needed, but not free'd either (except when the buffer pool was destroyed), this had the same effects as a real leak. For some reason, growth was exponential, and could easily kill the process due to OOM in real-world uses. Fix this by using a mutex to protect the list operations. The fancy way atomics remove the whole list to work on it is not needed anymore, which also avoids the situation which was causing the leak. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavu: add wrappers for the pthreads mutex APIAnton Khirnov2014-11-27
| | | | | | | | | | Also add no-op fallbacks when threading is disabled. This helps keeping the code clean if Libav is compiled for targets without threading. Since we assume that no threads of any kind are used in such configurations, doing nothing is ok by definition. Based on a patch by wm4 <nfxjfg@googlemail.com>.
* Share the utf8 to wchar conversion routine between lavf and lavuMartin Storsjö2014-11-27
| | | | | | | | This doesn't add any dependency on library internals, since this only is a static inline function that gets built into each of the calling functions - this is only to reduce the code duplication. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu: move internal define to the only places where it is usedVittorio Giovara2014-11-24
|
* opt: Fix the documentation mentioning av_set_string3Luca Barbato2014-11-11
| | | | It is av_opt_set now.
* avstring: Mark some character handling functions av_constHenrik Gramner2014-11-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Use gmtime_r instead of gmtime and localtime_r instead of localtimeMartin Storsjö2014-10-26
| | | | | | | | | | | gmtime isn't thread safe in general. In msvcrt (which lacks gmtime_r), the buffer used by gmtime is thread specific though. One call to localtime is left in avconv_opt.c, where thread safety shouldn't matter (instead of making avconv depend on the libavutil internal header). Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu: Provide fallbacks for gmtime_r and localtime_rMartin Storsjö2014-10-26
| | | | | | | | | | | | This allows writing most code as if they always are is available. These are ok to use from other libraries even though it's not a public header, since they only provide an inline declaration, and doesn't add an actual dependency on lavu internals. (This can be considered more a build system compatibility fallback than a libavutil feature.) Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu: Add av_gettime_relativeMartin Storsjö2014-10-24
| | | | | | | | | | | | | | | | | | | Since av_gettime() is used in a number of places where actual real time clock is required, the monotonic clock introduced in ebef9f5a5 would have consequences that are hard to handle. Instead split it into a separate function that can be used in the cases where only relative time is desired. On platform where no monotonic clock is available, the difference between the two av_gettime functions is not clear, and one could mistakenly use the relative clock where an absolute one is required. Therefore add an offset, to make it evident that the time returned from av_gettime_relative never is actual current real time, even though it is based on av_gettime. Based on a patch by Olivier Langlois. Signed-off-by: Martin Storsjö <martin@martin.st>
* pixdesc: return color properties namesVittorio Giovara2014-10-08
|
* pixfmt: mark further reserved valuesVittorio Giovara2014-10-08
|
* doc: expand description for some color propertiesVittorio Giovara2014-10-08
|
* log: Unbreak no-tty support on 256color terminalsLuca Barbato2014-09-26
|
* x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflagsHenrik Gramner2014-09-09
| | | | | | Previously there was a limit of two cpuflags. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86inc: Free up variable name "n" in global namespaceLoren Merritt2014-09-09
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86inc: Make ym# behave the same way as xm#Henrik Gramner2014-09-09
| | | | | | This makes more sense for future implementations of templates with zmm registers. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* time: Add missing zeroGabriel Dume2014-09-08
| | | | | | Leftover of 56d7df91e010a177a80cfc8dbe394305 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* time: Use clock_gettime if the monotonic clock is availableLuca Barbato2014-09-03
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* ppc: Support little endian intreadwriteLuca Barbato2014-09-03
|
* cosmetics: Write NULL pointer inequality checks more compactlyGabriel Dume2014-08-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* atomic_win32: Drop unnecessary atomic.h #includeDiego Biurrun2014-08-15
| | | | The file does not require atomic.h. Also kills function redefinition warnings.
* frame: Remove some FF_API_AVFRAME_COLORSPACE leftoversDiego Biurrun2014-08-14
|
* cpu-test: Add unistd.h #include for getopt()Diego Biurrun2014-08-13
|
* mem: add av_strndup() for duplicating substringsAnton Khirnov2014-08-13
|
* stereo3d: initialize AVStereo3D to zeroFelix Abecassis2014-08-13
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* AVOption: add support for dictionary types.Andrew Stone2014-08-13
| | | | | | | In order to support metadata being set as an option, it's necessary to be able to set dictionaries as values. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avresample: Introduce AVFrame-based APILuca Barbato2014-08-10
|
* Remove obsolete FF_API_AVFRAME_COLORSPACE cruft.Anton Khirnov2014-08-09
|
* Bump major versions of all libraries.Anton Khirnov2014-08-09
|
* Postpone API-incompatible changes until the next bump.Anton Khirnov2014-08-09
|
* avutil: add AV_PIX_FMT_YA16 pixel formatVittorio Giovara2014-08-04
|
* avutil: rename AV_PIX_FMT_Y400A to AV_PIX_FMT_YA8Vittorio Giovara2014-08-04
| | | | | | | The rationale is that you have a packed format in form <greyscale sample> <alpha sample> <greyscale sample> <alpha sample> and shortening greyscale to 'G' might make one thing about Greenscale instead. An alias pixel format and color space name are provided for compatibility.
* avutil: add alias names for gray 8/16 colour spacesVittorio Giovara2014-08-04
|
* pixdesc: Support pixelformat aliasesLuca Barbato2014-08-04
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* imgutils: Do not declare avpriv_set_systematic_pal2 in the public headerDiego Biurrun2014-08-04
|
* avcodec: Deprecate dtg_active_format field in favor of avframe side-dataKieran Kunhya2014-08-03
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* aarch64: use MACH-O const data asm directive in const macroJanne Grunau2014-08-04
|
* cpu-test: test av_cpu_countJanne Grunau2014-08-04
| | | | Add CPU count and number threads as informative values for fate.
* fate: add informative cpu testJanne Grunau2014-08-04
| | | | | | | | libavutil/cpu-test prints raw and effective cpu flags to STDERR. Detected cpu flags can be useful for debugging fate errors. No comparison of the result against a expected result since that would require fate config specific references.
* pixdesc: K&R formatting cosmeticsLuca Barbato2014-08-01
| | | | | | Also change some comments to multiline. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avstring: Expose the simple name match functionLuca Barbato2014-07-29
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* arm: Macroize the test for 'setend' CPU instruction supportBen Avison2014-07-21
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* armv6: Accelerate butterflies_floatBen Avison2014-07-18
| | | | | | | | | | | | | | I benchmarked the result by measuring the number of gperftools samples that hit anywhere in the AAC decoder (starting from aac_decode_frame()) or specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the same sample AAC stream: Before After Mean StdDev Mean StdDev Confidence Change Audio decode 1542.8 43.7 1470.5 41.5 100.0% +4.9% butterflies_float 130.0 11.9 70.2 12.1 100.0% +85.2% Signed-off-by: Martin Storsjö <martin@martin.st>
* armv6: Accelerate vector_fmul_windowBen Avison2014-07-18
| | | | | | | | | | | | | | I benchmarked the result by measuring the number of gperftools samples that hit anywhere in the AAC decoder (starting from aac_decode_frame()) or specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the same sample AAC stream: Before After Mean StdDev Mean StdDev Confidence Change Audio decode 1598.2 47.4 1529.2 25.4 100.0% +4.5% vector_fmul_window 244.0 22.1 188.9 22.3 100.0% +29.2% Signed-off-by: Martin Storsjö <martin@martin.st>
* display: add matrix flip apiVittorio Giovara2014-07-09
|
* audio_fifo: Split into a separate doxygen moduleTimothy Gu2014-07-06
| | | | | Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* samplefmt: Add doxygen categoriesTimothy Gu2014-07-06
| | | | | | | Categorize the enum and functions as "audio-related". Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>