diff --git a/ChangeLog.md b/ChangeLog.md index 58a8bd8d..93b08061 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,14 @@ +3.0.0 +===== + +### Significant changes relative to 3.0 beta2: + +1. The TurboJPEG API now supports 4:4:1 (transposed 4:1:1) chrominance +subsampling, which allows losslessly transposed or rotated 4:1:1 JPEG images to +be losslessly cropped, partially decompressed, or decompressed to planar YUV +images. + + 2.1.91 (3.0 beta2) ================== diff --git a/cmakescripts/testclean.cmake b/cmakescripts/testclean.cmake index 4d249dee..6b5a1460 100644 --- a/cmakescripts/testclean.cmake +++ b/cmakescripts/testclean.cmake @@ -30,6 +30,11 @@ file(GLOB FILES *_411_*.ppm *_411_*.jpg *_411.yuv + *_441_*.bmp + *_441_*.png + *_441_*.ppm + *_441_*.jpg + *_441.yuv *_LOSSL*S_*.bmp *_LOSSL*S_*.ppm *_LOSSL*S_*.jpg diff --git a/doc/html/group___turbo_j_p_e_g.html b/doc/html/group___turbo_j_p_e_g.html index 1d0507f7..696af8a9 100644 --- a/doc/html/group___turbo_j_p_e_g.html +++ b/doc/html/group___turbo_j_p_e_g.html @@ -169,6 +169,7 @@ Enumerations
  TJSAMP_440, TJSAMP_411, +TJSAMP_441, TJSAMP_UNKNOWN
} @@ -413,7 +414,7 @@ Variables

YUV Image Format Notes

Technically, the JPEG format uses the YCbCr colorspace (which is technically not a colorspace but a color transform), but per the convention of the digital video community, the TurboJPEG API uses "YUV" to refer to an image format consisting of Y, Cb, and Cr image planes.

-

Each plane is simply a 2D array of bytes, each byte representing the value of one of the components (Y, Cb, or Cr) at a particular location in the image. The width and height of each plane are determined by the image width, height, and level of chrominance subsampling. The luminance plane width is the image width padded to the nearest multiple of the horizontal subsampling factor (1 in the case of 4:4:4, grayscale, or 4:4:0; 2 in the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance plane height is the image height padded to the nearest multiple of the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any additional padding that may be specified as an argument to the various YUV functions. The chrominance plane width is equal to the luminance plane width divided by the horizontal subsampling factor, and the chrominance plane height is equal to the luminance plane height divided by the vertical subsampling factor.

+

Each plane is simply a 2D array of bytes, each byte representing the value of one of the components (Y, Cb, or Cr) at a particular location in the image. The width and height of each plane are determined by the image width, height, and level of chrominance subsampling. The luminance plane width is the image width padded to the nearest multiple of the horizontal subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance plane height is the image height padded to the nearest multiple of the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or 4:1:1; 2 in the case of 4:2:0 or 4:4:0; 4 in the case of 4:4:1.) This is irrespective of any additional padding that may be specified as an argument to the various YUV functions. The chrominance plane width is equal to the luminance plane width divided by the horizontal subsampling factor, and the chrominance plane height is equal to the luminance plane height divided by the vertical subsampling factor.

For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is used, then the luminance plane would be 36 x 35 bytes, and each of the chrominance planes would be 18 x 35 bytes. If you specify a row alignment of 4 bytes on top of this, then the luminance plane would be 36 x 35 bytes, and each of the chrominance planes would be 20 x 35 bytes.

Macro Definition Documentation

@@ -1092,6 +1093,10 @@ YUV Image Format Notes

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.

Note
4:1:1 subsampling is not fully accelerated in libjpeg-turbo.
+TJSAMP_441 

4:4:1 chrominance subsampling.

+

The JPEG or YUV image will contain one chrominance component for every 1x4 block of pixels in the source image. JPEG images compressed with 4:4: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:4:1 is better able to reproduce sharp vertical features.

+
Note
4:4:1 subsampling is not fully accelerated in libjpeg-turbo.
+ TJSAMP_UNKNOWN 

Unknown subsampling.

The JPEG image uses an unusual type of chrominance subsampling. Such images can be decompressed into packed-pixel images, but they cannot be

