gDPSetConvert.htm 2.39 KB
<HTML>

<HEAD>

<TITLE>HTML 文書</TITLE>

<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0j">
</HEAD>

<BODY>

<P>
<A NAME="_Toc366998320"></A><B><FONT FACE="Arial">gDPSetConvert(3P)
<BR>
</FONT></B>
<P>
<B>関数名   <BR>
</B>
<P>
gDPSetConvert, gsDPSetConvert
<P>
→ YUVピクセルをRGBにコンバートするためのマトリクス係数の設定。
<BR>

<P>
<B>構文 <BR>
</B>
<P>
 #include &quot;gbi.h &quot; 
<P>
 gDPSetConvert(Gfx *gdl, int k0, int k1, int k2, int k3, int k4,
int k5)
<P>
 gsDPSetConvert(int k0, int k1, int k2, int k3, int k4, int k5)
<BR>

<P>
<B>パラメータ <BR>
</B>
<P>
 <B>*gdl</B> グラフィックディスプレイポインタ。
<P>
 <B>k0</B> YUV-RGBコンバージョンマトリクス(9bit)のK0 term。
<P>
 <B>k1</B> YUV-RGBコンバージョンマトリクス(9bit)のK1 term。
<P>
 <B>k2</B> YUV-RGBコンバージョンマトリクス(9bit)のK2 term。
<P>
 <B>k3</B> YUV-RGBコンバージョンマトリクス(9bit)のK3 term。
<P>
 <B>k4</B> YUV-RGBコンバージョンマトリクス(9bit)のK4 term。
<P>
 <B>k5</B> YUV-RGBコンバージョンマトリクス(9bit)のK5 term。<BR>

<P>
<B>説明 <BR>
</B>
<P>
 このマクロはYUVピクセルをRGBにコンバートするためのマトリクス係数を設定します。
<BR>

<P>
 概念的には、等式は以下のようになります。
<P>
 R = C0 * (Y-16) + C1 * V
<P>
 G = C0 * (Y-16) + C2 * U - C3 * V
<P>
 B = C0 * (Y-16) + C4 * U<BR>

<P>
 ハードウェア内部では、カラー変換は2ステージで行われます。テクスチャフィルタ(TF)ユニット内では、以下の式が実行されます。
<P>
 R' = Y + K0 * V
<P>
 G' = Y + K1 * U + K2 * V
<P>
 B' = Y + K3 * U<BR>

<P>
 カラーコンバイナ内で、以下の式を実行します。
<P>
 R = (R' - K4) * K5 + R'
<P>
 G = (G' - K4) * K5 + G'
<P>
 B = (B' - K4) * K5 + B'<BR>

<P>
 上記の式で使用されているCxは以下のようにKxに変換されます。
<P>
 K0 = C1/C0
<P>
 K1 = C2/C0
<P>
 K2 = C3/C0
<P>
 K3 = C4/C0
<P>
 K4 = 16 + 16/(C0 - 1.0)
<P>
 K5 = C0 - 1.0<BR>

<P>
 YUVからRGBへコンバートする値は一般的には以下のようになります。
<P>
 K0 = 175
<P>
 K1 = -43
<P>
 K2 = -89
<P>
 K3 = 222
<P>
 K4 = 114
<P>
 K5 = 42<BR>

<P>
<B>注意  <BR>
</B>
<P>
 カラーコンバージョンを実行するためにカラーコンバイナとテクスチャフィルタを適切な値に設定してください。
<BR>

<P>
<B>参照 <BR>
</B>
<P>
 <a href="../gdp/gDPSetTextureConvert.htm">gDPSetTextureConvert(3P)</a>, <a href="../gdp/gDPSetCombineMode.htm">gDPSetCombineMode(3P)</a> <BR>
<BR>

</BODY>

</HTML>