On Thu, 24 Oct 2024 13:08:36 +0200 Anton Khirnov <an...@khirnov.net> wrote:
> Quoting Niklas Haas (2024-10-24 12:02:41)
> > On Thu, 24 Oct 2024 11:30:12 +0200 Anton Khirnov <an...@khirnov.net> wrote:
> > > Does this (or can it) support copy-free passthrough of individual
> > > planes, for cases like YUV420P<->NV12?
> >
> > Not currently, no. We could switch to AVBufferRefs for the plane pointers to
> > add this functionality down the line, but it's not a high priority because
> > doing this will require the much harder problem of rewriting the underlying
> > scaler dispatch logic to begin with.
> >
> > Doing this would not be terribly difficult either way, but the problem is 
> > that
> > swscale currently does not exactly have a good concept of what's happening
> > to each plane - it's all a jumble of ad-hoc cases.
> >
> > One of my plans for SwsGraph is to first make a list of operations to 
> > perform
> > on each plane, and then eliminate reduntant passes to figure out what 
> > special
> > cases and/or noop passes can be optimized. But this has to wait a bit, as 
> > I'm
> > first working on the immediate goal of adding support for more complex
> > colorspaces (by chaining together multiple scaling passes).
>
> Right, as long as it's reasonably implementable down the line I have no
> objections. My concern was mainly about locking ourselves into a
> high-level API that does not allow this, and this constraint then
> propagating into the lower-level implementations.

The public API explicitly documents this behavior. The idea is for users to
call `sws_scale_frame` on a dst frame that has no data pointers allocated.

>
> --
> Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to