summaryrefslogtreecommitdiff
path: root/libavutil
Commit message (Collapse)AuthorAge
* avutil/integer: Fix integer overflow in av_mul_i()Michael Niedermayer2018-10-24
| | | | | Found-by: fate Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu: bump version, add Changelog entryJosh de Kock2018-10-24
|
* lavc/h264: create AVFrame side data from H.264 timecodesDevin Heitmueller2018-10-23
| | | | | | | | | Create SMPTE ST 12-1 timecodes based on H.264 SEI picture timing info. For framerates > 30 FPS, the field flag is used in conjunction with pairs of frames which contain the same frame timestamp in S12M. Ensure the field is properly set per the spec.
* lavu/qsv: make a copy as libmfx alignment requirement for uploadingZhong Li2018-10-11
| | | | | | | | | | | | | | Libmfx requires 16 bytes aligned input/output for uploading. Currently only output is 16 byte aligned and assigning same width/height to input with smaller buffer size actually, thus definitely will cause segment fault. Can reproduce with any 1080p nv12 rawvideo input: ffmpeg -init_hw_device qsv=qsv:hw -hwaccel qsv -filter_hw_device qsv -f rawvideo -pix_fmt nv12 -s:v 1920x1080 -i 1080p_nv12.yuv -vf 'format=nv12,hwupload=extra_hw_frames=16,hwdownload,format=nv12' -an -y out_nv12.yuv It can fix #7418 Signed-off-by: Zhong Li <zhong.li@intel.com>
* lavu/hwcontext_qsv: Add support for AV_PIX_FMT_BGRA.Zhong Li2018-10-11
| | | | | | | | | | | | | | | | | RGB32(AV_PIX_FMT_BGRA on intel platforms) format may be used as overlay with alpha blending. So add AV_PIX_FMT_BGRA format support. One example of alpha blending overlay: ffmpeg -hwaccel qsv -c:v h264_qsv -i BA1_Sony_D.jsv -filter_complex 'movie=lena-rgba.png,hwupload=extra_hw_frames=16[a];[0:v][a]overlay_qsv=x=10:y=10' -c:v h264_qsv -y out.mp4 Rename RGB32 to be BGRA to make it clearer as Mark Thompson's suggestion. V2: Add P010 format support else will introduce HEVC 10bit encoding regression. Thanks for LinJie's discovery. Signed-off-by: Zhong Li <zhong.li@intel.com> Verified-by: Fu, Linjie <linjie.fu@intel.com>
* avutil/tests/parseutils: add some big duration testsMarton Balint2018-10-07
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/parseutils: fix some overflows in duration calculationsMarton Balint2018-10-07
| | | | | | Also properly return AVERROR(ERANGE) in case of actual overflows. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/opt: check for minimum and maximum values when setting ↵Marton Balint2018-10-07
| | | | | | AV_OPT_TYPE_DURATION fields Signed-off-by: Marton Balint <cus@passwd.hu>
* Merge commit '21733b39d0af5211d7b9f168ff3667ea86362e2b'Mark Thompson2018-10-06
|\ | | | | | | | | | | | | | | | | * commit '21733b39d0af5211d7b9f168ff3667ea86362e2b': lavu/qsv: fix a random hwupload failure regression Fixes CID #1439585. Merged-by: Mark Thompson <sw@jkqxz.net>
| * lavu/qsv: fix a random hwupload failure regressionZhong Li2018-10-03
| | | | | | | | | | | | | | | | Variable 'ret' hasn't been initialized,thus introducing a random hwupload failure regression due to qsv session uninitialized. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | hwcontext_vaapi: Improve format mappingMark Thompson2018-09-23
| | | | | | | | | | | | | | Give the entries in the VAAPI format map table an explicit type and add functions to do the necessary lookups. Add another field to this table indicating whether the chroma planes are swapped (as in YV12), and use that rather than explicit comparisons where swapping is needed.
* | hwcontext_vaapi: Improve logging around quirk detectionMark Thompson2018-09-23
| | | | | | | | | | | | | | Clarify that the list is the naughty list, and therefore being on it is not desirable. The i965 driver does not need to be on the list after version 2.0 (when the standard parameter buffer rendering behaviour was changed).
* | lavu/frame: Add missing conversions from side data enum to nameJun Zhao2018-09-21
| | | | | | | | | | | | Add missing conversions from side data enum to name. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* | Fix typosMichael Bunk2018-09-14
| |
* | x86/float_dsp: add ff_vector_dmul_{sse2,avx}James Almer2018-09-14
| | | | | | | | | | | | ~3x to 5x faster. Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil: add float_dsp.vector_dmulPaul B Mahol2018-09-12
| |
* | Merge commit '642fd4769becc2f4827f8375a3d9e8edd2f5df77'James Almer2018-09-11
|\| | | | | | | | | | | | | * commit '642fd4769becc2f4827f8375a3d9e8edd2f5df77': qsvvpp: Perform full init only when needed Merged-by: James Almer <jamrial@gmail.com>
| * qsvvpp: Perform full init only when neededJoe Olivas2018-09-04
| | | | | | | | | | | | | | | | | | | | | | Removing unused VPP sessions by initializing only when used in order to help reduce CPU utilization. Thanks to Maxym for the guidance. Signed-off-by: Joe Olivas <joseph.k.olivas@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit 'f89ec87afaf0d1abb6d450253b0b348fd554533b'James Almer2018-09-11
|\| | | | | | | | | | | | | | | * commit 'f89ec87afaf0d1abb6d450253b0b348fd554533b': frame: Simplify the video allocation Merged-by: James Almer <jamrial@gmail.com> Padding-Remixed-by: Michael Niedermayer <michael@niedermayer.cc>
| * frame: Simplify the video allocationLuca Barbato2018-08-05
| |
| * random_seed: use bcrypt instead of the old wincrypt APISteve Lhomme2018-04-19
| | | | | | | | | | | | | | Remove the wincrypt API calls since we don't support XP anymore and bcrypt is available since Vista, even on Windows Store builds. Signed-off-by: Martin Storsjö <martin@martin.st>
* | avutil/file: allow mapping 0 byte files with av_file_mapMarton Balint2018-09-09
| | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* | avutil/mips: [loongson] simplify macro TRANSPOSE_4H and TRANSPOSE_8BShiyou Yin2018-09-09
| | | | | | | | | | | | Simplify macro TRANSPOSE_4H in mmiutils.h and add TRANSPOSE_8B as a common macro. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mips: [loongson] optimize vp8 decoding in vp8dsp.gxw2018-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | Optimize vp8 loop filter with mmi, four functions optimized: 1. ff_vp8_h_loop_filter8uv_mmi. 2. ff_vp8_v_loop_filter8uv_mmi. 3. ff_vp8_h_loop_filter16_mmi. 4. ff_vp8_v_loop_filter16_mmi. Vp8 decoding speed improved about 50%(from 73fps to 110fps, Tested on loongson 3A3000). Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mips: [loongson] reoptimize simple idct with mmi.Shiyou Yin2018-09-02
| | | | | | | | | | | | | | | | | | | | Performance of mpeg4 decoding improved about 23%(from 128fps to 158fps, tested on loongson 3A3000). Reoptimized following functions with mmi. 1. ff_simple_idct_put_8_mmi 2. ff_simple_idct_add_8_mmi 3. ff_simple_idct_8_mmi Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avutil/encryption_info: Fix size calculation.Jacob Trimble2018-08-15
| | | | | | | | | | | | | | Found by Chrome's ClusterFuzz: https://crbug.com/873693 Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | libavutil: Adds gray floating-point pixel formats.Sergey Lavrushkin2018-08-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | x86/pixelutils: don't use the AVX2 functions on CPUs known to be slow with themJames Almer2018-07-31
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | x86/pixelutils: add missing preprocessor wrapper to the AVX2 functionsJames Almer2018-07-31
| | | | | | | | | | | | Should fix compilation with old yasm/nasm Signed-off-by: James Almer <jamrial@gmail.com>
* | avutil/pixelutils: sad_32x32 sse2/avx2 optimizations.Jun Zhao2018-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add ff_pixelutils_sad_32x32_sse2, ff_pixelutils_sad_{a,u}_32x32_sse2, ff_pixelutils_sad_32x32_avx22, ff_pixelutils_sad_{a,u}_32x32_avx2 use perf record/report profiling, get instructions:u for avx2 sad_32x32: 72.05% pixelutils pixelutils [.] block_sad_32x32_c 18.50% pixelutils pixelutils [.] block_sad_16x16_c 4.78% pixelutils pixelutils [.] block_sad_8x8_c 2.69% pixelutils pixelutils [.] block_sad_4x4_c 0.89% pixelutils pixelutils [.] block_sad_2x2_c 0.16% pixelutils pixelutils [.] ff_pixelutils_sad_32x32_avx2 0.16% pixelutils pixelutils [.] ff_pixelutils_sad_u_32x32_avx2 0.12% pixelutils pixelutils [.] ff_pixelutils_sad_a_32x32_avx2 sse2 sad_32x32 instructions:u like: 71.86% pixelutils pixelutils [.] block_sad_32x32_c 18.42% pixelutils pixelutils [.] block_sad_16x16_c 4.81% pixelutils pixelutils [.] block_sad_8x8_c 2.68% pixelutils pixelutils [.] block_sad_4x4_c 0.88% pixelutils pixelutils [.] block_sad_2x2_c 0.29% pixelutils pixelutils [.] ff_pixelutils_sad_32x32_sse2 0.26% pixelutils pixelutils [.] ff_pixelutils_sad_u_32x32_sse2 0.23% pixelutils pixelutils [.] ff_pixelutils_sad_a_32x32_sse2 Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* | lavutil/pixelutils: add sad_32x32 in pixelutils API.Jun Zhao2018-07-31
| | | | | | | | | | | | add sad_32x32 in pixelutils API, and update the fate. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* | avutil/hwcontext_d3d11va: fix type arguments passed to IDXGIAdapter2_GetDesc()James Almer2018-07-25
| | | | | | | | | | | | | | | | | | | | | | libavutil/hwcontext_d3d11va.c: In function 'd3d11va_device_create': libavutil/hwcontext_d3d11va.c:554:46: warning: passing argument 2 of 'pAdapter->lpVtbl->GetDesc' from incompatible pointer type [-Wincompatible-pointer-types] hr = IDXGIAdapter2_GetDesc(pAdapter, &desc); ^ libavutil/hwcontext_d3d11va.c:554:46: note: expected 'DXGI_ADAPTER_DESC * {aka struct DXGI_ADAPTER_DESC *}' but argument is of type 'DXGI_ADAPTER_DESC2 * {aka struct DXGI_ADAPTER_DESC2 *}' Reviewed-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: James Almer <jamrial@gmail.com>
* | 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>