summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* hwcontext_d3d11va: add missing stdint.h includeTimo Rothenpieler2017-11-17
| | | | This caused checkheaders to fail on cygwin on this file.
* Avoid corrupting diagnostic state with _Pragma changes.Dale Curtis2017-11-14
| | | | | | | | | | | The macros for ICC and MSVC correctly push and pop the diagnostic state of the compiler when disabling deprecation warnings. The ones for clang/gcc should do the same. Without this, if a blanket deprecation warning is applied to the code base it'll be flipped back on incorrectly with FF_ENABLE_DEPRECATION_WARNINGS. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/crc: use ff_thread_once at av_crc_get_tableMuhammad Faiz2017-11-14
| | | | | | Fix tsan warnings. Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* Fix missing used attribute for inline assembly variablesThomas Köppe2017-11-13
| | | | | | | | | | | | | Variables used in inline assembly need to be marked with attribute((used)). Static constants already were, via the define of DECLARE_ASM_CONST. But DECLARE_ALIGNED does not add this attribute, and some of the variables defined with it are const only used in inline assembly, and therefore appeared dead. This change adds a macro DECLARE_ASM_ALIGNED that marks variables as used. This change makes FFMPEG work with Clang's ThinLTO. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hwcontext_vaapi: Fix build with libva 2.0Mark Thompson2017-11-12
| | | | | | vaExportSurfaceHandle() wasn't included in the 2.0 release. Fixes ticket #6828.
* 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>