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.

Converting Tiled Memory to Non-tiled memory Gstreamer/OMX DM814x

Hi folks,

I am working on a platform using a DM814x and EZSDK 5.05.  We have heavily modified the OMX components to allow ISS capture and resizing.  The image that is being streamed is sized 2592x1944 @ 15fps.

The next part of the project is to rotate the streamed image by 90 degrees.  The best way to do this is using the Tiler and the ISS code that we are using has the capability to use this.

However, it looks like substantial modifications would be required in order to make OMX function correctly with tiled buffers.  I realise that the components that we have can use tiled memory as input, but the Gstreamer/OMX layers seem to have difficulty supporting the tiled memory.

Therefore, the best strategy seems to be to capture the image in the ISS, then convert from tiled memory to non-tiled memory before passing the frame to the rest of the GStreamer/OMX pipeline.

Is this feasible?  Is there a way to convert from tiled memory to non-tiled memory for a 5MP video stream at 15fps?

I had looked at EDMA, but I read on this forum that EDMA cannot access tiled memory (other than the 0 degree view).  Is this correct?

Any help would be greatly appreciated,

Thanks in advance,

Regards,

Terry

  • Hi folks,

    Anyone have any thoughts on this?

    Regards,

    Terry

  • Terry,

    Terry Neill said:
    The next part of the project is to rotate the streamed image by 90 degrees.  The best way to do this is using the Tiler and the ISS code that we are using has the capability to use this.

    The rotation is supported by DMM/TILER hardware module, see DM814x TRM, chapter 6 DMM/TILER. But rotation is not supported in SW by the EZSDK:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/247519.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/166982.aspx

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_04.04.00.02_Feature_Performance_Guide#Features_Not_Supported_12

    It seems like other DM814x SDKs (DRV RDK and IPNC RDK) are supporting rotation is SW:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/358958.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/310774.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/190776.aspx

    See also if the below links will be in help:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_VPSS_Video_Driver_User_Guide#Supported_Standard_IOCTLs_2

    VIDIOC_S_CTRL, VIDIOC_G_CTRL, VIDIOC_QUERYCTRL
    These ioctls are used to set/get and query various V4L2 controls like rotation, mirror and background color. Currently only rotation is supported.

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_User_Guide#TILER

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/336320.aspx

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/248932/872273.aspx#872273

    Regards,
    Pavel