On Mon, May 31, 2021 at 09:55:11AM +0200, Anton Khirnov wrote:
> Currently existing sws_scale() accepts as input a user-determined slice
> of input data and produces an indeterminate number of output lines.

swscale() should return the number of lines output
it does "return dstY - lastDstY;"


> Since the calling code does not know the amount of output, it cannot
> easily parallelize scaling by calling sws_scale() simultaneously on
> different parts of the frame.
> 
> Add a new function - sws_scale_dst_slice() - that accepts as input the
> entire input frame and produces a specified slice of the output. This
> function can be called simultaneously on different slices of the output
> frame (using different sws contexts) to implement slice threading.

an API that would allow starting before the whole frame is available
would have reduced latency and better cache locality. Maybe that can
be added later too but i wanted to mention it because the documentation
exlicitly says "entire input"

Also there are a few tables between the multiple SwsContext which are
identical, it would be ideal if they can be shared between threads
I guess such sharing would need to be implemented before the API is
stable otherwise adding it later would require application to be changed

Thanks

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

What does censorship reveal? It reveals fear. -- Julian Assange

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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