summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* swscale: add P210/P410/P216/P416 outputrcombs2021-12-22
|
* lavc/Makefile: fix missing hevc_videotoolbox casercombs2021-12-22
|
* lavc/videotoolboxenc: add handling for non-NAL-based codecsrcombs2021-12-22
|
* lavc/videotoolboxenc: vastly simplify get_cv_pixel_inforcombs2021-12-22
| | | | | | No longer requires per-format switch cases. The frame==0 path was unused (and would've crashed anyway).
* lavc/videotoolboxenc: config-gate ATSC CC supportrcombs2021-12-22
|
* lavc/videotoolboxenc: fix RGB supportrcombs2021-12-22
|
* lavc/videotoolboxenc: detect alpha more genericallyrcombs2021-12-22
| | | | Fixes support for alpha in hardware input frames
* lavc/videotoolboxenc: don't access int64_t member as intrcombs2021-12-22
|
* lavc/videotoolboxenc: use common routine for pixfmt conversionrcombs2021-12-22
|
* ffprobe: add missing separator when printing side data in compact outputJames Almer2021-12-22
| | | | | | Should fix ticket #7153 Signed-off-by: James Almer <jamrial@gmail.com>
* libavformat: add side_data copy in concat demuxerGerard Sole2021-12-22
| | | | | | | | | | | | Adds support for concat demuxer to copy the side data information from the input file to the resulting file. It will behave like the metadata copy, where the metadata of the first file is kept in the the output file. Extract the current code that already performs the stream side_data copy into a separate method and reuse the method in the concat demuxer. Signed-off-by: Gerard Sole <g.sole.ca@gmail.com>
* avcodec/v210enc: suppport frame thread for v210Limin Wang2021-12-22
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/rawenc: suppport frame thread for rawvideoLimin Wang2021-12-22
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fate: use single thread for rawvideoLimin Wang2021-12-22
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil/tests/cpu: add slowgatherJames Almer2021-12-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/cpu: add slowgather to av_parse_cpu_caps()James Almer2021-12-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/cpu: move slow gather checks below in the functionJames Almer2021-12-21
| | | | | | Put them together with other similar slow flag checks. Signed-off-by: James Almer <jamrial@gmail.com>
* libswscale: Test AV_CPU_FLAG_SLOW_GATHER for hscale functions.Alan Kelly2021-12-21
| | | | | This is instead of EXTERNAL_AVX2_FAST so that the avx2 hscale functions are only used where they are faster.
* libavutil/cpu: Add AV_CPU_FLAG_SLOW_GATHER.Alan Kelly2021-12-21
| | | | This flag is set on Haswell and earlier and all AMD cpus.
* configure: improve non-pkgconfig Vulkan version checkLynne2021-12-21
| | | | | | | | | Check for the patch version as well as the major+minor version. The VK_API_VERSION macros are not usable in preprocessor code due to casts. The patch (header) version is meant to linearly increment and not be reset, however it's better to trust, but verify.
* configure: autodetect vulkanLynne2021-12-21
|
* avcodec/libx264: Don't unnecessarily add in-band extradataAndreas Rheinhardt2021-12-21
| | | | | | | | | | | | The check here is meant to check for whether avcintra-class option (default value -1) has been set; yet it checks for the x264_param_t value where 0 is the default value (treated as "no avcintra-mode" by x264). This meant that in-band extradata has been added unnecessarily when using global headers; furthermore, the first output packet had two x264 SEIs. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mvdec: explicitly set durationJohn-Paul Stewart2021-12-21
| | | | | | | | Resolves a warning that duration is being innaccurately estimated based on bitrate. Signed-off-by: John-Paul Stewart <jpstewart@personalprojects.net> Reviewed-by: Peter Ross <pross@xvid.org>
* avformat/mvdec: read frame rate from data streamJohn-Paul Stewart2021-12-21
| | | | | | | | | | Prior to this patch, for version 2 of the file format the frame rate was hard-coded at 15 fps. This uses the 64-bit floating-point value from the data stream, similar to what is already done for version 3 of the file format (around line 206). Signed-off-by: John-Paul Stewart <jpstewart@personalprojects.net> Reviewed-by: Peter Ross <pross@xvid.org>
* checkasm: Use the correct AVTXContext in av_tx testsHenrik Gramner2021-12-20
| | | | | Keep a reference to the correct associated context of the reference function and use that context when calling the reference function.
* MAINTAINERS: Add Haihao Xiang for vaapiU. Artie Eoff2021-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current listed maintainers for vaapi plugin are not reponsive and/or currently active in the ffmpeg community. Thus, vaapi plugin patches (and qsv plugin) have generally gone ignored or lost in the ether for too long. Remove Gwenole Beauchesne from vaapi maintainer who has not been active since 2016. Current alternative maintainer for vaapi is Mark Thompson whom has not been active since March/April 2021. Therefore, add Haihao Xiang to vaapi maintainer who's primary role is FFmpeg development with a focus on the vaapi and qsv plugins. Haihao has over a decade of media experience and many years of FFmpeg development experience, amongst other media frameworks. The additional patch for adding Haihao as qsv plugin maintainer has been submitted previously: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210608141134.27448-1-zhongli_dev@126.com/ This will help FFmpeg to continue to be the leading multimedia framework by allowing these plugins to be actively improved, enhanced, and maintained for existing and future HW platforms. Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
* avutil/display: fix inverted docZhao Zhili2021-12-20
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* build: simplify rules for metalZhao Zhili2021-12-20
| | | | Signed-off-by: Aman Karmani <aman@tmm1.net>
* build: add .metal to vpath to fix build errorZhao Zhili2021-12-20
| | | | Signed-off-by: Aman Karmani <aman@tmm1.net>
* MAINTAINERS: Add Haihao Xiang for qsvZhong Li2021-12-20
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* avformat/wvenc: Make init function out of write_headerAndreas Rheinhardt2021-12-20
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/crcenc: Make init function out of write_headerAndreas Rheinhardt2021-12-20
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/sdp: Fix use of uninitialised valueAndreas Rheinhardt2021-12-20
| | | | | | | Fixes Coverity ticket #1495831. Regression since fe31708eaa10af42507b8db773d5af5a56e1aff4. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil: add objc.h to SKIPHEADERSAman Karmani2021-12-19
| | | | Signed-off-by: Aman Karmani <aman@tmm1.net>
* configure: fix metal detection and respect explicit disableAman Karmani2021-12-19
| | | | Signed-off-by: Aman Karmani <aman@tmm1.net>
* lavc/qsvenc: dump parameters for mjpeg encoding in verbose modeHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: dump parameters for VP9 encoding in verbose modeHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: add VP9 profilesHaihao Xiang2021-12-19
| | | | Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: define profile array per codecHaihao Xiang2021-12-19
| | | | | | | | | | | | | The SDK defines HEVC, VP9 and AV1 profiles in the same values e.g. MFX_PROFILE_HEVC_MAIN =1, MFX_PROFILE_VP9_0 =1, MFX_PROFILE_AV1_MAIN =1, To avoid potential errors when adding VP9, AV1 profiles later, this patch defines profile array per codec. Signed-off-by: Zhong Li <zhongli_dev@126.com>
* lavc/qsvenc: remove VC1 profilesHaihao Xiang2021-12-19
| | | | | | | | | | | | | | The SDK doesn't support VC1 encoding. In addition, both MFX_PROFILE_VC1_SIMPLE and MFX_PROFILE_HEVC_MAIN are 1 in the SDK, HEVC main profile is recognized as simple profile in the verbose output if don't remove VC1 profiles. $ ffmpeg -v verbose -qsv_device /dev/dri/renderD129 -f lavfi -i yuvtestsrc -c:v hevc_qsv -f null - [hevc_qsv @ 0x55bdf7eb4eb0] profile: simple; level: 21 Signed-off-by: Zhong Li <zhongli_dev@126.com>
* avcodec/ffv1dec: Don't copy unused fieldAndreas Rheinhardt2021-12-19
| | | | | | The decoder always uses AVCodecContext.bits_per_raw_sample. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1, ffv1dec: Add const where appropriateAndreas Rheinhardt2021-12-19
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/ffv1dec: Remove redundant writes, fix racesAndreas Rheinhardt2021-12-19
| | | | | | | | | | | | | | Every modification of the data that is copied in update_thread_context() is a data race if it happens after ff_thread_finish_setup. ffv1dec's update_thread_context() simply uses memcpy for updating the new context, so that every modification of the src's context is a race. Some of these modifications are unnecessary: picture_number is write-only for the decoder and cur will be reset when decoding the next frame anyway. So remove them. And while just at it, also don't set cur for the slice contexts as this variable is write-only. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/twofish: Fixed decryptionSebastian Kirmayer2021-12-19
| | | | | | | | | | The previous implementation swapped the two halves of the plaintext. The existing tests only decrypted data with a plaintext of all zeroes, which is not affected by swapping the halves. Tests which detect the old buggy behavior have been added. Signed-off-by: Sebastian Kirmayer <ffmpeg@kirmayer.eu> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mxfenc: Avoid allocation for timecode trackAndreas Rheinhardt2021-12-19
| | | | | Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mxfenc: Use smaller types to make struct smallerAndreas Rheinhardt2021-12-19
| | | | | Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* tests/dnn: Make DNN tests regular libavfilter testsAndreas Rheinhardt2021-12-19
| | | | | | | | | | | | | | | | | They test libavfilter internal API, so they should be libavfilter test programs (which implies: linked statically to libavfilter to access internal APIs and linked normally (statically or dynamically depending upon the build configuration) against all the other libs). Right now, they are always linked statically against all libs, which is a significant size waste compared to shared libs as all of libavcodec has been pulled in despite not being really used. This also leads to linking failures on systems for which av_export_avutil is intended: libavcodec does not expect to be linked statically against the library providing avpriv_(cga|vga16)_font in this case. This is fixed by this commit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/Makefile: Remove superfluous avformat->DNXHD dependenciesAndreas Rheinhardt2021-12-19
| | | | | | | | | There is no mxfenc dependency any more since commit b9a26b9d55f77ebbff3596e46be54bb5fed469d3. Also remove a dnxhddata.h inclusion in mxfenc that was forgotten in the very same commit. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter: add vf_yadif_videotoolboxAman Karmani2021-12-18
| | | | | | | | | | | | | | | | | | | | | | | | | | deinterlaces CVPixelBuffers, i.e. AV_PIX_FMT_VIDEOTOOLBOX frames for example, an interlaced mpeg2 video can be decoded by avcodec, uploaded into a CVPixelBuffer, deinterlaced by Metal, and then encoded to h264 by VideoToolbox as follows: ffmpeg \ -init_hw_device videotoolbox \ -i interlaced.ts \ -vf hwupload,yadif_videotoolbox \ -c:v h264_videotoolbox \ -b:v 2000k \ -c:a copy \ -y progressive.ts (note that uploading AVFrame into CVPixelBuffer via hwupload requires 504c60660d3194758823ddd45ceddb86e35d806f) this work is sponsored by Fancy Bits LLC Reviewed-by: Ridley Combs <rcombs@rcombs.me> Reviewed-by: Philip Langdale <philipl@overt.org> Signed-off-by: Aman Karmani <aman@tmm1.net>
* avfilter: add metal utilitiesAman Karmani2021-12-18
| | | | | Reviewed-by: Ridley Combs <rcombs@rcombs.me> Signed-off-by: Aman Karmani <aman@tmm1.net>