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.

Capture+Encoder Video Synchronous Issue (DM3730)

Other Parts Discussed in Thread: TVP5146, DM3730

Hi

   The dvsdk_dm3730-evm_4_02_00_06 use dma for capture + encoder. Use  the following gst pipline to test:

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

  gst-launch  -e v4l2src always-copy=FALSE  ! 'video/x-raw-yuv,format=(fourcc)UYVY,width=720,height=576,framerate=(fraction)25/1' !  TIPrepEncBuf  contiguousInputFrame=TRUE  ! queue ! TIVidenc1 codecName=h264enc engineName=codecServer  ! dmaiperf ! mux. alsasrc ! audio/x-raw-int,rate=48000,channels=2 ! ffenc_mp2  bitrate=64000  ! mux. mpegtsmux name=mux ! queue ! filesink location=./samples/test1.ts

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

But the Record video no  Synchronous! Please see upload sample file.

I think it's DMA configure or input   synchronous cause.


Test HW:dm3730 + tvp5146

Test SF: dvsdk 4.02.00.06

 

The sample file:

2046.test1.rar

 


  • Hi peng hong,

           We will test & get back to you on this. But i am wondering if there is a additional step in gst to enable the lib sync.

    Best Regards,

    Velan

  • Hi Velan

         Thanks!

            I found gstreamer_ti-svn919  gsttiprepencbuf.c

            Function gst_tiprepencbuf_copy_input  call dmai API  Framecopy_execute .

            If Framecopy_create fcAttrs.accel=True case sync issue!  This Property set false,sync ok.But Framecopy not accel.

            Framecopy  use the omap-resize HW accel copy  frame.

           Is't  the omap-resize HW  set Correct?

      

          Use  the following gst pipline to test:

    contiguousInputFrame=TRUE / contiguousInputFrame=false enable/disable omap-resize accel copy

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

      gst-launch  -e v4l2src always-copy=FALSE  ! 'video/x-raw-yuv,format=(fourcc)UYVY,width=720,height=576,framerate=(fraction)25/1' !  TIPrepEncBuf  contiguousInputFrame=TRUE  ! queue ! TIVidenc1 codecName=h264enc engineName=codecServer  ! dmaiperf  ! mpegtsmux ! queue ! filesink location=./samples/test1.ts

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

  • Peng,

             I can not figure out lip sync issue with the attached sample (test1.ts) file, more over this is not the kind of stream to identify lip sync issue. Audio is background, not associated with the person in front.

             But after some analysis, i am wondering if you are hitting any of below issues.

             1. DDR bandwidth issue: Refer The TRM at (http://www.ti.com/lit/ug/sprugn4n/sprugn4n.pdf), Since the resizer consume DDR bandwidth & you are using for on the fly (must be 30FPS), i am wondering you hit this DDR bandwidth issue, which could cause lip sync. Since we mostly test with 640x480 & you use 720x576, this might happen.

             2. resizer constraint: As per the above TRM it has the below limitation, with the 720x576 i am still checking if the below issue is happening or not.

                 "The horizontal resizer output rate must not exceed half the functional clock; Moreover, the horizontal resizer output rate must not exceed 100M pixels/s. This limitation applies only for the on-the-fly processing input source."

           You might try with lesser resolution to root cause this issue further. Also please share the sample data where i can easily make out lip sync issue.

    Thanks & Regards,

    Velan