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.1 Linux Getting Started Guide
MCSDK Video
(Multicore Video Infrastructure Demo Built on MCSDK)
Version 2.x
Getting Started Guide for Linux
Last updated: 10/14/2015
Contents
Introduction[edit]
The MCSDK Video 2.x is built leveraging two SDKs.
- BIOS-MCSDK [SDK is DSP internal and provides platform abstraction, networking, inter-core communication, etc. For more details, please see BIOS MCSDK Getting Started Guide and BIOS MCSDK User Guide]
- Desktop Linux SDK [SDK abstracts the messaging, PCIe transport and data I/O between host processor and DSP. For more details please see Desktop Linux SDK Getting Started Guide and Desktop Linux SDK Development Guide].
MCSDK Video 2.x provides video specific software modules and video codecs along with several out of box demos. MCSDK Video 2.x application (along with the SDKs) provides complete development environment [host + DSP] to offload real-time video applications to TI C66x multi-core DSPs. Recommended development setup is to have a Linux PC with PCIe TI Multicore DSP Cards installed, running Ubuntu 12.04 LTS. Depending on the demo requirement a powerful PC might be required. Our setup used to verify JPEG2000 and AVC-Intra demos is documented further along in the document.
Specifically, this Getting Started Guide for Linux provides information needed for running out of box MCSDK Video demos on a Linux PC and rebuilding MCSDK Video DSP application binaries on a Linux PC. By the end of this Getting Started Guide the user should have:
- Installed MCSDK Video and Desktop Linux SDK Software to run out of box demos
- Installed MCSDK and MCSDK Video Software and Rebuilt MCSDK Video DSP application
Useful Tip After completing the material in this Getting Started Guide, it is recommended the user continue on to the Overview of MCSDK Video Demos for additional information on running various video demos. |
Supported Devices/Platforms[edit]
This release supports the following Texas Instrument devices/platforms:
Platform Development Kit | Supported Devices | Supported EVM |
C6678 | TMS320C6678, TMS320TCI6608 |
Supported Demos[edit]
Please refer to MCSDK Video 2.x Demo Guide for the list of demos supported.
Hardware/OS Requirement[edit]
Please refer to Pre-requisites of Desktop Linux SDK for hardware and OS requirement.
Real-time video demos (e.g., AVCIU encoding, JPEG2000 transcoding, JPEG2000 decoding, and HEVC transcoding) require high-end PCs. The table below lists the hardware components used in our video demo validation.
PC component | Why it is needed |
Antec Twelve Hundred V3 Black Steel ATX Full Tower Unbeatable Gaming Case | A big gaming case to physically be able to fit the octal cards and also have enough airflow for cooling. |
CORSAIR CMPSU-750TX 750W ATX12V v2.2 SLI Certified CrossFire Ready 80 PLUS Certified Active PFC Compatible with Core i7 |
Power supply suitable for both American & European voltage (110v, 240v) |
Intel Core i7-3770S Ivy Bridge 3.1GHz (3.9GHz Turbo) LGA 1155 65W Quad-Core Desktop Processor Intel HD Graphics 4000 BX80637I73770S |
Intel processor compatible with the mother board |
PNY VCQ2000D-PB Quadro 2000D 1GB 128-bit GDDR5 PCI Express 2.0 x16 Workstation Video Card |
Graphics card that supports 10 bit deep color display that has Linux Drivers |
ASUS P8Z77-V PREMIUM LGA 1155 Intel Z77 HDMI SATA 6Gb/s USB 3.0 ATX Intel Motherboard with Thunderbolt | Has multiple PCIe Gen3 slots |
G.SKILL Ripjaws Z Series 32GB (4 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-12800CL10Q-32GBZL | 32GB of RAMdisk - so we can preload raw data into RAMdisk (at least 500 frames of 10bit YUV 422). We cannot read from HDD to achieve 60fps. |
Western Digital Caviar Black WD1002FAEX 1TB 7200 RPM 64MB Cache SATA 6.0Gb/s 3.5" Internal Hard Drive -Bare Drive | 1 TB HDD to store raw YUV content and other test clips for development |
Dell UltraSharp U3011 30" Black 7ms IPS-Panel Height, Swivel Adjustable Widescreen LCD Monitor | Monitor that can display deep color (10bit) and operate @ 1080p60 |
Software Installation[edit]
This section will walk you through installing the software components required for MCSDK Video. The overall steps are:
- Install the Desktop Linux SDK
- Install Required Linux Packages
- Install the BIOS MCSDK
- Install the MCSDK Video 2.x
- Install Active Perl
Installing the Desktop Linux SDK[edit]
Please refer to MCSDK Video product download page MCSDK Video download to download the version of Desktop Linux SDK.
After downloading the Linux installer, (desktop-linux-sdk_<version>_setuplinux.bin), please change the attribute of the installer to executable and run the installer as shown below. Details of Desktop Linux SDK installation can be found from Desktop Linux SDK Installation
<syntaxhighlight lang="bash">
chmod +x desktop-linux-sdk_<version>_setuplinux.bin
./desktop-linux-sdk_<version>_setuplinux.bin
</syntaxhighlight>
Installing Required Linux Packages[edit]
- libpciaccess-dev
<syntaxhighlight lang="bash"> sudo apt-get install libpciaccess-dev </syntaxhighlight>
- binutils-dev
<syntaxhighlight lang="bash"> sudo apt-get install binutils-dev </syntaxhighlight>
- freeglut3-dev
<syntaxhighlight lang="bash"> sudo apt-get install freeglut3-dev </syntaxhighlight>
- mplayer2
<syntaxhighlight lang="bash"> sudo apt-get install mplayer2 </syntaxhighlight>
The following package is required for MCSDK Video 2.2.
- libglew1.6-dev
<syntaxhighlight lang="bash">
sudo apt-get install libglew1.6-dev
</syntaxhighlight>
Installing the BIOS Multicore Software Development Kit[edit]
Note that BIOS MCSDK is needed only for recompiling DSP builds. This step can be bypassed for just running the out of box demos.
Please refer to MCSDK Video product download page MCSDK Video download to download the version of BIOS MCSDK. After downloading the Linux installer, (bios_mcsdk<version>_setuplinux.bin), please change the attribute of the installer to executable and run the installer as shown below. <syntaxhighlight lang='bash'> chmod +x bios_mcsdk<version>_setuplinux.bin ./bios_mcsdk<version>_setuplinux.bin </syntaxhighlight>
The following components of BIOS-MCSDK must be installed to support the MCSDK VIDEO.
- PDK C6678
- EDMA3-LLD
- SYS/BIOS
- XDC tools
- IPC
Select MCSDK components snap shot:
Installing the MCSDK Video 2.x[edit]
The MCSDK Video installer allows you to choose the installation directory and selected the components to be installed. Once the installation is complete, the MCSDK Video components will be installed in the specified installation directory.
After downloading the Linux installer (mcsdk_video_<version>_setuplinux.bin), please change the attribute of the installer to executable and then run the installer as shown below.
<syntaxhighlight lang="bash">
chmod +x mcsdk_video_<version>_setuplinux.bin
./mcsdk_video_<version>_setuplinux.bin
</syntaxhighlight>
- Major Steps of MCSDK Video Installation
- Step-1: Welcome Screen and Click Next
- Step-2: Select Destination Folder and Click Next
- Step-3: Select Components and Click Next
For running demos with pre-built DSP images, the only component needed is MCSDK Video as shown below:
To rebuild the DSP builds, all the components from MCSDK Video 2.x are required.
- Step-4: Click Next to copy the Components selected in Step-2 to the Destination Folder specified in Step-1
- Step-5: Click Finish to complete installation
Install Active Perl[edit]
Note that Active Perl is needed only for recompiling DSP builds. This step can be bypassed for just running the out of box demos. Active Perl (5.14.2.1402) can be downloaded from Active Perl 5.14.2.1402. Install it by following Active Perl installation instructions.
Running the Demonstration Applications[edit]
Please refer to the following links for running the demonstration applications
- PCIe based Demos in MCSDK Video: http://processors.wiki.ti.com/index.php/MCSDK_VIDEO_2.1_Demo_Guide#PCIe_Based_Demos
Congratulations! At this time, you already should have finished running out of box demos. The following section is for recompiling DSP builds (sv01.out and sv04.out files).
Build MCSDK Video DSP Application[edit]
To rebuild MCSDK video DSP application, follow the two steps below to set up environment variables and then rebuild the application. These steps are needed only when there are changes in the source code and therefore the DSP image needs to be recompiled.
Set up environment variables[edit]
Under the installation directory of the MCSDK Video, go to <MCSDK Video Install Dir>/dsp/mkrel and run the following command to set up environment variables. Before running this command, ensure all the components/tools described above are installed. Also modify dsp/mkrel/setupenvMsys.sh as needed to point to the correct path of the installed components/tools. If the TI tools required for MCSDK Video are installed at the default directory, simply set the installation directory of required TI tools (TI_TOOL_DIR) and Active Perl (PERL_ROOT) at the beginning of setupenvMsys.sh.
<syntaxhighlight lang="bash"> cd dsp/mkrel source setupenvMsys.sh </syntaxhighlight>
"setupenvMsys.sh" will check if all the required components and tools are available at the specified locations. If not, please double check if all the required components/tools are installed and if their path information in dsp/mkrel/setupenvMsys.sh is correct.
Make DSP Image[edit]
Run dsp/mkrel/makefile to build DSP code. The following is the command to build the video application: make [build_name]. There are two major builds in the MCSDK Video release package: sv01 and sv04.
- sv01 is the build for demonstrating various real-time video applications on TI C66x multi-core DSPs, including decoding, encoding, transcoding for QCIF/CIF/D1/720p/1080p video streams on single and multiple cores. sv01 can be built on Linux. However, demos based on sv01 runs on Windows only.
- sv04 is the build used for running demos with PCIe TI Multicore DSP Cards installed to Linux PCs. It is also used for codec integration and testing. It facilitates the development and testing of stand-alone Codecs (including video, audio, and image codecs) via TFTP.
Using sv04 as one example, the command is as follows:
<syntaxhighlight lang="bash"> cd dsp/mkrel make sv04 </syntaxhighlight>
The build command make sv04 will produce directory: dsp/mkrel/sv04 with the following files: sv04.out, sv04.map, readme_sv04.txt.
Useful Tip 1. If a source debugger requires all source files to be combined into a single directory, "FLAT=YES" may be added in the make command line, which will create the directory dsp/mkrel/sv04/flat containing all source and header files used for the build.
|
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.2 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 |
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”).