Download presentation
Presentation is loading. Please wait.
Published byBryce Cook Modified over 8 years ago
1
DaVinci Overview (features and programming) Kim dong hyouk
2
Feature Dual-core architecture that includes an ARM core and the DSP platform Connectivity –USB 2.0 High-speed Host and Client Function –Full 10/100 Mbps Ethernet MAC –Inter-integrated circuit(I2C) Bus interface –Special interface for FPGA complement
3
Feature – (Con’t) Data storage interface –ATA (Hard driver) –Compact Flash Controller –Multimedia Card (MMC)/ Secure Digital Card (SD) Controller Advance video acceleration –Video I/O processing subsystem –Video and imaging accelerator Advanced Audio –Audio serial port (ASP) for codec interface and communication
4
Feature – (Con’t) Supporting codecs –Video codec: H.264, MPEG4, H.263, WMV9 MPEG2, JPEG –Audio codec: AAC+ decode, AAC encode, WMA9 decode, WMA8 encode, MP3 decode, G.711, G.728, G.723.1, G.729ab
5
TMS320DM644x Block Diagram
6
TMS320 DM6443 & DM6446 TMS320DM6443 –Specifically equipped for decoding digital video signals –For portable media players –Includes both analog and digital video output with integrated re-sizer and an on-screen display engine
7
TMS320 DM6443 & DM6446 TMS320DM6446 –For applications that perform both decoding and encoding of video –Can capture various digital video formats
8
TMS320 DM6443 & DM6446
9
Application Programming Operating Systems: linux and other popular operating system API: multimedia application programming interface Frameworks: application-specific software solutions previously built by OEMs. Tools –Development Kits. –Code Composer Studio IDE
10
Example of programming MPEG-2 Video Decoding Algorithm
11
Example of programming (Con’t) MPEG-2 Video Decoder Structure
12
Example of programming (Con’t) Void MPEG2VDEC_init(): Decoder initialization. Should be the first call to the decoder MPEG2VDEC_HandleMPEG2VDEC_create( const IMPEG2VDEC_Fxns *fxns,const MPEG2VDEC_Params *prms ): Create an algorithm instance object Void MPEG2VDEC_apply( MPEG2VDEC_Handle handle,Int *input[],Int *output[] ): This applies the decoder to the input bit stream and outputs the result in the output buffer.
13
Example of programming (Con’t) old_ptr = 0; /* head of circular buffer */ MPEG2VDEC_init(); mpeg2vdec = MPEG2VDEC_create(&MPEG2VDEC_TI_IMPEG2VDEC, NULL); in[1] = &functionCode; out[1] = (int *) &out_para[0]; in[2] = (int *) &share_bsbuf_storage[0]; out[2] = (int *) &frame_all_storage[0]; in[3] = &h_share_mpeg2_rdbuf_size; functionCode = FUNC_START_PARA; MPEG2VDEC_apply(mpeg2vdec, in, out); /* decode sequence header */ while (! (decode_out-> end_of_seq) ){ /* not end of sequence */ functionCode = FUNC_DECODE_FRAME; MPEG2VDEC_apply(mpeg2vdec, in, out); /* decode one picture */ decode_out = (DECODE_OUT *)(out[1]); if (decode_out-> outputting) { //To do -- output the frame } //To do -- fill the input buffer between old_ptr = decode_out->next_wptr; } /* while */ MPEG2VDEC_delete(mpeg2vdec); MPEG2VDEC_exit();
14
END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.