summaryrefslogtreecommitdiffstats
path: root/libavfilter
Commit message (Collapse)AuthorAgeFilesLines
* avfilter/af_bs2b: remove unecessary initializer from layoutsJames Almer2024-09-051-2/+2
| | | | | | Fixes compilation with msvc. Signed-off-by: James Almer <[email protected]>
* avfilter/af_asr: remove unecessary initializer from layoutsJames Almer2024-09-051-2/+2
| | | | | | Fixes compilation with msvc. Signed-off-by: James Almer <[email protected]>
* avfilter/af_apulsator: remove unecessary initializer from layoutsJames Almer2024-09-051-2/+2
| | | | | | Fixes compilation with msvc. Signed-off-by: James Almer <[email protected]>
* lavfi/af_channelmap: convert to query_func2()Anton Khirnov2024-09-051-10/+17
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_bs2b: convert to query_func2()Anton Khirnov2024-09-051-8/+11
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_biquads: convert to query_func2()Anton Khirnov2024-09-051-8/+8
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_asr: convert to query_func2()Anton Khirnov2024-09-051-10/+23
| | | | Also, simplify code.
* lavfi/af_asetrate: convert to query_func2()Anton Khirnov2024-09-051-11/+7
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_arnndn: convert to query_func2()Anton Khirnov2024-09-051-8/+6
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_arls: convert to query_func2()Anton Khirnov2024-09-051-8/+8
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_aresample: convert to query_func2()Anton Khirnov2024-09-051-12/+11
|
* lavfi/af_apulsator: convert to query_func2()Anton Khirnov2024-09-051-9/+20
| | | | | Also, simplify code, and drop a redundant call that also happens implicitly in generic code.
* lavfi/af_anlms: convert to query_func2()Anton Khirnov2024-09-051-8/+8
| | | | Also, drop redundant calls that also happen implicitly in generic code.
* lavfi/af_anequalizer: convert to query_func2()Anton Khirnov2024-09-051-23/+9
| | | | | Also, simplify code and drop redundant calls that also happen implicitly in generic code.
* lavfi/af_aiir: convert to query_func2()Anton Khirnov2024-09-051-12/+8
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/af_agate: convert to query_func2()Anton Khirnov2024-09-051-11/+13
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/af_aformat: convert to query_func2()Anton Khirnov2024-09-021-6/+8
|
* lavfi/af_aformat: change options from strings to arraysAnton Khirnov2024-09-021-98/+64
| | | | | Allows to drop custom parsing code, and also the assumption that query_formats() is not called more than once.
* lavfi/af_afir: convert to query_func2()Anton Khirnov2024-09-021-13/+12
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/af_adynamicequalizer: convert to query_func2()Anton Khirnov2024-09-021-8/+8
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/af_acrossover: convert to query_func2()Anton Khirnov2024-09-021-8/+8
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/af_aap: convert to query_func2()Anton Khirnov2024-09-021-8/+8
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi/aeval: convert to query_func2()Anton Khirnov2024-09-021-19/+18
| | | | | | Drop redundant ff_set_common_all_channel_counts() / ff_set_common_all_samplerates() calls, since those happen implicitly in generic code.
* lavfi: add query_func2()Anton Khirnov2024-09-026-36/+347
| | | | | | | | It differs from query_func() in accepting arrays of input/output format configurations to be filled as callback parameters. This allows to mark the filter context as const, ensuring it is not modified by this function, as it is not supposed to have any side effects beyond returning the supported formats.
* avfilter/formats: correct error messageGyan Doshi2024-09-011-1/+1
| | | | The check is for color space, not range.
* avfilter/unsharp: Merge header into .cZhao Zhili2024-08-262-63/+33
| | | | | | It was shared with opencl implementation. Signed-off-by: Zhao Zhili <[email protected]>
* avfilter: inherit input color range for videotoolbox filtersGnattu OC2024-08-243-1/+7
| | | | | | | | | The color range should be set to match the input when creating the VideoToolbox context. Otherwise, the new context will default to limited range, creates inconsistencies with full range inputs. Signed-off-by: Gnattu OC <[email protected]> Signed-off-by: Zhao Zhili <[email protected]>
* lavfi: make FFFilterContext private to generic codeAnton Khirnov2024-08-193-23/+26
| | | | Nothing in it needs to be visible to filters.
* lavfi/filters: move functions only used by generic code to avfilter_internal.hAnton Khirnov2024-08-192-15/+15
|
* lavfi: drop internal.hAnton Khirnov2024-08-19452-503/+24
| | | | | | All that remains in it are things that belong in avfilter_internal.h. Move them there and remove internal.h
* lavfi/f_streamselect: remove a no-op ff_filter_config_links() callAnton Khirnov2024-08-191-1/+1
| | | | It does not do anything when the links are already configured.
* lavfi/inernal: move ff_fmt_is_regular_yuv() declaration to video.hAnton Khirnov2024-08-194-6/+8
|
* lavfi: move ff_parse_{sample_rate,channel_layout}() to audio.[ch]Anton Khirnov2024-08-195-65/+62
| | | | That is a more appropriate place for those functions.
* lavfi: move ff_parse_pixel_format() to vf_format, its only callerAnton Khirnov2024-08-193-27/+16
| | | | | | The only thing this function does beyond calling av_get_pix_fmt() is falling back onto parsing the argument as a number. No other filters should need to do this.
* lavfi/internal: move functions used by filters to filters.hAnton Khirnov2024-08-19228-294/+535
| | | | | | internal.h currently mixes interfaces intended to be used by filters with those that should be limited to generic filter- or graph-level code.
* avfilter/f_zmq: fix graph argumentJames Almer2024-08-161-1/+2
| | | | | | Fixes regression since d566a37003d0257229f06436bef8062fee3af6e9. Signed-off-by: James Almer <[email protected]>
* avfilter/vf_zscale: remove unused fieldsNiklas Haas2024-08-161-5/+0
|
* avfilter/vf_scale: fix 4:1:0 interlaced chroma posNiklas Haas2024-08-161-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current logic hard-coded a check for v_sub == 1. We can extend this logic slightly to cover the case of interlaced 4:1:0 (which has v_sub == 2). Here is a diagram explaining this scenario (with center-siting): a a a a a a a a b b b b b b b b X X a a a a a a a a b b b b b b b b a a a a a a a a b b b b b b b b Y Y a a a a a a a a b b b b b b b b a = even luma rows b = odd luma rows X = even chroma sample Y = odd chroma sample In progressive mode, the chroma samples sit at (384, 384) respectively. Relative to the 8x4 grid of even luma samples (a), the X sample sits at: h_chr_pos = 384 v_chr_pos = 192 Relative to the 8x4 grid of odd luma samples (b), the Y sample sits at: h_chr_pos = 384 v_chr_pos = 576 The new code calculates the correct values in all circumstances.
* avfilter/vf_scale: add in/out_chroma_locNiklas Haas2024-08-161-24/+62
| | | | | | | | | | | Currently, this just functions as a more principled and user-friendly replacement for the (undocumented and hard to use) *_chr_pos fields. However, the goal is to automatically infer these values from the input frames' chroma location, and deprecate the manual use of *_chr_pos altogether. (Indeed, my plans for an swscale replacement will most likely also end up limiting the set of legal chroma locations to those permissible by AVFrame properties)
* avfilter/swscale: always fix interlaced chroma locationNiklas Haas2024-08-161-4/+10
| | | | | | | | | | | | The current logic only fixes it when the user does not explicitly specify the chroma location. However, this does not make a lot of sense. Since there is no way to specify this property per-field, it effectively *prevents* the user from being able to correctly scale interlaced frames with top-aligned chroma. It makes more sense to consider the user setting in the progressive case only, and automatically adapt it to the correct interlaced field positions, following the details of the MPEG specification.
* avfilter/vf_setparams: remove unnecessary options boundsNiklas Haas2024-08-161-58/+58
| | | | AV_OPT_TYPE_CONST does not use min/max, we can leave them as 0.
* avfilter/vf_setparams: allow setting chroma locationNiklas Haas2024-08-161-3/+16
| | | | Shockingly, there isn't currently _any_ filter for overriding this.
* vulkan_filter: don't require the storage flag for the base frames formatLynne2024-08-161-10/+3
| | | | | | | | | | We check for whether subformats support storage immediately below. Those are the ones we require storage for, rather than the base format itself. This permits better reuse of AVHWFrame contexts. The patch also removes an always-false check in the subformat check.
* vulkan_filter: allow reusing frame contexts with DRM tilingLynne2024-08-161-2/+2
| | | | | There's no reason not to permit this, particularly if a user wants to manipulate images which will be exported back to DRM.
* vulkan: enable encoding of images if video_maintenance1 is enabledLynne2024-08-161-12/+29
| | | | | | | | | | Vulkan encoding was designed in a very... consolidated way. You had to know the exact codec and profile that the image was going to eventually be encoded as at... image creation time. Unfortunately, as good as our code is, glimpsing into the exact future isn't what its capable of. video_maintenance1 removed that requirement, which only then made encoding images practically possible.
* lavfi: move AVFilterLink.graph to FilterLinkAnton Khirnov2024-08-155-10/+10
|
* lavfi: move AVFilterLink.frame_wanted_out to FilterLinkInternalAnton Khirnov2024-08-156-21/+25
|
* lavfi: move AVFilterLink.{frame,sample}_count_{in,out} to FilterLinkAnton Khirnov2024-08-1556-116/+209
|
* lavfi: move AVFilterLink.frame_rate to FilterLinkAnton Khirnov2024-08-15120-239/+503
| | | | Co-developed-by: James Almer <[email protected]>
* lavfi: move AVFilterLink.current_pts(_us) to FilterLinkAnton Khirnov2024-08-155-24/+25
|