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.

About EZSDK_5_05



Hi ,

    I am using ezsdk_5_05 + EVM8168, and have success in decoding 4 channels of 720P60 video and mosaicdisplay.

    I am going to decode 16 channels of D1 video and mosaicdisplay.

    How could I do ? Change the code OR increase the heap memory?

    Thanks!

    Best Regards!

Strachey

  • The follow is the logs of my try to decode 6 channels of D1 video and mosaicdisplay.

    Thanks!

     root@dm816x-evm:/usr/share/ti/ti-omx# ./mosaic8.xv5T -i video_D1_1.h264 -j video
    _D1_1.h264 -k video_D1_2.h264 -l video_D1_2.h264 -m video_D1_1.h264 -n video_D1_
    2.h264 -a video_D1_1.h264 -b video_D1_1.h264 -w 720 -h 480 -f 30 -g 0 -p 6 -d 0
    input file1: video_D1_1.h264
    input file2: video_D1_1.h264
    input file3: video_D1_2.h264
    input file4: video_D1_2.h264
    input file5: video_D1_1.h264
    input file6: video_D1_2.h264
    input file7: video_D1_1.h264
    input file8: video_D1_1.h264
    width: 720
    height: 480
    frame_rate: 30
    gfx: fbdev disable
    pip: pip enable
    display_id: 0
    Decoder-Mosaic Display example
    ===============================
    OMX_Init completed
     UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    opening file
    decoder component 0 is created
    level set is 12
    decoder component 1 is created
    level set is 12
    decoder component 2 is created
    level set is 12
    decoder component 3 is created
    level set is 12
    decoder component 4 is created
    level set is 12
    decoder component 5 is created
    level set is 12
    scalar component 0 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    scalar component 1 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    scalar component 2 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    scalar component 3 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    scalar component 4 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    scalar component 5 is created
    set input port params (width = 720, height = 480)
    set output port params (width = 480, height = 270)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got event :: Enable/Disable Event
    enable scalar output port
    got event :: Enable/Disable Event
    found handle 0x16c220 for component OMX.TI.VPSSM3.VSWMOSAIC
    got vswmosaic handle
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set input port params (width = 480, height = 270)
    vswmosaic: set output port params (width = 1920, height = 1080)
    vswmosaic: Width=1920, Height=1080, pitch=3840
    Mosaic layout configuration:: Successful
    enable input port 0
    got event :: Enable/Disable Event
    enable input port 1
    got event :: Enable/Disable Event
    enable input port 2
    got event :: Enable/Disable Event
    enable input port 3
    got event :: Enable/Disable Event
    enable input port 4
    got event :: Enable/Disable Event
    enable input port 5
    got event :: Enable/Disable Event
    enable output port 16
    got event :: Enable/Disable Event
    found handle 0x16fd28 for component OMX.TI.VPSSM3.VFDC
    got display handle
    found handle 0x173d30 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 1843200
    set input port params (width = 720, height = 480)
    setting input and output memory type to default
    enable input port
    got event :: Enable/Disable Event
    connect call for decoder-scalar
    connect call for scalar-swmosaic
    connect call for swmosaic-display 
    decoder 0 inport buffers allocated
    Allocated buffer from shared region: 408a4100 Physical addr: b3efb100
    Allocated buffer from shared region: 40961a00 Physical addr: b3fb8a00
    Allocated buffer from shared region: 40a1ea00 Physical addr: b4075a00
    Allocated buffer from shared region: 40adba00 Physical addr: b4132a00
    Allocated buffer from shared region: 40b98a00 Physical addr: b41efa00
    Allocated buffer from shared region: 40c55a00 Physical addr: b42aca00
    decoder outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    decode 0 state IDLE
    Scalar 0 input port use buffer done
    scalar 0 outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    scalar 0 state IDLE
    decoder 1 inport buffers allocated
    Allocated buffer from shared region: 40fccc80 Physical addr: b4623c80
    Allocated buffer from shared region: 4108a580 Physical addr: b46e1580
    Allocated buffer from shared region: 41147580 Physical addr: b479e580
    Allocated buffer from shared region: 41204580 Physical addr: b485b580
    Allocated buffer from shared region: 412c1580 Physical addr: b4918580
    Allocated buffer from shared region: 4137e580 Physical addr: b49d5580
    decoder outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    decode 1 state IDLE
    Scalar 1 input port use buffer done
    scalar 1 outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    scalar 1 state IDLE
    decoder 2 inport buffers allocated
    Allocated buffer from shared region: 416f5800 Physical addr: b4d4c800
    Allocated buffer from shared region: 417b3100 Physical addr: b4e0a100
    Allocated buffer from shared region: 41870100 Physical addr: b4ec7100
    Allocated buffer from shared region: 4192d100 Physical addr: b4f84100
    Allocated buffer from shared region: 419ea100 Physical addr: b5041100
    Allocated buffer from shared region: 41aa7100 Physical addr: b50fe100
    decoder outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    decode 2 state IDLE
    Scalar 2 input port use buffer done
    scalar 2 outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    scalar 2 state IDLE
    decoder 3 inport buffers allocated
    Allocated buffer from shared region: 41e1e380 Physical addr: b5475380
    Allocated buffer from shared region: 41edbc80 Physical addr: b5532c80
    Allocated buffer from shared region: 41f98c80 Physical addr: b55efc80
    Allocated buffer from shared region: 42055c80 Physical addr: b56acc80
    Allocated buffer from shared region: 42112c80 Physical addr: b5769c80
    Allocated buffer from shared region: 421cfc80 Physical addr: b5826c80
    decoder outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    decode 3 state IDLE
    Scalar 3 input port use buffer done
    scalar 3 outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    scalar 3 state IDLE
    decoder 4 inport buffers allocated
    Allocated buffer from shared region: 42546f00 Physical addr: b5b9df00
    Allocated buffer from shared region: 42604800 Physical addr: b5c5b800
    Allocated buffer from shared region: 426c1800 Physical addr: b5d18800
    Allocated buffer from shared region: 4277e800 Physical addr: b5dd5800
    Allocated buffer from shared region: 4283b800 Physical addr: b5e92800
    Allocated buffer from shared region: 428f8800 Physical addr: b5f4f800
    decoder outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    decode 4 state IDLE
    Scalar 4 input port use buffer done
    scalar 4 outport buffers allocated
    got event :: *** unrecoverable error: OMX_ErrorInsufficientResources (0x80001000)

  • Hello,

    It is not possible to go beyond 8 channels with EZSDK. For multichannel, DVR RDK is recommended. Check here for more info:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/218671.aspx?pi67923=1

    Best regards,

    Pavel

  • Thanks,Pavel.

    Best Regards!

  • Hi Pavel,

        As the picture showed,I just wanted to decode 16 D1 files,did not need capture component.

        Could EZSDK support?Or could I only use DVR RDK?

        By the way,I followed the doc <How to increase Heap Memory available to VPSS and VICP M3 cores v2>:

            1、changed the base address and size of memory sections,

             2、build mm_dm81xxbm.bin and copied it to the Target

            3、edited /etc/init.d/load-hd-firmware.sh on the Target

            4、changed A8's memory map and build the application.

        The followed pic shows the sys_top.The first is before change,and the second is after changed.I think it does not work.Is there something wrong I did ?

        Thanks!

        Best Regards!

    Strachey

     

  • Hi,

    Before proceeding, please make sure you can parse 16 D1 streams on A8. If this is ONLY application on DM8168, you want to use, EZSDK could support this, however current version has limitation of 8 channels only. As suggested, you could explore RDK as it suits more for multichannel apps.

    Regards

    Vimal

  • Hi Qinzhan,

    This is a link to E2E thread explaining the differences between EZSDK and DVR RDK:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/166685/608022.aspx

    Regards,

    Pavel