CS368-TI Digital Media Software Development Kit

Similar documents
CS365-TI Digital Media Software Development Kit

CS368-LI Digital Media Software Development Kit

RTP Protocol Transport of H.264 Video and AAC Audio

RTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio

LeopardBoard Hardware Guide Rev. 1.0

ID 730L: Getting Started with Multimedia Programming on Linux on SH7724

SBC8140 Single Board Computer

DevKit7000 Evaluation Kit

Video Interface Module for TI EVM TMDXEVM8148 and TMDXEVM368

DevKit8500D Evaluation Kit

DevKit8000 Evaluation Kit

Embest SOC8200 Single Board Computer

AT-501 Cortex-A5 System On Module Product Brief

Application Report. Zhengting He, Mukul Bhatnagar, Jackie Brenner... ABSTRACT

ARM+DSP - a winning combination on Qseven

A Multimedia Streaming Server/Client Framework for DM64x

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

DSP Solutions For High Quality Video Systems. Todd Hiers Texas Instruments

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management

HotChips An innovative HD video and digital image processor for low-cost digital entertainment products. Deepu Talla.

Overview. 3//5/ Preliminary Product Brief

Video Conference Equipment High Performance Video Terminal Solution

Videophone Development Platform User s Guide

HDMI based Video Conference Device Recording

HD/SD H.264 Capture Device (H.264 Video Encoder + Decoder) User s Manual Model 2226 Rev.A March 2010

Blackfin Products. ...maximum performance at minimum space

An Example of Network Video Monitoring System Based on DM6446. ChaoJun Yan

PCIe/104 or PCI/104-Express 4-Channel Audio/Video Codec Model 953 User's Manual Rev.C September 2017

USB HD Audio/Video Codec Model 2263 Hardware Manual Ver October 2013

IP Video Phone on DM64x

AP-NC1500 Multi-Service Video Codec High-performance Network Surveillance Solution

S2C K7 Prodigy Logic Module Series

EyeCheck Smart Cameras

Chapter 28. Multimedia

OMAPL138 Software Developers Guide

MYD-SAMA5D3X Development Board

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Introduction to the TenByTen6410

Lab 1. OMAP5912 Starter Kit (OSK5912)

Developing a Camera Application with i.mx RT Series

AP-NC3800 Multi-Service Video Codec High-performance Network Surveillance Solution

Intel Galileo gen 2 Board

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

AP-VR1000 Video Service Router

TI TMS320C6000 DSP Online Seminar

BPI-D1 User Manual. SinoVoip Co.,Limited

Lesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Chapter 7. Hardware Implementation Tools

Emerging Architectures for HD Video Transcoding. Leon Adams Worldwide Manager Catalog DSP Marketing Texas Instruments

Emerging Architectures for HD Video Transcoding. Jeremiah Golston CTO, Digital Entertainment Products Texas Instruments

Brief of A80 OptimusBoard

IPTV 1

SBC3100 (Cortex-A72) Single Board Computer

MCU Built-in Two(2)-Channel Full

MYD-C437X-PRU Development Board

RK3036 Kylin Board Hardware Manual V0.1

An Implementation of Rate-Adaptive IPTV System on DSP

A Low-Cost Embedded SDR Solution for Prototyping and Experimentation

DS-2CD892P (N)-IR5 Analog Camera. Technical Manual

1.3 CW x720 Pixels. 640x480 Pixels. 720P Wireless 150Mbps IPCAM. High Quality 720P MegaPixel Image

AddPac Technology. Sales and Marketing.

MYD-IMX28X Development Board

TQ2440 Development Platform Manual

Quick Start Guide for i.mx28 EVK. i.mx28 EVK Multimedia and connectivity

AP-NC5000 Multi-Channel HD Video Codec High-performance HD Network Surveillance Solution

Product Technical Brief S3C2416 May 2008

AP-VR2000 Video Service Router High-performance Multimedia Gateway Solution

