Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

DMAI Known Issues

From Texas Instruments Wiki
Jump to: navigation, search

For more information on DMAI see Davinci Multimedia Application Interface.

This page lists issues found in already released versions of DMAI with workaround where applicable.

Note! This list is deprecated, since DMAI is now hosted on GForge. You can now track issues and workaround here.

DMAI 1.10

Application examples should set alignment of buffers to 128 when cache is turned on (SDOCM00046209)

Application examples in DMAI should set the alignment of buffers used by XDM codecs to 128. Failure to do so may result in memory corruption if the buffer size is not a multiple of 128, and the application is run on a DSP platform where the cache is enabled. This is because CE OSAL uses a default alignment of 0 on the DSP.

This does not affect ARM targets because CMEM on Linux by default allocates on a page boundary, which is a multiple of 128.

Workaround

E.g. in the video_decode_io application you should set the following value before the call to BufTab_create():

gfxAttrs.bAttrs.memParams.align = 128;

DMAI sample applications do not build for DM355 with DVSDK 1.30 (SDOCM00046194)

I installed DMAI 1.10.00.05 into my DVSDK 1.30 directory and tried to re-build it for dm355. The DMAI library itself builds just fine, but the sample applications do not build:

% make dm355_al
...
make[1]: Entering directory `/opt/dmsw/dvsdk_1_30_00_40/dmai_1_10_00_05/packages/ti/sdo/dmai/apps'

Executing make dm355_al in subdirectory audio_decode_io/...
make[2]: Entering directory `/opt/dmsw/dvsdk_1_30_00_40/dmai_1_10_00_05/packages/ti/sdo/dmai/apps/audio_decode_io'

======== Building linux/audio_decode_io_dm355 ========
Configuring application using linux/audio_decode_io_dm355.cfg

xdc.tools.configuro: Error: Can't find platform package ti.platforms.evmDM355
make[2]: *** [linux/audio_decode_io_dm355_config/compiler.opt] Error 2
make[2]: Leaving directory `/opt/dmsw/dvsdk_1_30_00_40/dmai_1_10_00_05/packages/ti/sdo/dmai/apps/audio_decode_io'
make[1]: *** [audio_decode_io/.dm355_al] Error 2
make[1]: Leaving directory `/opt/dmsw/dvsdk_1_30_00_40/dmai_1_10_00_05/packages/ti/sdo/dmai/apps'
make: *** [dm355_al] Error 2

Specifically, the problem seems to be coming from XDC: "Error: Can't find platform package ti.platforms.evmDM355".

Workaround

Download XDC version 3.00.04 from the XDC 3.00 download page and point your Rules.make to use this XDC version instead.

Release notes mention unsupported OMAP3530 build target (SDOCM00046192)

The release notes say that OMAP 3530 is a supported build target, but the Makefiles do not contain this target (o3530_al):

"OMAP3530 ARM Linux (o3530_al build target)"

This is a typo, DMAI 1.10 does not support OMAP3530.

Building DMAI inside DVSDK 1.40 for DSP/BIOS targets fail (SDOCM00051123)

When DMAI is used inside the DVSDK 1.40, the DSP/BIOS targets (dm6467_db etc.) fails to build some applications, since the DVSDK 1.40 codec packages (which ships with no libraries) are picked up by the build scripts.

Workaround

Make sure that the CODEC_INSTALL_DIR make variable is not pointing to the DVSDK 1.40 codec servers. If you just want to build DMAI for a DSP/BIOS target you can either comment out the setting in the DVSDK Rules.make file, or set the variable directly during build in DMAI, e.g.: make CODEC_INSTALL_DIR="" dm6467_db. The build doesn't fail if the codecs are not found, but the specific applications won't be usable without codecs.

The DVSDK 1.40 doesn't come with any codec libraries (only codec servers which are prebuilt DSP images). This means you won't be able to build the DSP targets with the codecs unless you download evaluation versions of the codecs. If you have downloaded evaluation codecs, CODEC_INSTALL_DIR should point to these codecs.

Also, some variables are missing from the DVSDK Rules.make to be able to build the DMAI applications. Therefore you need to add the following variables to the DVSDK Rules.make file (exact directory names vary between DVSDK releases):

TI6X_CGTOOL_DIR=/path/to/cg6x_6_0_16
EDMA3_LLD_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/edma3_lld_1_04_00
BIOSUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_01_00