28盤實踐開發(fā)包-arm6410開發(fā)板s3c64xx mfc驅(qū)動接口說明_第1頁
28盤實踐開發(fā)包-arm6410開發(fā)板s3c64xx mfc驅(qū)動接口說明_第2頁
28盤實踐開發(fā)包-arm6410開發(fā)板s3c64xx mfc驅(qū)動接口說明_第3頁
28盤實踐開發(fā)包-arm6410開發(fā)板s3c64xx mfc驅(qū)動接口說明_第4頁
28盤實踐開發(fā)包-arm6410開發(fā)板s3c64xx mfc驅(qū)動接口說明_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、S3C64xx MFC 驅(qū)動接口說明2008 年 9 月 10 日一.MFC 驅(qū)動 I/O 接口:1.openopen語法open(const char * path,oflag);描述用于創(chuàng)建 MFC 實例,可以同時創(chuàng)建多個實例。參數(shù)path IN : MFC 設(shè)備節(jié)點路徑,一般為 /dev/s3c-mfc oflagIN : 標志符API描述open打開 MFC 設(shè)備ioctlIOCTL_MFC_MPEG4_DEC_INIT IOCTL_MFC_MPEG4_ENC_INIT IOCTL_MFC_MPEG4_DEC_EXE IOCTL_MFC_MPEG4_ENC_EXEIOCTL_MFC_H

2、264_DEC_INIT IOCTL_MFC_H264_ENC_INIT IOCTL_MFC_H264_DEC_EXE IOCTL_MFC_H264_ENC_EXEIOCTL_MFC_H263_DEC_INIT IOCTL_MFC_H263_ENC_INIT IOCTL_MFC_H263_DEC_EXE IOCTL_MFC_H263_ENC_EXEIOCTL_MFC_VC1_DEC_INIT IOCTL_MFC_VC1_DEC_EXEIOCTL_MFC_GET_LINE_BUF_ADDR IOCTL_MFC_GET_RING_BUF_ADDR IOCTL_MFC_GET_FRAM_BUF_AD

3、DR IOCTL_MFC_GET_PHY_FRAM_BUF_ADDR IOCTL_MFC_GET_CONFIGIOCTL_MFC_SET_CONFIG IOCTL_MFC_SET_H263_MULTIPLE_SLICEmmapMapmemory for applicationclose關(guān)閉 MFC 設(shè)備2.ioctl3.mmap4.closeClosemmap語法Void *mmap(void *addr, size_t len,prot, flags, fd,off_t off);描述物理上連續(xù)的內(nèi)存??梢园?MFC 驅(qū)動中的 stream 緩沖區(qū)和frame 緩沖區(qū)到用戶層。參數(shù)addrI

4、N : nonelenIN : 內(nèi)存大小protIN :(PROT_READ, PROT_WRITE, 等)flagIN : 內(nèi)存標志 (MAP_SHARED, 等) fd IN : 由 open 返回的文件描述符offIN : none函數(shù)返回值返回后的 stream buffer址ioctl語法ioctl(fd,cmd,arg);描述控制 MFC,通過 cmd 參數(shù)控制 MFC 運行參數(shù)fd IN : 由 open 返回的文件描述符cmd IN : 控制命令,具體看下面詳細介紹argIN : MFC 參數(shù)函數(shù)返回值成功執(zhí)行返回非零值,否則返回零函數(shù)返回值返回的文件描述符,如果函數(shù)調(diào)用失敗,

5、返回 INVALID_HANDLE_VALUE.二. ioctl() 的 cmd 參數(shù):IOCTL_MFC_MPEG4_DEC_EXE IOCTL_MFC_H263_DEC_EXE IOCTL_MFC_H264_DEC_EXEIOCTL_MFC_VC1_DEC_EXE描述參數(shù)fd IN : HANDLE returned by open() function Cmd IN :IOCTL_MFC_MPEG4_DEC_EXE,IOCTL_MFC_H263_DEC_EXE, IOCTL_MFC_H264_DEC_EXE,IOCTL_MFC_VC1_DEC_EXEarg IN/OUT : 指向 MFC