Developing i.mx Multimedia Applications Processors with Windows Embedded CE 6.0 WinCE 6.0 on the i.mx25 and i.mx35 PDK s

MYD-JA5D2X Development Board

HD/SD H.264 Capture Device (SDI HD/SD H.264 Video Encoder) User s Manual Model 2224 Rev.0 September 2013

Messenger 2 Transmitter Camera-Mount (M2T-C)

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

DS-2CD792PF(NF)(-E) IP Camera. Technical Manual

FriendlyARM. Mini2440.

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Uncompressed HD Video Streaming with Congestion Control

Embedded Streaming Media with GStreamer and BeagleBoard. Presented by Todd Fischer todd.fischer (at) ridgerun.com

iw-rainbow-g3 / G3V FAQs:

Implementing Video and Image Processing Designs Using FPGAs. Click to add subtitle

Expand Your Reach. H.265 and H.264 IP Video Camera Solutions.

FA3 - i.mx51 Implementation + LTIB

A Linux multimedia platform for SH-Mobile processors

User Instructions Multi-Channel H.264 HD Multimedia System

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

W I S S E N T E C H N I K L E I D E N S C H A F T

MYD-IMX28X Development Board

Fault tolerance in consumer products. Ben Pronk

X.21, RS530, RS422, RS449, RS485

User s Manual. HD Multi-format Video Encoder. Model Name: Z3-MVE-02

SPECIAL SPECIFICATION 6518 IP Video Codec

PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Hi3520D V200 H.264 CODEC Processor. Brief Data Sheet. Issue 01. Date

i.mx 6UltraLite Evaluation Kit Quick Start Guide s datasheet has been downloaded from at this pag

EMBEDDED HARDWARE. Core Board. ARM7 Development board. ARM7 Evaluation Board. Page 1 of 5

1.3 CU-720PIR PIR. 720P PIR Passive PoE Night Vision IPCAM. All-in-One Security Solution IP Camera

IB112. Freescale I.MX536 ARM Cortex -A8 Embedded BOARD. USER S MANUAL Version 1.0

Hi3719C V100 Hi3719C V100 Brief Data Sheet

SOC MPEG Decoder Chipset. Datasheet

Transcription:

CS368-TI Digital Media Software Development Kit April 15, 2017 Document: DS170415-1 Document Status: released Revision: 2.5 Features! Cimarron Systems Digital Media Software Development Kit (DMSDK) for the Texas Instruments TMS320DM368 DaVinci Media Processor running DVSDK 4.02 DMSDK A/V RTP Streaming Server Application: RTP/RTCP server that encodes/streams H.264 video at 1920 x 1080i 30 fps / 1280 x 720p 30 fps with AAC-LC audio at 32 ksps. DMSDK A/V RTP Streaming Client Application: RTP/RTCP client that receives, reassembles and writes-to-file H.264 video and AAC-LC audio while it simultaneously encodes reassembled video and audio frames into a MPEG-2 Transport Stream. Implements an Automatic Exposure/White Balance Control Loop. Inputs from Component Video Input and LI-5M02 Camera Board. 1 RTP A/V Streaming Client/Server Input/Output via.! Texas Instruments TMS320DM368 DVEVM DVSDK 4.02 Arago Community Linux Kernel with build system; Platform Support Package (PSP) including U-Boot bootloader, bootloader, memory manager, and interrupt controller; and Codec Engine with fully parameterized H.264, MPEG-4, MPEG-2, AAC-LC, G.711, and JPEG codecs. Texas Instruments Digital Media Application Interface (DMAI) video, audio, and speech encode and decode example applications. Texas Instruments Digital Video Test Bench (DVTB) encode and decode codec test/ validation applications. Texas Instruments Qt Embedded GUI Interface Builder and example applications. Texas Instruments GStreamer with DaVinci Plugin and example pipelines. Overview of the Development Environment The CS368-TI Digital Media Software Development Kit is a set of software components, applications, tools, and documentation designed to equip the experienced engineer with the means for fast standards-based development of digital media encoding, decoding, and streaming applications for the Texas Instruments TMS320DM368 DaVinci Digital Media Processor (for development with the Texas Instruments TMS320DM365, please refer to the Cimarron Systems CS365-TI DMSDK Datasheet). Figure 1 shows a context diagram of the typical environment in which the CS368-TI DMSDK operates including: the TM320DM36x DVEVM hosting the DMSDK, a Ubuntu Linux Host computer hosting the Texas 1 A high-resolution digital camera board, the LI-5M02, is available for purchase from Leopard Imaging at https:// www.leopardimaging.com/. The camera board incorporates an Aptina MT9P031 CMOS Digital Image Sensor which has an active imaging pixel array of 2592H x 1944V. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 1

