NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

DM81xx Gstreamer FAQ

From Texas Instruments Wiki
Jump to: navigation, search


DM81xx Gstreamer FAQ

Gstreamer.ti.com used to host gstreamer elements ported for several platform like DM6446, DM6467 etc. Are gstreamer elements for DM81xx also added in the same way? Any differences?

The website http://gstreamer.ti.com also hosts the other TI Gstreamer project, the DMAI Gstreamer Plugin. The source code for this project (DM81xx plugin) is hosted in the same SVN repository under the directory trunk/gstreamer_ti_dm81xx. Whereas, DMAI gsteramer project is available at trunk/gstreamer_ti. So, the full SVN path to access the correct version of code is as shown below example:

svn checkout -r <revision> --username <username> https://gstreamer.ti.com/svn/gstreamer_ti/trunk/gstreamer_ti_dm81xx 



Do we have a build for DM8168?

Yes. Build for DM8168 exist but the gstreamer elements for DM8168 have only gone through some basic sanity testing.



Is there any difference in gstreamer build for DM8168 v/s DM8148 SoC?

In the downloaded gstreamer package, Makefile.common at top level directoy is setup for DM8148. To build gstreamer package for DM8168 instead, modify these 2 make variables

  1. EZSDK_INSTALL_DIR - Should point to DM816x EZSDK package
  2. GST_TI_PLATFORM - should be set to "dm816x"

I am getting compile error: .../usr/lib/.libs/libz.so: No such file or directory

copy the libz.so* files as shown below (extracted from README.TXT):

1) Copy the libz.* libraries which is part of the linux devkit as follows -

  cd ti-ezsdk_dm814x-evm_x_xx_xx_xx/linux-devkit/arm-none-linux-gnueabi/usr/lib
 mkdir .libs
 cp libz.* ./.libs/

Do we have a gst-OMX element to capture live video on the DM8148 EVM board

No, it not available yet, but will be available soon. You can check the latest state of all the elements in gst-OMX here



Can the output of omx_scalar element be connected to gst-omx encoders such as omx_h264enc?

No, the current omx_scalar element lacks support for YUV420 SP as output which is the pixel format required by gst-omx encoders. This would be fixed soon.


What is the output format of gst-omx video decoders?

YUV 420 SP (NV12) The output buffers would also have some padding

  • before beginning of the frame
  • at the end of each line
  • at the end of the frame

The exact padding bytes depends on the resolution and decoder.


What is the output format of interlaced frame decoded by gst-omx video decoders?

YUV 420 SP (NV12) But the two fields are present one below the other like this

  • Y (for top field)
  • Y (for bottom field)
  • CbCr (for top field)
  • CbCr (for bottom field)

There might be padding between each of these chunk of data apart from padding mentioned in previous question.


I see two video sinks available, v4l2sink and omx_videosink, which is preferable?

Yes, there are two sinks available and both of them are functional. From roadmap perspective, its preferred to use v4l2 sink. But please note that at the moment v4l2 sink doesn't support interlaced video.


I am trying to play a interlaced content and I see one field on top of other, how do I properly display interlaced content

For interlaced content, you need to specify display mode for omx_ctrl and omx_videosink as below

omx_ctrl display-mode=OMX_DC_MODE_1080I_60  ! omx_videosink display-mode=OMX_DC_MODE_1080I_60

Before this, you should configure the display driver for 1080i output using these commands:

echo 0 > /sys/devices/platform/vpss/display0/enabled echo 1080i-60 > /sys/devices/platform/vpss/display0/mode echo 1 > /sys/devices/platform/vpss/display0/enabled

There are some issues with the interlaced output with some resolutions, you may see the fields mis-aligned. This is a open issue and will be fixed soon.


How do I play video on lcd connected to DM8148 EVM?

To display on the LCD, you would have to set display-device=LCD at both omx_ctrl and omx_videosink.


I get the following compilation error "Unknown C compiler arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-gcc is unable to create an executable file"

Please ensure that the path to cross compiler arm-none-linux-gnueabi-gcc is added to the PATH environment variable. If building as sudo , please ensure that the path is added in the root user settings.


When building gstreamer, I get the following error - "configure: error: This package requires GLib >= 2.22 to compile."

Please issue "make all install" at the top level make. This would install the package configuration files that are used to resolve package dependencies in the target.


How do I view output on LCD when using v4l2

Before running a pipeline with v4l2sink, please issue the following command - echo hdcompmux:dvo2 > /sys/devices/platform/vpss/video0/nodes