@@ -3492,7 +3498,8 @@ If you choose option 1, then dstSizes[i] should be set to the size
  • 16x8 for 4:2:2
  • 8x16 for 4:4:0
  • 16x16 for 4:2:0
  • -
  • 32x8 for 4:1:1
  • +
  • 32x8 for 4:1:1
  • +
  • 8x32 for 4:4:1
  • diff --git a/doc/html/search/all_6.js b/doc/html/search/all_6.js index 55306648..a3fa7845 100644 --- a/doc/html/search/all_6.js +++ b/doc/html/search/all_6.js @@ -110,31 +110,32 @@ var searchData= ['tjsamp_5f420_115',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]], ['tjsamp_5f422_116',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]], ['tjsamp_5f440_117',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]], - ['tjsamp_5f444_118',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]], - ['tjsamp_5fgray_119',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]], - ['tjsamp_5funknown_120',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]], - ['tjscaled_121',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]], - ['tjscalingfactor_122',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]], - ['tjtransform_123',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform(): turbojpeg.h']]], - ['tjuncropped_124',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]], - ['tjunscaled_125',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]], - ['tjxop_126',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]], - ['tjxop_5fhflip_127',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]], - ['tjxop_5fnone_128',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]], - ['tjxop_5frot180_129',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]], - ['tjxop_5frot270_130',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]], - ['tjxop_5frot90_131',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]], - ['tjxop_5ftranspose_132',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]], - ['tjxop_5ftransverse_133',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]], - ['tjxop_5fvflip_134',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]], - ['tjxopt_5farithmetic_135',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]], - ['tjxopt_5fcopynone_136',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]], - ['tjxopt_5fcrop_137',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]], - ['tjxopt_5fgray_138',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]], - ['tjxopt_5fnooutput_139',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]], - ['tjxopt_5foptimize_140',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]], - ['tjxopt_5fperfect_141',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]], - ['tjxopt_5fprogressive_142',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]], - ['tjxopt_5ftrim_143',['TJXOPT_TRIM',['../group___turbo_j_p_e_g.html#ga319826b7eb1583c0595bbe7b95428709',1,'turbojpeg.h']]], - ['turbojpeg_144',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]] + ['tjsamp_5f441_118',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]], + ['tjsamp_5f444_119',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]], + ['tjsamp_5fgray_120',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]], + ['tjsamp_5funknown_121',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]], + ['tjscaled_122',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]], + ['tjscalingfactor_123',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]], + ['tjtransform_124',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform(): turbojpeg.h']]], + ['tjuncropped_125',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]], + ['tjunscaled_126',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]], + ['tjxop_127',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]], + ['tjxop_5fhflip_128',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]], + ['tjxop_5fnone_129',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]], + ['tjxop_5frot180_130',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]], + ['tjxop_5frot270_131',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]], + ['tjxop_5frot90_132',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]], + ['tjxop_5ftranspose_133',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]], + ['tjxop_5ftransverse_134',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]], + ['tjxop_5fvflip_135',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]], + ['tjxopt_5farithmetic_136',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]], + ['tjxopt_5fcopynone_137',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]], + ['tjxopt_5fcrop_138',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]], + ['tjxopt_5fgray_139',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]], + ['tjxopt_5fnooutput_140',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]], + ['tjxopt_5foptimize_141',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]], + ['tjxopt_5fperfect_142',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]], + ['tjxopt_5fprogressive_143',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]], + ['tjxopt_5ftrim_144',['TJXOPT_TRIM',['../group___turbo_j_p_e_g.html#ga319826b7eb1583c0595bbe7b95428709',1,'turbojpeg.h']]], + ['turbojpeg_145',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]] ]; diff --git a/doc/html/search/all_7.js b/doc/html/search/all_7.js index 1093ee35..7d2132b2 100644 --- a/doc/html/search/all_7.js +++ b/doc/html/search/all_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['w_145',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] + ['w_146',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] ]; diff --git a/doc/html/search/all_8.js b/doc/html/search/all_8.js index fa87fc98..4ef20120 100644 --- a/doc/html/search/all_8.js +++ b/doc/html/search/all_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['x_146',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] + ['x_147',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] ]; diff --git a/doc/html/search/all_9.js b/doc/html/search/all_9.js index 192181cd..3a72aaf2 100644 --- a/doc/html/search/all_9.js +++ b/doc/html/search/all_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['y_147',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] + ['y_148',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] ]; diff --git a/doc/html/search/classes_0.js b/doc/html/search/classes_0.js index 5460dc5d..ff3fb9a6 100644 --- a/doc/html/search/classes_0.js +++ b/doc/html/search/classes_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['tjregion_148',['tjregion',['../structtjregion.html',1,'']]], - ['tjscalingfactor_149',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]], - ['tjtransform_150',['tjtransform',['../structtjtransform.html',1,'']]] + ['tjregion_149',['tjregion',['../structtjregion.html',1,'']]], + ['tjscalingfactor_150',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]], + ['tjtransform_151',['tjtransform',['../structtjtransform.html',1,'']]] ]; diff --git a/doc/html/search/enums_0.js b/doc/html/search/enums_0.js index df0c9f0a..2f372f6e 100644 --- a/doc/html/search/enums_0.js +++ b/doc/html/search/enums_0.js @@ -1,10 +1,10 @@ var searchData= [ - ['tjcs_211',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]], - ['tjerr_212',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]], - ['tjinit_213',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]], - ['tjparam_214',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]], - ['tjpf_215',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]], - ['tjsamp_216',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]], - ['tjxop_217',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]] + ['tjcs_212',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]], + ['tjerr_213',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]], + ['tjinit_214',['TJINIT',['../group___turbo_j_p_e_g.html#ga3850bbee1313e752e667b4eb08b1e086',1,'turbojpeg.h']]], + ['tjparam_215',['TJPARAM',['../group___turbo_j_p_e_g.html#gaa0f6be63ba78278299c9f5c12031fe82',1,'turbojpeg.h']]], + ['tjpf_216',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]], + ['tjsamp_217',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]], + ['tjxop_218',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]] ]; diff --git a/doc/html/search/enumvalues_0.js b/doc/html/search/enumvalues_0.js index f5b344d1..4baa5194 100644 --- a/doc/html/search/enumvalues_0.js +++ b/doc/html/search/enumvalues_0.js @@ -1,64 +1,65 @@ var searchData= [ - ['tjcs_5fcmyk_218',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]], - ['tjcs_5fgray_219',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]], - ['tjcs_5frgb_220',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]], - ['tjcs_5fycbcr_221',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]], - ['tjcs_5fycck_222',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]], - ['tjerr_5ffatal_223',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]], - ['tjerr_5fwarning_224',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]], - ['tjinit_5fcompress_225',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]], - ['tjinit_5fdecompress_226',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]], - ['tjinit_5ftransform_227',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]], - ['tjparam_5farithmetic_228',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]], - ['tjparam_5fbottomup_229',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]], - ['tjparam_5fcolorspace_230',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]], - ['tjparam_5fdensityunits_231',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]], - ['tjparam_5ffastdct_232',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]], - ['tjparam_5ffastupsample_233',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]], - ['tjparam_5fjpegheight_234',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]], - ['tjparam_5fjpegwidth_235',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]], - ['tjparam_5flossless_236',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]], - ['tjparam_5flosslesspsv_237',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]], - ['tjparam_5flosslesspt_238',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]], - ['tjparam_5fnorealloc_239',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]], - ['tjparam_5foptimize_240',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]], - ['tjparam_5fprecision_241',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]], - ['tjparam_5fprogressive_242',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]], - ['tjparam_5fquality_243',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]], - ['tjparam_5frestartblocks_244',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]], - ['tjparam_5frestartrows_245',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]], - ['tjparam_5fscanlimit_246',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]], - ['tjparam_5fstoponwarning_247',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]], - ['tjparam_5fsubsamp_248',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]], - ['tjparam_5fxdensity_249',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]], - ['tjparam_5fydensity_250',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]], - ['tjpf_5fabgr_251',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]], - ['tjpf_5fargb_252',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]], - ['tjpf_5fbgr_253',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]], - ['tjpf_5fbgra_254',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]], - ['tjpf_5fbgrx_255',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]], - ['tjpf_5fcmyk_256',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]], - ['tjpf_5fgray_257',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]], - ['tjpf_5frgb_258',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]], - ['tjpf_5frgba_259',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]], - ['tjpf_5frgbx_260',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]], - ['tjpf_5funknown_261',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]], - ['tjpf_5fxbgr_262',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]], - ['tjpf_5fxrgb_263',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]], - ['tjsamp_5f411_264',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]], - ['tjsamp_5f420_265',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]], - ['tjsamp_5f422_266',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]], - ['tjsamp_5f440_267',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]], - ['tjsamp_5f444_268',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]], - ['tjsamp_5fgray_269',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]], - ['tjsamp_5funknown_270',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]], - ['tjxop_5fhflip_271',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]], - ['tjxop_5fnone_272',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]], - ['tjxop_5frot180_273',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]], - ['tjxop_5frot270_274',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]], - ['tjxop_5frot90_275',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]], - ['tjxop_5ftranspose_276',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]], - ['tjxop_5ftransverse_277',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]], - ['tjxop_5fvflip_278',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]] + ['tjcs_5fcmyk_219',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]], + ['tjcs_5fgray_220',['TJCS_GRAY',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720ab3e7d6a87f695e45b81c1b5262b5a50a',1,'turbojpeg.h']]], + ['tjcs_5frgb_221',['TJCS_RGB',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a677cb7ccb85c4038ac41964a2e09e555',1,'turbojpeg.h']]], + ['tjcs_5fycbcr_222',['TJCS_YCbCr',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a7389b8f65bb387ffedce3efd0d78ec75',1,'turbojpeg.h']]], + ['tjcs_5fycck_223',['TJCS_YCCK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a53839e0fe867b76b58d16b0a1a7c598e',1,'turbojpeg.h']]], + ['tjerr_5ffatal_224',['TJERR_FATAL',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950feafc9cceeada13122b09e4851e3788039a',1,'turbojpeg.h']]], + ['tjerr_5fwarning_225',['TJERR_WARNING',['../group___turbo_j_p_e_g.html#ggafbc17cfa57d0d5d11fea35ac025950fea342dd6e2aedb47bb257b4e7568329b59',1,'turbojpeg.h']]], + ['tjinit_5fcompress_226',['TJINIT_COMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086aa45ac279e3dc6ffabc4b0f45864da796',1,'turbojpeg.h']]], + ['tjinit_5fdecompress_227',['TJINIT_DECOMPRESS',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a4b8ca1ef700699b71350700bf95c2167',1,'turbojpeg.h']]], + ['tjinit_5ftransform_228',['TJINIT_TRANSFORM',['../group___turbo_j_p_e_g.html#gga3850bbee1313e752e667b4eb08b1e086a8d58a2a4c45b3e0cd349746544a6e0c2',1,'turbojpeg.h']]], + ['tjparam_5farithmetic_229',['TJPARAM_ARITHMETIC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1c756757384308145602c040524aebf7',1,'turbojpeg.h']]], + ['tjparam_5fbottomup_230',['TJPARAM_BOTTOMUP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a924657172695ed6cb0b128219546fcce',1,'turbojpeg.h']]], + ['tjparam_5fcolorspace_231',['TJPARAM_COLORSPACE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a46a10d46309514907d0c39fcd86c324c',1,'turbojpeg.h']]], + ['tjparam_5fdensityunits_232',['TJPARAM_DENSITYUNITS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4c045981bd8a303521a401dbbe1df208',1,'turbojpeg.h']]], + ['tjparam_5ffastdct_233',['TJPARAM_FASTDCT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a6914692ac6ec5567787d592b7563f627',1,'turbojpeg.h']]], + ['tjparam_5ffastupsample_234',['TJPARAM_FASTUPSAMPLE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0e051ac106f7b7402b690a5daf4869c0',1,'turbojpeg.h']]], + ['tjparam_5fjpegheight_235',['TJPARAM_JPEGHEIGHT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f76673be73f2b659440a9572a65a95f',1,'turbojpeg.h']]], + ['tjparam_5fjpegwidth_236',['TJPARAM_JPEGWIDTH',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a02ab77fb294a0c9061a78cd424c82dd8',1,'turbojpeg.h']]], + ['tjparam_5flossless_237',['TJPARAM_LOSSLESS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a249f35f0770792b19f995e603bb17c6f',1,'turbojpeg.h']]], + ['tjparam_5flosslesspsv_238',['TJPARAM_LOSSLESSPSV',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abcc997d40e5bec84817c12b76ef84159',1,'turbojpeg.h']]], + ['tjparam_5flosslesspt_239',['TJPARAM_LOSSLESSPT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4a6c6f25764ecaf4231a36bff844e46a',1,'turbojpeg.h']]], + ['tjparam_5fnorealloc_240',['TJPARAM_NOREALLOC',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b',1,'turbojpeg.h']]], + ['tjparam_5foptimize_241',['TJPARAM_OPTIMIZE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a8f0af9afc0b36443751f9ee82b760aa6',1,'turbojpeg.h']]], + ['tjparam_5fprecision_242',['TJPARAM_PRECISION',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a781db82741934e8cd008d308597c59d8',1,'turbojpeg.h']]], + ['tjparam_5fprogressive_243',['TJPARAM_PROGRESSIVE',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a1716f242b3859905b4a317dae8cfb75f',1,'turbojpeg.h']]], + ['tjparam_5fquality_244',['TJPARAM_QUALITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a0467e8792621f2d817dc2af563d3186c',1,'turbojpeg.h']]], + ['tjparam_5frestartblocks_245',['TJPARAM_RESTARTBLOCKS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a343c72883b7160f23f3ef46fc548a0ec',1,'turbojpeg.h']]], + ['tjparam_5frestartrows_246',['TJPARAM_RESTARTROWS',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a714367585952fe5c863f0dba5bd37e5c',1,'turbojpeg.h']]], + ['tjparam_5fscanlimit_247',['TJPARAM_SCANLIMIT',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ac478910e20ecf61b914f9824d80f8167',1,'turbojpeg.h']]], + ['tjparam_5fstoponwarning_248',['TJPARAM_STOPONWARNING',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a555e2212079fa49b30bcd2879c6c8ddb',1,'turbojpeg.h']]], + ['tjparam_5fsubsamp_249',['TJPARAM_SUBSAMP',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a2a3494a8215d3de4fdbaeb2ba6f6b03a',1,'turbojpeg.h']]], + ['tjparam_5fxdensity_250',['TJPARAM_XDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82a4de5c9d7cab5be806143a43c3b0e0877',1,'turbojpeg.h']]], + ['tjparam_5fydensity_251',['TJPARAM_YDENSITY',['../group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82abda48f2df7eb9b88e2b7621efb017eba',1,'turbojpeg.h']]], + ['tjpf_5fabgr_252',['TJPF_ABGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa1ba1a7f1631dbeaa49a0a85fc4a40081',1,'turbojpeg.h']]], + ['tjpf_5fargb_253',['TJPF_ARGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aae8f846ed9d9de99b6e1dfe448848765c',1,'turbojpeg.h']]], + ['tjpf_5fbgr_254',['TJPF_BGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aab10624437fb8ef495a0b153e65749839',1,'turbojpeg.h']]], + ['tjpf_5fbgra_255',['TJPF_BGRA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aac037ff1845cf9b74bb81a3659c2b9fb4',1,'turbojpeg.h']]], + ['tjpf_5fbgrx_256',['TJPF_BGRX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa2a1fbf569ca79897eae886e3376ca4c8',1,'turbojpeg.h']]], + ['tjpf_5fcmyk_257',['TJPF_CMYK',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7f5100ec44c91994e243f1cf55553f8b',1,'turbojpeg.h']]], + ['tjpf_5fgray_258',['TJPF_GRAY',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa5431b54b015337705f13118073711a1a',1,'turbojpeg.h']]], + ['tjpf_5frgb_259',['TJPF_RGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa7ce93230bff449518ce387c17e6ed37c',1,'turbojpeg.h']]], + ['tjpf_5frgba_260',['TJPF_RGBA',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa88d2e88fab67f6503cf972e14851cc12',1,'turbojpeg.h']]], + ['tjpf_5frgbx_261',['TJPF_RGBX',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa83973bebb7e2dc6fa8bae89ff3f42e01',1,'turbojpeg.h']]], + ['tjpf_5funknown_262',['TJPF_UNKNOWN',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aa84c1a6cead7952998e2fb895844a21ed',1,'turbojpeg.h']]], + ['tjpf_5fxbgr_263',['TJPF_XBGR',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aaf6603b27147de47e212e75dac027b2af',1,'turbojpeg.h']]], + ['tjpf_5fxrgb_264',['TJPF_XRGB',['../group___turbo_j_p_e_g.html#ggac916144e26c3817ac514e64ae5d12e2aadae996905efcfa3b42a0bb3bea7f9d84',1,'turbojpeg.h']]], + ['tjsamp_5f411_265',['TJSAMP_411',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2',1,'turbojpeg.h']]], + ['tjsamp_5f420_266',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]], + ['tjsamp_5f422_267',['TJSAMP_422',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a136130902cc578f11f32429b59368404',1,'turbojpeg.h']]], + ['tjsamp_5f440_268',['TJSAMP_440',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974',1,'turbojpeg.h']]], + ['tjsamp_5f441_269',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]], + ['tjsamp_5f444_270',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]], + ['tjsamp_5fgray_271',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]], + ['tjsamp_5funknown_272',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]], + ['tjxop_5fhflip_273',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]], + ['tjxop_5fnone_274',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]], + ['tjxop_5frot180_275',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]], + ['tjxop_5frot270_276',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]], + ['tjxop_5frot90_277',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]], + ['tjxop_5ftranspose_278',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]], + ['tjxop_5ftransverse_279',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]], + ['tjxop_5fvflip_280',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]] ]; diff --git a/doc/html/search/functions_0.js b/doc/html/search/functions_0.js index 3a066fe6..18f7e3fe 100644 --- a/doc/html/search/functions_0.js +++ b/doc/html/search/functions_0.js @@ -1,41 +1,41 @@ var searchData= [ - ['tj3alloc_151',['tj3Alloc',['../group___turbo_j_p_e_g.html#gab40a0b231122f536e503e3394569a68d',1,'turbojpeg.h']]], - ['tj3compress12_152',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]], - ['tj3compress16_153',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]], - ['tj3compress8_154',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]], - ['tj3compressfromyuv8_155',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]], - ['tj3compressfromyuvplanes8_156',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]], - ['tj3decodeyuv8_157',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]], - ['tj3decodeyuvplanes8_158',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]], - ['tj3decompress12_159',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]], - ['tj3decompress16_160',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]], - ['tj3decompress8_161',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]], - ['tj3decompressheader_162',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]], - ['tj3decompresstoyuv8_163',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]], - ['tj3decompresstoyuvplanes8_164',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]], - ['tj3destroy_165',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]], - ['tj3encodeyuv8_166',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]], - ['tj3encodeyuvplanes8_167',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]], - ['tj3free_168',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]], - ['tj3get_169',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]], - ['tj3geterrorcode_170',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]], - ['tj3geterrorstr_171',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#gaf2aab0e6dbb3edc57646b0fec25e8bb2',1,'turbojpeg.h']]], - ['tj3getscalingfactors_172',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#ga74397f8e0587d4233182c72f085aaf04',1,'turbojpeg.h']]], - ['tj3init_173',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]], - ['tj3jpegbufsize_174',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]], - ['tj3loadimage12_175',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#ga1f03c26892a26d4ce077ed6a4ac40e8f',1,'turbojpeg.h']]], - ['tj3loadimage16_176',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#ga638aeba63e0ccb89d472fdbf34224cfc',1,'turbojpeg.h']]], - ['tj3loadimage8_177',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga565aaae7be3f8ca9099b56655c893251',1,'turbojpeg.h']]], - ['tj3saveimage12_178',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]], - ['tj3saveimage16_179',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]], - ['tj3saveimage8_180',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]], - ['tj3set_181',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]], - ['tj3setcroppingregion_182',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]], - ['tj3setscalingfactor_183',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]], - ['tj3transform_184',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]], - ['tj3yuvbufsize_185',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]], - ['tj3yuvplaneheight_186',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]], - ['tj3yuvplanesize_187',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]], - ['tj3yuvplanewidth_188',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]] + ['tj3alloc_152',['tj3Alloc',['../group___turbo_j_p_e_g.html#gab40a0b231122f536e503e3394569a68d',1,'turbojpeg.h']]], + ['tj3compress12_153',['tj3Compress12',['../group___turbo_j_p_e_g.html#ga9a1968c384ec7abb6122830253ebf570',1,'turbojpeg.h']]], + ['tj3compress16_154',['tj3Compress16',['../group___turbo_j_p_e_g.html#ga77901b71d0471784f318ada31ff4e7bd',1,'turbojpeg.h']]], + ['tj3compress8_155',['tj3Compress8',['../group___turbo_j_p_e_g.html#ga2cc418a2dab709ad7f30f5b25905f138',1,'turbojpeg.h']]], + ['tj3compressfromyuv8_156',['tj3CompressFromYUV8',['../group___turbo_j_p_e_g.html#ga041c870d9c669eb3f385c78f4346c43f',1,'turbojpeg.h']]], + ['tj3compressfromyuvplanes8_157',['tj3CompressFromYUVPlanes8',['../group___turbo_j_p_e_g.html#gac9f5ace3e73805b476c95dda9f8d0cd0',1,'turbojpeg.h']]], + ['tj3decodeyuv8_158',['tj3DecodeYUV8',['../group___turbo_j_p_e_g.html#gaa1eb574f38b1c1de43a6c7aafcf68d8c',1,'turbojpeg.h']]], + ['tj3decodeyuvplanes8_159',['tj3DecodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gad366f1915f82c1ad4e7e37ebe073ca89',1,'turbojpeg.h']]], + ['tj3decompress12_160',['tj3Decompress12',['../group___turbo_j_p_e_g.html#ga39b848f01781ad74a5b3941c012b6199',1,'turbojpeg.h']]], + ['tj3decompress16_161',['tj3Decompress16',['../group___turbo_j_p_e_g.html#gaa074e63f9beb0b3ff42b833a4049df6e',1,'turbojpeg.h']]], + ['tj3decompress8_162',['tj3Decompress8',['../group___turbo_j_p_e_g.html#ga1169c7c1a26ec18c9e6122cb8ae64013',1,'turbojpeg.h']]], + ['tj3decompressheader_163',['tj3DecompressHeader',['../group___turbo_j_p_e_g.html#ga96d2c4b3432f9d88ad14758ae240b8d1',1,'turbojpeg.h']]], + ['tj3decompresstoyuv8_164',['tj3DecompressToYUV8',['../group___turbo_j_p_e_g.html#ga1e6bf6a19fec3f9fa7534348879d8320',1,'turbojpeg.h']]], + ['tj3decompresstoyuvplanes8_165',['tj3DecompressToYUVPlanes8',['../group___turbo_j_p_e_g.html#ga934373482dbbf257f2280505b6ff4fb5',1,'turbojpeg.h']]], + ['tj3destroy_166',['tj3Destroy',['../group___turbo_j_p_e_g.html#ga53fbadf4560e95a65b8f5ab81703fe82',1,'turbojpeg.h']]], + ['tj3encodeyuv8_167',['tj3EncodeYUV8',['../group___turbo_j_p_e_g.html#ga2a8d50f130bde10f0a04030f8cc59936',1,'turbojpeg.h']]], + ['tj3encodeyuvplanes8_168',['tj3EncodeYUVPlanes8',['../group___turbo_j_p_e_g.html#gae2e9df38790e9bddc249d04cb158a4cf',1,'turbojpeg.h']]], + ['tj3free_169',['tj3Free',['../group___turbo_j_p_e_g.html#gaddb84fb6c81769e9faa0f5a63b296606',1,'turbojpeg.h']]], + ['tj3get_170',['tj3Get',['../group___turbo_j_p_e_g.html#ga34af9ba3183bdf0ec7c8f47bb9a4c84f',1,'turbojpeg.h']]], + ['tj3geterrorcode_171',['tj3GetErrorCode',['../group___turbo_j_p_e_g.html#gab8c8279f1415fe425ff30dbbc56013bd',1,'turbojpeg.h']]], + ['tj3geterrorstr_172',['tj3GetErrorStr',['../group___turbo_j_p_e_g.html#gaf2aab0e6dbb3edc57646b0fec25e8bb2',1,'turbojpeg.h']]], + ['tj3getscalingfactors_173',['tj3GetScalingFactors',['../group___turbo_j_p_e_g.html#ga74397f8e0587d4233182c72f085aaf04',1,'turbojpeg.h']]], + ['tj3init_174',['tj3Init',['../group___turbo_j_p_e_g.html#ga69c09d39f97ec30250ad3605ace7e5df',1,'turbojpeg.h']]], + ['tj3jpegbufsize_175',['tj3JPEGBufSize',['../group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4',1,'turbojpeg.h']]], + ['tj3loadimage12_176',['tj3LoadImage12',['../group___turbo_j_p_e_g.html#ga1f03c26892a26d4ce077ed6a4ac40e8f',1,'turbojpeg.h']]], + ['tj3loadimage16_177',['tj3LoadImage16',['../group___turbo_j_p_e_g.html#ga638aeba63e0ccb89d472fdbf34224cfc',1,'turbojpeg.h']]], + ['tj3loadimage8_178',['tj3LoadImage8',['../group___turbo_j_p_e_g.html#ga565aaae7be3f8ca9099b56655c893251',1,'turbojpeg.h']]], + ['tj3saveimage12_179',['tj3SaveImage12',['../group___turbo_j_p_e_g.html#ga7c64b5106d04267a46aad85f9714ad90',1,'turbojpeg.h']]], + ['tj3saveimage16_180',['tj3SaveImage16',['../group___turbo_j_p_e_g.html#ga0fd87851f4266aca24bf4594dd0c0e71',1,'turbojpeg.h']]], + ['tj3saveimage8_181',['tj3SaveImage8',['../group___turbo_j_p_e_g.html#gaa4ec838988e469cc15618e4690cc8722',1,'turbojpeg.h']]], + ['tj3set_182',['tj3Set',['../group___turbo_j_p_e_g.html#gaddf92640bfee3e8622218c713e77e7db',1,'turbojpeg.h']]], + ['tj3setcroppingregion_183',['tj3SetCroppingRegion',['../group___turbo_j_p_e_g.html#gaa49c7bd4c9431667a043cfc93388ba1c',1,'turbojpeg.h']]], + ['tj3setscalingfactor_184',['tj3SetScalingFactor',['../group___turbo_j_p_e_g.html#ga89da17ee1e43ff423382cbc145803c75',1,'turbojpeg.h']]], + ['tj3transform_185',['tj3Transform',['../group___turbo_j_p_e_g.html#gaff23ba1dcabed456794b844791613920',1,'turbojpeg.h']]], + ['tj3yuvbufsize_186',['tj3YUVBufSize',['../group___turbo_j_p_e_g.html#gaaebaa16973a0f550a66eca5765ed0546',1,'turbojpeg.h']]], + ['tj3yuvplaneheight_187',['tj3YUVPlaneHeight',['../group___turbo_j_p_e_g.html#ga969767ec8180cc3edd99cf507f87299b',1,'turbojpeg.h']]], + ['tj3yuvplanesize_188',['tj3YUVPlaneSize',['../group___turbo_j_p_e_g.html#gacc19d265edce76b46146f59579f9438d',1,'turbojpeg.h']]], + ['tj3yuvplanewidth_189',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]] ]; diff --git a/doc/html/search/groups_0.js b/doc/html/search/groups_0.js index 46ff898c..97bded09 100644 --- a/doc/html/search/groups_0.js +++ b/doc/html/search/groups_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['turbojpeg_279',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]] + ['turbojpeg_281',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]] ]; diff --git a/doc/html/search/typedefs_0.js b/doc/html/search/typedefs_0.js index 927d7d32..968490f5 100644 --- a/doc/html/search/typedefs_0.js +++ b/doc/html/search/typedefs_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['tjhandle_209',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]], - ['tjtransform_210',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]] + ['tjhandle_210',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]], + ['tjtransform_211',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]] ]; diff --git a/doc/html/search/variables_0.js b/doc/html/search/variables_0.js index b438812c..7585db6e 100644 --- a/doc/html/search/variables_0.js +++ b/doc/html/search/variables_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['customfilter_189',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]] + ['customfilter_190',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]] ]; diff --git a/doc/html/search/variables_1.js b/doc/html/search/variables_1.js index e9a35d29..9113a240 100644 --- a/doc/html/search/variables_1.js +++ b/doc/html/search/variables_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['data_190',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]], - ['denom_191',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]] + ['data_191',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]], + ['denom_192',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]] ]; diff --git a/doc/html/search/variables_2.js b/doc/html/search/variables_2.js index 80319f85..a907b812 100644 --- a/doc/html/search/variables_2.js +++ b/doc/html/search/variables_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['h_192',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]] + ['h_193',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]] ]; diff --git a/doc/html/search/variables_3.js b/doc/html/search/variables_3.js index e04ac9a0..7b5a6163 100644 --- a/doc/html/search/variables_3.js +++ b/doc/html/search/variables_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['num_193',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]] + ['num_194',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]] ]; diff --git a/doc/html/search/variables_4.js b/doc/html/search/variables_4.js index 7b86b6e4..c2bfaa8b 100644 --- a/doc/html/search/variables_4.js +++ b/doc/html/search/variables_4.js @@ -1,5 +1,5 @@ var searchData= [ - ['op_194',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]], - ['options_195',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]] + ['op_195',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]], + ['options_196',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]] ]; diff --git a/doc/html/search/variables_5.js b/doc/html/search/variables_5.js index 7abd5f5e..0ae92ea0 100644 --- a/doc/html/search/variables_5.js +++ b/doc/html/search/variables_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['r_196',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]] + ['r_197',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]] ]; diff --git a/doc/html/search/variables_6.js b/doc/html/search/variables_6.js index 35ad31f5..2e7c0b3a 100644 --- a/doc/html/search/variables_6.js +++ b/doc/html/search/variables_6.js @@ -1,12 +1,12 @@ var searchData= [ - ['tjalphaoffset_197',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]], - ['tjblueoffset_198',['tjBlueOffset',['../group___turbo_j_p_e_g.html#ga84e2e35d3f08025f976ec1ec53693dea',1,'turbojpeg.h']]], - ['tjgreenoffset_199',['tjGreenOffset',['../group___turbo_j_p_e_g.html#ga82d6e35da441112a411da41923c0ba2f',1,'turbojpeg.h']]], - ['tjmcuheight_200',['tjMCUHeight',['../group___turbo_j_p_e_g.html#gabd247bb9fecb393eca57366feb8327bf',1,'turbojpeg.h']]], - ['tjmcuwidth_201',['tjMCUWidth',['../group___turbo_j_p_e_g.html#ga9e61e7cd47a15a173283ba94e781308c',1,'turbojpeg.h']]], - ['tjpixelsize_202',['tjPixelSize',['../group___turbo_j_p_e_g.html#gad77cf8fe5b2bfd3cb3f53098146abb4c',1,'turbojpeg.h']]], - ['tjredoffset_203',['tjRedOffset',['../group___turbo_j_p_e_g.html#gadd9b446742ac8a3923f7992c7988fea8',1,'turbojpeg.h']]], - ['tjuncropped_204',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]], - ['tjunscaled_205',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]] + ['tjalphaoffset_198',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]], + ['tjblueoffset_199',['tjBlueOffset',['../group___turbo_j_p_e_g.html#ga84e2e35d3f08025f976ec1ec53693dea',1,'turbojpeg.h']]], + ['tjgreenoffset_200',['tjGreenOffset',['../group___turbo_j_p_e_g.html#ga82d6e35da441112a411da41923c0ba2f',1,'turbojpeg.h']]], + ['tjmcuheight_201',['tjMCUHeight',['../group___turbo_j_p_e_g.html#gabd247bb9fecb393eca57366feb8327bf',1,'turbojpeg.h']]], + ['tjmcuwidth_202',['tjMCUWidth',['../group___turbo_j_p_e_g.html#ga9e61e7cd47a15a173283ba94e781308c',1,'turbojpeg.h']]], + ['tjpixelsize_203',['tjPixelSize',['../group___turbo_j_p_e_g.html#gad77cf8fe5b2bfd3cb3f53098146abb4c',1,'turbojpeg.h']]], + ['tjredoffset_204',['tjRedOffset',['../group___turbo_j_p_e_g.html#gadd9b446742ac8a3923f7992c7988fea8',1,'turbojpeg.h']]], + ['tjuncropped_205',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]], + ['tjunscaled_206',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]] ]; diff --git a/doc/html/search/variables_7.js b/doc/html/search/variables_7.js index ae8d2cde..c8c66b68 100644 --- a/doc/html/search/variables_7.js +++ b/doc/html/search/variables_7.js @@ -1,4 +1,4 @@ var searchData= [ - ['w_206',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] + ['w_207',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] ]; diff --git a/doc/html/search/variables_8.js b/doc/html/search/variables_8.js index 9baab871..5f81e56a 100644 --- a/doc/html/search/variables_8.js +++ b/doc/html/search/variables_8.js @@ -1,4 +1,4 @@ var searchData= [ - ['x_207',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] + ['x_208',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] ]; diff --git a/doc/html/search/variables_9.js b/doc/html/search/variables_9.js index d52ead7e..bb57e20a 100644 --- a/doc/html/search/variables_9.js +++ b/doc/html/search/variables_9.js @@ -1,4 +1,4 @@ var searchData= [ - ['y_208',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] + ['y_209',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] ]; diff --git a/java/TJBench.java b/java/TJBench.java index 0df2c587..fad7fd69 100644 --- a/java/TJBench.java +++ b/java/TJBench.java @@ -52,11 +52,11 @@ final class TJBench { }; static final String[] SUBNAME_LONG = { - "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1", "4:4:1" }; static final String[] SUBNAME = { - "444", "422", "420", "GRAY", "440", "411" + "444", "422", "420", "GRAY", "440", "411", "441" }; static final String[] CSNAME = { @@ -826,7 +826,7 @@ final class TJBench { } System.out.println(")"); System.out.println("-subsamp S = When compressing, use the specified level of chrominance"); - System.out.println(" subsampling (S = 444, 422, 440, 420, 411, or GRAY) [default = test"); + System.out.println(" subsampling (S = 444, 422, 440, 420, 411, 441, or GRAY) [default = test"); System.out.println(" Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]"); System.out.println("-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 ="); System.out.println(" Perform the specified lossless transform operation on the input image"); @@ -1055,6 +1055,8 @@ final class TJBench { subsamp = TJ.SAMP_420; else if (argv[i].equals("411")) subsamp = TJ.SAMP_411; + else if (argv[i].equals("441")) + subsamp = TJ.SAMP_441; else usage(); } else if (argv[i].equalsIgnoreCase("-componly")) diff --git a/java/TJExample.java b/java/TJExample.java index cffe9c84..6a2148ce 100644 --- a/java/TJExample.java +++ b/java/TJExample.java @@ -52,7 +52,7 @@ class TJExample implements TJCustomFilter { static final String[] SUBSAMP_NAME = { - "4:4:4", "4:2:2", "4:2:0", "Grayscale", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "Grayscale", "4:4:0", "4:1:1", "4:4:1" }; static final String[] COLORSPACE_NAME = { diff --git a/java/TJUnitTest.java b/java/TJUnitTest.java index fff4a061..60839288 100644 --- a/java/TJUnitTest.java +++ b/java/TJUnitTest.java @@ -60,10 +60,10 @@ final class TJUnitTest { } static final String[] SUBNAME_LONG = { - "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1", "4:4:1" }; static final String[] SUBNAME = { - "444", "422", "420", "GRAY", "440", "411" + "444", "422", "420", "GRAY", "440", "411", "441" }; static final String[] PIXFORMATSTR = { @@ -835,9 +835,9 @@ final class TJUnitTest { int num = sf[i].getNum(); int denom = sf[i].getDenom(); if (subsamp == TJ.SAMP_444 || subsamp == TJ.SAMP_GRAY || - (subsamp == TJ.SAMP_411 && num == 1 && + ((subsamp == TJ.SAMP_411 || subsamp == TJ.SAMP_441) && num == 1 && (denom == 2 || denom == 1)) || - (subsamp != TJ.SAMP_411 && num == 1 && + (subsamp != TJ.SAMP_411 && subsamp != TJ.SAMP_441 && num == 1 && (denom == 4 || denom == 2 || denom == 1))) decompTest(tjd, jpegBuf, jpegSize, w, h, pf, baseName, subsamp, sf[i]); } @@ -865,7 +865,8 @@ final class TJUnitTest { } else { tjc.set(TJ.PARAM_QUALITY, 100); if (subsamp == TJ.SAMP_422 || subsamp == TJ.SAMP_420 || - subsamp == TJ.SAMP_440 || subsamp == TJ.SAMP_411) + subsamp == TJ.SAMP_440 || subsamp == TJ.SAMP_411 || + subsamp == TJ.SAMP_441) tjd.set(TJ.PARAM_FASTUPSAMPLE, 1); } tjc.set(TJ.PARAM_SUBSAMP, subsamp); @@ -1076,6 +1077,10 @@ final class TJUnitTest { testName); doTest(35, 39, bi ? FORMATS_4BYTEBI : FORMATS_4SAMPLE, TJ.SAMP_411, testName); + doTest(39, 41, bi ? FORMATS_3BYTEBI : FORMATS_3SAMPLE, TJ.SAMP_441, + testName); + doTest(41, 35, bi ? FORMATS_4BYTEBI : FORMATS_4SAMPLE, TJ.SAMP_441, + testName); } doTest(39, 41, bi ? FORMATS_GRAYBI : FORMATS_GRAY, TJ.SAMP_GRAY, testName); @@ -1095,6 +1100,7 @@ final class TJUnitTest { doTest(48, 48, FORMATS_RGB, TJ.SAMP_420, "javatest_yuv0"); doTest(48, 48, FORMATS_RGB, TJ.SAMP_440, "javatest_yuv0"); doTest(48, 48, FORMATS_RGB, TJ.SAMP_411, "javatest_yuv0"); + doTest(48, 48, FORMATS_RGB, TJ.SAMP_441, "javatest_yuv0"); doTest(48, 48, FORMATS_RGB, TJ.SAMP_GRAY, "javatest_yuv0"); doTest(48, 48, FORMATS_GRAY, TJ.SAMP_GRAY, "javatest_yuv0"); } diff --git a/java/doc/allclasses.html b/java/doc/allclasses.html index 2703a3c4..c87c92ff 100644 --- a/java/doc/allclasses.html +++ b/java/doc/allclasses.html @@ -18,8 +18,9 @@ +

    All Classes

    -
    +
    +
    diff --git a/java/doc/constant-values.html b/java/doc/constant-values.html index 5b1d2385..1fa1fcef 100644 --- a/java/doc/constant-values.html +++ b/java/doc/constant-values.html @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); public static final int NUMSAMP -6 +7 @@ -508,20 +508,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height")); 4 + + +public static final int +SAMP_441 +6 + + public static final int SAMP_444 0 - + public static final int SAMP_GRAY 3 - + public static final int diff --git a/java/doc/index-all.html b/java/doc/index-all.html index 22c93057..4b153050 100644 --- a/java/doc/index-all.html +++ b/java/doc/index-all.html @@ -899,6 +899,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
    4:4:0 chrominance subsampling.
    +
    SAMP_441 - Static variable in class org.libjpegturbo.turbojpeg.TJ
    +
    +
    4:4:1 chrominance subsampling.
    +
    SAMP_444 - Static variable in class org.libjpegturbo.turbojpeg.TJ
    4:4:4 chrominance subsampling (no chrominance subsampling).
    diff --git a/java/doc/member-search-index.js b/java/doc/member-search-index.js index cb143698..c1c104fd 100644 --- a/java/doc/member-search-index.js +++ b/java/doc/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"bufSize(int, int, int)","url":"bufSize(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"bufSizeYUV(int, int, int, int)","url":"bufSizeYUV(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"cf"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"close()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"close()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(byte[], int)","url":"compress(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_CMYK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_RGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_YCbCr"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_YCCK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCustomFilter","l":"customFilter(ShortBuffer, Rectangle, Rectangle, int, int, TJTransform)","url":"customFilter(java.nio.ShortBuffer,java.awt.Rectangle,java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJTransform)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(BufferedImage, int)","url":"decompress(java.awt.image.BufferedImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(byte[], int, int, int, int, int, int, int)","url":"decompress(byte[],int,int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int, int, int, int, int)","url":"decompress(int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int, int, int, int)","url":"decompress(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int[], int, int, int, int, int, int, int)","url":"decompress(int[],int,int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress12(int, int)","url":"decompress12(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress12(short[], int, int, int, int)","url":"decompress12(short[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress16(int, int)","url":"decompress16(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress16(short[], int, int, int, int)","url":"decompress16(short[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(BufferedImage)","url":"decompress8(java.awt.image.BufferedImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(byte[], int, int, int, int)","url":"decompress8(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int, int)","url":"decompress8(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int[], int, int, int, int)","url":"decompress8(int[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int, int, int, int)","url":"decompressToYUV(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int, int[], int, int)","url":"decompressToYUV(int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(YUVImage, int)","url":"decompressToYUV(org.libjpegturbo.turbojpeg.YUVImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(YUVImage)","url":"decompressToYUV(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int, int)","url":"encodeYUV(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int[], int)","url":"encodeYUV(int[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(YUVImage, int)","url":"encodeYUV(org.libjpegturbo.turbojpeg.YUVImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(YUVImage)","url":"encodeYUV(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"equals(TJScalingFactor)","url":"equals(org.libjpegturbo.turbojpeg.TJScalingFactor)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"ERR_FATAL"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"ERR_WARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"finalize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"finalize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_ACCURATEDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_BOTTOMUP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_FASTDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_FASTUPSAMPLE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_LIMITSCANS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_STOPONWARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"get(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"get(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getAlphaOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getBlueOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getBuf()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getColorspace()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"getCompressedSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getDenom()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"getErrorCode()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getGreenOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getHeight()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getHeight()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getJPEGBuf()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getJPEGSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getMCUHeight(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getMCUWidth(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getNum()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getOffsets()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getPad()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getPixelSize(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getPlanes()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getRedOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getScaled(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getScaledHeight(int, int)","url":"getScaledHeight(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getScaledWidth(int, int)","url":"getScaledWidth(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getScalingFactors()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getStrides()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getSubsamp()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getSubsamp()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"getTransformedSizes()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getWidth()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getWidth()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"isOne()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMCS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMERR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"NUMOP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMPF"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMSAMP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"op"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_HFLIP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_NONE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT180"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT270"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT90"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_TRANSPOSE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_TRANSVERSE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_VFLIP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_ARITHMETIC"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_COPYNONE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_CROP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_NOOUTPUT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_OPTIMIZE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_PERFECT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_TRIM"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"options"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_ARITHMETIC"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_BOTTOMUP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_COLORSPACE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_DENSITYUNITS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_FASTDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_FASTUPSAMPLE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_JPEGHEIGHT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_JPEGWIDTH"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESSPSV"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESSPT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_OPTIMIZE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_PRECISION"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_QUALITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_RESTARTBLOCKS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_RESTARTROWS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_SCANLIMIT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_STOPONWARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_SUBSAMP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_XDENSITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_YDENSITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_ABGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_ARGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGRA"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGRX"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_CMYK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGBA"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGBX"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_XBGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_XRGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeHeight(int, int, int)","url":"planeHeight(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeSizeYUV(int, int, int, int, int)","url":"planeSizeYUV(int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeWidth(int, int, int)","url":"planeWidth(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_411"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_420"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_422"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_440"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_444"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_UNKNOWN"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"set(int, int)","url":"set(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"set(int, int)","url":"set(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"setBuf(byte[], int, int, int, int)","url":"setBuf(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"setBuf(byte[][], int[], int, int[], int, int)","url":"setBuf(byte[][],int[],int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setCroppingRegion(Rectangle)","url":"setCroppingRegion(java.awt.Rectangle)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setJPEGQuality(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setScalingFactor(TJScalingFactor)","url":"setScalingFactor(org.libjpegturbo.turbojpeg.TJScalingFactor)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(BufferedImage, int, int, int, int)","url":"setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(byte[], int, int, int, int, int, int)","url":"setSourceImage(byte[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setSourceImage(byte[], int)","url":"setSourceImage(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(YUVImage)","url":"setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setSourceImage(YUVImage)","url":"setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage12(short[], int, int, int, int, int, int)","url":"setSourceImage12(short[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage16(short[], int, int, int, int, int, int)","url":"setSourceImage16(short[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSubsamp(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor(BufferedImage, int, int, int, int)","url":"%3Cinit%3E(java.awt.image.BufferedImage,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor(byte[], int, int, int, int, int, int)","url":"%3Cinit%3E(byte[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(byte[], int)","url":"%3Cinit%3E(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(byte[])","url":"%3Cinit%3E(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(YUVImage)","url":"%3Cinit%3E(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String, Throwable)","url":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(Throwable)","url":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"TJScalingFactor(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform(int, int, int, int, int, int, TJCustomFilter)","url":"%3Cinit%3E(int,int,int,int,int,int,org.libjpegturbo.turbojpeg.TJCustomFilter)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform(Rectangle, int, int, TJCustomFilter)","url":"%3Cinit%3E(java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJCustomFilter)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer(byte[], int)","url":"%3Cinit%3E(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer(byte[])","url":"%3Cinit%3E(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(byte[][], TJTransform[], int)","url":"transform(byte[][],org.libjpegturbo.turbojpeg.TJTransform[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(byte[][], TJTransform[])","url":"transform(byte[][],org.libjpegturbo.turbojpeg.TJTransform[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(TJTransform[], int)","url":"transform(org.libjpegturbo.turbojpeg.TJTransform[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(TJTransform[])","url":"transform(org.libjpegturbo.turbojpeg.TJTransform[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"UNCROPPED"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"UNSCALED"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(byte[], int, int, int, int)","url":"%3Cinit%3E(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(byte[][], int[], int, int[], int, int)","url":"%3Cinit%3E(byte[][],int[],int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(int, int, int, int)","url":"%3Cinit%3E(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(int, int[], int, int)","url":"%3Cinit%3E(int,int[],int,int)"}] \ No newline at end of file +memberSearchIndex = [{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"bufSize(int, int, int)","url":"bufSize(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"bufSizeYUV(int, int, int, int)","url":"bufSizeYUV(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"cf"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"close()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"close()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(byte[], int)","url":"compress(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"compress(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_CMYK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_RGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_YCbCr"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"CS_YCCK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCustomFilter","l":"customFilter(ShortBuffer, Rectangle, Rectangle, int, int, TJTransform)","url":"customFilter(java.nio.ShortBuffer,java.awt.Rectangle,java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJTransform)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(BufferedImage, int)","url":"decompress(java.awt.image.BufferedImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(byte[], int, int, int, int, int, int, int)","url":"decompress(byte[],int,int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int, int, int, int, int)","url":"decompress(int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int, int, int, int)","url":"decompress(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress(int[], int, int, int, int, int, int, int)","url":"decompress(int[],int,int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress12(int, int)","url":"decompress12(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress12(short[], int, int, int, int)","url":"decompress12(short[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress16(int, int)","url":"decompress16(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress16(short[], int, int, int, int)","url":"decompress16(short[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(BufferedImage)","url":"decompress8(java.awt.image.BufferedImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(byte[], int, int, int, int)","url":"decompress8(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int, int)","url":"decompress8(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompress8(int[], int, int, int, int)","url":"decompress8(int[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int, int, int, int)","url":"decompressToYUV(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int, int[], int, int)","url":"decompressToYUV(int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(int[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(YUVImage, int)","url":"decompressToYUV(org.libjpegturbo.turbojpeg.YUVImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"decompressToYUV(YUVImage)","url":"decompressToYUV(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int, int)","url":"encodeYUV(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int[], int)","url":"encodeYUV(int[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(int[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(YUVImage, int)","url":"encodeYUV(org.libjpegturbo.turbojpeg.YUVImage,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"encodeYUV(YUVImage)","url":"encodeYUV(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"equals(TJScalingFactor)","url":"equals(org.libjpegturbo.turbojpeg.TJScalingFactor)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"ERR_FATAL"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"ERR_WARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"finalize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"finalize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_ACCURATEDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_BOTTOMUP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_FASTDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_FASTUPSAMPLE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_LIMITSCANS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"FLAG_STOPONWARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"get(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"get(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getAlphaOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getBlueOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getBuf()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getColorspace()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"getCompressedSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getDenom()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"getErrorCode()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getGreenOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getHeight()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getHeight()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getJPEGBuf()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getJPEGSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getMCUHeight(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getMCUWidth(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getNum()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getOffsets()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getPad()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getPixelSize(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getPlanes()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getRedOffset(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"getScaled(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getScaledHeight(int, int)","url":"getScaledHeight(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getScaledWidth(int, int)","url":"getScaledWidth(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"getScalingFactors()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getSize()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getStrides()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getSubsamp()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getSubsamp()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"getTransformedSizes()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"getWidth()"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"getWidth()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"isOne()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMCS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMERR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"NUMOP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMPF"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"NUMSAMP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"op"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_HFLIP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_NONE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT180"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT270"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_ROT90"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_TRANSPOSE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_TRANSVERSE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OP_VFLIP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_ARITHMETIC"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_COPYNONE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_CROP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_NOOUTPUT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_OPTIMIZE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_PERFECT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"OPT_TRIM"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"options"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_ARITHMETIC"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_BOTTOMUP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_COLORSPACE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_DENSITYUNITS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_FASTDCT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_FASTUPSAMPLE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_JPEGHEIGHT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_JPEGWIDTH"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESSPSV"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_LOSSLESSPT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_OPTIMIZE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_PRECISION"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_PROGRESSIVE"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_QUALITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_RESTARTBLOCKS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_RESTARTROWS"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_SCANLIMIT"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_STOPONWARNING"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_SUBSAMP"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_XDENSITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PARAM_YDENSITY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_ABGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_ARGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGRA"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_BGRX"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_CMYK"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGBA"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_RGBX"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_XBGR"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"PF_XRGB"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeHeight(int, int, int)","url":"planeHeight(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeSizeYUV(int, int, int, int, int)","url":"planeSizeYUV(int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"planeWidth(int, int, int)","url":"planeWidth(int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_411"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_420"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_422"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_440"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_441"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_444"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_GRAY"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"SAMP_UNKNOWN"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"set(int, int)","url":"set(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"set(int, int)","url":"set(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"setBuf(byte[], int, int, int, int)","url":"setBuf(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"setBuf(byte[][], int[], int, int[], int, int)","url":"setBuf(byte[][],int[],int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setCroppingRegion(Rectangle)","url":"setCroppingRegion(java.awt.Rectangle)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setJPEGQuality(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setScalingFactor(TJScalingFactor)","url":"setScalingFactor(org.libjpegturbo.turbojpeg.TJScalingFactor)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(BufferedImage, int, int, int, int)","url":"setSourceImage(java.awt.image.BufferedImage,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(byte[], int, int, int, int, int, int)","url":"setSourceImage(byte[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setSourceImage(byte[], int)","url":"setSourceImage(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage(YUVImage)","url":"setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"setSourceImage(YUVImage)","url":"setSourceImage(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage12(short[], int, int, int, int, int, int)","url":"setSourceImage12(short[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSourceImage16(short[], int, int, int, int, int, int)","url":"setSourceImage16(short[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"setSubsamp(int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor(BufferedImage, int, int, int, int)","url":"%3Cinit%3E(java.awt.image.BufferedImage,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJCompressor","l":"TJCompressor(byte[], int, int, int, int, int, int)","url":"%3Cinit%3E(byte[],int,int,int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(byte[], int)","url":"%3Cinit%3E(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(byte[])","url":"%3Cinit%3E(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJDecompressor","l":"TJDecompressor(YUVImage)","url":"%3Cinit%3E(org.libjpegturbo.turbojpeg.YUVImage)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String, int)","url":"%3Cinit%3E(java.lang.String,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String, Throwable)","url":"%3Cinit%3E(java.lang.String,java.lang.Throwable)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJException","l":"TJException(Throwable)","url":"%3Cinit%3E(java.lang.Throwable)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJScalingFactor","l":"TJScalingFactor(int, int)","url":"%3Cinit%3E(int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform(int, int, int, int, int, int, TJCustomFilter)","url":"%3Cinit%3E(int,int,int,int,int,int,org.libjpegturbo.turbojpeg.TJCustomFilter)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransform","l":"TJTransform(Rectangle, int, int, TJCustomFilter)","url":"%3Cinit%3E(java.awt.Rectangle,int,int,org.libjpegturbo.turbojpeg.TJCustomFilter)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer()","url":"%3Cinit%3E()"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer(byte[], int)","url":"%3Cinit%3E(byte[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"TJTransformer(byte[])","url":"%3Cinit%3E(byte[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(byte[][], TJTransform[], int)","url":"transform(byte[][],org.libjpegturbo.turbojpeg.TJTransform[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(byte[][], TJTransform[])","url":"transform(byte[][],org.libjpegturbo.turbojpeg.TJTransform[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(TJTransform[], int)","url":"transform(org.libjpegturbo.turbojpeg.TJTransform[],int)"},{"p":"org.libjpegturbo.turbojpeg","c":"TJTransformer","l":"transform(TJTransform[])","url":"transform(org.libjpegturbo.turbojpeg.TJTransform[])"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"UNCROPPED"},{"p":"org.libjpegturbo.turbojpeg","c":"TJ","l":"UNSCALED"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(byte[], int, int, int, int)","url":"%3Cinit%3E(byte[],int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(byte[][], int[], int, int[], int, int)","url":"%3Cinit%3E(byte[][],int[],int,int[],int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(int, int, int, int)","url":"%3Cinit%3E(int,int,int,int)"},{"p":"org.libjpegturbo.turbojpeg","c":"YUVImage","l":"YUVImage(int, int[], int, int)","url":"%3Cinit%3E(int,int[],int,int)"}] \ No newline at end of file diff --git a/java/doc/member-search-index.zip b/java/doc/member-search-index.zip index bb19d4c0..fcc0a1f3 100644 Binary files a/java/doc/member-search-index.zip and b/java/doc/member-search-index.zip differ diff --git a/java/doc/org/libjpegturbo/turbojpeg/TJ.html b/java/doc/org/libjpegturbo/turbojpeg/TJ.html index 2b51f985..2051ec21 100644 --- a/java/doc/org/libjpegturbo/turbojpeg/TJ.html +++ b/java/doc/org/libjpegturbo/turbojpeg/TJ.html @@ -565,33 +565,40 @@ extends java.lang.Object static int +SAMP_441 + +
    4:4:1 chrominance subsampling.
    + + + +static int SAMP_444
    4:4:4 chrominance subsampling (no chrominance subsampling).
    - + static int SAMP_GRAY
    Grayscale.
    - + static int SAMP_UNKNOWN
    Unknown subsampling.
    - + static java.awt.Rectangle UNCROPPED
    A java.awt.Rectangle instance that specifies no cropping
    - + static TJScalingFactor UNSCALED @@ -867,6 +874,27 @@ extends java.lang.Object + + + + diff --git a/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html b/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html index 071b16ce..2654c21e 100644 --- a/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html +++ b/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html @@ -150,16 +150,16 @@ extends java.lang.Object image. The width and height of each plane are determined by the image width, height, and level of chrominance subsampling. The luminance plane width is the image width padded to the nearest multiple of the horizontal - subsampling factor (1 in the case of 4:4:4, grayscale, or 4:4:0; 2 in the - case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance - plane height is the image height padded to the nearest multiple of the - vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or - 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any - additional padding that may be specified as an argument to the various - YUVImage methods. The chrominance plane width is equal to the luminance - plane width divided by the horizontal subsampling factor, and the - chrominance plane height is equal to the luminance plane height divided by - the vertical subsampling factor. + subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in + the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the + luminance plane height is the image height padded to the nearest multiple of + the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, + or 4:1:1; 2 in the case of 4:2:0 or 4:4:0; 4 in the case of 4:4:1.) This is + irrespective of any additional padding that may be specified as an argument + to the various YUVImage methods. The chrominance plane width is equal to + the luminance plane width divided by the horizontal subsampling factor, and + the chrominance plane height is equal to the luminance plane height divided + by the vertical subsampling factor.

    For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is used, then the luminance plane would be 36 x 35 bytes, and each of the diff --git a/java/doc/package-search-index.zip b/java/doc/package-search-index.zip index e6c959be..b55d555a 100644 Binary files a/java/doc/package-search-index.zip and b/java/doc/package-search-index.zip differ diff --git a/java/doc/type-search-index.zip b/java/doc/type-search-index.zip index 93006846..3f8aad13 100644 Binary files a/java/doc/type-search-index.zip and b/java/doc/type-search-index.zip differ diff --git a/java/org/libjpegturbo/turbojpeg/TJ.java b/java/org/libjpegturbo/turbojpeg/TJ.java index 48956b2a..65f7ad3a 100644 --- a/java/org/libjpegturbo/turbojpeg/TJ.java +++ b/java/org/libjpegturbo/turbojpeg/TJ.java @@ -42,7 +42,7 @@ public final class TJ { /** * The number of chrominance subsampling options */ - public static final int NUMSAMP = 6; + public static final int NUMSAMP = 7; /** * 4:4:4 chrominance subsampling (no chrominance subsampling). The JPEG * or YUV image will contain one chrominance component for every pixel in the @@ -80,6 +80,17 @@ public final class TJ { * in libjpeg-turbo. */ public static final int SAMP_411 = 5; + /** + * 4:4:1 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 1x4 block of pixels in the source image. + * JPEG images compressed with 4:4: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:4:1 is better able to reproduce sharp + * vertical features. Note that 4:4:1 subsampling is not fully accelerated + * in libjpeg-turbo. + */ + public static final int SAMP_441 = 6; /** * Unknown subsampling. The JPEG image uses an unusual type of chrominance * subsampling. Such images can be decompressed into packed-pixel images, @@ -109,7 +120,7 @@ public final class TJ { } private static final int[] MCU_WIDTH = { - 8, 16, 16, 8, 8, 32 + 8, 16, 16, 8, 8, 32, 8 }; @@ -129,7 +140,7 @@ public final class TJ { } private static final int[] MCU_HEIGHT = { - 8, 8, 16, 8, 16, 8 + 8, 8, 16, 8, 16, 8, 32 }; diff --git a/java/org/libjpegturbo/turbojpeg/YUVImage.java b/java/org/libjpegturbo/turbojpeg/YUVImage.java index 60ace66a..c2a43fd3 100644 --- a/java/org/libjpegturbo/turbojpeg/YUVImage.java +++ b/java/org/libjpegturbo/turbojpeg/YUVImage.java @@ -48,16 +48,16 @@ package org.libjpegturbo.turbojpeg; * image. The width and height of each plane are determined by the image * width, height, and level of chrominance subsampling. The luminance plane * width is the image width padded to the nearest multiple of the horizontal - * subsampling factor (1 in the case of 4:4:4, grayscale, or 4:4:0; 2 in the - * case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance - * plane height is the image height padded to the nearest multiple of the - * vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or - * 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any - * additional padding that may be specified as an argument to the various - * YUVImage methods. The chrominance plane width is equal to the luminance - * plane width divided by the horizontal subsampling factor, and the - * chrominance plane height is equal to the luminance plane height divided by - * the vertical subsampling factor. + * subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in + * the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the + * luminance plane height is the image height padded to the nearest multiple of + * the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, + * or 4:1:1; 2 in the case of 4:2:0 or 4:4:0; 4 in the case of 4:4:1.) This is + * irrespective of any additional padding that may be specified as an argument + * to the various YUVImage methods. The chrominance plane width is equal to + * the luminance plane width divided by the horizontal subsampling factor, and + * the chrominance plane height is equal to the luminance plane height divided + * by the vertical subsampling factor. *

    * For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is * used, then the luminance plane would be 36 x 35 bytes, and each of the diff --git a/java/org_libjpegturbo_turbojpeg_TJ.h b/java/org_libjpegturbo_turbojpeg_TJ.h index 5ebaf187..e27c3b5c 100644 --- a/java/org_libjpegturbo_turbojpeg_TJ.h +++ b/java/org_libjpegturbo_turbojpeg_TJ.h @@ -8,7 +8,7 @@ extern "C" { #endif #undef org_libjpegturbo_turbojpeg_TJ_NUMSAMP -#define org_libjpegturbo_turbojpeg_TJ_NUMSAMP 6L +#define org_libjpegturbo_turbojpeg_TJ_NUMSAMP 7L #undef org_libjpegturbo_turbojpeg_TJ_SAMP_444 #define org_libjpegturbo_turbojpeg_TJ_SAMP_444 0L #undef org_libjpegturbo_turbojpeg_TJ_SAMP_422 @@ -21,6 +21,8 @@ extern "C" { #define org_libjpegturbo_turbojpeg_TJ_SAMP_440 4L #undef org_libjpegturbo_turbojpeg_TJ_SAMP_411 #define org_libjpegturbo_turbojpeg_TJ_SAMP_411 5L +#undef org_libjpegturbo_turbojpeg_TJ_SAMP_441 +#define org_libjpegturbo_turbojpeg_TJ_SAMP_441 6L #undef org_libjpegturbo_turbojpeg_TJ_SAMP_UNKNOWN #define org_libjpegturbo_turbojpeg_TJ_SAMP_UNKNOWN -1L #undef org_libjpegturbo_turbojpeg_TJ_NUMPF diff --git a/tjbench.c b/tjbench.c index e0573b4b..e25dd79a 100644 --- a/tjbench.c +++ b/tjbench.c @@ -98,13 +98,13 @@ const char *pixFormatStr[TJ_NUMPF] = { "RGB", "BGR", "RGBX", "BGRX", "XBGR", "XRGB", "GRAY", "", "", "", "", "CMYK" }; const char *subNameLong[TJ_NUMSAMP] = { - "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1", "4:4:1" }; const char *csName[TJ_NUMCS] = { "RGB", "YCbCr", "GRAY", "CMYK", "YCCK" }; const char *subName[TJ_NUMSAMP] = { - "444", "422", "420", "GRAY", "440", "411" + "444", "422", "420", "GRAY", "440", "411", "441" }; tjscalingfactor *scalingFactors = NULL, sf = { 1, 1 }; tjregion cr = { 0, 0, 0, 0 }; @@ -941,7 +941,7 @@ static void usage(char *progName) } printf(")\n"); printf("-subsamp S = When compressing, use the specified level of chrominance\n"); - printf(" subsampling (S = 444, 422, 440, 420, 411, or GRAY) [default = test\n"); + printf(" subsampling (S = 444, 422, 440, 420, 411, 441, or GRAY) [default = test\n"); printf(" Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]\n"); printf("-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 =\n"); printf(" Perform the specified lossless transform operation on the input image\n"); @@ -1122,6 +1122,7 @@ int main(int argc, char *argv[]) case 440: subsamp = TJSAMP_440; break; case 420: subsamp = TJSAMP_420; break; case 411: subsamp = TJSAMP_411; break; + case 441: subsamp = TJSAMP_441; break; default: usage(argv[0]); } } diff --git a/tjexample.c b/tjexample.c index 1c6c7a15..cf812db5 100644 --- a/tjexample.c +++ b/tjexample.c @@ -62,7 +62,7 @@ const char *subsampName[TJ_NUMSAMP] = { - "4:4:4", "4:2:2", "4:2:0", "Grayscale", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "Grayscale", "4:4:0", "4:1:1", "4:4:1" }; const char *colorspaceName[TJ_NUMCS] = { diff --git a/tjunittest.c b/tjunittest.c index 4e0a969a..bbe44bb1 100644 --- a/tjunittest.c +++ b/tjunittest.c @@ -82,10 +82,10 @@ static void usage(char *progName) } const char *subNameLong[TJ_NUMSAMP] = { - "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1" + "4:4:4", "4:2:2", "4:2:0", "GRAY", "4:4:0", "4:1:1", "4:4:1" }; const char *subName[TJ_NUMSAMP] = { - "444", "422", "420", "GRAY", "440", "411" + "444", "422", "420", "GRAY", "440", "411", "441" }; const char *pixFormatStr[TJ_NUMPF] = { @@ -575,9 +575,9 @@ static void decompTest(tjhandle handle, unsigned char *jpegBuf, for (i = 0; i < n; i++) { if (subsamp == TJSAMP_444 || subsamp == TJSAMP_GRAY || - (subsamp == TJSAMP_411 && sf[i].num == 1 && + ((subsamp == TJSAMP_411 || subsamp == TJSAMP_441) && sf[i].num == 1 && (sf[i].denom == 2 || sf[i].denom == 1)) || - (subsamp != TJSAMP_411 && sf[i].num == 1 && + (subsamp != TJSAMP_411 && subsamp != TJSAMP_441 && sf[i].num == 1 && (sf[i].denom == 4 || sf[i].denom == 2 || sf[i].denom == 1))) _decompTest(handle, jpegBuf, jpegSize, w, h, pf, basename, subsamp, sf[i]); @@ -617,7 +617,8 @@ static void doTest(int w, int h, const int *formats, int nformats, int subsamp, } else { TRY_TJ(chandle, tj3Set(chandle, TJPARAM_QUALITY, 100)); if (subsamp == TJSAMP_422 || subsamp == TJSAMP_420 || - subsamp == TJSAMP_440 || subsamp == TJSAMP_411) + subsamp == TJSAMP_440 || subsamp == TJSAMP_411 || + subsamp == TJSAMP_441) TRY_TJ(dhandle, tj3Set(dhandle, TJPARAM_FASTUPSAMPLE, 1)); } TRY_TJ(chandle, tj3Set(chandle, TJPARAM_SUBSAMP, subsamp)); @@ -1186,6 +1187,8 @@ int main(int argc, char *argv[]) doTest(39, 41, _4sampleFormats, num4bf, TJSAMP_440, "test"); doTest(41, 35, _3sampleFormats, 2, TJSAMP_411, "test"); doTest(35, 39, _4sampleFormats, num4bf, TJSAMP_411, "test"); + doTest(39, 41, _3sampleFormats, 2, TJSAMP_441, "test"); + doTest(41, 35, _4sampleFormats, num4bf, TJSAMP_441, "test"); } doTest(39, 41, _onlyGray, 1, TJSAMP_GRAY, "test"); if (!lossless) { @@ -1200,6 +1203,7 @@ int main(int argc, char *argv[]) doTest(48, 48, _onlyRGB, 1, TJSAMP_420, "test_yuv0"); doTest(48, 48, _onlyRGB, 1, TJSAMP_440, "test_yuv0"); doTest(48, 48, _onlyRGB, 1, TJSAMP_411, "test_yuv0"); + doTest(48, 48, _onlyRGB, 1, TJSAMP_441, "test_yuv0"); doTest(48, 48, _onlyRGB, 1, TJSAMP_GRAY, "test_yuv0"); doTest(48, 48, _onlyGray, 1, TJSAMP_GRAY, "test_yuv0"); } diff --git a/turbojpeg.h b/turbojpeg.h index ed2f488d..f392adc4 100644 --- a/turbojpeg.h +++ b/turbojpeg.h @@ -58,16 +58,16 @@ * image. The width and height of each plane are determined by the image * width, height, and level of chrominance subsampling. The luminance plane * width is the image width padded to the nearest multiple of the horizontal - * subsampling factor (1 in the case of 4:4:4, grayscale, or 4:4:0; 2 in the - * case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance - * plane height is the image height padded to the nearest multiple of the - * vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or - * 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any - * additional padding that may be specified as an argument to the various YUV - * functions. The chrominance plane width is equal to the luminance plane - * width divided by the horizontal subsampling factor, and the chrominance - * plane height is equal to the luminance plane height divided by the vertical - * subsampling factor. + * subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in + * the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the + * luminance plane height is the image height padded to the nearest multiple of + * the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, + * or 4:1:1; 2 in the case of 4:2:0 or 4:4:0; 4 in the case of 4:4:1.) This is + * irrespective of any additional padding that may be specified as an argument + * to the various YUV functions. The chrominance plane width is equal to the + * luminance plane width divided by the horizontal subsampling factor, and the + * chrominance plane height is equal to the luminance plane height divided by + * the vertical subsampling factor. * * For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is * used, then the luminance plane would be 36 x 35 bytes, and each of the @@ -107,7 +107,7 @@ enum TJINIT { /** * The number of chrominance subsampling options */ -#define TJ_NUMSAMP 6 +#define TJ_NUMSAMP 7 /** * Chrominance subsampling options. @@ -158,6 +158,18 @@ enum TJSAMP { * @note 4:1:1 subsampling is not fully accelerated in libjpeg-turbo. */ TJSAMP_411, + /** + * 4:4:1 chrominance subsampling. The JPEG or YUV image will contain one + * chrominance component for every 1x4 block of pixels in the source image. + * JPEG images compressed with 4:4: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:4:1 is better able to reproduce sharp + * vertical features. + * + * @note 4:4:1 subsampling is not fully accelerated in libjpeg-turbo. + */ + TJSAMP_441, /** * Unknown subsampling. The JPEG image uses an unusual type of chrominance * subsampling. Such images can be decompressed into packed-pixel images, @@ -177,8 +189,9 @@ enum TJSAMP { * - 8x16 for 4:4:0 * - 16x16 for 4:2:0 * - 32x8 for 4:1:1 + * - 8x32 for 4:4:1 */ -static const int tjMCUWidth[TJ_NUMSAMP] = { 8, 16, 16, 8, 8, 32 }; +static const int tjMCUWidth[TJ_NUMSAMP] = { 8, 16, 16, 8, 8, 32, 8 }; /** * MCU block height (in pixels) for a given level of chrominance subsampling. @@ -188,8 +201,9 @@ static const int tjMCUWidth[TJ_NUMSAMP] = { 8, 16, 16, 8, 8, 32 }; * - 8x16 for 4:4:0 * - 16x16 for 4:2:0 * - 32x8 for 4:1:1 + * - 8x32 for 4:4:1 */ -static const int tjMCUHeight[TJ_NUMSAMP] = { 8, 8, 16, 8, 16, 8 }; +static const int tjMCUHeight[TJ_NUMSAMP] = { 8, 8, 16, 8, 16, 8, 32 }; /**