imadjust

Implementation

OpenCL

Usage

output = imadjust_ATI(input, [low_in high_in], [low_out, high_out], gamma)

Class Support

Both input and output are uint8 types. low_in, high_in, low_out, high_out and gamma are double types.

Algorithm

imadjust is simply mapping an input pixel into an output pixel according to a fixed formula. In our implementation, 16 uint8 data are packed into uint vector 4

to maximize the utilization of the memory bandwidth (CPU-GPU data transfer and GPU device data transfer). Despite the extra computations involved in

kernel because of packing and unpacking, the overall GPU performance might still be improved.