> 2) Identification:
> A driver supporting DMA to userspace will set the V4L2_FLAG_DMA flag, as
> returned by QUERYCAP.

Hmm, V4L2_FLAG_DMA is a bad name.  Capture to mmap()'ed kernel buffers is
DMA too...

>       struct v4l2_dmabuffer   *dmabuf;

> struct v4l2_dmabuffer
> {
>       void                    *start;
>       unsigned long           size;
>       unsigned long           stride;
>         unsigned long           reserved[2];
> };
> 
> The dmabuf pointer passed by the application is a pointer to an array of
> struct v4l2_dmabuffer, with one element for each plane in the color
> format (for the current formats, that would be one plane for the packed
> formats, and 3 for the planar formats).
> 
> *start is the start address of the buffer.
> size is the size in bytes of the buffer.
> stride is the length in bytes of a line in the buffer.

Hmm, you mix up buffers + format here.  "stride" is redundant with
v4l2_pix_format.bytesperline, which is a bad idea IMHO.

Why the extra struct in the first place?  Why not simply put a pointer
to the userspace buffer into the struct v4l2_buffer?

  Gerd

-- 
Get back there in front of the computer NOW. Christmas can wait.
        -- Linus "the Grinch" Torvalds,  24 Dec 2000 on linux-kernel



_______________________________________________
Video4linux-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/video4linux-list

Reply via email to