STE Library

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

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:

  1. 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.
  2. 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.

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox