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

From Texas Instruments Wiki
Jump to: navigation, search

TIBanner.png


MCSDK Video

(Multicore Video Infrastructure Demo Built on MCSDK)

Version 2.x

Getting Started Guide for Linux

Last updated: 10/14/2015


Introduction[edit]

c66x-multicore.jpg

The MCSDK Video 2.x is built leveraging two SDKs.

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



Helpful tips image.jpg

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

TMDXEVM6678LXE, Advantech DSPC-8681E, Advantech DSPC-8682E


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:

  1. Install the Desktop Linux SDK
  2. Install Required Linux Packages
  3. Install the BIOS MCSDK
  4. Install the MCSDK Video 2.x
  5. 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:

BIOS-MCSDK-Linux-setup-01.png

BIOS-MCSDK-Linux-setup-02.png



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

LinuxInstall1.png


  • Step-2: Select Destination Folder and Click Next

LinuxInstall2.png


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

LinuxInstall3_2.png


To rebuild the DSP builds, all the components from MCSDK Video 2.x are required.

LinuxInstall3.png

  • Step-4: Click Next to copy the Components selected in Step-2 to the Destination Folder specified in Step-1

Screenshot_CopyComponents.png


  • Step-5: Click Finish to complete installation

Screenshot_InstallationComplete.png


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


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.

Helpful tips image.jpg

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.
2. After making the first build, if there is no source file change in dsp/components directory, "RTSCBYPASS=YES" may be added in the make command line, which will bypass compiling the components. If there is no source file change in dsp/ggcfg/build/hdg/sv04/bios directory, "BIOSCFGPKGBYPASS=YES" may be added in the make command line, which will bypass compiling the BIOS configuration package.


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

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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started 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.1 Linux Getting Started Guide here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK VIDEO 2.1 Linux Getting Started 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