From: James Almer <jamrial@gmail.com> To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] SWS cleanup / SPI Funding Suggestion Date: Fri, 13 Oct 2023 19:42:44 -0300 Message-ID: <22919b35-2f3a-494f-8f34-e40e628263f2@gmail.com> (raw) In-Reply-To: <20231014003409.GB5462@haasn.xyz> On 10/13/2023 7:34 PM, Niklas Haas wrote: > On Fri, 13 Oct 2023 21:19:34 +0200 Michael Niedermayer <michael@niedermayer.cc> wrote: >> Hi everyone >> >> I propose using 15k$ from SPI for funding sws cleanup work. >> this is substantially less than what people belive this needs (see IRC logs from yesterday or so) >> So it really is more a small price for a good deed and not proper payment. >> This of course is only available to competent developers. (exact rules or how thats determined >> would still need to be decided unless its a clear case) >> Also the exact outcome and goal would need to be discussed by the community and whoever >> does the work. >> But some goals would probably be to make sws >> * pleasent to work with >> * similar speed or faster >> * proper multithreading >> * proper full colorspace convertion not ignoring gamma, primaries, ... >> * clean / understandable modular design (maybe everything can be a "Filter" inside sws >> that get build into a chain) >> >> Proper payment (50k$ maybe) would be too much in relation to what SPI has ATM (150k$) >> >> Above all, this is just my oppinion, the actual SPI funding also would need to >> be approved by the community. This can happen after a specific volunteer comes forth >> or before, whichever way the community prefers. >> >> thx > > My gut instinct is that the correct path forwards is to first create a > new API which can internally dispatch to swscale, libplacebo or zimg > based on what's compiled/available/preferred (e.g. using GPU filters for > hwframes, CPU filters for swframes, zimg (or vf_colorspace's primitives) > for colorspace conversions ...). > > Much of the pain points of my own recent experience with swscale > revolves around libswscale's very low level API, complete lack of > understanding of most AVFrame metadata, and relatively complex Anton wrote and pushed an AVFrame based API. It can surely be improved/extended to use AVFrame metadata. > configuration requirements. (vf_scale's comments even acknowledge that > libswscale should handle this stuff internally, so users just need to > point an AVFrame at both ends and let it do the right thing > automatically) > > The second pain point of extending libswscale itself is that the > high-level configuration and low-level "scaling" primitives are deeply > entangled, reconfigured in various places, and hard to touch without > fear of breaking edge cases. > > A new API would solve both problems. It would allow us to write new, > AVFrame-based, high-level "business logic", which could continue to call > into the low-level swscale implementation details and kernels for the > time being, and also tap into GPU filters (a la libplacebo) where > possible. > > As time moves on we could replace those underlying primitives by cleaned > up rewrites where necessary, until the dependency on libswscale itself > is null. > > Simultaneously, vf_scale can be rewritten on top of this API, which > would allow e.g. auto-scale filters to start doing scaling on GPU when > conversion between two hwformats is needed. > _______________________________________________ > 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-10-13 22:42 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-13 19:19 Michael Niedermayer 2023-10-13 20:30 ` Vittorio Giovara 2023-10-13 21:23 ` Lynne 2023-10-13 22:02 ` Michael Niedermayer 2023-10-13 22:34 ` Niklas Haas 2023-10-13 22:42 ` James Almer [this message] 2023-10-13 22:54 ` Niklas Haas 2023-10-13 23:00 ` Vittorio Giovara [not found] ` <8A960BE2-8364-4AF8-A9B5-E0551C19F9DF@cosmin.at> 2023-10-13 23:16 ` Cosmin Stejerean via ffmpeg-devel 2023-10-14 14:19 ` Kieran Kunhya 2023-10-14 17:00 ` Michael Niedermayer 2023-10-14 17:24 ` Niklas Haas 2023-10-15 14:36 ` Michael Niedermayer 2023-10-14 17:41 ` Kieran Kunhya 2023-10-14 19:38 ` Vittorio Giovara 2023-10-14 17:26 ` Anton Khirnov 2023-10-14 15:45 ` Michael Niedermayer 2023-10-14 17:53 ` Stefano Sabatini 2023-10-17 14:36 ` Michael Niedermayer [not found] ` <430D0C5B-53A8-4920-B99A-D8BAD816D715@cosmin.at> 2023-10-17 16:58 ` Cosmin Stejerean via ffmpeg-devel 2023-10-18 21:53 ` Stefano Sabatini 2023-10-17 18:33 ` James Almer 2023-10-17 18:50 ` Rémi Denis-Courmont 2023-10-17 21:57 ` Michael Niedermayer 2023-10-17 22:10 ` Michael Niedermayer 2023-10-18 16:30 ` Rémi Denis-Courmont 2023-10-18 22:12 ` Stefano Sabatini
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=22919b35-2f3a-494f-8f34-e40e628263f2@gmail.com \ --to=jamrial@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