Quote from libjpeg-turbo
header:
/**
* Chrominance subsampling options.
* When pixels are converted from RGB to YCbCr [...] or from CMYK
* to YCCK [...] as part of the JPEG compression process, some of
* the Cb and Cr (chrominance) components can be discarded or averaged together
* to produce a smaller image with little perceptible loss of image clarity
* (the human eye is more sensitive to small changes in brightness than to
* small changes in color.) This is called "chrominance subsampling".
*/
jpeg-turbo
wrapper supports all subsampling modes supported by
libjpeg-turbo
. The complete list is here (with description from
libjpeg-turbo
header):
:s-444
— 4:4:4 chrominance subsampling (no chrominance
subsampling). The JPEG or YUV image will contain one chrominance component
for every pixel in the source image.:s-422
— 4:2:2 chrominance subsampling. The JPEG or YUV image
will contain one chrominance component for every 2x1 block of pixels in the
source image.:s-420
— 4:2:0 chrominance subsampling. The JPEG or YUV image
will contain one chrominance component for every 2x2 block of pixels in the
source image.:s-gray
— Grayscale. The JPEG or YUV image will contain no
chrominance components.:s-440
— 4:4:0 chrominance subsampling. The JPEG or YUV image
will contain one chrominance component for every 1x2 block of pixels in the
source image. NB: 4:4:0 subsampling is not fully accelerated in
libjpeg-turbo
.:s-411
— 4:1:1 chrominance subsampling. The JPEG or YUV image
will contain one chrominance component for every 4x1 block of pixels in the
source image. JPEG images compressed with 4:1:1 subsampling will be almost
exactly the same size as those compressed with 4:2:0 subsampling, and in the
aggregate, both subsampling methods produce approximately the same perceptual
quality. However, 4:1:1 is better able to reproduce sharp horizontal
features. NB: 4:1:1 subsampling is not fully accelerated in
libjpeg-turbo
.