summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba'Mark Thompson2018-01-251-1/+1
|\ | | | | | | | | | | | | * commit '85e10c0a9321bfe0d2afe0f3983ab6a8df6e3fba': intreadwrite: Use __unaligned in MSVC for ARM64 as well Merged-by: Mark Thompson <sw@jkqxz.net>
| * intreadwrite: Use __unaligned in MSVC for ARM64 as wellMartin Storsjö2018-01-161-1/+1
| | | | | | | | | | | | | | This attribute is supported for this architecture in MSVC as well (but produces errors if used for 32 bit x86). Signed-off-by: Martin Storsjö <martin@martin.st>
* | avutil/aes_ctr: Add method to set 16-byte IV.Jacob Trimble2018-01-233-2/+13
| | | | | | | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | x86inc: Drop cpuflags_slowctzHenrik Gramner2018-01-201-3/+2
| |
* | x86inc: Correctly set mmreg variablesHenrik Gramner2018-01-201-51/+36
| |
* | x86inc: Support creating global symbols from local labelsHenrik Gramner2018-01-201-1/+11
| | | | | | | | | | On ELF platforms such symbols needs to be flagged as functions with the correct visibility to please certain linkers in some scenarios.
* | x86inc: Use .rdata instead of .rodata on WindowsHenrik Gramner2018-01-201-0/+4
| | | | | | | | | | The standard section for read-only data on Windows is .rdata. Nasm will flag non-standard sections as executable by default which isn't ideal.
* | x86inc: Enable AVX emulation for floating-point pseudo-instructionsHenrik Gramner2018-01-201-0/+32
| | | | | | | | | | | | | | There are 32 pseudo-instructions for each floating-point comparison instruction, but only 8 of them are actually valid in legacy-encoded mode. The remaining 24 requires the use of VEX-encoded (v-prefixed) instructions and can therefore be disregarded for this purpose.
* | Merge commit 'e23190269fb6e8217d080918893641ba3e0e3556'Mark Thompson2018-01-161-0/+4
|\ \ | |/ | | | | | | | | | | * commit 'e23190269fb6e8217d080918893641ba3e0e3556': lavu/qsv: add log message for libmfx version Merged-by: Mark Thompson <sw@jkqxz.net>
| * lavu/qsv: add log message for libmfx versionZhong Li2017-12-291-0/+4
| | | | | | | | | | | | | | 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-161-0/+33
| | | | | | | | | | | | | | 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-151-16/+39
| | | | | | | | | | | | | | | | | | | | | | 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-111-1/+1
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | It has been replaced by C11 stdatomic.h and is now unused.Anton Khirnov2018-01-057-401/+0
| | | | | | | | | | (cherry picked from commit 5cc0057f4910c8c72421b812c8f337ef6c43696c) Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/log: use thread wrappers for the locking functionalityJames Almer2018-01-041-10/+4
| | | | | | | | | | | | | | | | 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-041-0/+1
| |
* | libavutil/hwcontext_dxva2: Add check for possible errors from ↵Humberto Ribeiro2018-01-041-1/+5
| | | | | | | | | | | | | | | | | | | | 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-041-1/+6
| |
* | lavu/mem: Do not realloc in av_fast_realloc() if size == min_size.Carl Eugen Hoyos2018-01-011-1/+1
| | | | | | | | This can avoid OOM for min_size close to FFmpeg's arbitrary alloc limits.
* | lavc: replace and deprecate the lock managerwm42017-12-261-0/+2
| | | | | | | | | | | | | | 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-261-4/+0
| | | | | | | | | | | | | | | | | | | | | | 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-241-10/+16
| | | | | | | | | | | | | | | | | | 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-241-33/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-242-1/+3
| |
* | avutil: detect when AVX-512 is availableJames Darnley2017-12-241-2/+10
| |
* | avutil: add AVX-512 flagsJames Darnley2017-12-245-2/+10
| |
* | lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT.Carl Eugen Hoyos2017-12-171-1/+1
| |
* | lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODECAman Gupta2017-12-167-1/+95
| | | | | | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* | libavutil: Add saturating subtraction functionsAndrew D'Addesio2017-12-043-2/+48
| | | | | | | | | | | | | | | | | | 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-021-0/+1
| | | | | | | | | | | | 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-021-0/+8
| | | | | | | | each part of an ymm in order to simplify avx2 asm func
* | Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'James Almer2017-11-292-2/+25
|\ \ | |/ | | | | | | | | | | * 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-282-1/+25
| | | | | | | | | | | | 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-281-0/+4
| |
* | hwcontext_vaapi: Do not assume that sw_format is transferableMark Thompson2017-11-261-7/+14
| | | | | | | | | | | | 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-251-5/+16
| | | | | | | | | | | | | | | | 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-251-0/+1
| | | | | | | | device_uninit can be called twice if device_init fails.
* | hwcontext_d3d11: Log adapter details on device creationMark Thompson2017-11-251-1/+8
| | | | | | | | This is helpful to know what device has actually been used.
* | lavu/pixfmt: Remove gap in the middle of enum AVPixelFormatMark Thompson2017-11-252-2/+2
| | | | | | | | | | | | | | | | 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-225-1270/+0
| | | | | | | | | | | | | | | | | | | | | | 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-221-10/+7
| |
* | hwcontext_opencl: DRM to OpenCL mapping for ARMMark Thompson2017-11-221-0/+263
| | | | | | | | | | | | | | | | 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-221-2/+319
| | | | | | | | Using cl_khr_d3d11_sharing and cl_intel_d3d11_nv12_media_sharing.
* | hwcontext_opencl: DXVA2 to OpenCL mappingMark Thompson2017-11-221-0/+397
| | | | | | | | Using cl_khr_dx9_media_sharing.
* | hwcontext_opencl: QSV to OpenCL mapping for Intel Media SDKMark Thompson2017-11-221-0/+365
| | | | | | | | | | 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-221-0/+298
| | | | | | | | Supports all surface formats in common between the two.
* | lavu: OpenCL hwcontext implementationMark Thompson2017-11-227-1/+1408
| |
* | lavu: Add OpenCL hardware pixfmtMark Thompson2017-11-223-1/+12
| |
* | compat/cuda: Pass a logging context to load functionsMark Thompson2017-11-201-1/+1
| | | | | | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* | lavu/qsv: remove unused variableZhong Li2017-11-201-1/+0
| | | | | | | | | | | | | | 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>