on Release Notes
General
This DMAI release is targetted to the DaVinci and OMAP platforms, implementing a thin utility layer on top of the operating system (Linux or DSP/BIOS or WinCE) and the Codec Engine (CE) to assist in quickly writing portable DaVinci and OMAP applications. This document describes the current feature set and its dependencies. A history of changes added for each incremental release is included at the end of the document.
See the DaVinci Wiki for more information on DMAI, including known issues with released versions.
The compatibility information provided in this document assumes you are following the DMAI Conventions when implementing your application.
See the Rebuilding DMAI section of the Davinci Multimedia Application Interface (DMAI) 2.20.00 Build 15 User Guide for instructions on how to build DMAI.
See the DMAI Reference Applications section of the user guide for information about running the sample applications and writing your own.
DMAI is now developed on the TI GForge site, accessible from https://gforge.ti.com/gf/project/dmai. Here you can track issues, download releases and browse the source code. The issues referenced under "Defects Adressed" are now referring to publicly visible Tracker issues.
Features
-
This release only supports these platforms:
-
DM365 ARM Linux (dm365_al build target)
-
OMAPL138 ARM Linux (ol138_al build target)
-
OMAP3530 ARM Linux (o3530_al build target)
There are files and build targets for other targets as well, but they have not been validated as part of this release.
Dependencies
The table below describes the dependencies for each supported DMAI build target, and where to download the components.
version of DMAI depends on and are validated against the components in the DVSDK 4.00 GA release. The easiest way to work with DMAI is to work with this version of the DVSDK.
Note! All ARM applications must add the -lasound linker flag otherwise linking will result in unresolved symbol errors due to ALSA symbols.
Changelog
Since 2.05.00
Defects addressed
-
Tracker #1187 Buffer_delete fails to delete Buffer of size less than 4. Fixed
-
Tracker #1142 Display_fbdev.c on Display_Handle Display_fbdev_create function. Fixed
-
Tracker #1154 Potential memory leak in Buffer_copy of DMAI. Fixed
Compatibility breaks
The Display_Attrs.streamonDisable has been renamed to Display_Attrs.delayStreamon to align with the OMAP3530 implementation.
Since 1.27.00
New features
-
New build system making it easier to add new targets.
-
New release process making it easier to interact with e.g. OpenEmbedded.
-
Now tracking the community Linux kernel.
Defects addressed
N/A
Compatibility breaks
-
Due to lack of community kernel, and sometimes revalidation effort, initially these targets won't be supported: dm357_al and omap3530_aw.
-
The C level API is still compatible with DMAI 1.xx.
Since 1.24.00
New features
-
Support for OMAPL137 ARM Linux added.
Defects addressed
Compatibility breaks
N/A
Since 1.21.00
New features
-
Support for OMAP3530 on WinCE added. This release has been tested on WinCE 6.0 R2.
-
For Omap3530/WinCE, Codec Engine processing modules, Buffer management modules, Processing modules are supported. Source modules, Sink modules, Thread communication modules are not supported.
Defects addressed
-
Tracker #826 Video_encode_io1 does not work for 0 sized frames. Fixed
Compatibility breaks
N/A
Since 1.20.00
New features
-
Support for dm365 was added.
-
Support for B-frames when encoding video was added, see Venc1. For more information on usage, see this wiki topic and the video_encode_io1 application.
Defects addressed
-
Tracker #405 BufTab_delete leaks buffers created by BufTab_expand. Fixed
-
Tracker #407 Documentation should explain that when a .cfg file is missing from a DMAI app it has not been tested on this platform. Added to user's guide
-
Tracker #408 When upgrading to DMAI version using ALSA user must add -lasound to their application. Added to release notes
-
Tracker #409 Building DMAI for BUILD_TYPE=release fails. Fixed
-
Tracker #422 speech examples uses codecs from CE examples, but the XDC_PATH is not set to include these examples if the DVSDK Rules.make is used. Fixed
-
Tracker #751 video_encode_io1 dmai app is not freeing hBufTab buffer. Fixed
Compatibility breaks
N/A
Since 1.16.00
New features
-
Support for Montavista Linux 5.0 (and no longer tested against MVL 4.0 and associated LSP releases)
-
Support for OMAP3530 against DVSDK 3.00 beta2.
Defects addressed
-
SDOCM00046005 DMAI sample apps to have command line parameter for selecting video output. Added the -O flag to apps with display output.
-
SDOCM00051436 DMAI doesn't support all the color spaces that DM355 imaging codecs do. ColorSpace_YUV444P and ColorSpace_GRAY colorspaces added and support for these added to imaging apps..
-
SDOCM00051634 Resizer module should configure the driver as per the Input buffer colorspace for dm6467. Now autodetects the color space and sets 420P or 422P accordingly.
-
SDOCM00051789 DMAI Image decode: The color format of a decoded image should be preserved for the user in imaging apps. Done.
-
SDOCM00051936 Loader module should expose Memory_Params for ring buffer to allow for customizations such as caching. See Loader_Attrs.mParams. Note that any alignment will now have to be set up by the user (see sample apps for examples).
-
SDOCM00051937 DMAI sample codec applications should allow for buffers to be allocated cached. When --cache is used in apps, not only will cache maintenance be made for the buffers, but they will also be allocated cached.
-
SDOCM00051938 DMAI apps should allocate buffer sizes as a multiple of the cache line size. Done, see Dmai_roundUp.
-
SDOCM00053444 DM6467 needs accelerated framecopy. Implemented using the VDCE.
-
SDOCM00053449 video_decode_io2 - the output does not display correct frame number in the output message. Fixed.
Compatibility breaks
N/A
Since 1.13.00
New features
Defects addressed
-
SDOCM00046016 DMAI display module doesn't support using the currently selected display output. Added Display_Output_SYSTEM for Display_Attrs.videoOutput to read current setting from SysFS.
-
SDOCM00046067 Request for Fifo to support thresholds on the number of items it contains. Added support for count = Rendezvous_INFINITE, in which case a force/forceAndReset is necessary to clear the Rendezvous.
-
SDOCM00046113 DMAI apps for DM355 should configure DMAN3. Done
-
SDOCM00046141 Printing of extended errors returned by codecs. Using DMAI_DEBUG=2 (see Debugging a DMAI application) the user consistently gets extended errors printed out when a failure occurs.
-
SDOCM00046209 Application examples should set alignment of buffers to 128 when cache is turned on. Added to all *_io applications
-
SDOCM00048587 BufTab_expand() and BufTab_chunk() cause subsequent calls to Buffer_getBufTab() to return NULL for buffer members. hBufTab is now set correctly when functions create new buffer objects.
-
SDOCM00050087 Need Rendezvous_force() and Rendezvous_reset() in a single operation. Implemented Rendezvous_forceAndReset method to implement both functions in the same piece of critical code.
-
SDOCM00050657 Capture_create() should allow for skipping of video standard auto detection. Added Capture_Attrs.videoStd and Capture_Attrs.decoderIdx to be able to force a video standard and video decoder (dm6467) and skip auto detection.
-
SDOCM00050963 Must set VIDENC1_DynamicParams.interFrameInterval=1as default. Done
-
SDOCM00051123 Building DMAI inside DVSDK 1.40 for DSP/BIOS targets fail. Added workaround to release notes
-
SDOCM00051141 printf's need to avoid using lu since it doesn't show up right on DSP targets. Done
-
SDOCM00051273 Loader module should align buffer and make buffer size a multiple of cache line size. Done
Compatibility breaks
N/A
Since 1.10.00
New features
-
Introduced support for the DM357 ARM Linux platform. This platforms uses the same peripherals as dm6446, hence this code is shared.
-
Added imaging support for xDM 0.9 (Ienc and Idec) and xDM 1.x (Ienc1 and Idec1).
-
Added Capture_Attrs.smoothPad to allow for extra lines to be captured while cropping on dm6446 and dm357. This is necessary when using the Smooth module on captured frames since more lines are needed to interpolate the smoothed output.
Defects addressed
-
SDOCM00046194 DMAI sample applications do not build for DM355 with DVSDK 1.30. Workaround added to release notes.
-
SDOCM00046192 Release notes mention unsupported OMAP3530 build target. Release notes updated.
-
SDOCM00046086 'make help' does not work when building the dmai libraries. Top level Makefile updated to include the help: build target.
-
SDOCM00051496 Venc is not calling XDM_GETBUFINFO to determine codec buffer sizes. Added an XDM_GETBUFINFO call to Venc_create().
Compatibility breaks
N/A
Since 1.00.00
New features
Compatibility breaks