STE Library
From Texas Instruments Embedded Processors Wiki
Contents |
Introduction
The STE library provides slide transition effects support on DM355. It uses EDMA to transfer data in memory buffers. Therefore, It is also an example showing how to use EDMA on DM355.
STE supports the following effects.
STEID_L_TO_R - uncover from left to right STEID_L_TO_R_PUSH - cover from left to right STEID_R_TO_L - uncover from right to left STEID_T_TO_B - uncover from top to bottom STEID_B_TO_T - uncover from bottom to top STEID_C_TO_LR - split from center to left and right STEID_C_TO_TB - split from center to top and bottom STEID_LR_TO_C - split from left and right to center STEID_LR_TO_C_PUSH - cover from left and right to center STEID_TB_TO_C - split from top and bottom to center STEID_BLOCK - block STEID_HORZ_BLIND - horizontal blinds STEID_VERT_BLIND - vertical blinds STEID_TL_TO_BR - uncover from top-left corner to bottom-right STEID_HORZ_STRIPES_PUSH - horizontal stripes
Licensing
The STE library is TI propriety. Please contact TI for the license agreement.
Dependencies
STE depends on library cmem, dm355mm, cosl, and imcopcsl, which are provided in DM355EVM DVSDK.
- cmem
- prerequisite of dm355mm library, provides continuous memory management
- dm355mm
- prerequisite of msl library, provides memory physical address to virtual address mapping
- cosl
- prerequisite of imcopcsl library, provides memory service layer support
- imcopcsl
- provides EDMA management
NOTES:
- There are no header files for these dependencies in DVDSK. To be able to use these libraries in user applications, the STE package includes these binaries and header files, which are located under lib and include directories. Be aware that these binaries and headers are _NOT_ official release and do _NOT_ belong to the STE library. You may request and receive the official release of them from TI.
- The imcopcsl library in STE package includes the wrapper helper to unify the API interface. It is a different version from the one in DM355EVM DVSDK.
Download
The latest version is ver1.3.0, released on 07/04/2008. The package Slide Transition Effects Library and Demo can be downloaded from the DaVinci DVSDK Miscellaneous Components section in DaVinci Software Website.
Compiling
Follow the instructions below to uncompress and compile the package:
tar jxf libsteffect-1.2.3.tar.bz2 cd libsteffect-1.2.3 make make install
which will build and install STE library binary into ${HOME}/target/lib, and header file(s) into ${HOME}/target/include respectively.
To change the default configuration, define ENV variable BUILD_PATH or modify it in Makefile to point to the location of the top level of development directory. It is set to ${HOME}/dm355_dev by default.
Under $BUILD_PATH directory you may want to create a file TI_Build.make to specify TARGETFS_PATH, TARGET_TOOLS_PATH, and CROSS_COMPILE, or simply modify them in Makefile.
- TARGETFS_PATH
- the location of the target filesystem. Default is ${BUILD_PATH}/tgtfs
- TARGET_TOOLS_PATH
- the location of the temporary target filesystem during build target. The STE object and header files will be copied into lib and include directories under it respectively for other application to link against during development. Default is ${BUILD_PATH}/target
- CROSS_COMPILE
- the tool chain prefix. Default is arm_v5t_le-
STE Interface
The STE library provides a simple set of APIs:
STE_init()
should be called during initialization in the application;
STE_iterate(STE_PARAMS_T *p)
does the slide transition with the specified effect;
STE_exit()
clean up;
Applications should define a variable in struct STE_PARAM_T type to configure STE library, such as the buffer addresses and effect ID, etc.
STE_iterate() may be called in a loop until it return STE_ITER_DONE. Internally, STE_PARAM_T->percent will increase by STE_PATAM_T->step each time STE_iterate() is called until it reaches STE_PARAM_T->maxPercent.
Please refer to the test code in STE package for the usage of the APIs.
Demo
The STE package provides a test application to verify the library. It reads a YUV image, slides with an zero-ed buffer (in green color), writes the transition sequence YUV image into a file, which could be played by any YUV viewer.
To build the test application, execute the following commands
cd test make
The executable file will be built and installed into ${TARGETFS_PATH}/opt. The build configuration is the same as mentioned above.
Before run the test, kernel module cmemk.ko, provided in DVDSK, should be loaded with proper parameters to reserve enough continuous memory to hold the input and output buffers.
The following is an example for 720x480 resolution, which can hold three buffers for 720x480 yuv image.
insmod ./cmemk.ko phys_start=0x87800000 phys_end=0x88000000 pools=1x$((720*480*2*3))
Running the executable without parameters prints out the help message.
