Sun フレームバッファー使用の手引き

高速化された関数

VIS を使用して高速化された XIL 関数を以下に示します。画像分子は、1 バンドと 3 バンド XIL_BYTE イメージに定義されています。

表 4-1 高速化された XIL 関数

関数 

VIS 高速化 8 ビット 

16 ビット 

画像分子の表示 

その他 

コメント 

xil_absolute

 

1 - 4 バンド 

 

 

 

xil_add

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_add_constant

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_affine

1 - 4 バンド 

1 - 4 バンド 

 

注 6 参照 

xil_and

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_and_constant

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_band_combine

1 - 4 バンド 

1 - 4 バンド 

 

 

 

xil_blend

1 - 4 バンド 

1 - 4 バンド 

 

 

 

xil_cast

8 x 16

16 x 8

 

1 - 4 バンド 

1 - 4 バンド 

 

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_convolve

1 - 4 バンド 

1 - 4 バンド 

 

注 1 参照 

xil_copy

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_decompress

 

 

 

 

注 2、5 参照 

xil_get_pixel

 

 

 

 

注 4 参照 

xil_lookup

1 - 4 バンド 

1 - 4 バンド 

x  

注 5 参照 

xil_max

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_min

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_multiply

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_multiply_constant

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_not

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_or

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_or_constant

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_rescale

1 - 4 バンド 

1 - 4 バンド 

注 3、5 参照 

xil_rotate

1 - 4 バンド 

1 - 4 バンド 

 

注 6 参照 

xil_scale

1 - 4 バンド 

1 - 4 バンド 

注 5、6 参照 

xil_set_pixel

1 - 4 バンド 

1 - 4 バンド 

 

注 4 参照 

xil_set_value

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_subtract

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_subtract_const

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_subtract_from_const

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_tablewarp

 

 

 

注 4 参照 

xil_threshold

1 - 4 バンド 

1 - 4 バンド 

注 3、5 参照 

xil_transpose

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_xor

1 - 4 バンド 

1 - 4 バンド 

 

 

xil_xor_const

1 - 4 バンド 

1 - 4 バンド 

 

 

に対する注意事項

注 1 - xil-convolve は、3 × 3、5 × 5、7 × 7 のカーネルにより高速化されています。

注 2 - xil_decompress は、以下の場合に高速化されます。

このデコーダは、最高精度 24 ビット CCIR 601 YCC → RGB709 カラー空間変換に付着します。

以下の場合には、ストリームの伸張処理が高速化されません。

注 3 - xil_rescale + xil_threshold + xil_threshold + 画像分子は、Creator のデプスキューイングハードウェアを使用して高速化されますが、以下の制限が適用されます。

図 4-1 Creator のデプスキューイング

Graphic

この分子を呼び出す、正しいコードの例を以下に示します。


float scale[1] = 1.5;

float offset[1] = -10;

float t1_lo[1] = 255;

float t1_hi[1] = 240;

float t1_map[1] = 240;

float t2_lo[1] = 0;

float t2_hi[1] = 15;

float t2_map[1] = 15;

xil_rescale(src,tmp1,scale,offset);

xil_threshold(tmp1,tmp2,t1_lo,t1_hi,t1_map);

xil_threshold(tmp2,tmp3,t2_lo,t2_hi,t2_map);

xil_display(tmp3,display);

同一の呼出しシーケンスが scale[1] = .40 で行われた場合、y = 0.40* x - 10 では、y =-10 〜 y = (255*0.40) - 10 = 92、x = 0 〜 x = 255 の範囲にしか及ばないため、この分子は呼び出されません。この分子を実行するためには、x = 0 〜 x = 255 に対してy = 15 〜 y = 240 である必要があります。

注 4 - xil_get_pixelxil_set_pixelxil_tablewarp は、画像分子として扱われた場合のみ高速化されます。xil_tablewarp では、interpolation = "nearest" だけが高速化されます。

注 5 - 以下の分子は、すべて 高速化されます (単一 xil 機能 + 表示を除く)。

注 6 - xil_affinexil_scalexil_rotate の高速化には、いくつかの制限があります。xil_affinexil_rotate は、最近傍補間処理をされた 1、3、4 バンドの画像およびバイリニア補間処理またはバイキュービック補間処理をされた 1 バンドと 3 バンドの画像に対してのみ高速化されます。interpolation = "general" と設定した場合の xil_scale では、再サンプリングカーネルのサイズは、8 ビット画像に対して 8 × 8、16 ビット画像に対して 8 × 4 に制限されます。