內容發(fā)布期參考_第1頁
內容發(fā)布期參考_第2頁
內容發(fā)布期參考_第3頁
內容發(fā)布期參考_第4頁
內容發(fā)布期參考_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2014-2015。保留一切權利、2014-2015。保留一切權利、注+86-755-+86-755-郵編前言前言概TDEAPIProc產品前言前言概TDEAPIProc產品讀者i前言符號修訂添加Hi3519V100的相關內前言符號修訂添加Hi3519V100的相關內添加Hi3518EV200/V201和Hi3516CV200的相關內2.2節(jié),HI_TDE2_SolidDraw添加Hi3516D的相關內目錄目錄 1概 目錄目錄 1概 概 API參考 API參 API概 ........................................................................................................................................ 45錯誤 實 i插圖目圖2-1位圖與位圖中的操作區(qū)域的關插圖目圖2-1位圖與位圖中的操作區(qū)域的關 2-2-2-2-5-5-colorkey運算的搬移操作示意 colorkey運算的搬移操作示意 區(qū)域內clip示意 區(qū)域外clip示意 調用TDE刷新兩個屏幕surface函數的實現過 表格目表1-1芯片規(guī) 表格目表1-1芯片規(guī) 表3-1TDE數據結構映射 表4-1TDEAPI錯誤 11概1.111概1.1alpha疊加、位圖按位布爾運算、ColorKey操作。1.2值,則系統默認將在無名的mmz上分配。參考域說API1是否支持YCbCr概11.3.22API概11.3.22APIAPIAPIAPIAPIAPIAPIAPIAPI2API2.1API2API2.1APIHI_TDE2_Open:打開TDE設備。HI_TDE2_Close:關閉TDE設備。HI_TDE2_BeginJob:創(chuàng)建1個TDE任務。HI_TDE2_EndJobTDE任務。HI_TDE2_Reset:復位TDE所有狀態(tài)。HI_TDE2_GetAlphaThresholdValue:獲取alpha判決閾值。HI_TDE2_SetAlphaThresholdValue:設置alpha判決閾值。HI_TDE2_GetAlphaThresholdState:獲取alpha判決開關。HI_TDE2_SetAlphaThresholdState:設置alpha判決開關。3HI_TDE2_BitmapMaskBlend:向任務中添加對光柵位圖進行MaskBlend搬移操HI_TDE2_CancelJob:HI_TDE2_BitmapMaskBlend:向任務中添加對光柵位圖進行MaskBlend搬移操HI_TDE2_CancelJob:取消指定的TDE任務。HI_TDE2_WaitForDone:等待指定的TDE任務完成。2.2打開TDEHI_S3240TDETDETDETDETDETDEHI_S32s32Ret=0;/*openTDEdevice*/s32Ret=HI_TDE2_Open();if(HI_SUCCESS!=s32Ret){return-}/*closeTDEdevice*/關閉TDEHI_VOIDTDE調用HI_TDE2_Open與HI_TDE2_Close51個TDETDE_HANDLE1個TDE任務(Job1個TDETDE_HANDLE1個TDE任務(Job。TDE以任務的形式管理TDE命令:1個TDE任務是一系列TDE命令的集合,它可以包含1個或多個TDE操作;一個TDE命令對應一個TDE操作;成功創(chuàng)建TDE任務添加完TDE操作后,通過HI_TDE2_EndJob提交該Job;同一任務中的TDE命令是順序執(zhí)行。在調用此接口前應確保TDE設備處于打開狀態(tài)。1個正確的任務句柄。TDE能夠緩存的任務數最多為200個。HI_TDE2_BeginJob必須和HI_TDE2_EndJob/*declaration6TDE設備未打開,APITDE0HI_S32s32Ret;/*createaTDEjob*/s32Handle=HI_TDE2_BeginJob();HI_S32s32Ret;/*createaTDEjob*/s32Handle=HI_TDE2_BeginJob();if(HI_ERR_TDE_INVALID_HANDLE==||HI_ERR_TDE_DEV_NOT_OPEN=={return-}/*submitthejobs32Ret=HI_TDE2_EndJob(s32Handle,HI_FALSE,if(HI_SUCCESS!=s32Ret){return-}HI_TRUE,TDEHI_S32HI_TDE2_EndJob(TDE_HANDLEHI_BOOLbSync,HI_BOOLbBlock,1TDE任務??梢灾付樽枞€是非阻塞,阻塞時可以設置超時時阻塞時可以設置一個最長等待時間,如果等待時間到了,TDE任務中的命令還沒有完7在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob8阻塞任務:任務中的所有TDE命令已經完輸入的Jobhandler無效0輸入/輸超時時間,單位jiffies(10ms)提交任務后,此任務對應的handle會變提交任務后,此任務對應的handle會變?yōu)闊o效,再次提交會出HI_ERR_TDE_INVALID_HANDLE等待TDEHI_S32在調用此接口等待TDE9TDE設備未打開,API0復位TDEHI_S32TDE復位TDEHI_S32TDETDE設備未打開,API0TDEHI_S32HI_TDE2_QuickCopy(TDE_HANDLETDE2_SURFACE_S*pstSrc,TDE2_SURFACE_S*pstDst,TDE2_RECT_SHI_S32HI_TDE2_QuickCopy(TDE_HANDLETDE2_SURFACE_S*pstSrc,TDE2_SURFACE_S*pstDst,TDE2_RECT_SpstDstRect(0,0若希望位圖的部分區(qū)域參與操作,則指定適當的操作區(qū)域大小。如2-1中的情況(a),指定的操作區(qū)域即為有效的操作區(qū)域。注意:如果指定的操作區(qū)域與位圖部分相交,如情況(b),則自動裁剪指定操作區(qū)域,故有效的操作區(qū)域HI_ERR_TDE_INVALID_PARA有效操作區(qū)域:指調用者指定的操作區(qū)域與位圖的相(b)操作區(qū)域與位圖部分相 (c)操作區(qū)域與位圖不相(a)此接口使用的是直接DMA搬移,因此性能優(yōu)于HI_TDE2_Bitblit搬移。TDE設備未打開,API此接口使用的是直接DMA搬移,因此性能優(yōu)于HI_TDE2_Bitblit搬移。TDE設備未打開,API調用失敗0輸入/輸像素格式大于等于Byte的位圖格式的基地址和位圖的Stride必須按照像素格式對ByteStride需要按照Byte對齊;其他操像素格式大于等于Byte的位圖格式的基地址和位圖的Stride必須按照像素格式對ByteStride需要按照Byte對齊;其他操HI_S32HI_TDE2_QuickFill(TDE_HANDLETDE2_SURFACE_S*pstDst,HI_U32將數據值u32FillData填充到以pstDst為目的地址、pstDstRect為輸出區(qū)域的內存中,0輸入/輸TDEalpha位為alpha位為。HI_S32HI_TDE2_QuickResize(TDE_HANDLETDE2_SURFACE_S*pstSrc,TDE2_SURFACE_S*pstDst,TDE2_RECT_STDE設備未打開,API調用失敗將基地址為pstSrc的位圖以區(qū)域pstSrcRect指定的尺寸縮放至pstDstRect的尺寸,將結果拷貝到以pstDst為目的地址、pstDstRect為輸出區(qū)域的內存中。TDE設備未打將基地址為pstSrc的位圖以區(qū)域pstSrcRect指定的尺寸縮放至pstDstRect的尺寸,將結果拷貝到以pstDst為目的地址、pstDstRect為輸出區(qū)域的內存中。TDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對0輸入/輸縮小倍數最大為255倍,放大倍數則沒有限HI_S32HI_TDE2_QuickDeflicker(TDE_HANDLE縮小倍數最大為255倍,放大倍數則沒有限HI_S32HI_TDE2_QuickDeflicker(TDE_HANDLETDE2_SURFACE_S*pstSrc,TDE2_SURFACE_S*pstDst,TDE2_RECT_S將基地址為pstSrc的位圖以指定的區(qū)域pstSrcRect進行抗閃爍,將結果拷貝到以為目的地址、pstDstRect為輸出區(qū)域的內存0輸入/輸TDETDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對HI_S32TDE設備未打開,API調HI_S32TDE設備未打開,API調用失敗0輸入/輸獲取alpha判決閾值HI_S32獲取alpha判決閾值HI_S32TDE設備未打開,API調用失敗0輸入/輸alphaARGB1555的情況。若前景位圖和背景位圖的alpha運算結果小于此閾值,結果象素的alphaalphaARGB1555的情況。若前景位圖和背景位圖的alpha運算結果小于此閾值,結果象素的alpha位取0;大于或等于此閾值,象素的alpha位取1。設置alpha判決閾值TDE設備未打開,API調用失敗0輸入/輸指向alphaHI_S32HI_TDE2_SetAlphaThresholdValue(HI_U88888的中間位圖格式,若ARGB1555的情況,則若前景位圖和背景位圖的alpha運算結果小于此閾值,結果象素的alpha位取0;大于或等于此閾值,象素的alpha位取1。HI_S32HI_TDE2_SetAlphaThresholdValue(HI_U88888的中間位圖格式,若ARGB1555的情況,則若前景位圖和背景位圖的alpha運算結果小于此閾值,結果象素的alpha位取0;大于或等于此閾值,象素的alpha位取1。TDE設備未打開,API0輸入/輸alpha判決獲取alpha判決*獲取alpha判決獲取alpha判決*獲取alpha判決TDE設備未打開,API調用失敗0輸入/輸指向alpha判決開關狀設置alpha設置alpha判決開關狀態(tài)。在開關開的狀態(tài)設置alpha設置alpha判決開關狀態(tài)。在開關開的狀態(tài)下,閾值為用戶自己設置的值,否則閾值TDE設備未打開,API0輸入/輸alphaTRUE表明判決開關開;FALSE表明判決開關HI_S32在不使能局部HI_S32在不使能局部抗閃爍的情況下,HI_TDE2_QuickDeflickerHI_TDE2_Bitblit在對指定TDE設備未打開,API調用失敗輸入/輸TRUE表明使能局部抗閃;FALSE表明不使HI_S32HI_TDE2_Bitblit(TDE_HANDLETDE2_SURFACE_S*pstBackGround,TDE2_SURFACE_S*pstForeGround,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,TDE2_OPT_SHI_S32HI_TDE2_Bitblit(TDE_HANDLETDE2_SURFACE_S*pstBackGround,TDE2_SURFACE_S*pstForeGround,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,TDE2_OPT_S將前景位圖(pstForeGround)與背景位圖(pstBackGround)的指定區(qū)(pstForeGroundRect、pstBackGroundRect)進行運算,將運算后的位圖拷貝到目標位(pstDst)的指定區(qū)域(pstDstRect)中。其中背景位圖(pstBackGround)的指定區(qū)(pstBackGroundRect)和目標目標位圖(pstDst)的指定區(qū)域(pstDstRect)必須一致TDE2_OPT_S結構中存放有TDE運算功能的配置信息,如:是否進行ROP操作及ROP命令碼;是否作色鍵(colorkey)及colorkey的配置值;是否作區(qū)域裁減(clip操作)clipalpha混合等信TDE2_OPT_S結構中的配置項涉及到的概念解釋如下:按位布爾運算,即ROPROPRGBalphaRGB果輸出,如圖2-2所示。Alpha混合參考TDE2_BLENDCMD_E里的介紹。這里有2種方式疊加方式:無論哪種模式,全局Alpha都要參Alpha疊加模式ColorKey操Colorkey操作是指滿足關鍵色范圍的像素不Alpha疊加模式ColorKey操Colorkey操作是指滿足關鍵色范圍的像素不參與TDE運算。Colorkey設置需要根鍵色。Colorkey操作有2種模式:colorkey,其設置的含義是前景位圖中的關鍵色不參與運算,將背景位圖保留,即背景位圖相應區(qū)域直接拷貝至輸出位圖,如圖2-3所示。出位圖,其他區(qū)域是運算結果,如圖2-4所示。圖2-3對前景位圖進行colorkey運算的搬移操作示意=++:表示Alpha運算并且對前景位圖進行Colorkey操圖2-4對背景位圖進行colorkey運算的搬移操作示意前景位背景位目標位+=+:表示Alpha運算并且對背景位圖進行Colorkey操=:表示運算后結果輸運算,可通過TDE2_OPT_S運算,可通過TDE2_OPT_S中bDeflicker指定。鏡像功能指將輸出結果做水平(或/和垂直)方向上的反向。調用顏色擴展功能指將精度低的色彩格式通過調色板(稱為CLUT表)擴展到真彩色。如CLUT8格式的位圖僅有256色,調用者可通過構造合適的CLUT表,將CLUTSURFACEpu8ClutPhyAddr屬性,TDE就可以依靠檢索CLUT表來實現CLUT8到真彩色ARGB的擴展。SURFACECLUTpu8ClutPhyAddr,該地址指向的內存SURFACE結構中的bYCbCrClut項,設置該CLUTRGB操作結構TDE2_OPT_S中的bClutReload項,表明是否需要硬件重新加載CLUT表。在第一次作顏色擴展操作(Clut格式,目的為ARGB/AYCbCr格式)時,需要打開ClutReload標記。經過TDEclip功能則可以在輸出clip支持兩種裁剪模式:區(qū)域內裁剪:指僅更新clip指定范圍內的區(qū)域為TDE運算結果。如圖2-5所新為TDE運算結果,目標操作區(qū)域的其它地方保持不變。TDEclip指定范圍外的區(qū)域。如2-6所示,clip區(qū)域與目的位圖的操作區(qū)域相交,區(qū)域外裁剪就導致僅將灰色區(qū)域更新為TDE運算結果,clip區(qū)域內部的地方保持不變。Clip剪切區(qū)Clip剪切區(qū)輸出AlphaClip剪切區(qū)Clip剪切區(qū)輸出AlphaNULL,針對該位圖可以做以下ColorKey0ColorKey0輸入/輸TDE任務在調用此接口前應保證調用HI_TDE2_Open打開TDE設在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJobGlobalAlphaAlplh0、Alpha1的設置值統一按照[0,255]的范圍進行設置。clip操作在第一次作顏色擴展操作(源為Clut格式,目的為ARGB/AYCbCr格式)時,需要打開ClutReload標記。TDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對操作區(qū)域與clip區(qū)域沒有交集,顯ROP操作時,通過操作結構體TDE2_OPT_S中的成員enRopCode_Color和enRopCode_Alpha分別指定顏色和ROP操作時,通過操作結構體TDE2_OPT_S中的成員enRopCode_Color和enRopCode_Alpha分別指定顏色和alpha分量進行的ROP操作。其中,ROP操作類型中的S1指背景位圖pstBackGround,S2指前景位圖pstForeGround。HI_S32HI_TDE2_PatternFill(TDE_HANDLETDE2_SURFACE_S*pstBackGround,TDE2_SURFACE_S*pstForeGround,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,TDE2_PATTERN_FILL_OPT_S將前景位圖(pstForeGround)的指定區(qū)域(pstForeGroundRect)平鋪到背景(cGronaunRectlorkey,R,cli(ttet輸入/輸在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob當背景位圖為NULL時,則–在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob當背景位圖為NULL時,則–TDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對操作區(qū)域與clip區(qū)域沒有交集,顯輸入/輸–1NULL,前景位圖無此要–1NULL,前景位圖無此要不能為clut格式。NULL,則在將前景位圖的指定區(qū)域往背景位圖的Bitblit中兩幅作在第一次作顏色擴展操作(ClutARGB/AYCbCr格式),需要打開ClutReload標記。ROP操作時,通過操作結構體TDE2_OPT_S中的成員enRopCode_Color和nRopCode_AlphaalphaROP操作。其中,ROP操作類型中的S1指背景位圖pstBackGround,S2指前景位圖pstForeGround。光柵格式,可以伴隨縮放、抗閃爍、Clip處理。HI_S32HI_TDE2_MbBlit(TDE_HANDLETDE2_MB_S*pstMB,TDE2_MBOPT_S宏塊surface指定區(qū)域的亮度和色度數據合并成光柵格式輸出到目標surface的指定區(qū)pstMbOptenResize參數指定。如果沒有指定縮放,將直接將宏塊數據合并的結果輸出到目標surface上,超出的部分將剪切掉。當clip開關打開時,將做剪切拷貝;合并過程中也支持抗閃爍處理。TDE設備未打開,API調用失敗操作區(qū)域與clip區(qū)域沒有交集,顯0TDE設備未打開,API調用失敗操作區(qū)域與clip區(qū)域沒有交集,顯0輸入/輸宏塊surfaceHI_TDE2_BeginJobHI_S32HI_TDE2_BeginJobHI_S32HI_TDE2_SolidDraw(TDE_HANDLETDE2_SURFACE_S*pstForeGround,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,TDE2_OPT_S算可以是alpha疊加運算或ROP運算,中間可以伴隨著Clip操作。輸入/輸TDE任務在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob當前景位圖為NULL且操作結構pstOptNULL時,該接口可實現單純的色彩填充功能,即與HI_TDE2_QuickFill實現的功能一樣。接口調用形式如下:當前景位圖NULL時(此時操作屬性pstOpt一定不能為NULL,可實現前景位圖的指定區(qū)域在縮放/alphaROP等操作,結果輸出HI_TDE2_SolidDraw(s32Handle,pstForeGround,pstDst,pstDstRect,pstFillColor,TDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對操作區(qū)域與clip區(qū)域沒有交集,顯0圖可作pstOpt中指定的所有操作,包括前景的縮放、抗閃、前景和背景的alpha疊加或ROP、前景的colorkey、輸出結果的鏡像mirror和剪切clip圖可作pstOpt中指定的所有操作,包括前景的縮放、抗閃、前景和背景的alpha疊加或ROP、前景的colorkey、輸出結果的鏡像mirror和剪切clip。ROP操作時,ROPS1指填充色,S2當指定colorkeycolorkey成。例如:垂直直線就是繪制寬度為1像素的矩形。MaskRopMask位圖實現前景位圖和背景位圖ROP的效果。HI_S32HI_TDE2_BitmapMaskRop(TDE_HANDLETDE2_SURFACE_S*pstBackGround,TDE2_RECT_S*pstBackGroundRect,TDE2_SURFACE_S*pstForeGround,TDE2_RECT_S*pstForeGroundRect,TDE2_SURFACE_S*pstMask,TDE2_RECT_S*pstMaskRect,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,TDE2_ROP_CODE_EMask位圖必須為A1位圖,在Mask01的地方輸出前景和背景的ROP運算結果值。ROPROP操作,無法實現部分區(qū)域做ROP操作,部分不做(保留背景。MaksRopMask位圖可實現:輸出圖像的部分區(qū)域是前背景ROP結果,部分區(qū)域是背景圖象,就像是對前背景ROPclip剪切。通過構造Mask位圖,還可實現隨即形狀的clip剪切。輸入/輸TDE任務TDE設備未打開,API調用失敗0輸入/輸TDE設備未打開,API調用失敗0輸入/輸Mask位圖Mask位圖操作區(qū)顏色分量的ROPAlpha分量的ROP在調用此接口前應保證調用在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob域,4個有效操作區(qū)域的大小必須一致。Mask位圖必須是A1格式的位圖有效操作區(qū)域:指調用者指定的操作區(qū)域與位圖的相向任務中添加對光柵位圖進行Blend搬移操作。根據Mask位圖實現前景位圖背景位圖帶Mask位圖的疊加效HI_S32HI_TDE2_BitmapMaskBlend(TDE_HANDLETDE2_SURFACE_S*pstBackGround,TDE2_SURFACE_S*pstForeGround,TDE2_SURFACE_S*pstMask,TDE2_RECT_S*pstMaskRect,TDE2_SURFACE_S*pstDst,TDE2_RECT_S*pstDstRect,HI_U8TDE2_ALUCMD_EMaskA1的位圖,在Mask位圖為0的地方輸出背景像素值,為1的地方輸出前景和背景的blending疊加結果。MaskBlending與普通的blending疊加操作的不同之處有以下兩點普通的blending疊加操作是兩幅圖像的操作區(qū)域中的每個像素點都參與疊加,無法實現部分區(qū)域做Blending操作,部分不做(保留背景。MaksBlending操作通過構造合適的Mask位圖可實現:輸出圖像的部分區(qū)域是前背clip剪切。通過構造Mask位圖,還可實現隨即形狀的clip剪切。TDE設備未打開,API調用失敗0輸入/輸TDE設備未打開,API調用失敗0輸入/輸Mask位圖Mask位圖操作區(qū)Alpha疊加時的全局alpha值在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并在調用此接口前應保證調用HI_TDE2_Open打開TDE設備,并且調HI_TDE2_BeginJob如果芯片支持預乘模式,且前景位圖是預乘了的數據,AlphaenBlendMode不能選擇TDE2_ALUCMD_ROP模式疊加模式應該選擇域,4個有效操作區(qū)域的大小必須一致。HI_S32HI_TDE2_CancelJob(TDE_HANDLE0輸入/輸HI_TDE2_OpenTDEHI_TDE2_BeginJob在向TDEHI_TDE2_OpenTDEHI_TDE2_BeginJob在向TDE任務中添加操作(A)ATDE任務中添加其余命令,并提交該任務。若該任務成功執(zhí)行,則說明所有成功添加的操作都完成了,A操作因未添加成功而沒因添加操作A出錯而取消整個任務,則說明該任務連同其下所有已成功添加的/*declaration*/HI_S32s32Ret;TDE_HANDLEs32Handle;TDE2_SURFACE_SstSrc;TDE2_SURFACE_SstDst;TDE2_OPT_SstOpt={0};/*createaTDEjobs32Handle=HI_API_TDE_BeginJob();if(HI_ERR_TDE_INVALID_HANDLE==s32Handle){return-}/*addserivalcommandstojob/*prepareargumentsofbitblitcommand/*iffailtoaddonemorebitbltcommandtojob,cancelthes32Ret=HI_API_TDE_BitBlt(s32Handle,&stSrc,TDE設備未打開,APIif(HI_SUCCESS!={printf("addbitlitcommandfailed!\n");return-}HI_S32HI_TDE2_WaitForDone(TDE_HANDLEif(HI_SUCCESS!={printf("addbitlitcommandfailed!\n");return-}HI_S32HI_TDE2_WaitForDone(TDE_HANDLETDE對一塊顯存進行異步(即非阻塞式)操作后,軟件再對該顯存進TDE和軟件同時操作同一塊顯存的風險。這時,用戶可以先調用此接口確保之前的TDE任務已經完成,然后再進行軟件的操作。TDE設備未打開,API調用失敗0輸入/輸HI_S32HI_TDE2_MultiBlending(TDE_HANDLEHI_TDE2_BitblitHI_S32HI_TDE2_MultiBlending(TDE_HANDLEHI_TDE2_Bitblit0輸入/輸TDETDE設TDE設備未打開,API調用失敗Clut表的起始地址沒有4byte對操作區(qū)域與clip區(qū)域沒有交集,顯3.1TDE支持的ROP操作3.1TDE支持的ROP操作ColorkeyColorkey關鍵色屬輸出alpha多圖surface定用戶自定義alpha混合模Alpha混合3.2typedefHI_S32alpha混合操3.2typedefHI_S32alpha混合操位圖surface結構宏塊Surface的操作屬TDEtypedefHI_VOID(*TDEtypedefHI_VOID(*TDEtypedefenum{TDE2_COLOR_FMT_RGB444=0,}RGB555}RGB555格RGB565格RGB888格CLUT1格CLUT4格CLUT8格ACLUT44CLUT1格CLUT4格CLUT8格ACLUT44格ACLUT88格A1格A8格YCbCr888格AYCbCr8888格YCbCr422格byteHi3516A/Hi3516D/Hi3518EV200/Hi3519V100不支持YCbCr類型格式typedefstruct{}Hi3516A/Hi3516D/Hi3518EV200/Hi3519V100不支持YCbCr類型格式typedefstruct{}有效范圍:[0,位圖寬度)。halfwordtypedefenum{TDE2_ALUCMD_NONE=0,}typedefenum{TDE2_ALUCMD_NONE=0,}Alpha疊加Colorize操有效范圍:[0,位圖高度)。有效范圍:(0,0xFFF]。有效范圍:(0,0xFFF]。若進行兩個位圖的alpha疊加運算,請選擇TDE2_ALUCMD_BLEND,若進行Colorize操作,請選擇若進行兩個位圖的alpha疊加運算,請選擇TDE2_ALUCMD_BLEND,若進行Colorize操作,請選擇TDE2_ALUCMD_COLORIZETDE2_ALUCMD_ROP,指進行布爾邏輯運算類型。通過指定TDE2_OPT_S結構中的enRopCode_Color和enRopCode_Alpha成員,分別指定顏色和alpha分量的ROP運算類型。TDE支持的ROP操作類型typedefenum{TDE2_ROP_BLACK=0,~S1*/S2&S1*/S1*/S2*/S2+S1}a:S11,S22不同操作時,S1、S2具體所指的位圖不同,詳見每個接口的說明部分。如果對兩幅位TDE2_ALUCMD_ROPAlpha指定不同的ROPARGB8888格式的位圖。前景位圖的象素值為a:S11,S22不同操作時,S1、S2具體所指的位圖不同,詳見每個接口的說明部分。如果對兩幅位TDE2_ALUCMD_ROPAlpha指定不同的ROPARGB8888格式的位圖。前景位圖的象素值為foreground,背景位圖的象素值為background,經過運算后的象素的值pixelAlphaROPWhiteness,取顏色空間的ROPBlackness,則經過運算之后的象素值pixel計算如下:pixel.alpha=0xff;其中pixel.alpha,pixel.r,pixel.g,pixel.b分別代表運算后位圖的各個分量TDEcolorkey模式屬性無效的ROP類typedefenum{TDE2_COLORKEY_MODE_NONE=0,}對前景位圖進行colorkey時typedefenum{TDE2_COLORKEY_MODE_NONE=0,}對前景位圖進行colorkey時,對于顏色擴展,在CLUT前做colorkey;對于顏色校正,在CLUT后做colorkey。typedefstruct{/*分量最小值/*分量最大值/*分量關鍵色在范圍內或范圍外/*分量是否忽略/**<分量掩碼}不做colorkey操對前景位圖進行colorkey操對背景位圖進行colorkey操無效colorkey模結構成員bCompIgnore指關鍵色比較時是否忽略該分量的比較,結構成員bCompIgnore指關鍵色比較時是否忽略該分量的比較,而總是認為其滿bCompIgnoreFALSE,表示需要根據[最小關鍵色,最大關鍵色]范圍以及屬性bCompOut判斷該分量的值是否符合關鍵色要求。u8CompMask00u8CompMask0xFF則分量typedefunion{{}{{}}結struCkARGB成員:表示位圖格式為ARGB類型時各分量的關鍵色屬{{}}結struCkARGB成員:表示位圖格式為ARGB類型時各分量的關鍵色屬結struCkYCbCr成員:表示位圖格式為AYCbCr類型時,各分量的關鍵色結構struCkClut成員:表示位圖格式為CLUT類型時,各分量的關鍵色屬聯合類型成員,各分量的關鍵色屬alpha分量關鍵色屬CLUT分量關鍵色屬alpha分量關鍵色屬Cb分量關鍵色屬Cr分量關alpha分量關鍵色屬Red分量Blue分量關鍵色屬typedefenum{TDE2_CLIPMODE_NONE=0,}typedefenum{TDE2_CLIPMODE_NONE=0,}當位圖格式為ARGB當位圖格式為AYCbCr類型時當位圖格式為CLUT類型時,關鍵色輸出alpha來源類型typedefenum{輸出alpha來源類型typedefenum{TDE2_OUTALPHA_FROM_NORM=0,}typedefenum{TDE2_DEFLICKER_MODE_NONE=0,輸出圖像的alpha來源于alpha輸出圖像的alpha來源于背景位輸出圖像的alpha來源于前景位輸出圖像的alpha來源于全局typedefenum{TDE_DEFLICKER_AUTO=0,typedefenum{TDE_DEFLICKER_AUTO=0,alpha分量抗閃typedefstruct{TDE2_RECT_SstInRect;TDE2_RECT_SstOutRect;TDE2_OPT_Stypedefstruct{TDE2_RECT_SstInRect;TDE2_RECT_SstOutRect;TDE2_OPT_SstOpt;HI_S32s32HorizonOffset;}【成員多圖層surface定義typedefstruct多圖層surface定義typedefstruct{HI_U32u32SurfaceNum;TDE_COMPOSOR_S【成員用戶自定義alpha混合模式typedefenum{TDE2_BLEND_ZERO=0x0,pixel=(foregroundxfs+backgroundxfd),其fs:foregroundblendcoefficient。pixel=(foregroundxfs+backgroundxfd),其fs:foregroundblendcoefficient。sa:forgroundalpha。da:backgroundalpha。sc:forgroundcolor。dc:backgroundcolor。式。現在支持11種疊加模式。當TDE2_BLENDCMD_E取01TDE2_BLENDTDE2_BLENDTDE2_BLEND1-TDE2_BLENDTDE2_BLEND1-TDE2_BLENDTDE2_BLEND1-TDE2_BLENDmin(1-da,無效的alpha混合模TDE2_BLENDCMD_CONFIG時,可通過取TDE2_BLEND_MODE_ETDE2_BLENDCMD_CONFIG時,可通過取TDE2_BLEND_MODE_E里面不同的項實Alpha混合命令。用于計算進行alphatypedefenum{TDE2_BLENDCMD_NONE=0x0,pixel=(foregroundxfs+backgroundxfd),其fs:foregroundblendcoefficient。sa:forgroundalpha。da:backgroundalpha。sa:sourcealpha。da:destinationalpha。alpha混合操作選項typedefstruct{HI_BOOLfssa:sourcealpha。da:destinationalpha。alpha混合操作選項typedefstruct{HI_BOOLfssa,fd1.0-fs0.0,fdfs1.0,fdfs1.0,fd取1.0-fs1.0-da,fdfsda,fdfs0.0,fdfs1.0-da,fdfs0.0,fd取1.0-fsda,fd1.0-fs1.0-da,fdfs1.0,fdfs1.0-da,fd1.0-fs0.0,fd無效的alpha混合命TDE2_BLENDCMD_Etypedefstruct{TDE2_ALUCMD_EenAluCmd;TDE2_BLENDCMD_Etypedefstruct{TDE2_ALUCMD_EenAluCmd;TDE2_ROP_CODE_EenRopCode_Color;TDE2_ROP_CODE_EenRopCode_Alpha;TDE2_COLORKEY_UunColorKeyValue;TDE2_CLIPMODE_E是否使能Src1alpha預是否使能Src2alpha預alpha混合命rc1blend模式選擇,eBlendCmdTDE2_BLENDCMD_CONFIG時有Src2blend模式選擇,eBlendCmdTDE2_BLENDCMD_CONFIG時有HI_BOOLbClutReload;HI_U8u8GlobalAlpha;HI_U32u32Colorize;TDE2_BLEND_OPT_SstBlendOpt;TDE2_CSC_OPT_SstCscOpt;alpha的HI_BOOLbClutReload;HI_U8u8GlobalAlpha;HI_U32u32Colorize;TDE2_BLEND_OPT_SstBlendOpt;TDE2_CSC_OPT_SstCscOpt;alpha的ROP類colorkey方colorkeyclip模clip區(qū)是否重載clut輸出alphaBlend操作typedefenum{TDE2_FILTER_MODE_COLOR=0,}typedefstructtypedefenum{TDE2_FILTER_MODE_COLOR=0,}typedefstruct{}對alpha通道濾對顏色和alpha通道同時濾ARGB1555,填充值為0x801F(此處alpha位為ARGB1555,填充值為0x801F(此處alpha位為typedefenum{TDE2_MIRROR_NONE=0,}位圖surface結構體輸出圖像水平+垂直鏡typedefstruct{HI_U32u32PhyAddr;HI_U8HI_U32u32CbCrStride;}typedefstruct{HI_U32u32PhyAddr;HI_U8HI_U32u32CbCrStride;}Clut表首地址,用作顏色擴展或顏色校正Clut表是否位于YCbCr空間位圖alpha最大值為255或者128是否使能1555的Alpha擴展Alpha0值TRUE選擇該值作為alpha疊加的alpha值。像素格式大于等于ByteStride必須按照像素格式對像素格式不足的位像素格式大于等于ByteStride必須按照像素格式對像素格式不足的位圖格式的水平起始位置和寬度 格式的位圖的水平起始位置和寬度必須CLUT到真彩色ARGB的擴展是依靠檢索CLUT表來實現的。故顏色擴展功格式位圖擴展到Clut表首地址pu8ClutPhyAddr,且其指向的C

溫馨提示

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

評論

0/150

提交評論