From: Chen Yufei <cyfdecyf@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>, Chen Yufei <cyfdecyf@gmail.com>, anton@khirnov.net Cc: haihao.xiang@intel.com, quinkblack@foxmail.com Subject: Re: [FFmpeg-devel] [PATCH v2 1/1] avfilter/vf_vpp_qsv: apply 3D LUT from file. Date: Tue, 30 Jan 2024 10:59:18 +0800 Message-ID: <CAAoCq2vn1bxij0X_L+Uwqda+wZOQ0ecPwmknUyYNZ28XPd7-VA@mail.gmail.com> (raw) In-Reply-To: <170654804274.8914.5638710432281195902@lain.khirnov.net> On Tue, Jan 30, 2024 at 1:07 AM Anton Khirnov <anton@khirnov.net> wrote: > > Quoting Chen Yufei (2024-01-29 04:01:51) > > On Sun, Jan 28, 2024 at 10:10 PM Anton Khirnov <anton@khirnov.net> wrote: > > > > > > Quoting Zhao Zhili (2024-01-28 14:51:58) > > > > > > > > > > > > > On Jan 28, 2024, at 18:31, Anton Khirnov <anton@khirnov.net> wrote: > > > > > > > > > > Quoting Chen Yufei (2024-01-25 17:16:46) > > > > >> On Wed, Jan 24, 2024 at 7:39 PM Anton Khirnov <anton@khirnov.net> wrote: > > > > >>> > > > > >>> Quoting Chen Yufei (2024-01-20 16:14:29) > > > > >>>> Usage: "vpp_qsv=lut3d_file=<path to file>" > > > > >>> > > > > >>> Passing file paths to a filter and having the filter load the file is > > > > >>> not recommended, it is generally preferable to have an > > > > >>> AV_OPT_TYPE_BINARY option, with IO performed by the caller. > > > > "is not recommended, it is generally preferable" > > I take this as using `AV_OPT_TYPE_BINARY` is not a MUST. > > > > I'm not an English native speaker, correct me If I'm wrong. > > > > > > >>> > > > > >>> E.g. in ffmpeg CLI you can do > > > > >>> -filter vpp_qsv=/lut3d=<file> > > > > >>> to load the option value from a file. > > > > >> > > > > >> I searched for code using `AV_OPT_TYPE_BINARY`. > > > > >> `vf_libplacebo.c` gives me a good example. > > > > >> > > > > >> The LUT parsing code is took from `libavfilter/vf_lut3d.c`. > > > > >> It's mainly text processing which calls functions on `FILE*`. > > > > >> Using `AV_OPT_TYPE_BINARY` would require many changes in LUT paring > > > > >> code, and also need to change the command line option of `vf_lut3d`. > > > > >> So I'd keep the lut file option as is. > > > > > > > > > > Your patch is rejected then. > > > > Now I understand using `AV_OPT_TYPE_BINARY` is a must. > > Okay, sorry for being unclear. When I say 'recommended', it means it > must be done this way unless there is a strong technical reason to do it > otherwise. But then please provide a detailed explanation, not > something vague like "didn't seem appropriate". After taking more time looking into how to use `AV_OPT_TYPE_BINARY`, I'll give more details. 1. For LUT file parsing, I'm not writing new code, it's taken from existing vf_lut3d.c. I avoid making unnecessary modifications to avoid breaking things. 2. The original code relies on file name to detect LUT file type, uses `fgets` and the like. From my understanding, `AV_OPT_TYPE_BINARY` does not give the file name to the calling filter. If we use `AV_OPT_TYPE_BINARY`, then how to do file type detection? Adding other cmdline option would require changing vf_lut3d's cmdline option. 3. I tried to find basic text processing utils in FFmpeg to avoid writing ad-hoc text processing code in lut3d.c I've found `FFTextReader` in libavformat/subtitles.h, but I don't think I should use it in filter code. I'm not sure if it's OK to follow the code in `FFTextReader` and duplicate read line logic in lut3d.c. Besides, there's `BINARY` in the name of `AV_OPT_TYPE_BINARY`, but what I'm specifying here is text file. This is not a big problem, but seem like an option name like `AV_OPT_TYPE_TEXT` can express the usage of the option more clear in code. > > -- > Anton Khirnov -- Best regards, Chen Yufei _______________________________________________ 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:[~2024-01-30 2:59 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-01-20 15:14 [FFmpeg-devel] [PATCH v2 0/1] " Chen Yufei 2024-01-20 15:14 ` [FFmpeg-devel] [PATCH v2 1/1] " Chen Yufei 2024-01-24 11:39 ` Anton Khirnov 2024-01-25 16:16 ` Chen Yufei 2024-01-28 10:31 ` Anton Khirnov 2024-01-28 12:22 ` Paul B Mahol 2024-01-28 13:51 ` Zhao Zhili 2024-01-28 14:10 ` Anton Khirnov 2024-01-28 15:46 ` Zhao Zhili 2024-01-28 16:52 ` Anton Khirnov 2024-01-28 17:27 ` Zhao Zhili 2024-01-29 3:01 ` Chen Yufei 2024-01-29 3:28 ` Zhao Zhili 2024-01-29 12:09 ` Chen Yufei 2024-01-29 17:07 ` Anton Khirnov 2024-01-30 2:59 ` Chen Yufei [this message] 2024-02-03 11:09 ` Chen Yufei 2024-01-23 1:59 ` [FFmpeg-devel] [PATCH v2 0/1] " Xiang, Haihao 2024-01-23 12:09 ` Chen Yufei 2024-01-24 7:24 ` Xiang, Haihao
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=CAAoCq2vn1bxij0X_L+Uwqda+wZOQ0ecPwmknUyYNZ28XPd7-VA@mail.gmail.com \ --to=cyfdecyf@gmail.com \ --cc=anton@khirnov.net \ --cc=ffmpeg-devel@ffmpeg.org \ --cc=haihao.xiang@intel.com \ --cc=quinkblack@foxmail.com \ /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