Presentation is loading. Please wait.

Presentation is loading. Please wait.

DaVinci Overview (features and programming) Kim dong hyouk.

Similar presentations


Presentation on theme: "DaVinci Overview (features and programming) Kim dong hyouk."— Presentation transcript:

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


Download ppt "DaVinci Overview (features and programming) Kim dong hyouk."

Similar presentations


Ads by Google