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

From Texas Instruments Wiki
Jump to: navigation, search

TIBanner.png


MCSDK Video

Version 2.x

TFTP Based Video Demonstration Guide

Last updated: 12/10/2014


Introduction[edit]

c66x-multicore.jpg

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:

  1. Blackhawk XDS 560 or
  2. Spectrum Digital XDS 560 or
  3. 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


Helpful tips image.jpg

Useful Tip

1. Please visit Getting Started Guide for general information on MCSDK Video, including product download and installation.
2. After running this Codec Integration and Test Application, it is recommended the user to experience other video demos provided by MCSDK Video, which includes packet based real-time video transcoding demos and PCIe based video demos. Please visit MCSDK Video Demo Guide for additional information on that.



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

NoteNote: 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]

Helpful tips image.jpg

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

CCS-LOAD-GEL.JPG

  • 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.

TFTP-SETTING.JPG

  • 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
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/02_02_00_45/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.

Wiki Links
Getting Started Guide MCSDK Video Getting Started for Linux
MCSDK Video Getting Started for Windows
Desktop Linux SDK Getting Started
Demo Guide Run PCIe based Demos on Advantech DSPC-8681E & DSPC-8682E
Run TFTP based Demos on TMDXEVM6678LXE
Development Guide MCSDK Video Host (via PCIe) Development Guide
MCSDK Video DSP Development Guide


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

NoteNote: 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”).



E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.x TFTP Demo Guide here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.x TFTP Demo Guide here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK VIDEO 2.x TFTP Demo Guide here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity