4 XIL Acceleration on SX





This Appendix covers commonly-used XIL functions which have been accelerated on the SX for byte and 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 SX, it is performed using the memory driver of XIL.

Two functions, xil_lookup(3) and xil_rotate(3), require contiguous memory (up to 128k bytes) for lookup, and the size of the source image for xil_rotate().

The following functional features are supported for the XIL port to SX. All other parameters will cause an XIL_FAILURE to be returned, prompting the memory code to finish the operation.

Note that rotate and lookup require SXDRAM (for which you'll need over 32MBytes on your machine.)

4.1 SX XIL Features

Dyadic functions:

---------------------------------------------------
XIL Function Byte Short Byte Child ---------------------------------------------------
1 band 3 bands 4 bands n bands 3/4 ---------------------------------------------------
                                                 
xil_add       x       x        x        x        x
                                                 
xil_and       x       x        x        x        x
                                                 
xil_multiply  x       x        x        x        x
                                                 
xil_or        x       x        x        x        x
                                                 
xil_subtract  x       x        x        x        x
                                                 
xil_xor       x       x        x        x        x

---------------------------------------------------

Other functions: 1

-----------------------------------------------------------------------------
XIL Function Byte Short Byte Child -----------------------------------------------------------------------------
1 band 3 bands 4 bands 1 band 3/4 -----------------------------------------------------------------------------
                                                                           
xil_add_const                            x       x        x        x       x
                                                                           
xil_and_const                            x       x        x        x       x
                                                                           
xil_divide_const                         x       x        x        x       x
                                                                           
xil_multiply_const                       x       x        x        x       x
                                                                           
xil_not                                  x       x        x        x       x
                                                                           
xil_or_const                             x       x        x        x       x
                                                                           
xil_subtract_const                       x       x        x        x       x
                                                                           
xil_subtract_from_const                  x       x        x        x       x
                                                                           
xil_xor_const                            x       x        x        x       x
                                                                           
xil_blend                                x       x        x        x       x
                                                                           
xil_paint                                x       x        x        o       x
                                                                           
xil_scale                                x       x        x        x       x
                                                                           
xil_rescale                              x       x        x        x       x
                                                                           
xil_set_value                            x       x        x        o       x
                                                                           
xil_extrema                              x       x        x        x       x
                                                                           
xil_convolve (see Note 4 below)          x       x        x        x       x
                                                                           
xil_rotate (Nearest Neighbor only, no    x       x        x        x       x
ROI)                                                                              
                                                                           
xil_lookup (see Note 1 below)                                              
                                                                           
xil_color_convert (see Note 2 below)                                       
                                                                           
xil_copy (see Note 3 below)              x       x        x        x       x
                                                                           
xil_threshold                            x       o        o        x       o
                                                                           
xil_transpose                            x       x        x        x       x
                                                                           
xil_translate                            x       x        x        x       x
                                                                           
xil_get_pixel                            x       x        x        x       x
                                                                           
xil_put_pixel                            x       x        x        x       x
                                                                           
xil_band_combine (see Note 5 below)                                x (3-   
                                                                                  
                                                                   band)          
                                                                           
xil_decompress (see Note 6 below)                                          
                                                                           
xil_cast (see Note 7 below)                                                

-----------------------------------------------------------------------------
    1. The following variations of xil_lookup are implemented.
----------------------------------------
XIL Function From-To Bands ----------------------------------------
                       
xil_lookup    8-8      1 band only
                       
xil_lookup    16_16    1 band only
                       
xil_lookup    8_16     1 band only
                       
xil_lookup    16_8     1 band only
                       
xil_lookup    8-24     1 band to 3 bands

----------------------------------------
    2. The following variations of xil_color_convert are implemented:
---------------------------------------
Source Colorspace to Dest. Colorspace ---------------------------------------
                       
rgblinear          to  rgb709
                       
rgblinear          to  ycc709
                       
rgblinear          to  ycc601
                       
rgblinear          to  ylinear
                       
rgblinear          to  cmyk
                       
ycc601             to  rgb709
                       
rgb709             to  rgblinear
                       
rgb709             to  ycc601
                       
rgb709             to  photoycc
                       
photoycc           to  rgb709
                       
cmyk               to  rgblinear

---------------------------------------
    3. Copy function also allows the insertion and extraction of one band from 3/4 banded byte and 3-banded short images.
    4. xil_convolve is implemented for the following kernels with central key pixels:
---------------------------------
XIL Function Kernel ---------------------------------
              
xil_convolve  3x3
              
xil_convolve  5x5
              
xil_convolve  7x7
              
xil_convolve  3x1/1x3 (molecule)
              
xil_convolve  5x1/1x5 (molecule)
              
xil_convolve  7x1/1x7 (molecule)

---------------------------------
    5. xil_band_combine has been implemented for 3-banded short images.
    6. xil_decompress has been implemented for JPEG.
    7. xil_cast has been implemented for conversion between 3-banded byte and 3-banded short images.

4.2 Molecules

The following molecules are implemented:

----------------------------------------------
Function Bands (bytes only) ----------------------------------------------
1 3 4 ----------------------------------------------
                           
xil_copy+display           x  x  x
                           
xil_rotate+display         x  x  x
                           
xil_scale+display          x  x  x
                           
xil_set_value+display      x  x  x
                           
xil_translate+display      x  x  x
                           
xil_transpose+display      x  x  x
                           
xil_convolve+xil_convolve  x  x  x (for 
                           separable 
                           convolution)

----------------------------------------------