NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
MCSDK VIDEO 2.x TFTP Demo Guide
MCSDK Video
Version 2.x
TFTP Based Video Demonstration Guide
Last updated: 12/10/2014
Contents
Introduction[edit]
MCSDK Video 2.x provides TFTP support over Ethernet for data I/O instead of slow freads and fwrites over JTAG. Multiple video demos can be run on TI C66x multi-core DSPs (TMDXEVM6678L EVM) via TFTP. This TFTP Based Video Demonstration Guide provides instructions on how to run video demos using the pre-built DSP image included in the release package through PCIe. The major steps of running video demos include:
- Install TFTP
- Prepare EVM and PC
- Run Video Demos with TFTP
Recommended Hardware Emulator:
- Blackhawk XDS 560 or
- Spectrum Digital XDS 560 or
- Shannon XDS100 on board
Where to find the demos[edit]
Demo Name | Demo Location inside MCSDK Video Release Package |
AVCIU Encoding Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\avciuenc |
H264BPMP Decoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264bpmpdec |
H264HP Decoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264hpdec |
H264HP Encoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h264hpenc |
H265 (HEVC) Decoder Demo (supported in MCSDK Video 2.2) | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h265dec |
H265 (HEVC) Encoder Demo (supported in MCSDK Video 2.2) | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\h265enc |
JPEG2000 Decoding Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kdec |
JPEG2000 Encoding Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kenc |
JPEG2000 Transcoding Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\j2kencdec |
JPEG Decoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\jpegdec |
JPEG Encoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\jpegenc |
MPEG2 Decoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg2dec |
MPEG2 Encoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg2enc |
MPEG4 Decoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg4dec |
MPEG4 Encoder Demo | mcsdk_video_2_x_x_x\dsp\siu\vct\testVecs\mpeg4enc |
Useful Tip 1. Please visit Getting Started Guide for general information on MCSDK Video, including product download and installation.
|
Install TFTP server on PC[edit]
Download and install TFTP server v3.35 from TFTP Download Link.
Prepare EVM and PC[edit]
Prepare EVM[edit]
- Connect TI C6678 EVM to the PC via switch.
- Set the boot pins on the EVM to one of the boot modes (e.g., ROM Ethernet Boot) as specified at Boot Mode Dip Switch Settings
Note: General instructions of setting up your TMDXEVM6678L Evaluation Module (EVM) can be found at the link TMDXEVM6678L EVM Hardware Setup. Browsing this link to become familiar with the Hardware Setup of TMDXEVM6678L EVM is strongly recommended.
- Take DSP out of Reset
This can be done by unplugging the EVM power and plugging it in again.
Prepare CCS[edit]
Useful Tip General instructions of connecting the JTAG to the EVM can be found at http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_Getting_Started_Guide#Use_JTAG_to_Load_the_Application. Browsing this link to become familiar with the procedure is strongly recommended. |
- Open CCS
- Launch the target configuration
- On Core 0: load the GEL file "<CCS_INSTALL_LOCATION>\ccsv5\ccs_base_5.0.3.00028\emulation\boards\evmc6678l\gel\evmc6678l.gel" into CCS by selecting GEL Files under the Tools menu, and then select Load GEL… as shown below
- Connect Core 0 (via selecting Connect Target under the Target menu)
- Connect other cores when needed for multi-core codecs
Prepare PC[edit]
- Make sure the MTU (Maximum Transmission Unit) size for the network interface is 1500 so that TFTP server is not sending fragmented packets. This is because DSP does not support re-assembly of fragmented IP packets.
- Start TFTP Server on the PC. Click on the settings button and increase the timeout duration in the Settings window. A timeout of 20 seconds should be sufficient.
- Enable ARP entry on the PC so that it can send packets to EVM. This is done by opening the command prompt and entering the command: arp –s <dsp_ip_addr> <dsp_mac_addr>. Note that dsp_ip_addr and dsp_mac_addr are the same as the localIpAddress and localMacAddress, respectively, both of which can be found in the configuration file dsp\siu\vct\testVecs\tftp.cfg. In this tftp.cfg, serverIpAddress and serverMacAddress specify the IP and MAC address of the PC, which can be found be running the command ipconfig /all. Since both the DSP and the PC needs to be in the same subnet, specify DSP's IP address (i.e., localIpAddress) correspondingly after getting the PC's IP address (i.e., serverIpAddress). The DSP's MAC address (i.e., localMacAddress) can be any valid MAC address, such as the physical MAC address of the DSP or the one included in the provided tftp.cfg, as long as the same MAC address is not used anywhere else in the same subnet.
- Prepare input clip(s) for testing. Copy the input clip(s) to the directory which is shown in Current Directory of the TFTP server or set the Current Directory of the TFTP server to the directory including the input clip(s). In this release of MCSDK Video, input clips are provided for all codecs at dsp\siu\vct\testVecs\<codec>\input directory, except for AVCIU encode, JPEG2K encode, and JPEG2K transcode. To create input clips for these three tests (AVCIU encode, JPEG2K encode, and JPEG2K transcode), please follow steps specified at Creating 1920x1080 10bit 4:2:2 YUV clips.
After the clips are ready, please update dsp\siu\vct\testVecs\<codec>\config\multiclip.cfg with the following information: input file name (the first row), output file name(the first row), number of frames to be decoded or encoded (the third row). Multiple groups of [input file name, output file name, number of frames] can be specified in this multiclip.cfg for automated testing of multiple clips. Any number of clips can be specified.
Run Video Demos with TFTP[edit]
- Do system reset for Core 0 (via selecting Reset -> System Reset under the Target menu)
- For multi-core codecs, do CPU reset for the other cores (via selecting Reset -> CPU Reset under the Target menu)
- On Core 0, run the GEL file from the Scripts menu by selecting EVMTCI6608 Init Functions -> Global_Default_Setup. Wait until the following message is displayed: “C66xx_0: GEL Output: Global Default Setup... Done.”
- Load the DSP image to Core 0 by selecting Load Program... under the Target menu. Find the image sv04.out in the mkrel/sv04/flat directory.
- For multi-core codecs, load the same image to the other cores.
- Make sure the path in the function siuVctRunTask() (siuVctRun2.c) is correct for the config files (testVecs.cfg and tftp.cfg under siu/vct/testVecs directory). The path can be relative to the location of the DSP image mkrel/sv04/flat/sv04.out, and is by default “../../../siu/vct/testVecs/testVecs.cfg” and “../../../siu/vct/testVecs/tftp.cfg”. If the path is incorrect, the config files must be placed at that location, or the path can be changed which would require the image to be rebuilt.
- Make sure TFTP transfer is running while the codec is processing the data.
- Make sure that the configuration file “siu/vct/testVecs/tftp.cfg” is correct. The configuration file contains the PC’s IP address and MAC address and the DSP’s IP address and MAC address.
- Make sure that the configuration file “siu/vct/testVecs/testVecs.cfg” points to the configuration files for the testing to be conducted. The codecs which are integrated include: AVC Intra and Ultra encode, JPEG2K encode, JPEG2K decode, and JPEG2K transcode, H264BPMP Decoder, H264HP Decoder, MPEG2 Decoder, MPEG4 Decoder, JPEG Decoder, H264HP encoder, MPEG2 Encoder, MPEG4 Encoder, JPEG Encoder. In MCSDK Video 2.2, HEVC encoder and HEVC decoder are added.
- Make sure codec configuration files (siu\vct\testVecs\<codec>\config\multiclip.cfg & codecParams.cfg) are matching with the input clip and the testing to be conducted. As mentioned earlier, multiclip.cfg includes input file name (the first row), output file name(the first row), number of frames to be decoded or encoded (the third row). In this release, codec static and dynamic parameters are exposed along with codec name and core team configuration in siu\vct\testVecs\<codec>\config\codecParams.cfg for individual test cases. codecParams.cfg packaged is matching with the input clips provided in the release. For AVC Intra and Ultra encode, JPEG2K encode, and JPEG2K transcode (encode and then decode), codecParams.cfg packaged is for 1920x1080 10-bit 4:2:2 YUV input. Please make sure the codec parameters are correctly supplied when updating input clips and testing requirements.
- Changes to the configuration files (testVecs.cfg, tftp.cfg, and multiclip.cfg & codecParams.cfg for individual codecs) do not require anything to be rebuilt.
- On Core 0: run the codec test by selecting Target -> Run. For multi-core codecs, then run the other cores. The application will obtain the input file via TFTP. Once the file transfer has been started, the user’s codec will process the data and output frames will be sent to the file specified on the TFTP server.
Useful Resources and Links[edit]
Product Download and Updates[edit]
For product download and updates, please visit the links listed in the table below.
Product Download Link | |
MCSDK Video (2.1 GA) Download | http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/latest/index_FDS.html |
MCSDK Video (2.2 Alpha) Download |
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/02_02_00_23/index_FDS.html |
BIOS MCSDK Download | http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/02_01_02_05/index_FDS.html |
Desktop Linux SDK Download | http://software-dl.ti.com/sdoemb/sdoemb_public_sw/desktop_linux_sdk/01_00_00_07/index_FDS.html http://software-dl.ti.com/sdoemb/sdoemb_public_sw/desktop_linux_sdk/01_00_03_00/index_FDS.html |
C6678 Codec Download | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C6678/index.html |
MCSDK Video Instructions[edit]
Please visit the links below to install MCSDK Video, run the video demos, and get the details on how the MCSDK Video demos are developed.
Technical Support[edit]
For technical discussions and issues, please visit the links listed in the table below.
Forum/Wiki Link | |
C66x Multicore forum | http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639.aspx |
Multimedia Software Codecs forum | http://e2e.ti.com/support/embedded/multimedia_software_codecs/default.aspx |
TI-RTOS forum | http://e2e.ti.com/support/embedded/f/355.aspx |
Code Composer Studio forum | http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/3131.aspx |
TI C/C++ Compiler forum | http://e2e.ti.com/support/development_tools/compiler/f/343/t/34317.aspx |
Embedded Processors wiki | http://processors.wiki.ti.com |
Note: When asking for help in the forum you should tag your posts in the Subject with “MCSDK VIDEO”, the part number (e.g. “C6678”) and additionally the component (e.g. “NWAL”).