6、_DEC_EXE_ARG 結(jié)構(gòu)體.返回Sucs: nonzero,Failed: zeroIOCTL_MFC_MPEG4_DEC_INIT IOCTL_MFC_H263_DEC_INIT IOCTL_MFC_H264_DEC_INITIOCTL_MFC_VC1_DEC_INIT描述初始化相應(yīng)的 MFC參數(shù)fd IN : HANDLE returned by open() function cmd IN : IOCTL_MFC_MPEG4_DEC_INIT,IOCTL_MFC_H263_DEC_INIT, IOCTL_MFC_H264_DEC_INIT,IOCTL_MFC_VC1_DEC_INI

7、Targ IN/OUT : 指向MFC_DEC_INIT_ARG 結(jié)構(gòu)體返回Sucs: nonzero,Failed: zero語法close(fd);描述關(guān)閉 MFC 設(shè)備參數(shù)fd IN : open 返回的文件描述符函數(shù)返回值成功返回非零值,否則返回零IOCTL_MFC_GET_LINE_BUF_ADDRIOCTL_MFC_GET_RING_BUF_ADDR IOCTL_MFC_GET_FRAM_BUF_ADDR描述得到 LINE_BUF, RING_BUF 或 FRAM_BUF 的址參數(shù)fd IN : HANDLE returned by open() functioncmd IN :

8、IOCTL_MFC_GET_LINE_BUF_ADDR, IOCTL_MFC_GET_RING_BUF_ADDR, IOCTL_MFC_GET_FRAM_BUF_ADDRIOCTL_MFC_MPEG4_ENC_EXE IOCTL_MFC_H263_ENC_EXE IOCTL_MFC_H264_ENC_EXEIOCTL_MFC_VC1_ENC_EXE描述編碼參數(shù)fd IN : HANDLE returned by open() function cmd IN :IOCTL_MFC_MPEG4_ENC_EXE,IOCTL_MFC_H263_ENC_EXE, IOCTL_MFC_H264_ENC_E

9、XE,IOCTL_MFC_VC1_ENC_EXEarg IN/OUT : 指向 MFC_ENC_EXE_ARG 結(jié)構(gòu)體.Returncs: nonzero,Failed: zeroIOCTL_MFC_MPEG4_ENC_INIT IOCTL_MFC_H263_ENC_INIT IOCTL_MFC_H264_ENC_INITIOCTL_MFC_VC1_ENC_INIT描述初始化 MFC 編碼參數(shù)參數(shù)fd IN : HANDLE returned by open() function cmd IN :IOCTL_MFC_MPEG4_ENC_INIT,IOCTL_MFC_H263_ENC_INIT,

10、 IOCTL_MFC_H264_ENC_INIT,IOCTL_MFC_VC1_ENC_INITarg IN/OUT : 指向 MFC_ENC_INIT_ARG 結(jié)構(gòu)體返回Sucs: nonzero,Failed: zeroIOCTL_MFC_SET_H263_MULTIPLE_SLICE描述設(shè)置 H263 編碼的 multiple slice 模式參數(shù)fd IN : HANDLE returned by open() functioncmd IN : IOCTL_MFC_SET_H263_MULTIPLE_SLICEIOCTL_MFC_SET_CONFIG描述配置參數(shù)參數(shù)fd IN : HAN

11、DLE returned by open() function cmd IN : IOCTL_MFC_SET_CONFIGarg IN/OUT : 指向MFC_SET_CONFIG_ARG 結(jié)構(gòu)體.返回Sucs: nonzero,Failed: zeroIOCTL_MFC_GET_CONFIG描述得到可配置參數(shù),具體參數(shù)看下面定義參數(shù)fd IN : HANDLE returned by open() function cmd IN : IOCTL_MFC_GET_CONFIGarg IN/OUT : 指向MFC_GET_CONFIG_ARG 結(jié)構(gòu)體.返回Sucs: nonzero,Failed

