How to Use DVSDK on the OMAPL138
The following guide describes the method for building TI DVSDK for the OMAPL138 Platforms.
Requirements
Release 2.6.34-mitydsp-ts1
Tested Platforms | mitydsp_l138f |
DVSDK Version | 04.03.00.06 |
CGTools | 7.3.4 (my.TI Account Required) |
Kernel Command Line | console=ttyS2,115200 ip=dhcp root=/dev/nfs rw mem=32M@0xc0000000 mem=64M@0xc4000000 |
Release 2.6.37-davinci-ts1
Tested Platforms | OMAPL138 EVM |
OMAPL138 EXP | |
DVSDK Version | 04.03.00.06 |
CGTools | 7.3.4 (my.TI Account Required) |
Kernel Command Line | console=ttyS2,115200 ip=dhcp root=/dev/nfs rw mem=32M@0xc0000000 mem=64M@0xc4000000 |
Installation
- The DVSDK is enabled with "make menuconfig" and the following selections:
Target Software ---> Software Packages ---> Multimedia ---> Video ---> [*] ti-dvsdk_omapl138 --->
- Point TSWO_ti_dvsdk_omapl138-evm_CODEGEN_INSTALL_DIR in the factory config to the location selected during CGTools installation.
- Run make. The resulting file system will contain the necessary components for DVSDK.
Running the sample applications
DSP Exerciser Through DSPLink
Copy the following from the ti-dvsdk_omapl138-evm-04_03_00_06/ti-dvsdk_omapl138-evm_04_03_00_06 build directory to a test directory on the target:
- example-applications/dsp-benchmark_1_00_00_02/dsp_benchmark_app/dsp_benchmark_app
- c6accel_1_01_00_07/soc/packages/ti/c6accel_unitservers/omapl138/c6accel_omapl138.x674
- c6accel_1_01_00_07/soc/app/test_files
run dsp_benchmark_app
Encoding / Decoding
Copy the following from the ti-dvsdk_omapl138-evm-04_03_00_06/ti-dvsdk_omapl138-evm_04_03_00_06 build directory to a test directory on the target:
- codecs-omapl138_4_02_00_00/packages/ti/sdo/codecs/aachedec/app/Client/Test/TestVecs/Input/davinci.aac
- linux-devkit/arm-arago-linux-gnueabi/usr/bin/qtopia/examples/graphicsview/weatheranchorlayout/images/5days.jpg
- the attached davincieffect_qcif_192kbps.264 (from the OMAP3 DVSDK)
Display a test pattern:
/usr/dvsdk/dmai/video_display_omapl138.x470MV -y 16 -O lcd --display_buffer 2
Decode and play a .aac audio file:
/usr/dvsdk/dmai/audio_decode1_omapl138.x470MV -c aachedec -e decode -i davinci.aac -n 1000
Convert a .aac audio file to PCM:
/usr/dvsdk/dmai/audio_decode_io1_omapl138.x470MV -c aachedec -e decode -i davinci.aac -n 1000 -o output.pcm
To listen to the resulting PCM file:
aplay -t raw -r 88200 -f S16_LE output.pcm
Convert raw H.264 to YUV:
/usr/dvsdk/dmai/video_decode_io2_omapl138.x470MV -c h264dec -e decode -i davincieffect_qcif_192kbps.264 -n 30 -o output.yuv
The original raw H.264 file can be played on a Ubuntu host using totem. The output YUV file can be viewed using the yuvplayer from http://sourceforge.net/projects/raw-yuvplayer. Select UYUV for the color and QCIF for the size in yuvplayer.
Convert YUV to raw H.264:
/usr/dvsdk/dmai/video_encode_io1_omapl138.x470MV -c h264enc -i output.yuv -o output.264 -r 176x144 -n 30
Convert a JPEG image to YUV:
/usr/dvsdk/dmai/image_decode_io1_omapl138.x470MV -c jpegdec -e decode -i 5days.jpg -o output.yuv
Convert YUV to JPEG:
/usr/dvsdk/dmai/image_encode_io1_omapl138.x470MV -c jpegenc -e encode -i output.yuv -o output.jpg -r 202x112 --iColorSpace 3 --oColorSpace 1
Gstreamer Plugins
DVSDK also supports a number of Gstreamer plugins via the gst-ti-plugins package.
Video Playback
Supports h.264, MPEG-4, and MPEG-2 video formats.
gst-launch filesrc location=filename ! typefind ! TIViddec2 ! \ queue ! TIC6xColorspace engineName=codecServer ! queue ! tidisplaysink2 -v
Audio Playback
Supports AAC Audio format.
gst-launch filesrc location=filename ! \ typefind ! TIAuddec1 ! alsasink -v
Video and Audio playback
MP4 Container
gst-launch -v filesrc location=filename ! \ qtdemux name=demux \ demux.audio_00 ! queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! TIAuddec1 ! alsasink \ demux.video_00 ! queue ! TIViddec2 ! TIC6xColorspace engineName=codecServer ! queue ! tidisplaysink2 -v
AVI Container
gst-launch -v filesrc location=filename ! \ avidemux name=demux \ demux.audio_00 ! queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! TIAuddec1 ! alsasink \ demux.video_00 ! queue ! TIViddec2 ! TIC6xColorspace engineName=codecServer ! queue ! tidisplaysink2 -v