Instruments TMS320DM36x DVSDK 4.02, an audio/video source device, and an audio/video output device. Illustrated in Figure 2, key features of the Texas Instruments TMS320DM368 DVEVM development platform hardware are:! TI TMS320DM368 ARM9-based processor operating at 432 MHz with 2 Gbytes NAND Flash and 128 Mbytes of DDR2 RAM. CS368-TI DMSDK Development Context TMS320DM36x DVEVM LI-5M02 Camera Board Serial I/O Ubuntu Linux Host A/V Input/Output Devices Figure 1: CS368-TI DMSDK Development Context Diagram.! Component Video Input for video capture/processing at resolutions up to 1920 x 1080i at 30 fps.! Composite Video Input for video capture/processing of NTSC or PAL video formats.! Component Video Output for video processing/playback at resolutions up to 1920 x 1080i at 30 fps.! Interface for connecting an optional video or still camera with sensor sizes up to 2592H x 1944V pixels.! Interface for connecting/processing an RGB LCD module.! RS-232 Interface for full-duplex terminal communication to the host at up 115,000 bps.! 10/100Base-T for full-duplex communication to the host at up 100 Mbps.! USB Interface capable of operating in either host or slave mode. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 2

!! Dual SD/MMC/MS/MMC/SD Card Interfaces for up to 8 Gbytes per card storage and/or boot source.! Audio Interface for processing stereo audio line in/out, microphone in, and stereo headphones out.! IR receiver interface for processing inputs from a multi-function multimedia remote controller.! JTAG Interface input connectors for both 14-pin and 20-pin debug cables.! 5VDC power input connector. TMS320DM36x Evaluation Module 2 GBytes Flash 128 MBytes DDR2 IR Receiver Power Management 5VDC Micro USB RS-232 SD/MMC Card SD0 Top-of-PCB SD1 Bottom-of-PCB LCD Display Interface LCD Display Board Y P r P b Component Video Input Composite Video Input S-Video Input Audio Line Input THS7353 Camera Board HD Video Decoder TVP7002 SD Video Decoder TVP5148 Camera Interface Texas Instruments TMS320DM368 Digital Media Processor THS7303 KSZ8001 JTAG I/O Component Video Output Composite Video Output 100Base-T Audio Line Output Y P r P b Microphone Input Audio Processor AIC3101 Headphones Output SW4 1 2 3 4 5 6 SW5 1 2 3 4 5 6 Figure 2: Texas Instruments DaVinci TMS320DM36x DVEVM Block Diagram. As shown in Figure 3, the core software components of the TMS320DM36x DVSDK 4.02 are:! DaVinci Multimedia Application Interface (DMAI): a thin utility layer positioned on top of the Linux OS and the Codec Engine that enables the developer to quickly write portable applications for the DaVinci platform. For details regarding DMAI usage, please see DaVinci Multimedia Application Interface (DMAI) 2.20.00 Build 15 User Guide. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 3

