IMX Scaler / CSC m2m driver.

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Mar 25 04:36:35 PDT 2015


Le mercredi 25 mars 2015 à 11:02 +0000, Ian Molton a écrit :
> I may be misunderstanding something here, but presumably, all the
> buffers used by hardware are allocated in the kernel, wether they be
> GFP_DMA or GFP_KERNEL. I dont see why userspace would want to
> read / write a buffer between v4l2video3videodec and
> v4l2video0convert,
> so surely all userspace needs to do is tell the kernel which buffer to
> pass along? after all, its allocated in kernel, written in kernel, and
> will be consumed by another driver from kernel memory. Why is
> userspace
> even trying to copy the data at all?

The thread name does not mean this element is doing the copy. The thread
name simply say which element is running a streaming thread.

The remaining copy happens in ximagesink, because we need to copy to
shared X11 server memory. Unless your converter driver can do
capture-io-mode=userptr, there is nothing GStreamer can do about this
copy. It's X11 design that you get X11 to allocate the memory (even
though it's often normal vmalloc memory, and that the server often need
to copy again).

Nicolas

p.s. perf have this -g option, that let you see a callgraph



More information about the gstreamer-devel mailing list