Display both camera with android 4.2.2 on sabresd_6dq (imx6)

Showing results for 
Search instead for 
Did you mean: 

Display both camera with android 4.2.2 on sabresd_6dq (imx6)

Contributor III


I am trying to use video4linux2 that is shipped with android to display both camera inputs at the same time.

I tried using OVERLAY, or STREAMING to a buffer and renderind the buffer in an opengl texture.

I also tried using the "read" method to acquire data.

Overall I have the following issues:

- When using V4L2_BUF_TYPE_VIDEO_OVERLAY to setup the stream, I can open both cameras, but when starting the overlay for both, i get a blank image on both.

Also on the console I can see some message like: IPU_IRQ_PRP_VF_OUT_EOF

- When using V4L2_BUF_TYPE_VIDEO_CAPTURE and memory mapping some buffer, I can open both camera stream and capture both stream at the same time, but I get

ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued

On the second stream. I use different buffers for each inputs by doing:

dev->buffers[dev->n_buffers].start =

                        mmap(NULL /* start anywhere */,


                              PROT_READ | PROT_WRITE /* required */,

                              MAP_SHARED /* recommended */,

                              dev->fd, buf.m.offset);

For each device (i have a "device" structure containing the file descriptor and control data for each device)

- When reading from the file ( read(fd, buffer, length)), I get strange colors on the image, and I can not display camera 2 (/dev/video1).

For camera 2 I get the following error on the console

ERROR: v4l2 capture: mxc_v4l_read timeout counter 0

imx-ipuv3 imx-ipuv3.0: Not a CSI channel

My environment:

Camera 1: /dev/video0

Camera 2: /dev/video1

Android 4.2.2_100 from freescale, engineering build

SABRESD board for imx6 (Quad) -> sabresd_6dq.

Using video4linux2 API to acquire camera images.

Any clues/solution?

0 Kudos
0 Replies