Ubuntu Linux Host TMS320DM368 DVSDK 4.02 Software Stack CodeSourcery G++ Tool Chain Embedded Linux Build System Other Linux User-space Applications DVSDK Embedded Linux Kernel DVSDK U-Boot Bootloader DVSDK Framework Components DVSDK Demonstration Applications DVSDK DMAI Applications DVSDK DVTB Applications Network File System Ubuntu Linux Operating System Kernel Ubuntu Linux Operating System Calls, File/Memory Systems, Sockets, Processes, and Device I/O USB Hard Disk Drive Serial I/O Ubuntu Linux Host / DVEVM Interfaces I/O Interconnects TMS320DM368 DVSDK 4.02 Software Stack Linux User-space Applications Qt Embedded Open Source Linux Libraries GStreamer TI Plugin DaVinci Multimedia Application Interface (DMAI) Platform Support Package DM365MM Module Linux Operating System Kernel VISA IRQ EDMA CMEM Codec Engine Linux Utilities Supervisor Mode Audio Speech Video Image Framework Components A/V Codecs Figure 3: Ubuntu Linux Host and Texas Instruments TMS320DM368 DVSDK 4.02 Software Architecture. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 4

! express DSP Algorithm Interoperability Standard (XDAIS) includes a version that has been extended for digital media is know as XDAIS-DM or, for simplicity, XDM: the XDM standard defines a set of APIs that are uniform across various multimedia codecs designed to ease integration and ensure interoperability. For a description of XDM usage, please refer to the XDAIS Interface Reference.! Video, Image, Speech, and Audio (VISA) Classes: a set of multimedia codec interface classes that allow applications straightforward methods for utilizing video, audio, speech, and imaging codecs. For details concerning VISA Classes, please refer to the XDAIS Interface Reference.! Codec Engine (CE): the Codec Engine framework manages the life cycle of algorithms that comply with the XDAIS-DM standard. For a description of Codec Engine functions, please see the Codec Engine Algorithm Creator User s Guide.! Platform Support Package (PSP): the DVEVM DM36x PSP contains the following components: Baseport DM368 SoC support Baseport DVEVM support EDMA support GPIO support Video drivers: Video capture Video display IPIPE previewer/resizer H3A AF/AEW For more details, please see the DaVinci PSP Linux Installation User Guide.! Framework Components (FC): Framework Components for the DVEVM DM36x contains a number of software components that are specific to the DM368 hardware architecture. For more detail, please refer to the Framework Components API Reference.! Linux Utilities (LinuxUtils): Linux Utilities for the DVEVM DM36x contains the following components: CMEM Manager EDMA Manager SDMA Manager VICP Manager For more details, please refer to the Linux Utils API Reference. For additional information concerning set-up of the DVEVM hardware, please refer to the Texas Instruments TMS320DM36x Digital Video Evaluation Module Quick Start Guide; in order to download the Texas Instruments DVSDK 4.02, follow the links at: http://www.ti.com/tool/linuxdvsdk-dm36x; for initial installation of the software components, please refer to the Texas Instruments TMS320DM36x Software Developers Guide. For installation of the CS368-TI DMSDK, please refer to the Cimarron Systems CS368-TI DMSDK Installation Guide. DMSDK Functional Architecture As illustrated in Figure 4, the CS368-TI DMSDK software architecture includes functional modules that implement the RTP A/V Streaming Server on the TMS320DM36x DVEVM and the RTP A/V Streaming Client on the Ubuntu Linux Host. The RTP A/V Streaming Server Application includes: an A/V Capture; H.264 Video Encoder; AAC-LC Audio Encoder; RTCP Transmitter User Agent; and RTP Transmitter components. The Streaming A/V Client Application includes: a RTP Receiver; a RTCP Receiver User Agent; MPEG-2 Transport Stream (TS) Encoder that multiplexes the encoded H.264 video and AAC-LC audio into a transport stream; and MPEG-2 TS Output/File Writer components. The primary functions performed by both the RTP A/V Streaming Server and Client Application components are described in the next sections. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 5

