Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
Contents

Gamma Correction

Gamma correction of images is used to optimize the usage of data type depth when encoding an image by taking advantage of the non-linear manner in which humans perceive light and color. This non-linearity must be compensated to achieve correct color reproduction. To do this, luminance of each of the linear red, green, and blue components is reduced to a non-linear form using an inverse transformation. This process is called
gamma correction
.
The Intel IPP functions use the following basic equations to convert an RGB image to a gamma-corrected R'G'B' image:
for
R
,
G
,
B
< 0.018
R' = 4.5R
G' = 4.5G
B' = 4.5B
for
R
,
G
,
B
0.018
R' =1.099R
0.45
- 0.099
G' =1.099G
0.45
- 0.099
B' =1.099B
0.45
- 0.099
Note that the channel intensity values are normalized to fit in the range [0..1]. The gamma value is equal to 1/0.45 = 2.22 in conformity with ITU Rec.709 specification (see [ITU709]).

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804