From: Marvin Scholz <epirat07@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH v5 5/5] lavfi/format: add a hwmap auto conversion filter Date: Wed, 07 Jun 2023 10:51:42 +0200 Message-ID: <7FA80446-9AA0-44CF-8135-10A06C4722E5@gmail.com> (raw) In-Reply-To: <20230425072620.512-5-tong1.wu@intel.com> On 25 Apr 2023, at 9:26, Tong Wu wrote: > When two formats lists cannot be merged, a scale filter is > auto-inserted. However, when it comes to hardware map, we have to > manually add a hwmap filter to do the conversion. This patch introduces > an auto hwmap filter to do the hwmap conversion automatically. > Thanks for trying to improve this! I've recently done quite a bit of experimentation with hardware filters and at least for the Cuda - Vulkan - Cuda case, hwmap was useless, and I was told I need to use hwupload instead, so I wonder what cases this would help with? I just fear that, especially given the bad error messages hwmap gives, this will just implicitly insert it because it seemingly works but then just fail to actually do the job and give an absolutely indescriptive error to the user for a filter they did not even insert themselves. > Signed-off-by: Tong Wu <tong1.wu@intel.com> > --- > libavfilter/avfiltergraph.c | 3 ++- > libavfilter/formats.c | 4 ++++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c > index 8af0467bc5..b2b627ad6a 100644 > --- a/libavfilter/avfiltergraph.c > +++ b/libavfilter/avfiltergraph.c > @@ -402,7 +402,8 @@ static int insert_auto_filter(AVFilterContext **convert, AVFilterGraph *graph, > AVFilterContext *ctx; > AVFilterLink *inlink, *outlink; > char inst_name[30]; > - const char *opts = FF_FIELD_AT(char *, neg->conversion_filters[conv_step].conversion_opts_offset, *graph); > + const char *opts = neg->conversion_filters[conv_step].conversion_opts_offset == 0 ? NULL : > + FF_FIELD_AT(char *, neg->conversion_filters[conv_step].conversion_opts_offset, *graph); > const char *name = neg->conversion_filters[conv_step].conversion_filter; > > if (!(filter = avfilter_get_by_name(name))) { > diff --git a/libavfilter/formats.c b/libavfilter/formats.c > index c8e20e5b20..fee10fa0ee 100644 > --- a/libavfilter/formats.c > +++ b/libavfilter/formats.c > @@ -331,6 +331,10 @@ static const AVFilterFormatsFilter filters_video[] = { > .conversion_filter = "scale", > .conversion_opts_offset = offsetof(AVFilterGraph, scale_sws_opts), > }, > + { > + .conversion_filter = "hwmap", > + .conversion_opts_offset = 0, > + } > }; > > static const AVFilterFormatsFilter filters_audio[] = { > -- > 2.39.1.windows.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2023-06-07 8:51 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-04-25 7:26 [FFmpeg-devel] [PATCH v5 1/5] avutil/hwcontext: add a function to get the AVHWDeviceType Tong Wu 2023-04-25 7:26 ` [FFmpeg-devel] [PATCH v5 2/5] avfilter/vf_hwmap: get the AVHWDeviceType from outlink format Tong Wu 2023-04-25 7:26 ` [FFmpeg-devel] [PATCH v5 3/5] lavfi/avfiltergraph: move convert codes into functions Tong Wu 2023-04-25 7:26 ` [FFmpeg-devel] [PATCH v5 4/5] lavfi/format: wrap auto filters into structures Tong Wu 2023-05-13 6:33 ` Paul B Mahol 2023-05-25 7:06 ` Wu, Tong1 2023-06-07 8:42 ` Wu, Tong1 2023-04-25 7:26 ` [FFmpeg-devel] [PATCH v5 5/5] lavfi/format: add a hwmap auto conversion filter Tong Wu 2023-06-07 8:51 ` Marvin Scholz [this message] 2023-06-08 8:47 ` Wu, Tong1
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=7FA80446-9AA0-44CF-8135-10A06C4722E5@gmail.com \ --to=epirat07@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git