CS368-TI DMSDK RTP A/V Streaming Applications Software Architecture TMS320DM36x DVEVM Ubuntu Linux Host RTP A/V Streaming Server A/V Capture H.264 Video Encoder AAC-LC Audio Encoder RTCP Tx User Agent RTP Tx TI Embedded Linux Kernel RTP A/V Streaming Client MPEG-2 TS Output / File Writer MPEG-2 TS Encoder RTCP Rx User Agent RTP Rx Ubuntu Linux Network:, Wireless, etc. Figure 4: CS368-TI DMSDK RTP A/V Streaming Application Software Architectural Diagram. RTP A/V Streaming Server Functional Modules As illustrated in Figure 5, the TMS320DM368 DVEVM RTP A/V Streaming Server component includes modules that implement video and audio capture; buffer input/output, creation, and execution functions for the codecs that encode A/V; the encoded A/V bit stream management function; the encoded A/V bit stream RTP packetization function; the RTCP user agent; the RTP/UDP/IP transmit and receive functions; and the main function. A short description of each of the TMS320DM368 DVEVM CS368-TI DMSDK RTP A/V Streaming Server functional modules is presented below:! User Interface/Control: provides the user interface as well as start-up, shut-down, and thread control services to the application.! Global Time: provides a global timekeeping service to the application and any of its threads.! Capture: initializes, manages, and deletes the video capture buffer processes. when the Component Video Input is selected, initializes the Video Processing Front End. when the LI-5M02 Camera Board Input is selected, initializes the Image Pipe for input from the camera; programs the Automatic Exposure/White Balance Engine with an expose sampling window and an initial sensor gain value; and dynamically adjusts the sensor gain value based on ambient light conditions.! H.264 Video Encoder: initializes, manages, and shuts down the H.264 video codec. initializes, manages, and deletes the video encoder output buffers. passes H.264 encoded video bitstreams to the Video RTP Transmitter.! AAC-LC Audio Encoder: initializes, manages, and shuts down the AAC-LC audio codec. initializes, manages, and deletes the audio encoder output buffers. passes AAC-LC encoded audio bitstreams to the Audio RTP Transmitter. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 6

I/O Interconnects RTP A/V Streaming Server Software Architecture ui g_time capture codecs video dv_rtp da_rtp main Qt Embedded Open Source Linux Libraries GStreamer TI Plugin DaVinci Multimedia Application Interface (DMAI) Platform Support Package DM365MM Module Linux Operating System Kernel Codec Engine VISA IRQ EDMA Linux Utilities CMEM Supervisor Mode Audio Speech Video Image Framework Components! A/V Codecs Figure 5: RTP A/V Streaming Server Software Architectural Diagram.! DV RTP Transmitter/RTCP User Agent: receives/processes Video RTCP Rx User Agent Client Messages. controls the Video RTCP Tx User Agent User Agent. initializes, manages, and shuts down the Video RTP Transmitter in accordance with certain system parameters. initializes, manages, and shuts down the Video RTP Transmitter sockets in accordance with certain system parameters. independently forms the H.264 video bitstream into Video RTP Transmitter packets then transmits them onto the network and, optionally, writes the bitstream to a file (videofile.264).! DA RTP Transmitter/RTCP User Agent: receives/processes Audio RTCP Rx User Agent Client Messages. controls the Audio RTCP Tx User Agent User Agent. initializes, manages, and shuts down the Audio RTP Transmitter in accordance with certain system parameters. initializes, manages, and shuts down the Audio RTP Transmitter sockets in accordance with certain system parameters. independently forms the AAC-LC video bitstream into Audio RTP Transmitter packets then transmits them onto the network and, optionally, writes the bitstream to a file (audiofile.aac). The RTP A/V Streaming Server implements H.264 video and AAC audio streaming in accordance with IETF RFC 3550 RTP: A Transport Protocol for Real-Time Applications, RFC 6184 RTP Payload for H.264 Video, and Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 7

