"copy", xlg_flt_copy() in filters/base_op.c

Does nothing but duplicating the image.


"cquant" (grayscale output only), xlg_flt_cquant() in filters/base_cl.c

Arguments: BITS

Color quantizer on bit-basis. Only the X most significant bits (number given as an argument) "survive". This is a simplistic color reducing function which reduces to at most 2x grays.


"dft", xlg_flt_dft() in filters/dft.c
Grayscale-optimized version xlg_flt_dft_GS() in filters/dft.c

Notes: Not quite complete. The frequencies that should be killed should be specifiable as arguments. ATM, they are hardcoded. For demonstration purposes.

Performs a discrete fourier transform (DFT) in real math mode, kills some frequencies and then does the inverse transform (IDFT).


"flip", xlg_flt_flip() in filters/base_op.c

Self-explanatory. Swaps top and bottom.


"gray_dumb", xlg_flt_gray_dumb() in filters/base_cl.c

Dumb color to grayscale conversion.


"gray", xlg_flt_gray() in filters/base_cl.c

Color to grayscale conversion utilizing the human's sense of brightness of the different RGB colors. xlg_flt_gray() itself is just a copy operation, since the SW algorithm is in base/pic.c:xlg_pic_getpx_sw().

The first equation is the original one; the second is a hardware-optimized (not necessarily perfect for the image) version used in libxlg.



"hist_st" (grayscale output only), xlg_flt_hist_st() in filters/hist.c

Enhances the contrast in the image by extending the lightness range. The darkest pixel in the image will become black and the lightest pixel will become white, keeping the proportions between the lightness values as they were before.


"laplace", xlg_flt_laplace() in filters/laplace.c

This filter finds edges and turns them into white/black while other areas will become gray. It is basically a matrix, but has not been transferred to matrix.c.


"matrix", xlg_flt_matrix() in filters/matrix.c

Arguments: MATRIXNAME

This one starts the matrix application engine.


"mirror", xlg_flt_mirror() in filters/base_op.c

Self-explanatory. Swaps left and right.


"negative", xlg_flt_negative() in filters/base_cl.c

Inverts each pixel in the image.


"pinv", xlg_flt_pinv() in filters/base_cl.c

Arguments: FACTOR

Partially applies the inversion effect. The factor [0.0 .. 1.0] or [0 .. 255] specifies how much, 1.0 (or 255) being total inversion as produced by the invert filter.


"resize_bi", xlg_flt_resize_bi in filters/resize.c

Arguments: FACTOR

Enlarges the image by FACTOR using the bi-linear resample model, which averages multiple source pixels into one destination pixel.


"resize_nn", xlg_flt_resize_nn in filters/resize.c

Arguments: FACTOR

Enlarges the image by FACTOR using the nearest-neighbor resizing algorithm. Whenever a source pixel address has a fraction, it is rounded or truncated.


"resize_lx", xlg_flt_resize_lx in filters/resize.c

"resize_ly", xlg_flt_resize_ly in filters/resize.c

Arguments: FACTOR

Enlarges the image by FACTOR using the linear resample algorithm on the X/Y axis and the nearest-neighbor resizing algorithm on the other.


"robert", xlg_flt_robert() in filters/robert.c


"rol90", xlg_flt_rol90() in filters/base_op.c
"ror90", xlg_flt_ror90() in filters/base_op.c

Rotates the image left/right by 90 degrees.

ROL90:
ROR90:


"rotate", xlg_flt_rotate() in filter/rotate.c

Arguments: ANGLE

Rotates the image by ANGLE degrees to the right. (Currently doesnot quite work with ANGLE > 90).


"solarize", xlg_flt_solarize() in filters/base_cl.c

Arguments: THRESHOLD

Inverts all pixels whose light value is equal or above THRESHOLD.