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.

Dm8148 decode_mosaicdisplay example with multiple inputs

Hi,


I am new with this forum and just starting with dm8148 on our own HW.

using:

- ti_ezsdk_dm814x-evm_5_05_02_00

- omx_05_02_00_48

I am trying to run decode_mosaicdisplay with multiple inputs, which are small files (176x144) of H264 video. NO audio.

When running:

./decode_mosaicdisplay_a8host_debug.xv5T -i /home/sh1.264 -j /home/sh2.264 -k /home/sh3.264 -w 176 -h 144 -f 15 -g 0 -p 3 -d 0

with one or two inputs, example works fine, but running with 3 or more I get the error:

Assertion at Line no: 380 in /home/bob/ti-ezsdk_dm814x-evm_5_05_02_00/component-sources/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/ResTrack.c: (elem == NULL) : failed

and

Error in OMX_AllocateBuffer()-Output Port State set : OMX_ErrorInsufficientResources

has anyone encounter this kind of error before?

How do I find which resources are getting used?


Thank you!

  • Hello,

    OMX_ErrorInsufficientResources can indicate several error conditions like unable to allocate memory, error in creating event, error allocating pAppData, error in allocating resources in main, error in event retrieve.

    You could run debugging to check why it is failing.
    ./loggerSMDump.out 0x9e400000 0x100000 all
    This is avilable at /usr/share/ti/ti-uia folder in file system.

    I checked on my side it is working:
    ./decode_mosaicdisplay_a8host_debug.xv5T -
    i /usr/share/ti/data/videos/dm816x_1080p_demo.264 -j /usr/share/ti/data/videos/
    dm816x_1080p_demo.264 -k /usr/share/ti/data/videos/dm816x_1080p_demo.264 -w 19
    20 -h 1080 -f 15 -g 0 -p 3 -d 0
    input file1: /usr/share/ti/data/videos/dm816x_1080p_demo.264
    input file2: /usr/share/ti/data/videos/dm816x_1080p_demo.264
    input file3: /usr/share/ti/data/videos/dm816x_1080p_demo.264
    input file4:
    width: 1920
    height: 1080
    frame_rate: 15
    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
    scalar component 0 is created
    set input port params (width = 1920, height = 1080)
    set output port params (width = 320, height = 240)
    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 = 1920, height = 1080)
    set output port params (width = 320, height = 240)
    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 = 1920, height = 1080)
    set output port params (width = 320, height = 240)
    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 0x140648 for component OMX.TI.VPSSM3.VSWMOSAIC
    got vswmosaic handle
    vswmosaic: set input port params (width = 320, height = 240)
    vswmosaic: set input port params (width = 320, height = 240)
    vswmosaic: set input port params (width = 320, height = 240)
    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 output port 16
    got event :: Enable/Disable Event
    found handle 0x144150 for component OMX.TI.VPSSM3.VFDC
    got display handle
    found handle 0x148158 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 4147200
    set input port params (width = 1920, height = 1080)
    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: 41622100 Physical addr: b4cd3100
    Allocated buffer from shared region: 4199ad00 Physical addr: b504bd00
    Allocated buffer from shared region: 41d12d00 Physical addr: b53c3d00
    Allocated buffer from shared region: 4208ad00 Physical addr: b573bd00
    Allocated buffer from shared region: 42402d00 Physical addr: b5ab3d00
    Allocated buffer from shared region: 4277ad00 Physical addr: b5e2bd00
    Allocated buffer from shared region: 42af2d00 Physical addr: b61a3d00
    Allocated buffer from shared region: 42e6ad00 Physical addr: b651bd00
    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: 44273400 Physical addr: b7924400
    Allocated buffer from shared region: 445ec000 Physical addr: b7c9d000
    Allocated buffer from shared region: 44964000 Physical addr: b8015000
    Allocated buffer from shared region: 44cdc000 Physical addr: b838d000
    Allocated buffer from shared region: 45054000 Physical addr: b8705000
    Allocated buffer from shared region: 453cc000 Physical addr: b8a7d000
    Allocated buffer from shared region: 45744000 Physical addr: b8df5000
    Allocated buffer from shared region: 45abc000 Physical addr: b916d000
    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: 46ec4700 Physical addr: ba575700
    Allocated buffer from shared region: 4723d300 Physical addr: ba8ee300
    Allocated buffer from shared region: 475b5300 Physical addr: bac66300
    Allocated buffer from shared region: 4792d300 Physical addr: bafde300
    Allocated buffer from shared region: 47ca5300 Physical addr: bb356300
    Allocated buffer from shared region: 4801d300 Physical addr: bb6ce300
    Allocated buffer from shared region: 48395300 Physical addr: bba46300
    Allocated buffer from shared region: 4870d300 Physical addr: bbdbe300
    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
    vswmosaic inport buffers allocated
    vswmosaic outport buffers allocated
    got event :: State changed to: OMX_StateIdle
    vswmosaic IDLE
    got event :: State changed to: OMX_StateIdle
    ctrl-dc state IDLE
    got event :: State changed to: OMX_StateIdle
    display state IDLE
    got event :: State changed to: OMX_StateExecuting
    display control state execute
    got event :: State changed to: OMX_StateExecuting
    display state execute
    got event :: State changed to: OMX_StateExecuting
    vswmosaic state execute
    got event :: State changed to: OMX_StateExecuting
    scalar state execute
    got event :: State changed to: OMX_StateExecuting
    decoder state execute
    got event :: State changed to: OMX_StateExecuting
    scalar state execute
    got event :: State changed to: OMX_StateExecuting
    decoder state execute
    got event :: State changed to: OMX_StateExecuting
    scalar state execute
    got event :: State changed to: OMX_StateExecuting
    decoder state execute
    display connect thread created
    swmosaic connect thread created
    file read thread created
    decoder 0 connect thread created
    scalar 0 connect thread created
    file read thread created
    decoder 1 connect thread created
    scalar 1 connect thread created
    file read thread created
    decoder 2 connect thread created
    scalar 2 connect thread created
    executing the application now!!!


    BR
    Margarita
  • Hi Margarita, Thank you for reply, i will try loggerSMdump.

    B
  • Hi Margarita,

    I have found the problem,
    I was loading the wrong dm814x_hdvicp.xem3 and dm814x_hdvpss.xem3 with firmware-loader.

    Thank you for your help!
    B