! RFC 3551 RTP Profile for Audio and Video Conferences with Minimal Control. 2 RTP A/V Streaming Client Functional Modules As illustrated in Figure 6, the TMS320DM36x DVEVM RTP A/V Streaming Client component includes: a thread that implements the RTP Audio Socket Receive, RTCP Video Message Socket Transmit, and AAC-LC File Writer functions; a thread that implements the RTP Video Socket Receive, RTCP Video Message Socket Transmit, and H.264 Video File Writer functions; a thread that implements the Control, MPEG-2 Transport Stream Encode, and MPEG-2 TS File Writer functions; and the main function that starts/shuts down the application by initializing/shutting down the application threads. A short description of each of the CS368-TI DMSDK Ubuntu Linux Host RTP A/V Streaming Client functional modules is presented below:! DV RTP Receiver/RTCP User Agent: generates/sends Video RTCP Receiver User Agent Client Messages. receives/processes Video RTCP Transmitter User Agent Server Messages. controls the Video RTCP Receiver User Agent. RTP A/V Streaming Client Software Architecture ava_rtp_ts_client CodeSourcery G++ Tool Chain Embedded Linux Build System Other Linux User-space Applications DVSDK Embedded Linux Kernel DVSDK U-Boot Bootloader DVSDK Framework Components DVSDK Demonstration Applications DVSDK DMAI Applications DVSDK DVTB Applications DMSDK A/V RTP Streaming Application DMSDK A/V Application Framework Network File System Ubuntu Linux Operating System Kernel Ubuntu Linux Operating System Calls, File/Memory Systems, Sockets, Processes, and Device I/O USB Hard Disk Drive Serial I/O Ubuntu Linux Host / DVEVM Interfaces Figure 6: RTP A/V Streaming Client Software Architectural Diagram. I/O Interconnects 2 For an excellent tutorial concerning the application of RTP, please see the presentation RTP: Multimedia Streaming over IP, by Colin Perkins, USC Information Sciences Institute. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 8

initializes, manages, and shuts down the Video RTP Receiver in accordance with certain system parameters. initializes, manages, and shuts down the Video RTP Receiver input/output sockets in accordance with certain system parameters. depacketizes the H.264 video bitstream RTP packets then transmits the resulting video bitstream to the MPEG-2 TS Encoder and to the File Writer.! DA RTP Receiver/RTCP User Agent: generates/sends Audio RTCP Receiver User Agent Client Messages. receives/processes Audio RTCP Transmitter User Agent Server Messages. controls the Audio RTCP Receiver User Agent. initializes, manages, and shuts down the Audio RTP Receiver in accordance with certain system parameters. initializes, manages, and shuts down the Audio RTP Receiver input/output sockets in accordance with certain system parameters. depacketizes the AAC-LC audio bitstream RTP packets then transmits the resulting video bitstream to the MPEG-2 TS Encoder and to the File Writer.! MPEG-2 TS Encoder: creates, multiplexes then outputs MPEG-2 TS SDT, PAT, and PMT packets. creates, multiplexes then outputs MPEG-2 TS H.264 video bitstream packets. creates, multiplexes then outputs MPEG-2 TS AAC-LC audio bitstream packets.! MPEG-2 TS Output/File Writer: outputs MPEG-2 TS packets. writes the MPEG-2 TS file. System Requirements Prerequisites for installation of the CS368-TI DMSDK: 1. An instance of Ubuntu Linux 10.04 LTS running on a PC/Mac either natively or on a Virtual Machine (VM). 2. DM36x DMEVM must be configurable with Texas Instruments DVSDK version 4.02, i.e., dvsdk_dm368-evm_4.02.00.06. 3. DM36x DMEVM must be configurable with the LI-5M02. For more information regarding this and other Cimarron Systems products, please contact us using one of the methods shown below. Contact Information: Cimarron Systems, LLC Evergreen, Colorado telephone: +1 (303) 674-9207 email: info@cimarronsystems.com website: www.cimarronsystems.com Revision History: Date Version Notes 11/20/2012 version 1.0 Initial version. 6/3/2013 version 1.5 Extended AE/WB functions. 1/3/2014 version 2.0 Added operation at 1920 x 1080i. 4/15/2017 Version 2.5 Minor editorial corrections. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 9