共用方式為


DXVA_AYUVsample2結構 (dxva.h)

DXVA_AYUVsample2結構是由主機譯碼器傳送至加速器,以指定 Y、Cb、Cr 色彩值,以及相關聯的不透明度。

語法

typedef struct _DXVA_AYUVsample2 {
  BYTE bCrValue;
  BYTE bCbValue;
  BYTE bY_Value;
  BYTE bSampleAlpha8;
} DXVA_AYUVsample2, *LPDXVA_AYUVsample2;

成員

bCrValue

指定 chrominance (Cr) 樣本值, (以未帶正負號的值) 調整。 因此,黑色由 Y=16、Cb=Cr=128 指定,而色彩白色則由 Y=235、Cb=Cr=128 指定。

bCbValue

指定 chrominance (Cb) 樣本值, (以未帶正負號的值) 來調整。 因此,黑色由 Y=16、Cb=Cr=128 指定,而色彩白色則由 Y=235、Cb=Cr=128 指定。

bY_Value

指定 (Y) 樣本值的亮度, (以未帶正負號的值來縮放每個) 。 因此,黑色由 Y=16、Cb=Cr=128 指定,而色彩白色則由 Y=235、Cb=Cr=128 指定。

bSampleAlpha8

指定當做與另一張圖片混合的來源圖形時,圖元的不透明度。 針對 Windows Server 2003 SP1 和 Windows XP SP2,不會使用不透明度層級,而且驅動程式應該忽略。

備註

bSampleAlpha8 的值為零表示圖元是透明的 (,讓其他專案對產生的混合圖片) 沒有任何作用,而 255 表示圖元不透明 (,讓其他專案完全判斷產生的混合圖片樣本值) 。

對於 bSampleAlpha8 的非零值,要使用的混合是由下列運算式計算:

( ( ( (bSampleAlpha8+1) x (圖形值) ) + ( (255 - bSampleAlpha8) x (圖片值) ) ) + 128 ) >> 8

對於 bSampleAlpha8 的零值,要使用的指定混合是圖片值而不改變。

注意 如果Alpha混合表面源自 DVD 視訊子圖片, 從 DVD 視訊所使用的 4 位 Alpha 轉換成 bSampleAlpha8 所指定的 8 位 Alpha 的慣用方法是將 4 位 Alpha 值對應至零的 8 位 Alpha 值,並將所有非零的 4 位 Alpha 轉換為 8 位 Alpha,方法是執行四個位置的左移並新增常數 15。
 
AYUV Alpha 混合表面的寬度和高度是在DXVA_BufferDescription結構所定義的相關聯緩衝區描述清單中指定。

DXVA_AYUVsample2結構用於 DirectX VA AYUV 混合介面中的每個樣本、DXVA_BlendCombination 結構中的 OutsideYUVcolor,以及 16 個專案 AYUV Alpha 混合調色盤中的每個專案。

規格需求

需求
標頭 dxva.h (包含 Dxva.h)

另請參閱

DXVA_BlendCombination

DXVA_BufferDescription