summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: add QOI decoder and demuxer and parser and encoder and muxerPaul B Mahol2022-06-0516-3/+417
|
* lavfi/vf_tonemap_opencl: fix buildrcombs2022-06-011-20/+19
| | | | This was broken in d42b410e05ad1c4d6e74aa981b4a4423103291fb.
* lavfi/vf_scale_vulkan: fix buildrcombs2022-06-011-2/+2
| | | | This was broken in d42b410e05ad1c4d6e74aa981b4a4423103291fb.
* Makefile: avoid cp-ing over existing executable filesrcombs2022-06-011-0/+1
| | | | | | | | | On macOS, code-signing information for executables (including those signed automatically by the linker) is cached by the system on a per-inode basis. The cp(1) tool will truncate and overwrite an existing file if present, so we need to delete it first to avoid strange crashes. See https://developer.apple.com/documentation/security/updating_mac_software
* lavc/h264_ps: always include the stop bit in [s|p]ps->datarcombs2022-06-011-0/+8
| | | | | | | | The VideoToolbox hwaccel needs the entire NAL (including the stop bit), but ff_h2645_packet_split may remove it. Detect this case by looking for bit counts divisible by 8 and insert a stop-bit-only 0x80 byte. Signed-off-by: rcombs <rcombs@rcombs.me>
* lavc/videotoolboxdec: insert emu-prevention bytes for HEVC as wellrcombs2022-06-011-4/+4
| | | | | | Fixes decoding of files with sync-fooling sequences in their PSs. Signed-off-by: rcombs <rcombs@rcombs.me>
* lavc/videotoolboxdec: fix writing too many 1 bits for the reserved fieldsrcombs2022-06-011-2/+2
| | | | Signed-off-by: rcombs <rcombs@rcombs.me>
* lavc/videotoolboxdec: fix generating HEVC general_profile_compatibility_flagsrcombs2022-06-011-1/+10
| | | | | | We store this as an array of bools, not a bitfield. Signed-off-by: rcombs <rcombs@rcombs.me>
* lavc/videotoolboxdec: fix escaping sequential zero sequencesrcombs2022-06-011-4/+3
| | | | | | | This ensure that e.g. 0000000000 becomes 00000300 000300, rather than 00000300 0000. Signed-off-by: rcombs <rcombs@rcombs.me>
* lavc/videotoolboxdec: warn on nonzero status in the callbackrcombs2022-06-011-1/+1
| | | | Signed-off-by: rcombs <rcombs@rcombs.me>
* lavfi/blockdetect: Remove nop init() functionThilo Borgmann2022-06-011-6/+0
|
* vp9: don't overread by 4 pixels in ff_vp9_avg4_mmxext().Ronald S. Bultje2022-06-011-0/+5
| | | | | | If the block is at the end of the allocated buffer and there is no padding, this will over-read, which may cause crashes. Reported by Firefox.
* avutil/csp: create public API for colorspace structsLeo Izen2022-06-0111-191/+317
| | | | | | | | | | This commit moves some of the functionality from avfilter/colorspace into avutil/csp and exposes it as a public API so it can be used by libavcodec and/or libavformat. It also converts those structs from double values to AVRational to make regression testing easier and more consistent. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* fate/dca: Fix test requirementsAndreas Rheinhardt2022-06-011-6/+8
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/Makefile: Add PCM functionAndreas Rheinhardt2022-06-011-0/+4
| | | | | | For use with the "pcm" command. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libaomenc: Expose the allintra usage modeVignesh Venkatasubramanian2022-05-312-1/+2
| | | | | | | | | libaom added an usage=allintra mode for doing better with still images. Expose that in the ffmpeg's wrapper. This is especially useful for encoding still AVIF images. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/vp9: ipred_hd_16x16_16 avx2 implementationSemen Belozerov2022-05-312-0/+56
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* fate/wavpack: Test APE cuesheet tagsAndreas Rheinhardt2022-05-312-1/+104
| | | | | | | | | The cue_sheet.wv sample contains a cue sheet as APE tags, yet this is not really covered by fate-wavpack-cuesheet because the metadata does not affect the output of said test. So add a proper test for this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Avoid temp filesAndreas Rheinhardt2022-05-311-32/+32
| | | | | | | | Use the md5 protocol instead of creating a file just to calculate its MD5 checksum. This is possible because there are no output seeks involved in any of these tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/wavpack: Fix test requirementsAndreas Rheinhardt2022-05-311-31/+35
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/wavpack: Remove redundant av_channel_layout_uninit()Andreas Rheinhardt2022-05-311-1/+0
| | | | | | | av_channel_layout_copy() will uninit the dst channel layout before copying the new one. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/vpx: Remove unused define parametersAndreas Rheinhardt2022-05-311-3/+3
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* fate/opus: Restore fate-opus-(celt|hybrid|silk)Andreas Rheinhardt2022-05-311-17/+11
| | | | | | Also fix the test requirements. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1enc: Fix undefined left shifts of negative numbersAndreas Rheinhardt2022-05-301-1/+1
| | | | | | | | Maybe this fixes the FPE encountered here: https://fate.ffmpeg.org/report.cgi?slot=alpha-debian-qemu-gcc-4.7&time=20220530144951 Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/iff: Remove redundant #ifAndreas Rheinhardt2022-05-301-4/+0
| | | | | | | | Since ec0275843d8eb933699807da81f6f366291f034a this file is compiled iff the IFF ILBM decoder is enabled. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1enc: Eliminate float/double from find_best_state()Michael Niedermayer2022-05-305-21/+20
| | | | | | | | | | log2() remains, this can either be replaced by a integer implementation or the table hardcoded if needed Tested-by: Anton Khirnov <anton@khirnov.net> Tested-by: Martin Storsjö <martin@martin.st> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pcm-dvdenc: Mark unreachable defaultsMichael Niedermayer2022-05-301-0/+4
| | | | | | | Helps: CID1441929 Helps: CID1441931 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_biquads: refactor some optionsPaul B Mahol2022-05-291-286/+96
|
* avfilter: add tiltshelf audio filterPaul B Mahol2022-05-295-7/+127
|
* fate/ffmpeg: Fix test requirementsAndreas Rheinhardt2022-05-282-74/+49
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* mfenc: Use dlopen instead of LoadLibrary for loading mfplat.dllMartin Storsjö2022-05-281-3/+4
| | | | | | | The dlopen wrapper contains code to make loading libraries safer, to avoid loading a potentially malicious DLL with the same name. Signed-off-by: Martin Storsjö <martin@martin.st>
* swscale/aarch64: add hscale specializationsSwinney, Jonathan2022-05-283-11/+202
| | | | | | | | | | | | | | | | | | | | | | | This patch adds code to support specializations of the hscale function and adds a specialization for filterSize == 4. ff_hscale8to15_4_neon is a complete rewrite. Since the main bottleneck here is loading the data from src, this data is loaded a whole block ahead and stored back to the stack to be loaded again with ld4. This arranges the data for most efficient use of the vector instructions and removes the need for completion adds at the end. The number of iterations of the C per iteration of the assembly is increased from 4 to 8, but because of the prefetching, there must be a special section without prefetching when dstW < 16. This improves speed on Graviton 2 (Neoverse N1) dramatically in the case where previously fs=8 would have been required. before: hscale_8_to_15__fs_8_dstW_512_neon: 1962.8 after : hscale_8_to_15__fs_4_dstW_512_neon: 1220.9 Signed-off-by: Jonathan Swinney <jswinney@amazon.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* checkasm: added additional dstW tests for hscaleSwinney, Jonathan2022-05-281-49/+55
| | | | | Signed-off-by: Jonathan Swinney <jswinney@amazon.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/libaomenc: Add unmet target level warningBohan Li2022-05-272-1/+65
| | | | | | | | | | | When target levels are set, this patch checks whether they are satisfied by libaom. If not, a warning is shown. Otherwise the output levels are also logged. This patch applies basically the same approach used for libvpx. Signed-off-by: Bohan Li <bohanli@google.com> Signed-off-by: James Zern <jzern@google.com>
* avfilter/af_biquads: fix low/highshelf 'k' calculationPaul B Mahol2022-05-271-2/+2
|
* qsv: check for libmfx.pc instead of mfx.pcHaihao Xiang2022-05-261-1/+1
| | | | | | | This fixed the regression caused by commit 478e1a98a Reported-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/vf_vpp_qsv: set outlink to EOF correctlyFei Wang2022-05-261-12/+23
| | | | | | | | | | | | | | | | | 1. Return error if filter frame fail before set outlink to EOF in none pass through mode. 2. Set outlink to EOF before return success in pass through mode. Fix endless cmd: ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -hwaccel_output_format \ qsv -v debug -c:v hevc_qsv -i 4k.h265 \ -filter_complex "vpp_qsv=w=3840:h=2160:async_depth=4[o1];[o1]split=2[s1][s2]; [s2]vpp_qsv=w=1920:h=1080:async_depth=4[o2];[o2]split=2[s3][s4]; [s4]vpp_qsv=w=1920:h=1080:async_depth=4[o3]" \ -map [s1] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 9000k -preset 7 -g 33 -y -f null - \ -map [s3] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 4000k -preset 7 -g 33 -y -f null - \ -map [o3] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 3100k -preset 7 -g 33 -y -f null -
* doc/protocols: add details and reformat IPFS sectionGyan Doshi2022-05-261-16/+17
|
* doc/protocols: sort IPFS section alphabeticallyGyan Doshi2022-05-261-31/+31
|
* avformat/matroskadec: assert non NULL bufMichael Niedermayer2022-05-261-0/+2
| | | | | | | | | The code is only called if size is > 0 so buf should not be NULL Helps: CID610554 Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Changelog: Add line for IPFSMichael Niedermayer2022-05-261-0/+1
| | | | | | Noticed-and-suggested-by: Mark Gaiser <markg85@gmail.com> Reviewed-by: Mark Gaiser <markg85@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/act: Check ff_get_wav_header() for failureMichael Niedermayer2022-05-261-1/+4
| | | | | | | Fixes: missing error check Fixes: CID717495 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/jpegxl_probe: Check init_get_bits8() for failureMichael Niedermayer2022-05-261-1/+4
| | | | | | | Fixes: missing error check Fixes: CID1504270 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/mem: fix doc for reallocsZhao Zhili2022-05-261-12/+11
| | | | | | | | | | The doc says those function are like av_free if size or nmemb is zero. It doesn't match the code. av_realloc() realloc one byte if size is zero, which was added by 91ff05f6ac5 ten years ago. realloc() itself in C is implementation-dependent. Make the doc match the longstanding behaviour. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* lavc/aarch64: hevc_sao reschedule slightlyJ. Dekker2022-05-261-12/+16
| | | | Signed-off-by: J. Dekker <jdek@itanimul.li>
* avcodec/mfenc: Dynamically load MFPlat.DLLTrystan Mata2022-05-254-67/+124
| | | | | | | | | | | | Allows non-UWP builds of FFmpeg with MediaFoundation to work on N editions of Windows which are without MediaFoundation by default. On UWP target, FFmpeg is linked directly against MediaFoundation since LoadLibrary is not available. This commit adresses https://trac.ffmpeg.org/ticket/9788 Signed-off-by: Martin Storsjö <martin@martin.st>
* qsv: add requirement for the mininal version of libmfxHaihao Xiang2022-05-259-482/+250
| | | | | | | | | | libmfx 1.28 was released 3 years ago, it is easy to get a greater version than 1.28. We may remove lots of compile-time checks if adding the requirement for the minimal version in the configure script. Reviewed-by: softworkz <softworkz@hotmail.com> Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* libavcodec/qsvenc: expose only supported optionsDmitry Rogozhkin2022-05-254-14/+60
| | | | | | | | | | | | | | vp9, hevc, avc, mpeg2 QSV encoders inherit common list of options (QSV_COMMON_OPTS) while bunch of options is not actually supported by current qsv code. The only codec which supportes everything is avc, followed by hevc, while vp9 and mpeg2 significantly fall behind. This creates difficulties for the users to use qsv encoders. This patch fixes options list for encoders leaving only those which are actually supported. Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* checkasm: improve hevc_sao testJ. Dekker2022-05-251-20/+31
| | | | | | | | The HEVC decoder can call these functions with smaller widths than the functions themselves are designed to operate on so we should only check the relevant output Signed-off-by: J. Dekker <jdek@itanimul.li>
* lavc/aarch64: add hevc sao edge 8x8J. Dekker2022-05-252-0/+54
| | | | | | | | | bench on AWS Graviton: hevc_sao_edge_8x8_8_c: 516.0 hevc_sao_edge_8x8_8_neon: 81.0 Signed-off-by: J. Dekker <jdek@itanimul.li>