Note 1: xil_convolve is accelerated for 3 x 3, 5 x 5, and 7 x 7 kernels.
Note 2: xil_decompress is accelerated for the following cases:
xil_decompress + color_convert (JPEG compressed image or sequence and MPEG1 compressed sequence)
xil_decompress + color_convert + display (JPEG compressed image or sequence and MPEG1 compressed sequence)
xil_decompress + color_convert + scale + display (MPEG1 compressed sequence)
This decoder adheres to full-precision 24-bit CCIR 601 YCC to RGB709 color space conversion.
There are a few instances when decompression of streams will not be accelerated.
Decompression of JPEG or MPEG1 streams which are not in one contiguous buffer in memory is not accelerated. For example, streams split up using xil_cis_put_bits_ptr might not be accelerated.
If one frame in a stream is not accelerated for some reason (e.g. the decompressor encountered invalid data in the frame), subsequent frames in the stream will not be accelerated.
Acceleration is also disabled if one tries to seek backwards or forwards in a stream.
Note 3: xil_rescale + xil_threshold + xil_threshold + display molecule is accelerated using the Creator depth-cueing hardware. However, some restrictions apply, as follows:
The first threshold must have a high value of 255. The low and map values must be equal (any number N between 0 and 255.)
The second threshold must have a low value of 0. The high and map values must be equal (any number M between 0 and N).
The parameters for xil_rescale must be chosen such that y values of the line represented must span the range of values between N and M while the x values are within 0 and 255. See Figure 4-1.
The images must be 1-banded XIL_BYTE images.
The following code is an example of a correct call to invoke this molecule:
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); |
However, if the same calling sequence is done with scale[1] = .40, the molecule will not be invoked because the line y = 0.40*x -10 only spans the range y = -10 to y = (255*0.40) - 10 = 92 between x = 0 and x = 255. For the molecule to execute, y must span at least the range y = 15 to y = 240 for x between 0 and 255.
Note 4: xil_get_pixel, xil_set_pixel, and xil_tablewarp are accelerated only as display molecules. For xil_tablewarp, only interpolation = "nearest" is accelerated.
Note 5: All the molecules (other than a single xil function + display) that are accelerated are as follows:
xil_decompress + xil_colorconvert [+ display] ( for JPEG)
xil_decompress + xil_colorconvert [+ display] ( for MPEG1)
xil_decompress + xil_colorconvert + xil_scale + display ( for MPEG1)
xil_threshold + xil_threshold [+ display]
[xil_rescale] + [xil_threshold] + [xil_threshold] + [xil_cast] + display
xil_scale + xil_lookup + display (the accelerated molecules are for 8- or 16-bit bilinear scale followed by 8-to-8 bit or 16-to-8 bit lookup)
Note 6: There are some restrictions on the acceleration of xil_affine, xil_scale, and xil_rotate: xil_affine and xil_rotate are accelerated only for 1-, 3-, and 4-banded images with "nearest" interpolation, and only for 1- and 3-banded images with "bilinear" and "bicubic" interpolation. The restriction for xil_scale is that in the case of interpolation = "general" the size of the resampling kernels are limited to 8 x 8 for 8-bit images, and 8 x 4 for 16-bit images.