12、: zeroIOCTL_MFC_GET_PHY_FRAM_BUF_ADDR描述得到 FRAM_BUF 的物理地址參數(shù)fd IN : HANDLE returned by open() functioncmd IN : IOCTL_MFC_GET_PHY_FRAM_BUF_ADDRarg IN/OUT : 指向MFC_GET_BUF_ADDR_ARG 結(jié)構(gòu)體.返回Sucs: nonzero,Failed: zeroarg IN/OUT : 指向MFC_GET_BUF_ADDR_ARG 結(jié)構(gòu)體.返回Sucs: nonzero,Failed: zero三. 數(shù)據(jù)結(jié)構(gòu):Struct MFC_GET_B

13、UF_ADDR_ARGret_codeOUT 返回值in_usr_dataIN mmap 返回地址Struct MFC_DEC_EXE_ARGret_codeOUT 返回值in_strmSizeINSTRM_BUF 中流大小Struct MFC_DEC_INIT_ARGret_codeOUT 返回值in_strmSizeINSTRM_BUF 中流大小out_widthOUT輸出幀寬度out_heightOUT輸出幀高度Struct MFC_ENC_EXE_ARGret_codeOUT 返回值out_encoded_sizeOUT 編碼的流長度out_header_sizeOUT 編碼的頭大小S

14、truct MFC_ENC_INIT_ARGret_codeOUT 返回值in_widthIN 需要編碼的 YUV420 圖像的寬度in_heightIN 需要編碼的 YUV420 圖像的高度in_bitrateIN 編碼參數(shù): Bitrate (kbps)in_gopNumIN 編碼參數(shù): GOP Number (I 幀間隔)in_frameRateResIN 編碼參數(shù): Frame rate (Res)in_frameRateDivIN 編碼參數(shù): Frame rate (Divider)返回None四. 可獲得的參數(shù)五. 可設(shè)置的參數(shù)可配置的參數(shù)參數(shù)值描述MFC_SET_CONFIG_D

15、E C_ROE配置 MFC時進行旋轉(zhuǎn)和翻轉(zhuǎn)操作in_config_value0tRotModein_config_value1Not Usedout_config_value_old 0Oldvalueof tRotModeout_config_value_old 1Not UsedMFC_SET_CONFIG_EN C_H263_PARAMH263 編碼參數(shù)In_config_value0H.263EncParamIn_config_value1Not UsedOut_config_value_old 0Oldvalueof H.263EncParamOut_config_value_old

16、 1Not Used可獲得的參數(shù)參數(shù)值描述MFC_GET_CONFIG_D EC_FRAME_NEED_CO UNTout_config_value0Count of frame buffersout_config_value1Not UsedMFC_SET_CONFIG_ARGret_codeOUT 返回值in_config_paramIN 參數(shù)類型(具體看五. 可設(shè)置的參數(shù))in_config_value2IN 參數(shù)值,最多 2 個out_config_value_old2OUT 參數(shù)原始值,最多兩個Struct MFC_GET_CONFIG_ARGret_codeOUT 返回值in_co

17、nfig_paramIN 參數(shù)類型(具體看四. 可獲得的參數(shù))out_config_value2IN 參數(shù)值,最多 2 個out_buf_addrOUT 返回地址out_buf_sizeOUT 返回緩沖區(qū)大小5.1 MFC_SET_CONFIG_DEC_ROEin_config_value0 = HorMir, VerMir, RotAng1:0 HorMir : 水平翻轉(zhuǎn)VerMir : 垂直翻轉(zhuǎn)RotAng1:00 :1 :2 :3 :逆時針旋轉(zhuǎn)逆時針旋轉(zhuǎn)逆時針旋轉(zhuǎn)逆時針旋轉(zhuǎn)0 度90 度180 度270 度in_config_value1 = Not Usedout_config_val

