summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* configure: Remove av_restrictAndreas Rheinhardt2024-03-15
| | | | | | | | | All versions of MSVC that support C11 (namely >= v19.27) also support the restrict keyword, therefore av_restrict is no longer necessary since 75697836b1db3e0f0a3b7061be6be28d00c675a0. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi/atempo: avoid asendcmd assertion failureRajiv Harlalka2024-03-13
| | | | | | | Check for zeros equal to the total samples early, because in that case we would already be leaving the first few frames out. Fixes trac ticket #10692
* avfilter: update filter timeline state only on main linkGyan Doshi2024-03-11
| | | | | | | | At present, consume_update evaluates timeline state on all links for a multi-input filter. This can lead to the filter being incorrectly en/dis-abled when evaluation on a frame on a secondary link leads to a different result than the frame on the current main link next in line for processing.
* makefile: Clean up missed object files with "make clean"Martin Storsjö2024-03-10
| | | | | | | | | | | | | | | In some builds, the following object files could be left behind after make clean: ./libavfilter/metal/utils.o ./libavfilter/metal/vf_yadif_videotoolbox.metallib.o ./libavcodec/x86/h26x/h2656dsp.o ./libavcodec/neon/mpegvideo.o ./ffbuild/bin2c_host.o Fixes: http://trac.ffmpeg.org/ticket/10895 Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/avfilter: Fix for Incorrect Parameter in ff_filter_config_links联盟少侠2024-03-08
| | | | | | | src/libavfilter/internal.h:255:45: note: passing argument to parameter 'filter' here int ff_filter_config_links(AVFilterContext *filter); Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi: deprecate avfilter_config_links()Anton Khirnov2024-03-08
| | | | It never makes sense for this function to be called by users.
* lavfi: deprecate avfilter_link_free()Anton Khirnov2024-03-08
| | | | It never makes sense for this function to be called by users.
* lavfi/vulkan_filter: fix input formatHaihao Xiang2024-03-08
| | | | | | | | | | | | | | Otherwise s->input_format is always yuv420p. This fixes invalid output format for hwframe download in the command below: ./ffmpeg -init_hw_device vulkan -f lavfi \ -i testsrc=duration=1,format=nv12 \ -vf 'hwupload,format=vulkan,scale_vulkan=1024:768,hwdownload,format=nv12' \ -f null - Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/vf_showinfo: add AVFilmGrainAOMParams supportNiklas Haas2024-03-07
| | | | For testing purposes.
* libs: bump major version for all librariesJames Almer2024-03-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/avfilter: Reorder structure fieldsAndreas Rheinhardt2024-03-07
| | | | | | Move related fields closer together and try to plug holes. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Remove always-NULL pointers to internal contextsAndreas Rheinhardt2024-03-07
| | | | | | | Made possible by db98b0e04e04079be3ee51d14659b660c0f7f77a and 03567ed80cf1cfdbf59f902cbf1dd2c35cc3de6a. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil: remove deprecated FF_API_PKT_DURATIONJames Almer2024-03-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUTJames Almer2024-03-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: remove deprecated FF_API_LIBPLACEBO_OPTSJames Almer2024-03-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fix /// comments that should be ///<Andrew Sayers2024-03-04
| | | | | | Actual command: sed -i -e "s/\([;,] *\)<* *\/\/\/ *<* */\1\/\/\/< /" $( git grep -l "[;,] */// " ) Signed-off-by: Andrew Sayers <ffmpeg-devel@pileofstuff.org>
* avutil/vulkan: Don't autoinclude vulkan_loader.hAndreas Rheinhardt2024-03-03
| | | | | | | Only include it where necessary. Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale_vulkan: Fix typoZhao Zhili2024-03-01
| | | | | | Fix #10875 Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avfilter/tonemap_vaapi: Remove duplicate format checkFei Wang2024-02-26
| | | | | | Supported formats are checked in base function ff_vaapi_vpp_config_output. Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* avfilter/avfilter: Suppress warning for variable only used in av_assert1Andreas Rheinhardt2024-02-25
| | | | | | Forgotten in e7f9edb4698e94135aab24c302226734713548f0. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_convolution: add float user_rdiv[4] to allow user options to ↵Stone Chen2024-02-25
| | | | | | | | | | | | | | | | | | apply correctly Previously to support dynamic reconfigurations of the matrix string (e.g. 0m), the rdiv values would always be cleared to 0.f, causing the rdiv to be recalculated based on the new filter. This however had the side effect of always ignoring user specified rdiv values. Instead float user_rdiv[0] is added to ConvolutionContext which will store the user specified rdiv values. Then the original rdiv array will store either the user_rdiv or the automatically calculated 1/sum. This fixes trac ticket #10294, #10867. Signed-off-by: Stone Chen <chen.stonechen@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/af_pan: Uninitialize channel layoutAndreas Rheinhardt2024-02-20
| | | | | | Fixes a leak in the mov-mp4-pcm-float FATE test. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Move frame_pool to FilterLinkInternalAndreas Rheinhardt2024-02-18
| | | | | | | | | Avoids ugly casts when uninitializing. (One could actually avoid allocating this separately if one were willing to expose FFFramePool to those files including link_internal.h.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Move age_index to FilterLinkInternalAndreas Rheinhardt2024-02-18
| | | | | | | | Also make FFFilterGraph.sink_links a FilterLinkInternal** because sink_links is used to access FilterLinkInternal fields. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Move init_state to FilterLinkInternalAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Move AVFilterGraph private fields to FFFilterGraphAndreas Rheinhardt2024-02-18
| | | | | | | (These fields were in AVFilterGraph although AVFilterGraphInternal existed for years.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfiltergraph: Avoid allocation for AVFilterGraphInternalAndreas Rheinhardt2024-02-18
| | | | | | | | | | To do this, allocate AVFilterGraphInternal jointly with AVFilterGraph and rename it to FFFilterGraph in the process (similarly to AVStream/FFStream). The AVFilterGraphInternal* will be removed on the next major version bump. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfiltergraph: Avoid indirection when freeing filtergraphAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter: Add a header for internal generic-layer APIsAndreas Rheinhardt2024-02-18
| | | | | | | | | This commit moves the generic-layer stuff (that is not used by filters) to a new header of its own, similarly to 5e7b5b0090bdf68e0897fe55ee657fdccc0cbca2 for libavcodec. thread.h and link_internal.h are merged into this header. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Avoid allocation for AVFilterInternalAndreas Rheinhardt2024-02-18
| | | | | | | | | | To do this, allocate AVFilterInternal jointly with AVFilterContext and rename it to FFFilterContext in the process (similarly to AVStream/FFStream). The AVFilterInternal* will be removed from AVFilterContext on the next major bump. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/signature_lookup: Avoid branch when adding to linked listAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/signature_lookup: Remove useless error logsAndreas Rheinhardt2024-02-18
| | | | | | | | These logs use the wrong loglevel and are uninformative; and it is of course highly unlikely that a buffer of 56B can't be allocated. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/signature_lookup: Allocate buffers jointlyAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/signature_lookup: Check for allocation errorAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_signature: Allocate arrays togetherAndreas Rheinhardt2024-02-18
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/v360: Use AV_VIDEO_MAX_PLANESMichael Niedermayer2024-02-16
| | | | | | Issue found through Coverity CID1457948 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avfilter: Fix build with ASSERT_LEVEL >= 1Andreas Rheinhardt2024-02-14
| | | | | | Broken in 86417b759f789383ab658e2eb90890477a79eedf. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi: get rid of FF_INTERNAL_FIELDSAnton Khirnov2024-02-14
| | | | | | | This hack is used to limit the visibility of some AVFilterLink fields to only certain files. Replace it with the same pattern that is used e.g. in lavf AVStream/FFStream and avoid exposing these internal fields in a public header completely.
* all: use designated initializers for AVOption.unitAnton Khirnov2024-02-14
| | | | | | | | | | | | | | | | | | | | | | | | Makes it robust against adding fields before it, which will be useful in following commits. Majority of the patch generated by the following Coccinelle script: @@ typedef AVOption; identifier arr_name; initializer list il; initializer list[8] il1; expression tail; @@ AVOption arr_name[] = { il, { il1, - tail + .unit = tail }, ... }; with some manual changes, as the script: * has trouble with options defined inside macros * sometimes does not handle options under an #else branch * sometimes swallows whitespace
* avfilter/af_hdcd: Drop a redundant logAndreas Rheinhardt2024-02-14
| | | | | | | avfilter_insert_filter() already reports (also with AV_LOG_VERBOSE) when a filter is auto-inserted. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_(bwdif|yadif)_cuda: Remove unused variablesAndreas Rheinhardt2024-02-14
| | | | | | Forgotten in 268062fa15e1c05310f9c3977e0b95ac07eca274. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/buffersrc: allow promoting color range to MPEGNiklas Haas2024-02-13
| | | | | | | | | Otherwise, passing an UNSPECIFIED frame to am MPEG-only filter graph would trigger insertion of an unnecessary vf_scale filter, which would perform a memcpy to convert between the two. This is safe to do because unspecified YUV frames are already universally assumed to be MPEG range, in particular by swscale.
* avfilter/buffersrc: promote unspecified color metadataNiklas Haas2024-02-13
| | | | | | | | | | | | Currently, this only affects untagged RGB/XYZ/Gray, which get forced to their corresponding metadata before entering the filter graph. The main justification for this change, however, is the planned ability to add automatic promotion of unspecified yuv to mpeg range yuv. Notably, this change will never allow accidentally cross-promoting unspecified to jpeg or to a specific YUV matrix, since that is still bound by the constraints of YUV range negotiation as set up by query_formats.
* avfilter/vf_setparams: use YUV colorspace negotiation APINiklas Haas2024-02-13
| | | | | | | | | | | When this filter overrides frame properties, the outgoing frames have a different YUV colorspace than the incoming ones. This requires signalling the new colorspace on the outlink, and in particular, making sure it's *not* set to a common ref with the input - otherwise the point of this filter would be destroyed. Untouched fields will continue being passed through, so we don't need to do anything there.
* avfilter/signature_lookup: Do not dereference NULL pointers after malloc failureMichael Niedermayer2024-02-12
| | | | | | Fixes: CID 1403229 Dereference after null check Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/signature_lookup: dont leave uncleared pointers in sll_free()Michael Niedermayer2024-02-12
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/buffersink: add color_spaces, color_ranges paramsNiklas Haas2024-02-09
| | | | | | An oversight in my previous series. This omission slipped under the radar because fftools/ffmpeg_filter.c did not use these options, instead preferring to insert an explicit format filter.
* avfilter/ddagrab: only use acquired texture on valid updatesTimo Rothenpieler2024-02-09
|
* avfilter/fifo: Remove (a)fifo filtersAndreas Rheinhardt2024-02-08
| | | | | | Obsolete since 4ca1fb9d2a91757c8c4c34dd456abf340e3f765f. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/ccfifo: Improve included headersAndreas Rheinhardt2024-02-07
| | | | | | | We don't need to include fifo.h, because we don't need AVFifo as a complete type. Also add the other used headers directly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>