dma buffers for camera

Jan Pohanka xhpohanka at gmail.com
Wed Aug 24 09:45:02 EDT 2011


Hello,

could please anyone explain me a bit situation about using memory buffers  
for dma for video input devices? Unfortunately I don't understand it at  
all.
I want to capture images 1600x1200 from 2 mpix sensor on i.mx27 board.
I gave 8MB to mx2_camera device with dma_declare_coherent_memory.

Unfortunately it seems to be not enough. In UYVY format I need 1600x1200x2  
for one picture, it is cca 3.8MB.
After some digging I noticed, that dma_alloc_coherent() is called three  
times and each time with the 3.8MB demand. Once it is directly from  
mx2_camera driver and two times from videobuf_dma_contig. OK, that is more  
than 8MB available, but why there are so big memory demands for one  
picture?

I'm using gstremer for capturing, so it probably requests several buffers  
with VIDIOC_REQBUFS. Is this behaviour normal, even if there is explicitly  
noted that I want only one buffer?

gst-launch \
   v4l2src num-buffers=1 device=/dev/video1 ! \
   video/x-raw-yuv,format=\(fourcc\)UYVY,width=$WIDTH,height=$HEIGHT ! \
   jpegenc ! \
   filesink location=col_image.jpg


with best regards
Jan


-- 
Tato zpráva byla vytvořena převratným poštovním klientem Opery:  
http://www.opera.com/mail/



More information about the linux-arm-kernel mailing list