summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavfi/framesync: switch ts maps to use pts+timebaseframe_map_sortAnton Khirnov2023-03-14
| | | | Also, sort the entries.
* lavfi/framesync: reindent after previous commitAnton Khirnov2023-03-14
|
* lavfi/framesync: add syncing via external timestamp mapAnton Khirnov2023-03-12
| | | | | Useful when there is some external process that determines canonical frame synchronization. E.g. the framerate conversion code in ffmpeg CLI.
* lavfi/framesync: reorder functions to avoid a forward declarationAnton Khirnov2023-03-12
|
* lavfi/framesync: use a local variable to shorten codeAnton Khirnov2023-03-12
|
* lavc/decode: stop mangling last_pkt_props->opaqueAnton Khirnov2023-03-11
| | | | | | | | | | It is currently abused to store packet size, which breaks AV_CODEC_FLAG_COPY_OPAQUE. Use stream_index instead, which is unused in libavcodec and has the same type as size. Found-by: Martin Storsjö
* avfilter/stack_internal: add missing header includesJames Almer2023-03-10
| | | | | | Fixes make checkheaders Signed-off-by: James Almer <jamrial@gmail.com>
* fate/vpx: add a vp9_superframe_bsf testJames Almer2023-03-10
| | | | | | This splits a sample and merges it again, so it also tests the vp9_superframe_split bsf Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: make CBS parse only the OBU types we care aboutJames Almer2023-03-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1dec: parse and export Metadata OBUsJames Almer2023-03-10
| | | | | | | This includes Mastering Display, Content light level, and some ITU-T T35 metadata like closed captions and HDR10+. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/nvenc: avoid failing b_ref_mode check when unsetTimo Rothenpieler2023-03-10
|
* lavfi/graphparser: use correct logging contextAnton Khirnov2023-03-10
|
* lavc/libvpxenc: drop FrameListData.durationAnton Khirnov2023-03-10
| | | | It is write-only.
* lavc/libvpxenc: handle queue desync more gracefullyAnton Khirnov2023-03-10
| | | | | | | | | If the packets returned by libvpx and our internal frame properties queue get desynchronized for some reason (should not happen, but it is not clear libvpx API guarantees this), we will keep adding to the queue indefinitely and never remove anything. Change the code to drain the queue even if timestamps do not match.
* lavc/libvpxenc: drop a useless conditionAnton Khirnov2023-03-10
| | | | A non-NULL packet is always passed to frame_data_apply().
* lavc/libvpxenc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUEAnton Khirnov2023-03-10
|
* lavc/libvpxenc: rename hdr10_plus_fifo and related objectsAnton Khirnov2023-03-10
| | | | | | | | | This AVFifo is used to propagate HDR metadata from input frames to output packets, since libvpx does not allow passing through arbitrary user data. It will be extended to pass through other kinds of data in future commits, so give it a more generic name.
* lavc/libvpxenc: reindentAnton Khirnov2023-03-10
|
* lavc/libvpxenc: drop frame_numberAnton Khirnov2023-03-10
| | | | | | | It is not used, except to check whether the packet is valid before writing HDR metadata to the packet in storeframe(). However, that check serves no purpose, as the encoded packet is already treated as valid higher up in this function.
* lavu/frame: improve AVFrame.opaque[_ref] documentationAnton Khirnov2023-03-10
| | | | | Make them match each other, mention interaction with AV_CODEC_FLAG_COPY_OPAQUE.
* avformat/img2dec: fix unable to find svg format when the svg resources start ↵Wang Yaqiang2023-03-09
| | | | | | | | | | | | with "<svg" or "<!--" svg is xml, but <?xml is not required, it can start with <svg and can have multiple empty lines, or start with <!-- include some comments, but must first line if start with <?xml. Signed-off-by: Wang Yaqiang <wangyaqiang03@kuaishou.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/aea: make the AEA demuxer return EOF at the end of file instead of EIOasivery2023-03-09
| | | | | Signed-off-by: asivery <asivery@protonmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: fix unused variable compiler warningsDevin Heitmueller2023-03-08
| | | | | | | | Due to refactoring, the ctx/cctx variables are never actually used in ff_decklink_write_packet(), so just remove them. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: fix setting of last_pts to only be set for videoDevin Heitmueller2023-03-08
| | | | | | | | | | | | | | The ff_decklink_write_packet() was always caching the last pts received, to be used when calling StopScheduledPlayback(). However because audio and video are on different timebases and the call to StopScheduledPlayback() expects the video timebase, we'll end up sending a weird value to the stop routine if the last packet received contained audio. Move the setting of last_pts to just be for the video stream. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: don't take for granted that first frame to decklink ↵Devin Heitmueller2023-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | output will be PTS 0 The existing code assumed that the first frame received by the decklink output would always be PTS zero. However if running in other timing modes than the default of CBR, items such as frame dropping at the beginning may result in starting at a non-zero PTS. For example, in our setup because we discard probing data and run with "-vsync 2" the first video frame scheduled to the decklink output will have a PTS around 170. Scheduling frames too far into the future will either fail or cause a backlog of frames scheduled far enough into the future that the entire pipeline will stall. Issue can be reproduced with the following command-line: ./ffmpeg -copyts -i foo.ts -f decklink -vcodec v210 -ac 2 'DeckLink Duo (4)' Keep track of the PTS of the first frame received, so that when we enable start playback we can provide that value to the decklink driver. Thanks to Marton Balint for review and suggestion to use AV_NOPTS_VALUE rather than zero for the initial value. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/http: cookie path attribute should be optional not compulsoryMichael J. Walsh2023-03-08
| | | | | | | The path attribute in the Set-Cookie header is optional but treated by ffmpeg as being compulsory. Signed-off-by: Michael J. Walsh <mjfwalsh@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/tls: check for memory allocation failure when setting optionsjackarain2023-03-08
| | | | | Signed-off-by: jackarain <jack.wgm@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/udp: check for memory allocation failure when setting localaddrjackarain2023-03-08
| | | | | Signed-off-by: jackarain <jack.wgm@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* lavf/matroska: add support for ARIB captionsrcombs2023-03-08
|
* avcodec/libdav1d: reindent after previous commitJames Almer2023-03-08
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libdav1d: export Dynamic HDR10+ frame metadataJames Almer2023-03-08
| | | | | | | As defined in https://aomediacodec.github.io/av1-hdr10plus/ Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* lavu/vulkan: fix handle type for 32-bit targetsKacper Michajłow2023-03-07
| | | | | | | Fixes compilation with clang which errors out on Wint-conversion. Signed-off-by: Kacper Michajłow <kasper93@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* vulkan: Fix win/i386 calling conventionMartin Storsjö2023-03-07
| | | | | | | | | | | This fixes the following error when compiling with a modern version of Clang for Windows/i386: src/libavutil/hwcontext_vulkan.c:738:32: error: incompatible function pointer types initializing 'PFN_vkDebugUtilsMessengerCallbackEXT' (aka 'unsigned int (*)(enum VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned int, const struct VkDebugUtilsMessengerCallbackDataEXT *, void *) __attribute__((stdcall))') with an expression of type 'VkBool32 (VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT *, void *)' (aka 'unsigned int (enum VkDebugUtilsMessageSeverityFlagBitsEXT, unsigned int, const struct VkDebugUtilsMessengerCallbackDataEXT *, void *)') [-Wincompatible-function-pointer-types] .pfnUserCallback = vk_dbg_callback, ^~~~~~~~~~~~~~~ Signed-off-by: Martin Storsjö <martin@martin.st>
* codec/arm/hevcdsp_idct_neon: remove duplicate movxufuji4562023-03-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* tests: actually test yadif's 10 and 16-bit functionsJames Darnley2023-03-06
|
* avfilter/graphparser: fix filter instance name when an id is providedJames Almer2023-03-06
| | | | | | | | | Restores the behavior of naming the instance filter@id, which was accidentally changed to simpy id in commit f17051eaae. Fixes ticket #10226. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: base pcmC endianness on just the LSBJan Ekström2023-03-05
| | | | | | | | | | As per 23003-5:2020, the rest of the bits are reserved, and thus in the future they may be utilized for something else. Quote: format_flags is a field of flags that modify the default PCM sample format. Undefined flags are reserved and shall be zero. The following flag is defined: 0x01 indicates little-endian format. If not present, big-endian format is used.
* avformat/mov: check that pcmC box is of the expected typeJan Ekström2023-03-05
| | | | | | As per 23003-5:2020 this box is defined as PCMConfig extends FullBox(‘pcmC’, version = 0, 0), which means that version is 0 and flags should be zero.
* lavfi/buffersrc: issue more specific error in case of invalid parametersStefano Sabatini2023-03-05
|
* avcodec/ac3: Remove unused fieldsNicolas Gaullier2023-03-02
| | | | | Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: disable an obsolete hack for real videoAnton Khirnov2023-03-02
| | | | | | AVCodecContext.slice_{count,offset} are unneeded since 2007, commit 383b123ed37df4ff99010646f1fa5911ff1428cc and following. Deprecate those fields.
* doc/filters: update SITI descriptionWerner Robitza2023-03-02
| | | | The filter implements the 'legacy' version from a superseded recommendation.
* avcodec/version: bump minor version to accommodate spatial audio detectionMarth642023-03-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* avcodec/dca_xll: add detection of DTS:X and DTS:X IMAXMarth642023-03-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* avcodec/mlpdec: add detection of Atmos spatial extension profile in TrueHDMarth642023-03-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* avcodec/eac3dec: add detection of Atmos spatial extension profileMarth642023-03-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* avcodec/aacps_tablegen: fix build error after avutil bumpZhao Zhili2023-03-02
| | | | | | | | | Fix tickets #10225 DECLARE_ALIGNED has been moved to mem_internal.h. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com> Reviewed-by: Anton Khirnov <anton@khirnov.net>
* libavcodec/libvpxenc: move libvpx-vp9 init_static_data function to the only ↵James Almer2023-03-01
| | | | | | place it's used Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/libvpxdec: remove unnecessary init_static_data functionJames Almer2023-03-01
| | | | | | | It's used only by the encoder. Reviewed-by: James Zern <jzern@google.org> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/pthread_frame: remove forgotten deprecation warning wrappersJames Almer2023-03-01
| | | | | | | Missed in e0786a8e. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>