Platform Notes: SPARCstation 10SX and SPARCstation 20 System Configuration Guide
  Search only this book
Download this book in PDF

XIL Acceleration on SX

4

This section covers commonly used XIL functions which have been accelerated on the SPARCstation 10SX system and SPARCstation 20 system for XIL_BYTE and XIL_SHORT images. There are certain restrictions which have been placed on the functions in order for acceleration to occur. If the function is not accelerated on a SPARCstation 10SX system and SPARCstation 20 system, it is performed using the memory driver of XIL.
Two functions, xil_rotate()and xil_affine() require SXDRAM in the amount of the memory required for the source image. In addition, xil_lookup() also requires tables larger than 4096 bytes be stored in SXDRAM. Refer to Chapter 2, "Reserving DRAM for SX Accelerated Applications" for further details on how to allocate SXDRAM.
To obtain optimum performance from the SPARCstation 10SX system, two conditions must be satisfied.
  1. The image must have been touched by the system already. That is, there is a performance penalty the first time the SPARCstation 10SX system and SPARCstation 20 system touches a particular image).

  2. Mixing of the SPARCstation 10SX system and SPARCstation 20 system accelerated and unaccelerated functions must be kept to a minimum.

4.1 SX XIL Features

For dyadic functions, the following restrictions apply:
  • 1, 3, 4 banded XIL_BYTE images.
  • 3 banded child of 4 banded XIL_BYTE image
  • Child images with x,y offsets ok, no band offsets
  • Full support for ROIs
Table 4-1 describes dyadic functions.
Table 4-1
XIL Function1 bandXIL_BYTE 3 bands4 bandsXIL_SHORT n bandsXIL_BYTE Child 3/4
xil_addxxxxx
xil_andxxxxx
xil_multiplyxxxxx
xil_orxxxxx
xil_subtractxxxxx
xil_xorxxxxx
For other imaging functions (see Table 4-2), the following restrictions apply:
  • 1 band XIL_SHORT images
  • 1, 3, 4 band XIL_BYTE images
  • 3-banded child of a 4-banded image
  • Child images w/ x, y offsets, no band offsets
  • Full support for ROIs
Table 4-2
XIL Function1 bandXIL_BYTE 3 bands4 bandsXIL_SHORT 1 bandXIL_BYTE Child3/4
xil_add_constxxxxx
xil_and_constxxxxx
xil_divide_constxxxxx
xil_multiply_constxxxxx
xil_notxxxxx
xil_or_constxxxxx
xil_subtract_constxxxxx
xil_subtract_from_constxxxxx
xil_xor_constxxxxx
xil_minxxxxx
xil_maxxxxxx
xil_absolute


x
xil_blendxxxxx
xil_paintxxxxx
xil_scalexxxxx
xil_rescalexxxxx
xil_set_valuexxxxx
xil_extremaxxxxx
1 xil_convolvexxxxx
xil_rotate (Nearest Neighbor only, no ROI)xxxxx
xil_affine (Nearest Neighbor only, no ROI) xil_lookup2 xil_color_convert3xxx
x
4 xil_copyxxxxx
Table 4-2 (Continued)
XIL Function1 bandXIL_BYTE 3 bands4 bandsXIL_SHORT 1 bandXIL_BYTE Child3/4
xil_thresholdx

x
xil_transposexxxxx
xil_translatexxxxx
xil_get_pixelxxxxx
xil_put_pixelxxxxx
5 xil_band_combine
6 xil_decompress
7 xil_cast

x
x (3-band)
1. Convolve is implemented for the a limited number of kernels with central key pixels, as shown in Table 4-3.
2. The variations of xil_lookup are implemented, as shown in Table 4-4.
3. The variations of xil_color_convert are implemented, as shown in Table 4-5.
4. Copy function also allows the insertion and extraction of one band from 3/4 banded XIL_BYTE and 3-banded XIL_SHORT images.
5. xil_band_combine has been implemented for 3-banded XIL_SHORT and XIL_BYTE images.
6. For JPEG, the molecules decompress->color_convert->display and decompress->color_convert->scale(2X)->display have been implemented.
7. xil_cast has been implemented for conversion between 3-banded XIL_BYTE and 3-banded XIL_SHORT images, and between 1-banded XIL_BYTE and 1-banded XIL_SHORT images.

Table 4-3
XIL FunctionKernel
xil_convolve3x3
xil_convolve5x5
xil_convolve7x7
xil_convolve3x1/1x3 (molecule)
xil_convolve5x1/1x5 (molecule)
xil_convolve7x1/1x7 (molecule)
Table 4-4 xil_lookup
XIL FunctionFrom-ToBands
xil_lookup8-81 band XIL_BYTE
xil_lookup16_161 band XIL_SHORT
xil_lookup8_161 band XIL_BYTE to XIL_SHORT
xil_lookup16_81 band XIL_SHORT to XIL_BYTE
xil_lookup8_241 band to 3 bands XIL_BYTE
xil_lookup24_243 bands to 3 band XIL_BYTEs
xil_lookup8_321 band to 4 bands XIL_BYTE
xil_lookup32_324 bands to 4 band XIL_BYTE
Table 4-5 Variations of xil_color_convert SPARCstation 20 Supported on SPARCstation 10SX and
Source Colorspace
Destination Colorspace
rgblinear
rgb709
rgblinear
ycc709
rgblinear
ycc601
rgblinear
ylinear
rgblinear
cmyk
ycc601
rgb709
rgb709
rgblinear
rgb709
ycc601
rgb709
photoycc
photoycc
rgb709
cmyk
rgblinear

4.1.1 Imaging Molecules

In addition to decompression molecules, imaging molecules, as described in
Table 4-6, are implemented.
Table 4-6

Function
Bands (XIL_BYTE only)
1 3 4
xil_copy+displayx x x
xil_rotate+displayx x x
xil_scale+displayx x x
xil_set_value+displayx x x
xil_translate+displayx x x
xil_transpose+displayx x x
xil_convolve+xil_convolvex x x (for separable convolution)