s3c6410中MFC的研究與應用
前言
本文引用地址:http://cafeforensic.com/article/127430.htms3c6410是三星電子(Samsung Electronics)公司生產(chǎn)的一款基于ARM 1176JZF-S核的微處理器,其內核在1.2 V供電時主頻可達667MHz。s3c6410具有適合于多媒體處理器應用的特性,內集成一個硬件多格式編解碼器MFC(Multi-Format Codec ),支持30fps標清H.264、MPEG4、H.263格式視頻的編碼和解碼,支持JPEG格式圖片的編碼和解碼,也支持30fps標清VC-1格式視頻的解碼,這個硬件編解碼器還支持實時的視頻會議以及 NTSC 和 PAL 制式的 TV 輸出。
s3c6410配合適當?shù)囊曨l采集設備、顯示設備驅動程序和相應的應用程序,可以實現(xiàn)圖片、視頻等的處理,本文著重介紹其獨特的硬件MFC的原理及應用。
MFC的軟件結構
在基于s3c6410的多媒體應用中,MFC軟件的層次結構如圖1所示,多媒體應用程序調用MFC的API,API調用MFC驅動提供的I/OCTROL,I/OCTROL通過MFC設備驅動,完成視頻、圖片的編碼或解碼。
多媒體應用程序有兩種方式使用s3c6410的硬件編解碼器MFC。
方式1:多媒體應用程序調用MFC的編碼或解碼API函數(shù),這些API函數(shù)實際是驅動I/OCTROL接口的一個封裝,便于應用程序調用。
方式2:多媒體應用程序可直接調用MFC驅動的I/OCTROL函數(shù),繞過API、不用API。
本文主要探討方式1的使用。實際上,方式1是將方式2的驅動I/O CTROL調用封裝成更簡捷、方便的API函數(shù)。
MFC編解碼器的原理和API
MFC的解碼器
MFC解碼支持兩種輸入視頻流的解碼方式,分別為LINE_BUF方式和RING_BUF方式,兩種解碼方式使用于不同的場合,前者常用于視頻文件數(shù)據(jù)的解碼,后者一般用于連續(xù)視頻流數(shù)據(jù)的解碼,如表1所示。
評論