summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* Merge commit '0af8a72174108b9bb482f1073a1e9a3bc258af51'James Almer2017-11-11
|\ | | | | | | | | | | | | * commit '0af8a72174108b9bb482f1073a1e9a3bc258af51': build: Drop support for legacy TI ARM compiler Merged-by: James Almer <jamrial@gmail.com>
| * build: Drop support for legacy TI ARM compilerDiego Biurrun2017-10-25
| |
| * hwcontext_vaapi: Set message callbacks on internally-created devicesMark Thompson2017-10-25
| | | | | | | | | | The message callbacks are library-safe in libva2, so we can now use them.
| * arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfpMartin Storsjö2017-10-24
| | | | | | | | | | | | | | This was missed in e2710e790c0 since those functions weren't exercised by checkasm. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '69ac24e556c6fbc7138be5a60d0b90d2a5676c3d'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '69ac24e556c6fbc7138be5a60d0b90d2a5676c3d': aarch64: Get rid of a stray double space Merged-by: James Almer <jamrial@gmail.com>
| * aarch64: Get rid of a stray double spaceMartin Storsjö2017-10-18
| | | | | | | | | | | | | | | | The extra space got included as part of the expansion of ELF, which later interfered with gas-preprocessor which earlier only stripped out leftover lines starting with '#' if the line started with that char. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '7ac092d05de487d088bc96ab4a7bd6207fbfa98c'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '7ac092d05de487d088bc96ab4a7bd6207fbfa98c': build: CryptGenRandom --> wincrypt, it is a better name Merged-by: James Almer <jamrial@gmail.com>
| * build: CryptGenRandom --> wincrypt, it is a better nameDiego Biurrun2017-10-12
| |
* | Merge commit 'b46900914a1f25ce8dbf49d7c53766ff1f18b60f'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit 'b46900914a1f25ce8dbf49d7c53766ff1f18b60f': build: Merge mach/mach_time.h and mach_absolute_time() checks Merged-by: James Almer <jamrial@gmail.com>
| * build: Merge mach/mach_time.h and mach_absolute_time() checksDiego Biurrun2017-10-12
| |
* | Merge commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a': build: Drop support for Tru64 Unix (OSF/1) Merged-by: James Almer <jamrial@gmail.com>
| * build: Drop support for Tru64 Unix (OSF/1)Diego Biurrun2017-10-10
| | | | | | | | | | This proprietary Unix flavor dropped from the face of the earth more than a decade ago. Nothing of value was lost.
| * cpu: split flag checks per arch in av_cpu_max_align()James Almer2017-10-09
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'ccbb31c14b766ef666ef2daa8c467e478183a957'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit 'ccbb31c14b766ef666ef2daa8c467e478183a957': qsv: Make sure the session is set with the latest version Merged-by: James Almer <jamrial@gmail.com>
| * qsv: Make sure the session is set with the latest versionLuca Barbato2017-09-27
| | | | | | | | It is needed to have the calls to MFXJoinSession succeed.
| * pixdesc: Add API to map color property names to enum valuesVittorio Giovara2017-09-21
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'accb06120c13a4ead442464d96f2fa318fa07a4e'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit 'accb06120c13a4ead442464d96f2fa318fa07a4e': configure: Use dllexport/dllimport for data symbols across DLLs with mingw Merged-by: James Almer <jamrial@gmail.com>
* | Merge commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0': msvc: Properly specify dllexport for data symbols shared across dll boundaries Merged-by: James Almer <jamrial@gmail.com>
| * msvc: Properly specify dllexport for data symbols shared across dll boundariesMartin Storsjö2017-08-31
| | | | | | | | | | | | | | | | | | We currently only have exported data symbols within libavcodec, but the concept is easy to extend to other libraries if necessary. The attribute declaration needs to be in a private header though, since we can't use CONFIG_SHARED in public installed headers. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e': Remove support for building for mingw32ce (Windows CE) Merged-by: James Almer <jamrial@gmail.com>
| * Remove support for building for mingw32ce (Windows CE)Martin Storsjö2017-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The toolchain for this target is unmaintained since many years. While it has been continuously build tested on fate, it hasn't actually been tested at runtime since many, many years (and back then, only a few codecs in libavcodec were tested). So far, keeping support for it has been mostly effortless, but the compiler does seem to have issues with dllimported data symbols, ending up as internal compiler errors in some cases. Instead of jumping through further hoops to work around that, just remove the target. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '7b7760ad6efb7b96122aa7133ad21e22653ae222'James Almer2017-11-11
|\| | | | | | | | | | | | | * commit '7b7760ad6efb7b96122aa7133ad21e22653ae222': aarch64: Fix negative movrel offsets for windows Merged-by: James Almer <jamrial@gmail.com>
| * aarch64: Fix negative movrel offsets for windowsMartin Storsjö2017-08-22
| | | | | | | | | | | | | | | | | | On windows, the offset for the relocation doesn't get stored in the relocation itself, but as an unsigned immediate in the opcode. Therefore, negative offsets has to be handled via a separate sub instruction, just as on MachO. Signed-off-by: Martin Storsjö <martin@martin.st>
| * pixfmt: Support chroma-derived and ictcp color matricesVittorio Giovara2017-08-10
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * imgutils: add function to clear an image to blackwm42017-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Black isn't always just memset(ptr, 0, size). Limited YUV in particular requires relatively non-obvious values, and filling a frame with repeating 0 bytes is disallowed in some contexts. With component sizes larger than 8 or packed YUV, this can become relatively complicated. So having a generic function for this seems helpful. In order to handle the complex cases in a generic way without destroying performance, this code attempts to compute a black pixel, and then uses that value to clear the image data quickly by using a function like memset. Common cases like yuv410p10 or rgba can't be handled with a simple memset, so there is some code to fill memory with 2/4/8 byte patterns. For the remaining cases, a generic slow fallback is used. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * lavc, lavu: move frame cropping to a convenience functionwm42017-07-26
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * d3d11va: Check WINAPI_FAMILY instead of HAVE_LOADLIBRARYMartin Storsjö2017-07-05
| | | | | | | | | | | | | | | | | | | | | | | | | | If using the winstore compat library, a fallback LoadLibrary function does exist, that only calls LoadPackagedLibrary though (which doesn't work for dynamically loading d3d11 DLLs). Therefore explicitly check the targeted API family instead. Make this check a reusable HAVE_* component which other parts of the libraries can check when necessary as well. Signed-off-by: Martin Storsjö <martin@martin.st>
| * hwcontext_d3d11va: add option to enable debug modewm42017-06-27
| | | | | | | | | | | | | | | | | | Basically copied from VLC (LGPL): http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/direct3d11.c;h=e9fcb83dcabfe778f26e63d19f218caf06a7c3ae;hb=HEAD#l1482 http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/d3d11va.c;h=85e7d25caebc059a9770da2ef4bb8fe90816d76d;hb=HEAD#l599 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * dxva: support DXGI_FORMAT_420_OPAQUE decodingwm42017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | Some devices (some phones, apparently) will support only this opaque format. Of course this won't work with CLI, because copying data directly is not supported. Automatic frame allocation (setting AVCodecContext.hw_device_ctx) does not support this mode, even if it's the only supported mode. But since opaque surfaces are generally less useful, that's probably ok. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hwcontext_d3d11va: allocate staging texture lazilywm42017-06-27
| | | | | | | | | | | | | | | | Makes dealing with formats that can not be used for staging textures easier (DXGI_FORMAT_420_OPAQUE). It also saves memory if the staging texture is never needed, so this is a good thing. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hwcontext_d3d11va: fix crash on frames_init failurewm42017-06-27
| | | | | | | | | | | | | | It appears in this case, frames_ininit is called twice (once by av_hwframe_ctx_init(), and again by unreffing the frames ctx ref). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is ↵Martin Storsjö2017-06-18
| | | | | | | | | | | | | | | | | | | | | | unavailable When targeting the UWP API subset, the LoadLibrary function is not available (and the fallback, LoadPackagedLibrary, can't be used to load system DLLs). In these cases, link directly to the functions in the DLLs instead of trying to load them dynamically at runtime. Signed-off-by: Martin Storsjö <martin@martin.st>
| * hwcontext: Mark local table static constMark Thompson2017-06-15
| |
* | avutil/frame: Add private_ref to AVFrameMichael Niedermayer2017-11-10
| | | | | | | | | | | | | | This gives FFmpeg libs a field that they can freely and safely use. Avoiding the need of wrapping of a users opaque_ref field and its issues. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavu/timecode: clarify error msg for timecode_rateGyan Doshi2017-11-10
| | | | | | | | | | | | | | | | | | | | | | The user-supplied value for timecode_rate in drawtext is rounded to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0. This throws a misleading error message which says "Timecode frame rate must be specified". Changed message to account for values under one. Also noted supported framerates for drop TC. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/hwcontext_d3d11va: Fix leak when wrapping texture in ↵Greg Wessels2017-11-07
| | | | | | | | | | | | | | AVD3D11FrameDescriptor Reviewed-by: Aaron Levinson <alevinsn_dev@levland.net> Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/pixdesc: remove reference to avcodec_get_chroma_sub_sampleMartin Vignali2017-11-06
| | | | | | | | | | | | Don't recommend to use deprecated functions. Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/softfloat: Add FLOAT_MINMichael Niedermayer2017-11-05
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'd76479c5020ca43e67d47ba3767146b192dc4782'James Almer2017-11-01
|\| | | | | | | | | | | | | * commit 'd76479c5020ca43e67d47ba3767146b192dc4782': ppc: Drop support for Apple GCC Merged-by: James Almer <jamrial@gmail.com>
| * ppc: Drop support for Apple GCCDiego Biurrun2017-06-13
| | | | | | | | Apple GCC has not been a thing anymore on PowerPC since many years.
* | Merge commit '97cfe1d8bd1968143e2ba9aa46ebe9504a835e24'James Almer2017-11-01
|\| | | | | | | | | | | | | * commit '97cfe1d8bd1968143e2ba9aa46ebe9504a835e24': Convert all AVClass struct declarations to designated initializers. Merged-by: James Almer <jamrial@gmail.com>
| * Convert all AVClass struct declarations to designated initializers.Diego Biurrun2017-06-12
| |
| * dxva: add support for new dxva2 and d3d11 hwaccel APIswm42017-06-08
| | | | | | | | | | | | | | | | | | | | This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * lavu: add new D3D11 pixfmt and hwcontextwm42017-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be used with the new d3d11 hwaccel decode API. With the new hwaccel API, we don't want surfaces to depend on the decoder (other than the required dimension and format). The old D3D11VA pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the decoder configuration, and thus is incompatible with the new hwaccel API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D and an index. It's simpler and compatible with the new hwaccel API. The introduced hwcontext supports only the new pixfmt. Frame upload code untested. Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * avutil/md5: fix misaligned readsJames Almer2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes ubsan happy and also considerably increases performance on big endian systems. Tested on an IBM POWER7 3.55 GHz Before: 2.24user 0.14system 0:02.39elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 2.26user 0.11system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k 2.23user 0.15system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 2.25user 0.12system 0:02.38elapsed 100%CPU (0avgtext+0avgdata 2624maxresident)k 2.20user 0.15system 0:02.36elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k After: 1.86user 0.13system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.89user 0.11system 0:02.01elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.85user 0.14system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.84user 0.15system 0:01.99elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k 1.89user 0.13system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k Tested-by: Nicolas George <george@nsup.org> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
| * vaapi: Add ABGR map only if VA_FOURCC_ABGR is definedElviss Strazdins2017-05-29
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * avutil/hwcontext_dxva2: Don't improperly free IDirect3DSurface9 objectsAaron Levinson2017-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add dxva2_pool_release_dummy() and use it in call to av_buffer_create() in dxva2_pool_alloc(). Prior to this change, av_buffer_create() was called with NULL for the third argument, which indicates that av_buffer_default_free() should be used to free the buffer's data. Eventually, it gets to buffer_pool_free() and calls buf->free() on a surface object (which is av_buffer_default_free()). This can result in a crash when the debug version of the C-runtime is used on Windows. While it doesn't appear to result in a crash when the release version of the C-runtime is used on Windows, it likely results in memory corruption, since av_free() is being called on memory that was allocated using IDirectXVideoAccelerationService::CreateSurface(). Signed-off-by: Aaron Levinson <alevinsn@aracnet.com> Reviewed-by: wm4 <nfxjfg@googlemail.com> Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavu/murmur3: Enforce usual function attribute order.Carl Eugen Hoyos2017-11-01
| |
* | Merge commit '59cee42d7d22530e66a155305389e29679b11f78'James Almer2017-10-30
|\| | | | | | | | | | | | | * commit '59cee42d7d22530e66a155305389e29679b11f78': arm: Check for the .arch directive in configure Merged-by: James Almer <jamrial@gmail.com>
| * arm: Check for the .arch directive in configureMartin Storsjö2017-05-08
| | | | | | | | | | | | | | | | | | | | | | | | When targeting windows, the .arch directive isn't available. So far, when building for windows, we've always used gas-preprocessor, both when using msvc's armasm and when using clang. Lately, clang/llvm has implemented the last missing piece (altmacro support) for building our assembly without gas-preprocessor. This means that we now build for arm/windows with clang without any extra compatibility layer. Signed-off-by: Martin Storsjö <martin@martin.st>