18、ue0 = Old value of out_config_value1 = Not UsedtRotModeIn_config_value0HorMirVerMirRotAng0 x00000 x0010MFC_SET_CONFIG_EN C_SLICE_MODE設(shè)置 EncSliceModeIn_config_value00:Single,1: MultiIn_config_value1Numberof SliOut_config_value_old 0Old value of Single/MultiOut_config_value_old 1Old value of NumberOf

19、SliMFC_SET_CONFIG_EN C_PARAM_CHANGE編碼時改變編碼參數(shù)In_config_value0Parameter to be ChangedIn_config_value1New value of theParameterOut_config_value_old 0Parameter to be ChangedOut_config_value_old 1Oldvalueof theParameterMFC_SET_CONFIG_EN C_CUR_PIC_OPTIn_config_value0Option NameIn_config_value1Option Value

20、Out_config_value_old 0Not usedOut_config_value_old 1Not used5.2 MFC_SET_CONFIG_ENC_H263_PARAMH.263 Encode Annex sets the MFC to produce H.263 stream with the PLUSTYPE features asdefined in H.263 standard specification. The S3C6400 MFC supports four Annexes,Annex T, Annex J, Annex K and Annex I. They

21、 are enabled by bitwise-OR operation.in_config_value0 = ANNEX_T_ON/OFF | ANNEX_K_ON/OFF | ANNEX_J_ON/OFF ANNEX_T_ON, ANNEX_T_OFF: Modifiedzation modeANNEX_K_ON, ANNEX_K_OFF : Slitructured modeANNEX_J_ON, ANNEX_J_OFF : Deblocking Filter modein_config_value1 = Not Usedout_config_value0 = Old value of

22、H.263 Annex Settingout_config_value1 = Not Used5.3 MFC_SET_CONFIG_ENC_SLICE_MODEin_config_value0Annex TAnnex KAnnex J0 x00000 x0001OXX0 x0002XOX0 x0003OOX0 x0004XXO0 x0005OXO0 x0006XOO0 x0007OOO0 x0011XX90 roe0 x0012XX180 roe0 x0013XX270 roe0 x0014XOX0 x0015XO90 roe0 x0016XO180 roe0 x0017XO270 roe0

23、x0018OXX0 x0019OX90 roe0 x001AOX180 roe0 x001BOX270 roe0 x001COOX0 x001DOO90 roe0 x001EOO180 roe0 x001FOO270 roeEncSliceMode determines the encoded output stream format to be single or multiple sli.in_config_value0 = 0: single slice, 1: multiple slicein_config_value1 = Number of slipictureout_config

24、_value0 = Old value of Single/Multipleout_config_value1 = Old value of NumSli5.4 MFC_SET_CONFIG_ENC_PARAM_CHANGEEncParamChange 在編碼過程中改變編碼參數(shù)編碼參數(shù)可以動態(tài)改變in_config_value0 = Encoding Parameter to be changed in_config_value1 = Parameter value to be set out_config_value0 = Encoding Parameter to be changedou

25、t_config_value1 = Old value of parameterin_config_value0in_config_value1DescriptionENC_PARAM_GOP_NUM0600 I, P, P, P, 1 I, I, I, I, 2 I, P, I, P, 3 I, P, P, I, P, P, I, ENC_PARAM_RA_QP1 31 (MPEG4/H.263),0 51 (H.264)ra framcturezed step parameterENC_PARAM_BITRATE1 32767bitrate in kbpsENC_PARAM_F_RATEFrameRateDiv-1 FrameRateResBits 3116 : FrameRateDiv-1 Bits 150: FrameRateResF_RATE =FrameRateRes / FrameRateDiv-1ENC_PARAM_RA_REF0 Nra MB refresh number.0 ra MB refresh is not usedN east N number of MBs are encoded

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論