summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* avutil/pixfmt: Document chroma plane size for odd resolutionsMichael Niedermayer2018-07-20
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/x86/cpu: Fix aesni detectionalexander schmid2018-07-19
|
* avutil/pixelutils: correct the function name in commentsJun Zhao2018-07-11
| | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* hwcontext_opencl: remove an unused variableJun Zhao2018-06-29
| | | | | | remove an unused variable Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* hwcontext_opencl: Remove the opencl_device_init in opencl_device_deriveJun Zhao2018-06-29
| | | | | | In opencl device derived case, don't need to call opencl_device_init. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* configure: fix check for opencl_vaapi_intel_media.Jun Zhao2018-06-29
| | | | | | | | | opencl_vaapi_intel_media doesn't depend on libmfx, OpenCL™ Drivers and Runtimes for Intel® Architectureis is a standalone release, more information can be found in the link: https://software.intel.com/en-us/articles/opencl-drivers. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* libavutil/encryption_info: Add unit tests.Jacob Trimble2018-06-27
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/gitignore: Ignore integer test binary.Jacob Trimble2018-06-27
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/encryption_info: Fix documentation problem.Jacob Trimble2018-06-27
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hwcontext_opencl: Remove unused variableMark Thompson2018-06-24
| | | | Unused since a2613647c4f40b9e802cd21f37545ef1fdf370d1.
* libavutil/encryption_info: Allow multiple init info.Jacob Trimble2018-06-23
| | | | | | | | | | It is possible for there to be multiple encryption init info structure. For example, to support multiple key systems or in key rotation. This changes the AVEncryptionInitInfo struct to be a linked list so there can be multiple structs without breaking ABI. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hwcontext_opencl: use ff_hwframe_map_replace()Rostislav Pehlivanov2018-06-21
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* hwcontext_internal: add ff_hwframe_map_replaceRostislav Pehlivanov2018-06-21
| | | | | | Used to fix unmapping when no direct interop exists between APIs. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* tests/bprint: Replace the number by macro for bprint initJun Zhao2018-06-17
| | | | | | Replace the number by macro for bprint init. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avutil/log: Replace the number by macro for bprint initJun Zhao2018-06-17
| | | | | | Replace the number by macro for bprint init. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avutil/common: Fix undefined behavior in av_clip_uintp2_c()Michael Niedermayer2018-06-15
| | | | | | | | Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Fixes: 8521/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5639024952737792 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* pixdesc: Only check against valid entries when iterating over lists of enumsDerek Buitenhuis2018-06-12
| | | | | | | | | | | Some of these enums have gaps in between their values, since they correspond to the values in various specs, instead of being an incrementing list. Fixes segfaults when, for example, using the valid API call: av_color_primaries_from_name("jecdec-p22"); Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavu/hwcontext_opecl: fix the build warningJun Zhao2018-06-07
| | | | | | fix the build warning when use Portable Computing Language (pocl). Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* lavu: add calling convention for OpenCL callback.Ruiling Song2018-06-06
| | | | | | | This fix a build error on Windows: C2440: connot convert from 'void (__cdecl *) (...)' to 'void (__stdcall *)(...)'. Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* Use the same name for stereo3d frame/packet side dataVittorio Giovara2018-06-05
|
* hwcontext_vaapi: Fix mapping from DRMMark Thompson2018-05-24
| | | | | This was broken by bed670a1de29b58fcb3fe046562d8bd125b1457f, which added an assert that always failed.
* hwcontext: Add test for device creation and derivationMark Thompson2018-05-21
| | | | | | This uses any devices it can find on the host system - on a system with no hardware device support or in builds with no support included it will do nothing and pass.
* lavu/Makefile: Fix alignment and orderingMark Thompson2018-05-15
|
* hwcontext: Do not call device_init again when deriving an existing deviceMark Thompson2018-05-15
| | | | | | The change in 309d660775e2b47af6723a0477c4d753bc0c54f4 to call device_init when doing derivation missed this case - we should only call it if we actually made a new device.
* avutil/hwcontext_cuda: fix YUV420P cuda_get_bufferMarton Balint2018-05-15
| | | | | | Regression since ece068a771ac3f725e854c681ecbef08e792addc. Signed-off-by: Marton Balint <cus@passwd.hu>
* hwcontext_vaapi: Add an assert in vaapi_map_from_drm()Haihao Xiang2018-05-10
| | | | | | | Every fourcc in vaapi_drm_format_map should be in vaapi_format_map, so add an assert to ensure we have the right maps. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avutil/hwcontext_cuda: use generic size and pointer assignment functionsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: add support for nvenc rgb formatsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: explicitly synchronize cuMemcpy callsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: add CUstream in cuda hwctxTimo Rothenpieler2018-05-10
|
* avutil: add gray14 pixel formatPaul B Mahol2018-05-05
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/drawutils: add support for full rangePaul B Mahol2018-05-03
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Use AV_PIX_FMT_FLAG_ALPHA for detecting transparency where nb_components was ↵Marton Balint2018-04-30
| | | | | | | | | | used Temporarily keep the old method for ffmpeg_filters.c choose_pix_fmt and avfiltergraph.c pick_format() until a paletted pixel format without alpha is introduced. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/pixdesc: add AV_PIX_FMT_FLAG_ALPHA to AV_PIX_FMT_PAL8Marton Balint2018-04-30
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* hwcontext_vaapi: Fix compilation with libva versions < 1.4.0Mark Thompson2018-04-27
| | | | The BufferHandle API was added in libva 1.4.0 / VAAPI 0.36.0.
* lavu/opt: add AV_OPT_FLAG_DEPRECATEDClément Bœsch2018-04-26
|
* lavu/threadmessage: add av_thread_message_queue_nb_elems()Clément Bœsch2018-04-26
|
* avformat/mov: Increase support for common encryption.Jacob Trimble2018-04-19
| | | | | | | | | | | | | | | | | | - Parse schm atom to get different encryption schemes. - Allow senc atom to appear in track fragments. - Allow 16-byte IVs. - Allow constant IVs (specified in tenc). - Allow only tenc to specify encryption (i.e. no senc/saiz/saio). - Use sample descriptor to detect clear fragments. This doesn't support: - Different sample descriptor holding different encryption info. - Only first sample descriptor can be encrypted. - Encrypted sample groups (i.e. seig). - Non-'cenc' encryption scheme when using -decryption_key. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions after release/4.0 branchingMichael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for branching release/4.0Michael Niedermayer2018-04-16
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/random_seed: use bcrypt instead of the old wincrypt APISteve Lhomme2018-04-14
| | | | | | | | Remove the wincrypt API calls since we don't support XP anymore and bcrypt is available since Vista, even on Windows Store builds. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce'James Almer2018-04-13
|\ | | | | | | | | | | | | * commit '8f144d9e3d5cb2ca92e5bdf7cc9f72effa1bd2ce': Drop Windows XP support remnants Merged-by: James Almer <jamrial@gmail.com>
| * Drop Windows XP support remnantsDiego Biurrun2018-04-09
| |
* | Merge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'James Almer2018-04-13
|\| | | | | | | | | | | | | * commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42': qsv: adding Multi Frame Encode support Merged-by: James Almer <jamrial@gmail.com>
| * qsv: adding Multi Frame Encode supportMaxym Dmytrychenko2018-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from API 1.25 helps to improve performance of the simultaneous encode, 1:N scenario, like: ./avconv -y -hwaccel qsv -c:v h264_qsv -r 30000/1001 -i ~/bbb_sunflower_1080p_60fps_normal.mp4 -vframes 600 -an \ -filter_complex "split=2[s1][s2]; [s1]scale_qsv=1280:720[o1]; [s2]scale_qsv=960:540[o2]" \ -map [o1] -c:v h264_qsv -b:v 3200k -minrate 3200k -maxrate 3200k -f rawvideo /tmp/3200a.264 \ -map [o2] -c:v h264_qsv -b:v 1750k -minrate 1750k -maxrate 1750k -f rawvideo /tmp/1750a.264 Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* | avutil/pixdesc: deprecate AV_PIX_FMT_FLAG_PSEUDOPALwm42018-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PSEUDOPAL pixel formats are not paletted, but carried a palette with the intention of allowing code to treat unpaletted formats as paletted. The palette simply mapped the byte values to the resulting RGB values, making it some sort of LUT for RGB conversion. It was used for 1 byte formats only: RGB4_BYTE, BGR4_BYTE, RGB8, BGR8, GRAY8. The first 4 are awfully obscure, used only by some ancient bitmap formats. The last one, GRAY8, is more common, but its treatment is grossly incorrect. It considers full range GRAY8 only, so GRAY8 coming from typical Y video planes was not mapped to the correct RGB values. This cannot be fixed, because AVFrame.color_range can be freely changed at runtime, and there is nothing to ensure the pseudo palette is updated. Also, nothing actually used the PSEUDOPAL palette data, except xwdenc (trivially changed in the previous commit). All other code had to treat it as a special case, just to ignore or to propagate palette data. In conclusion, this was just a very strange old mechnaism that has no real justification to exist anymore (although it may have been nice and useful in the past). Now it's an artifact that makes the API harder to use: API users who allocate their own pixel data have to be aware that they need to allocate the palette, or FFmpeg will crash on them in _some_ situations. On top of this, there was no API to allocate the pseuo palette outside of av_frame_get_buffer(). This patch not only deprecates AV_PIX_FMT_FLAG_PSEUDOPAL, but also makes the pseudo palette optional. Nothing accesses it anymore, though if it's set, it's propagated. It's still allocated and initialized for compatibility with API users that rely on this feature. But new API users do not need to allocate it. This was an explicit goal of this patch. Most changes replace AV_PIX_FMT_FLAG_PSEUDOPAL with FF_PSEUDOPAL. I first tried #ifdefing all code, but it was a mess. The FF_PSEUDOPAL macro reduces the mess, and still allows defining FF_API_PSEUDOPAL to 0. Passes FATE with FF_API_PSEUDOPAL enabled and disabled. In addition, FATE passes with FF_API_PSEUDOPAL set to 1, but with allocation functions manually changed to not allocating a palette.
* | Merge commit '3a7b4ae62c798edbd82bcd8fef863c74ed2acd4a'James Almer2018-03-30
|\| | | | | | | | | | | | | * commit '3a7b4ae62c798edbd82bcd8fef863c74ed2acd4a': arm: Produce .const_data instead of .section .rodata for Mach-O Merged-by: James Almer <jamrial@gmail.com>
| * arm: Produce .const_data instead of .section .rodata for Mach-OMartin Storsjö2018-03-30
| | | | | | | | | | | | | | | | | | | | This is the same combination of .section directives as used in aarch64/asm.S. Since Xcode 9.3, the bundled clang supports altmacro and doesn't require using gas-preprocessor any longer. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '86499771d1228d8303c8eb6509e20c0caaa02da5'James Almer2018-03-29
|\| | | | | | | | | | | | | * commit '86499771d1228d8303c8eb6509e20c0caaa02da5': qsv: align surface width/height to 16. Merged-by: James Almer <jamrial@gmail.com>
| * qsv: align surface width/height to 16.Ruiling Song2018-03-21
| | | | | | | | | | | | | | | | | | | | Per MediaSDK documentation, it requires width/height to 16 alignment. Without this patch, hwupload pipeline may fail if 16 alignment is not met. Although this patch also apply 16 alignment to qsv encoder/decoder, it will not bring any side-effect to them as they are already aligned. Signed-off-by: Ruiling Song <ruiling.song@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>