《平台DM644x软件编程培训》由会员分享,可在线阅读,更多相关《平台DM644x软件编程培训(29页珍藏版)》请在金锄头文库上搜索。
1、MenuSoftware:Silicon:Tools:Support平台DM644x软件编程培训Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望MenuSoftware:Silicon:Tools:SupportSoftware Challenges to Building a Video ProductOS, Drivers, MiddlewareGUI, Human Factors Interface, Value AddCustomer Product IdeaCodecs:
2、Video, Imaging, Speech, & AudioSMenuSoftware:Silicon:Tools:SupportDaVinci Software OfferingsOptimized for Digital Video InnovationDigital Media CodecsH.264MPEG4H.263WMV9VC1MPEG2JPEG AAC-HEAAC-LCWMA9WMA8MP3G.711G.728G.723.1G.729abOperating Systems & Device DriversLinux OS preported to deviceInput out
3、put drivers tightly integrated into OSConfigurableRobust, tested with EPSI APIsPublished Multimedia Application Programming Interfaces (APIs)Industry-recognized APIsDaVinci APIs (VISA, EPSI, xDM)Codec abstractionInterprocessor communicationDSP/BIOSCodec EngineSignal Processing Libraries Codec Kernel
4、s FIR, IIRMenuSoftware:Silicon:Tools:SupportDM644x Software OverviewDrivers tightly integrated into OS Input/output using Camera, LCD, HDD, Networking, etc.Kernel SpaceSignal Processing LayerApplication LayerA DSP Image that consists of :CodecsCodec engineDSP/BIOSInter-processor communicationsCustom
5、erValue-AddedDifferentiationDigital Media APIsInput/Output APIsGstreamerFFMPEG OpenHelixMPlayerOpen SourceOpenSourceSoftwareUser SpaceCodecAPIsMenuSoftware:Silicon:Tools:SupportSimplified Embedded Video H.264MP3BIOSNodeJPEGPSPComponent- wareTI ProvidesCustomer, 3P CreatesSub-system-ware(Pre-wired Co
6、dec Combo)H.264AAC+MPEG4MP3+“How-to” Methodology for creatingCustom CombosConfig kitLinuxDriversDSP ExecutableCustomerValue-AddedDifferentiationApplication LayerSignal Processing LayerKernel Space Digital Media APIsInput/Output APIsMPEG4MP3+MPEG4MP3+MPEG4MP3+MPEG4MP3+preCodecsMenuSoftware:Silicon:To
7、ols:SupportCodec EngineEngineVIDIMGSPHAUDVISA APIVISA APII-NodeImage-TaskA-NodeAudio-TaskV-NodeVideo-TaskS-NodeSpch-TaskDSKT2DMAN3 ACPY3Node MnmgtCodecEngineRemoteServerFramework ComponentsxDM APIAudio CodecxDM APISpeech CodecxDM APIImaging CodecxDM APIVideo CodecDM644x Software StackARM SubsystemDS
8、P SubsystemUser SpaceKernel SpaceApplication Layer (APL)TransportI/OI/OI/OUSB 2.0 DriverI/OI/OI/OGPTimerWatchdgTimerI2C DriverUART DriverVideoDriverAudio DriverEMAC DriverMMC/SD DriverSPI DriverFile (ATA)Linux APIs w/EPSILink DriverBIOS DriverDSP/BIOS LinkDSP/BIOSCustomerValue-AddedDifferentiationAV
9、 SyncMux/DemuxTS / ASFNetwork RTP/RTSPSignal Processing Layer (SPL)xDM APISpeech CodecDSP/BIOS ServicesPWRMLOGDSP/BIOS Link SrvMSGQPROCMenuSoftware:Silicon:Tools:SupportImage CodingJPEGCentralofficeControl Module / Application LayerVideoCaptureImagequalityBit-ratecontrolImagesizecontrolPre/after-mot
10、ionrecodingVideo CodingMPEG4SPH.263BPH.264BPTCP/UDPIPB/W:21Mbytes/sD1:30FPSYUV422B/W:16Mbytes/sD1:30FPSYUV420B/W:16Mbytes/sD1:30FPSYUV422B/W:2Mbits/sB/W:12Mbits/sAudioCaptureB/W:96Kbytes/s,monoB/W:32Kbits/sDataflowControlflowBandwidthCustomercomponentsBasicIP camera Leveraging DaVinci SoftwareVideo
11、pre-processingDe-interlacingInput/OutputSignal ProcessingApplication ProcessingInput/OutputNetworking moduleHTTP/RTP/RTSPTI/DaVincicomponentsTCP/UDPIPHTTP/RTP/RTSPTI/MontaVista/OpenSourceB/W:1Mbits/sB/W:1.2Mbytes/sQVGA:15FPS,YVideo/Audio AnalyticsMotiondetectionEventdetectionObjecttrackingObjectreco
12、gnitionAnalysisControlIntelligentApplicationsAudio CodingAAC/WMAImage CodingJPEGVideoCaptureVideo CodingMPEG4SPH.263BPH.264BPAudioCaptureImagequalityBit-ratecontrolImagesizecontrolPre/after-motionrecodingAudio CodingAAC/WMAVideo pre-processingDe-interlacingCodecEngineVISAAPIIntelligent IP camera Men
13、uSoftware:Silicon:Tools:SupportDM644x Software OverviewDrivers tightly integrated into OS Input/output using Camera, LCD, HDD, Networking, etc.Kernel SpaceSignal Processing LayerApplication LayerCustomerValue-AddedDifferentiationDigitalMediaAPIsInput/OutputAPIsUser SpaceCodecAPIsA DSP Image that con
14、sists of :CodecsCodec engineDSP/BIOSInterprocessor communicationsMenuSoftware:Silicon:Tools:SupportBuilding a DSP ExecutableWith a Configure KitS.out(DSPExecutable/Image)ConfigKitCodecEngineVideoTaskImageTaskSpeechTaskAudioTaskDSP/BIOSDSP/BIOSLinkMPEG4MP3+preORxDM APIH.264 BP encMenuSoftware:Silicon
15、:Tools:SupporteXpressDSP Digital Media ( xDM ) InterfaceCompatiblesupersetextensiontotheeXpressDSPalgorithmstandard(xDAIS)WhenadifferentxDMAlgorithmisused,nochangesareneededattheapplicationlayerEnablesvaryinglevelsofabstractionfromDSPmultimediaprocessingfunctionalityNodependenciesonDSP/BIOS,Link-xDM
16、codecscanworkinanyframeworkMultiple options for delivery and flexibilityalacarteOptimizedCombinationsCompleteDSPexecutableFullsystemsolutionCodecs for DaVinci Technology have flexible interfaces xDM APIH.264 BP encxDM APIWMV9 decxDM APIG.729abxDM APIJPEG enc/decxDM APIWMAencxDM APIAACdecMenuSoftware
17、:Silicon:Tools:SupportMPEG4MP3WMA8JPEG2KJPEGG.723GSM-AMRG.729abWMV9MPEG2H.26460+ codecs with 60+ unique APIs!CodecsVideoImagingSpeechAudioWMV9,VC1,MPEG4,H.264MP3,WMA8,AAC+,etc.JPEG,JPEG2KG.729ab,G.726,GSM-AMR60+ codecs with only 1 API for each class!Same class types as the VISA interfacexDM is the l
18、ow-level counterpart to the application layer VISA interfaceClass-agnosticClass-specificxDM APIIMAGINGIALG IRMICLASS IERRORIVENDORxDM APIVIDEOIALG IRMICLASS IERRORIVENDORxDM APISPEECHIALG IRMICLASS IERRORIVENDORxDM APIAUDIOIALG IRMICLASS IERRORIVENDORMenuSoftware:Silicon:Tools:SupportDigital Media C
19、odec Roadmap1Q062Q063Q06VIDEOH.264MPDecodeMPEG4ASPEncodeH.264BPDecodeWMV9MPEncodeMPEG4ASPDecodeH.264BPEncodeVC1(WMV9AP)DecodeH.263DecodeH.263EncodeMPEG4SPDecodeMPEG4SPEncodeMPEG-2DecodeWMV9MPDecodeIMAGEJPEGEncodeJPEGDecodeSPEECHG.711G.728G.729abG.723.1AUDIOMP3DecodeWMA8EncodeAAC-HEEncodeWMA9DecodeAA
20、C-HEDecodeAAC-LCEncodeAAC-LCDecodeMenuSoftware:Silicon:Tools:SupportOld Codec Roadmap1Q062Q063Q06VIDEOH.264MPDecodeH.263Decode(profile-3)MPEG4ASPEncodeH.264BPDecodeH.263Encode(profile-3)MPEG4ASPDecodeH.264BPEncodeVC1(WMV9AP)DecodeH.263Decode(profile-0)MPEG2EncodeH.263Encode(profile-0)MPEG4SPDecodeMP
21、EG4SPEncodeMPEG-2DecodeWMV9MPDecodeWMV9MPEncodeIMAGEJPEGEncodeJPEGDecodeSPEECHG.711G.728G.729abG.723.1AUDIOMP3DecodeWMA8EncodeWMA9DecodeAAC+EncodeAAC+DecodeMenuSoftware:Silicon:Tools:SupportCodec Engine is TIs Powerful and Flexible Framework for Codec ExecutionVISA APIsThe Codec Engine provides a st
22、andard software platform for algorithm execution RobustTested with numerous codec combinationsEasy to use Enables one API for each class of codecs with VISA APICan use any xDM compliant codecsEnables codecs to be remotely executed ie on DSPCodecs can run on the ARM or DSP with same API presented to
23、userPowerfulPackages all the underlying component software to enable multi-algorithm combinationsAllows multiple codecs/combos to be runSingle or multiple codecs can be instantiated for each algorithm typeCodec Engine includes VISA APIs to interface with xDM compliant codecsSupports xDM algorithm cl
24、assesVideo, Imaging, Speech, AudioCodecEngineVideoTaskImageTaskSpeechTaskAudioTaskDSP/BIOSDSP/BIOSLinkxDM CodecxDM CodecxDM CodecxDM CodecMenuSoftware:Silicon:Tools:SupportVISA APIs Enable Encode, Decode, and Algorithm Control Eight interfaces based on four classes of multimedia algorithms (video, i
25、mage, speech, & audio) and functionality (encode & decode) IIMG_ENCIIMG_DECIVID_ENC IVID_DECVISAIAUD_ENC IAUD_DECISPH_ENCISPH_DECFigure 2: Generic interface defines by xMITwo functions for each interface:process()control()Codec Engine MenuSoftware:Silicon:Tools:SupportCreate a DSP Executable with Co
26、nfiguration GuideDocumentationandexamplebuildscriptEnablesTI,customers,and3rdpartiestobuildcustomcombinationsofalgorithmsNoDSPcodingrequiredBuildslibrariesintoaDSPexecutablewithamakefileParametersavailabletocontrolmemoryplacementUsesTIcodecengineframeworktoroutedatatomultimediaalgorithmsCreatesaDSPA
27、VexecutableVISAinterfaceisexposedtotheapplicationlayerConfigGuideSCodecEngineVideoTaskImageTaskSpeechTaskAudioTaskDSP/BIOSDSP/BIOSLinkxDM CodecxDM CodecxDM CodecxDM CodecxDM APIAUDIOxDM APISPEECHxDM APIIMAGINGxDM APIVIDEOxDM APIVIDEOxDM APIVIDEOxDM APIAUDIOxDM APIAUDIOMenuSoftware:Silicon:Tools:Supp
28、ortDSP/BIOSBuilding a Custom DSP AV ExecutableVideoTaskImageTaskSpeechTaskAudioTaskH.264 BP encJPEG enc/decAAC decG.729abCodecEngineSignalProcessingLayerDSPSubsystemCustomerApplicationSoftwareLinuxKernelv2.6.10(KernelSpace)VISA APIs DriversInput/Capture DriversOutput/ DisplayApplicationLayerARMSubsy
29、stemInter-ProcessorCommunication(Link)DSP/BIOSLinkHostComponentCodecEngineHostComponent(UserSpace)VISAConfigGuideSCodecEngineVideoTaskImageTaskSpeechTaskAudioTaskDSP/BIOSDSP/BIOSLinkxDM CodecxDM CodecxDM CodecxDM CodecVideoTaskH.264 BP encAudioTaskAAC decxDM APIAUDIOxDM APIVIDEOxDM APIH.264 BP encxD
30、M APIAAC decMenuSoftware:Silicon:Tools:SupportOld Slide not consistent with Feb 15th version of TRS for DVEVM / DVDP Defined combinations of codecs to support key market requirementsAdditional executables will be available over time, based on market demand3rd parties will be enabled with the tools t
31、o create custom DSP AV executablesMenuSoftware:Silicon:Tools:SupportDSP AV Executables from TIDefined combinations of codecs to support key market requirementsAdditional executables will be available over time, based on market demand3rd parties will be enabled with the tools to create custom DSP AV
32、executablesDSP EXECUTABLESIncluded with DVEVMH.264BPencode/decode;H.264BPencode,G.711encodeMPEG-4SPencode,G.711encodeH.264BPdecode,AACLCdecodeMPEG-4SPdecode,G.711decodeAlso availableMPEG-2decode,MPEG-1layer2audiodecodeJPEGencode/decodeMoreDSPAVexecutablecombinationstocomeMenuSoftware:Silicon:Tools:S
33、upportDSP/BIOSBuilding a Custom DSP AV ExecutableVideoTaskImageTaskSpeechTaskAudioTaskH.264 BP encJPEG enc/decAAC decG.729abCodecEngineSignalProcessingLayerDSPSubsystemCustomerApplicationSoftwareLinuxKernelv2.6.10(KernelSpace)VISA APIs DriversInput/Capture DriversOutput/ DisplayApplicationLayerARMSu
34、bsystemInter-ProcessorCommunication(Link)DSP/BIOSLinkHostComponentCodecEngineHostComponent(UserSpace)VISAConfigGuideSCodecEngineVideoTaskImageTaskSpeechTaskAudioTaskDSP/BIOSDSP/BIOSLinkxDM CodecxDM CodecxDM CodecxDM CodecVideoTaskH.264 BP encAudioTaskAAC decxDM APIVIDEOxDM APIH.264 BP encxDM APIAUDI
35、OxDM APIAAC decCustom DSP AV Executable:H.264 dec + AAC dec AAC, WMA9 enc+decOEM Value AddMenuSoftware:Silicon:Tools:SupportCustomerApplicationSoftwareLinuxKernelVideoEncoderalgorithmInter-ProcessorCommunication(Link)FrameworkComponentsDSP/BIOSOpen Software Architecture on DSP and ARM VIVA Interface
36、CodecEnginexDAIS-DTCodec Combo:WMV9 + WMA9.out-DSPexecutable APIs DriversInput/Capture DriversOutput/ DisplayDSPAVExecutable(.outfile)Pre-wiredbyTIbyAuthorizedSoftwareProviderCustomBuiltwithTICodecEngineCustomBuiltwithCustomframeworkMultiple options to tap into DSP performancePre-builtDSPexecutableC
37、ustombundleofcodecsCustomIPalongwithcodecsDifferent levels of abstraction for different usersDSP AV Executable Pre-builtbyTIor3rdpartiesCustombuiltw/CodecEngineCodecsw/customframeworkMenuSoftware:Silicon:Tools:SupportDM644x Software OverviewDrivers tightly integrated into OS Input/output using Camer
38、a, LCD, HDD, Networking, etc.Kernel SpaceSignal Processing LayerApplication LayerCustomerValue-AddedDifferentiationDigitalMediaAPIsInput/OutputAPIsUser SpaceCodecAPIsA DSP Image that consists of :CodecsCodec engineDSP/BIOSInterprocessor communicationsMenuSoftware:Silicon:Tools:SupportOptimized Linux
39、 BSPLinux 2.6.10 base port for DM644x EVM (based upon MontaVista kernel)DriversSerial-UART,I2C,SPIStorage-ATA,NAND,MMCNetwork-10/100Ethernet(EMAC/CPMAC)USB-Massstorage-HostandGadgetdriversAudio-OSSAudiodriverVideo-V4L2forCaptureandFBDev/DirectFBforDisplay UBoot 1.1.3 (boot-loader)MenuSoftware:Silico
40、n:Tools:SupportOS Adaptation Layer enables IPC Link to multiple Operating systems BIOS Link software designed to support multiple OSsFirst implementation of DSP/BIOS Link will include OSAL forLinuxPrOSBIOS/Link porting guide outlines steps required to port to other operating systemsMenuSoftware:Sili
41、con:Tools:SupportDSP/BIOSVideoAudioetcWinCEVideoNetworkingetcPrOSVideoAudioetcEPSIV4L2FBDEVOSSetcLinuxI2CVLYNQCacheetcCommonality of drivers LinuxBIOSWinCEPrOSEtcFacilitates faster porting of OS drivers for DaVinciCustomers, TI, or 3rd party partners can port driver package to additional OSs based o
42、n market needsEPSI Leverages Commonality Between Multiple OSsMenuSoftware:Silicon:Tools:SupportDevelopment tools and supportLinuxdevelopmenttoolsReferenceguidelinesforhigh-speedvideoboarddesign,DDR2layout,etc.DaVinci Development ToolsDigital Video Evaluation Module (DV-EVM)HardwareBasedontheDM6446Ad
43、ditionalincludinghardwarecomponents:NTSC/PALvideocamera5.6-inchLCDscreenSpeakersandmicrophoneIRremoteHarddiskdrive(2.5-inch40G)SoftwareCodecevaluationanddemosincluding:H.264,MPEG-4,MPEG-2,AAC+,G.711MultimediaAPIs&frameworksMontaVista2.6.10LinuxsupportpackageConnectivityConnectivitycapabilities:USB2.
44、0,10/100EMACMultipleon-boardmemorytypes:CompactFlash,ATA,SD,DDRVideoinputviaNTSC/PALVideooutputviaNTSC/PAL&YPbPr/RGBCD-qualityaudioinputandoutputDaughter-cardconnectionstoperipheralinterfacesDVEVMTMDXEVM6446Order entry openMenuSoftware:Silicon:Tools:SupportGet Started: Order Entry OpenProcessors: Di
45、gital video system-on-chipsTMX320DM6443 Video decodeTMX320DM6446 Video encode/decodeDV-EVM (TMDXEVM6446): Validated software and hardware developmentSoftware: Open, optimized & production testedPlatform-optimized, multimedia codecsPlatform support packageLinux support packageIndustry-recognized APIsMultimedia frameworksDM6446DM6443DV-EVMDigitalVideoEvaluationM You!