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.

Regarding Dual Encoding of 1080p

Other Parts Discussed in Thread: TVP5147

Hi ALL,

we have developed our own DM8168 based Hardware.

and we developed the Encoder application based on "capture_encode" example (EZSDK Version 5.05.02.00).

Now we want to do the Dual Encoding of 1080p30 and 1080p60. 

Is this possible on this Processor and EZSDK?

Regards

R.Abdul Rahman

  • Hello,

    The DM8168 has 3 HDVICP modules. Each module is capable encode/decode  1x 1080p60 or 2x 1080p30 or 4x 720p30 or 10x SD h.264. In your case 2 HDVICPs will be use.

    Is the usecase is one VFCC and two VENCs?

    If yes you could try for using same buffer to be encode by two encoders, you can use OMX_useBuffer call on two encoders, to get different buffer headers for same buffer. Then whenever capture gives o/p buffer, you can call EmptyThisBuffer on both the encoders, and when both encoders are done you can return the buffer to capture.

    Best Regards,

    Margarita

  • Hello Margarita,

    Thanks for your response.

    In My case, I have to do dual 1080p60.

    that is capture two 1080p60 from different input source and encode and stream them.

    Please tell us how to achieve this in the current EZSDK (Version 5.05.02.00) .

    Thanks for all your help.

    Regards,

    R. Abdul Rahman.

  • Hello,

    Regarding OMX there is two use case:

    1. Two capture_encode demos:

    The current EZSDK  supports only one instance of capture functionality (via the tvp 7002) through OMX VFCC.   Running two instances of capture_encode demo will not work . It will give  syslink notify errors as one instance has already allocated  resources  the second one will fail.

    RDKs has multiple channel support.

    2. One instance of capture encode demo with two VFCCs and two VENCs.

    I have not tried to modify the one capture_encode example with two Video Frame Capture Components
     from different inputs and two VENCs.

    Per OMX User guide:

    The job of the VFCC is to capture the frames provided to it through the video input ports (VIP) on the DM816x.
    The DM816x contains 2 VIP ports – VIP1 and VIP2 that supports max. 24-bit interfaces. Each of the ports can be re-configured as two 8 bit VIP ports – in that case, these ports are named VIP1A, VIP1B, VIP2A and VIP2B. The SW model is to normally create instance of the VFCC component for each VIP PORT. Since DM816x allows up to 4 VIP ports, the IL client can instantiate up to 4 VFCC components with configuration to use specific VIP port.

    Check the OMX user guide.

    Regarding V4l2:

    You could use V4L2 for dual capture but some changes will be required like:

    Enable the second input port in the V4L2 capture driver VIP1.

    If you want to use the video coming from the TVP5147 additional changes might be required:

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    You could use gstreamer (example pipeline for capture->display):

    gst-launch v4l2src device=/dev/video0 always-copy=false queue-size=8  ! 'video/x-raw-yuv,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' !  omxbufferalloc numBuffers=12 ! gstperf ! v4l2sink device=/dev/video2 v4l2src device=/dev/videoX always-copy=false queue-size=8  ! 'video/x-raw-yuv,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' !  omxbufferalloc numBuffers=12 ! gstperf ! v4l2sink device=/dev/video1

    Best Regards,

    Margarita

  • Hello Margarita,

    Thanks for the Information.

    we modified the "capture_encode" demo application to do the Dual Encoding and it is working fine.

    but the Issue is sometime the application hangs and need reboot to proceed further

    if you have any Idea about this please share with us, it will be very helpful for us to Fix this issue

    Thank you very much for your help.

    Regards

    R.Abdul Rahman

  • Hello,

    Please share the debug log when  the hang appears:

    ./loggerSMDump.out 0x9e400000 0x100000 all

    http://processors.wiki.ti.com/index.php/OMX_Viewing_Media_Controller_Traces

    Best Regards,

    Margarita

  • Hello Margarita,

    Still we are trying to reproduce the hanging issue, but it is not happening now.

    once we get the log dump we will send you that.

    THANKS A LOT for your help.

    Regards

    R.Abdul Rahman

  • Hello,

    Abdul Rahman Rasool said:

    Still we are trying to reproduce the hanging issue, but it is not happening now.

    once we get the log dump we will send you that.

    Let me know when you have it.

    Best Regards,

    Margarita