summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
...
| * lavu/qsv: add log message for libmfx versionZhong Li2017-12-29
| | | | | | | | | | | | | | It is benefit to diagnose issues related to different libmfx version. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | hwcontext_d3d11va: implement av_hwdevice_get_hwframe_constraints()wm42018-01-16
| | | | | | | | | | | | | | D3D11 has rather fine grained per format capabilities for different uses that can be queried at runtime. Since we don't know what the user wants to do with the formats when av_hwdevice_get_hwframe_constraints() is called, we simply return all formats that have the most basic support.
* | hwcontext_vdpau: implement av_hwdevice_get_hwframe_constraints()wm42018-01-15
| | | | | | | | | | | | | | | | | | | | | | In addition, this does not allow creating frames contexts with sw_format for which no known transfer formats exist. In theory, we should check whether the chroma format (i.e. the sw_format) is supported at all by the vdpau driver, but checking for transfer formats has the same effect. Note that the pre-existing code adds 1 to priv->nb_pix_fmts[i] for unknown reason, and some checks need to account for that to check for empty lists. They are not off-by-one errors.
* | avutil/mastering_display_metadata: fix copyright header wrongly formated as doxyJames Almer2018-01-11
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | It has been replaced by C11 stdatomic.h and is now unused.Anton Khirnov2018-01-05
| | | | | | | | | | (cherry picked from commit 5cc0057f4910c8c72421b812c8f337ef6c43696c) Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/log: use thread wrappers for the locking functionalityJames Almer2018-01-04
| | | | | | | | | | | | | | | | w32threads and os2threads both support static mutex initialization now, so don't limit it to pthreads only. Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | hwcontext_dxva2: initialize D3DDISPLAYMODEEX correctlywm42018-01-04
| |
* | libavutil/hwcontext_dxva2: Add check for possible errors from ↵Humberto Ribeiro2018-01-04
| | | | | | | | | | | | | | | | | | | | GetAdapterDisplayModeEx This prevents a possible crash in CreateDeviceEx when using faulty response from GetAdapterDisplayModeEx and allows ffmpeg to fallback to classic d3d9. Signed-off-by: wm4 <nfxjfg@googlemail.com>
* | lavu/mem: Allow allocations close to max_alloc_size with av_fast_realloc().Carl Eugen Hoyos2018-01-04
| |
* | lavu/mem: Do not realloc in av_fast_realloc() if size == min_size.Carl Eugen Hoyos2018-01-01
| | | | | | | | This can avoid OOM for min_size close to FFmpeg's arbitrary alloc limits.
* | lavc: replace and deprecate the lock managerwm42017-12-26
| | | | | | | | | | | | | | Use static mutexes instead of requiring a lock manager. The behavior should be roughly the same before and after this change for API users which did not set the lock manager at all (except that a minor memory leak disappears).
* | w32pthreads: always use Vista+ API, drop XP supportwm42017-12-26
| | | | | | | | | | | | | | | | | | | | | | This removes the XP compatibility code, and switches entirely to SWR locks, which are available starting at Windows Vista. This removes CRITICAL_SECTION use, which allows us to add PTHREAD_MUTEX_INITIALIZER, which will be useful later. Windows XP is hereby not a supported build target anymore. It was decided in a project vote that this is OK.
* | x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled ↵James Almer2017-12-24
| | | | | | | | | | | | | | | | | | but not used Fixes compilation of libavresample/x86/audio_mix.asm Reviewed-by: Gramner Signed-off-by: James Almer <jamrial@gmail.com>
* | x86inc: AVX-512 supportHenrik Gramner2017-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AVX-512 consists of a plethora of different extensions, but in order to keep things a bit more manageable we group together the following extensions under a single baseline cpu flag which should cover SKL-X and future CPUs: * AVX-512 Foundation (F) * AVX-512 Conflict Detection Instructions (CD) * AVX-512 Byte and Word Instructions (BW) * AVX-512 Doubleword and Quadword Instructions (DQ) * AVX-512 Vector Length Extensions (VL) On x86-64 AVX-512 provides 16 additional vector registers, prefer using those over existing ones since it allows us to avoid using `vzeroupper` unless more than 16 vector registers are required. They also happen to be volatile on Windows which means that we don't need to save and restore existing xmm register contents unless more than 22 vector registers are required. Big thanks to Intel for their support.
* | avutil: add alignment needed for AVX-512James Darnley2017-12-24
| |
* | avutil: detect when AVX-512 is availableJames Darnley2017-12-24
| |
* | avutil: add AVX-512 flagsJames Darnley2017-12-24
| |
* | lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT.Carl Eugen Hoyos2017-12-17
| |
* | lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODECAman Gupta2017-12-16
| | | | | | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* | libavutil: Add saturating subtraction functionsAndrew D'Addesio2017-12-04
| | | | | | | | | | | | | | | | | | Add av_sat_sub32 and av_sat_dsub32 as the subtraction analogues to av_sat_add32/av_sat_dadd32. Also clarify the formulas for dadd32/dsub32. Signed-off-by: Andrew D'Addesio <modchipv12@gmail.com>
* | avutil/mem: Add DECLARE_ASM_ALIGNED macro for DJGPP architecture.Thomas Köppe2017-12-02
| | | | | | | | | | | | The macro was added in 43171a2a738f5114768d34a7278e56e5fde714bc, but I forgot to add it to the DJGPP architecture in that change. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/x86util : add macro for loading a 128 bits constants in an xmm or in ↵Martin Vignali2017-12-02
| | | | | | | | each part of an ymm in order to simplify avx2 asm func
* | Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'James Almer2017-11-29
|\| | | | | | | | | | | | | * commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa': stereo3d: Support view type for frame sequence type Merged-by: James Almer <jamrial@gmail.com>
| * stereo3d: Support view type for frame sequence typeVittorio Giovara2017-11-28
| | | | | | | | | | | | Implement detection in h264 and hevc and insertion in framepack filter. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | lavu/hwcontext_opencl.h: fix build on macOSRodger Combs2017-11-28
| |
* | hwcontext_vaapi: Do not assume that sw_format is transferableMark Thompson2017-11-26
| | | | | | | | | | | | Drivers can support a format for surfaces without also supporting it for images, so we can't assume that sw_format is usable for transfer. This would previously hit an assert in cases where it isn't.
* | hwcontext_d3d11va: properly reset values after release/closeJan Ekström2017-11-25
| | | | | | | | | | | | | | | | Makes the uninit function re-entrable, which can be a common case when an API user first tries to initialize its context, fails, and then finally unrefs the AVHWDevice. Fixes a crash reported by sm2345 on IRC.
* | hwcontext_opencl: Reset internal command queue on device_uninitMark Thompson2017-11-25
| | | | | | | | device_uninit can be called twice if device_init fails.
* | hwcontext_d3d11: Log adapter details on device creationMark Thompson2017-11-25
| | | | | | | | This is helpful to know what device has actually been used.
* | lavu/pixfmt: Remove gap in the middle of enum AVPixelFormatMark Thompson2017-11-25
| | | | | | | | | | | | | | | | This was added for compatibility with libav, by leaving a space for formats added in libav to be merged. Since that feature has been removed, we don't need a gap here. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavu,lavfi,ffmpeg: Remove experimental OpenCL APIMark Thompson2017-11-22
| | | | | | | | | | | | | | | | | | | | | | This was added in early 2013 and abandoned several months later; as far as I can tell, there are no external users. Future OpenCL use will be via hwcontext, which requires neither special OpenCL-only API nor global state in libavutil. All internal users are also deleted - this is just the unsharp filter (replaced by unsharp_opencl, which is more flexible) and the deshake filter (no replacement).
* | hwcontext: Perform usual uninitialisation on derived frames contextsMark Thompson2017-11-22
| |
* | hwcontext_opencl: DRM to OpenCL mapping for ARMMark Thompson2017-11-22
| | | | | | | | | | | | | | | | Using cl_arm_import_memory. Unfortunately, despite this not being a standard extension, the function clImportMemoryARM() is not accessible via clGetExtensionFunctionAddressForPlatform(). This means that it has to be linked directly to the ARM OpenCL binary, so making a portable binary is not possible as it is with all other mapping extensions.
* | hwcontext_opencl: D3D11 to OpenCL mappingMark Thompson2017-11-22
| | | | | | | | Using cl_khr_d3d11_sharing and cl_intel_d3d11_nv12_media_sharing.
* | hwcontext_opencl: DXVA2 to OpenCL mappingMark Thompson2017-11-22
| | | | | | | | Using cl_khr_dx9_media_sharing.
* | hwcontext_opencl: QSV to OpenCL mapping for Intel Media SDKMark Thompson2017-11-22
| | | | | | | | | | Uses the cl_intel_va_api_media_sharing extension, which supports only NV12 surfaces and only mapping from QSV to OpenCL.
* | hwcontext_opencl: VAAPI to OpenCL mapping for Intel i965+beignetMark Thompson2017-11-22
| | | | | | | | Supports all surface formats in common between the two.
* | lavu: OpenCL hwcontext implementationMark Thompson2017-11-22
| |
* | lavu: Add OpenCL hardware pixfmtMark Thompson2017-11-22
| |
* | compat/cuda: Pass a logging context to load functionsMark Thompson2017-11-20
| | | | | | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* | lavu/qsv: remove unused variableZhong Li2017-11-20
| | | | | | | | | | | | | | Fixes build warning of "variable 's' is declared but not used" Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | hwcontext_vaapi: add the fourcc of I420 format map.Jun Zhao2017-11-20
| | | | | | | | | | | | | | VA-API 2.0 have enable the I420, so enable this map. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | Merge commit '3152058bf1dca318898550efacf0286f4836cae6'James Almer2017-11-19
|\| | | | | | | | | | | | | * commit '3152058bf1dca318898550efacf0286f4836cae6': libavcodec: Don't use dllexport, only dllimport when building DLLs Merged-by: James Almer <jamrial@gmail.com>
* | 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
| |