This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem Having 2 video inputs (multiplexed) in a single video port (DM6446) using TVP5146

Other Parts Discussed in Thread: TVP5147

 SHAPE  \* MERGEFORMAT

DM6446ZWT

TVP5147

ADC

 

ADC

 

S-video

Composite

Cam1

Cam2

VID IN

VID OUT

 

 

 

System Description:

===============

We have DM6446 with one video input port and one video output port. We also have TVP5147 in the system whose output is connected to Video IN of DM6446. On the input side of TVP5147, we intend to connect two NTSC cameras giving composite output.

 

Software

========

DVSDK version 2.0 and associated software packages.

 

Requirement

==========

Our requirement is to run both the cameras ‘cam1’ and ‘cam2’ simultaneously at run time. We expect DM6446 video input port to get frames from cam1 and cam2 alternatively.

 

 

 

 

 

 

What we do

=========

//numBufs = 3;

//Buffers allocated by kernel/driver

Capture_create(); //where internally open() is called on /dev/video0 + other init ioctls

 

While(1){

            Capture_get(); //DQBuf

            Switch input of TVP using I2C

            Capture_put(); //QBuf

}

 

Capture_delete(); //close() + freeing of memory etc

 

Problem

=======

While loop runs for the first time, however second call to Capture_get() reutns ‘E_BUSY’ error.

 

Questions

=======

  1. Does the hardware configuration described above correct for our requirement
  2. If the hardware design above is correct, does the current V4L2 driver supplied with DVSDK 2.0 support this behaviour?
  3. If the hardware design above is correct and V4L2 does not support this, can you tell us in brief how we can achieve this?