TurboJPEG: Implement 4:4:1 chrominance subsampling
This allows losslessly transposed or rotated 4:1:1 JPEG images to be losslessly cropped, partially decompressed, or decompressed to planar YUV images. Because tj3Transform() allows multiple lossless transformations to be chained together, all subsampling options need to have a corresponding transposed subsampling option. (This is why 4:4:0 was originally implemented as well.) Otherwise, the documentation would be technically incorrect. It says that images with unknown subsampling types cannot be losslessly cropped, partially decompressed, or decompressed to planar YUV images, but it doesn't say anything about images with known subsampling types whose subsampling type becomes unknown if the image is rotated or transposed. This is one of those situations in which it is easier to implement a feature that works around the problem than to document the problem. Closes #659
This commit is contained in:
11
ChangeLog.md
11
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)
|
2.1.91 (3.0 beta2)
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,11 @@ file(GLOB FILES
|
|||||||
*_411_*.ppm
|
*_411_*.ppm
|
||||||
*_411_*.jpg
|
*_411_*.jpg
|
||||||
*_411.yuv
|
*_411.yuv
|
||||||
|
*_441_*.bmp
|
||||||
|
*_441_*.png
|
||||||
|
*_441_*.ppm
|
||||||
|
*_441_*.jpg
|
||||||
|
*_441.yuv
|
||||||
*_LOSSL*S_*.bmp
|
*_LOSSL*S_*.bmp
|
||||||
*_LOSSL*S_*.ppm
|
*_LOSSL*S_*.ppm
|
||||||
*_LOSSL*S_*.jpg
|
*_LOSSL*S_*.jpg
|
||||||
|
|||||||
@@ -169,6 +169,7 @@ Enumerations</h2></td></tr>
|
|||||||
<br />
|
<br />
|
||||||
  <a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974">TJSAMP_440</a>,
|
  <a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074accf740e6f3aa6ba20ba922cad13cb974">TJSAMP_440</a>,
|
||||||
<a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2">TJSAMP_411</a>,
|
<a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a28ec62575e5ea295c3fde3001dc628e2">TJSAMP_411</a>,
|
||||||
|
<a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d">TJSAMP_441</a>,
|
||||||
<a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173">TJSAMP_UNKNOWN</a>
|
<a class="el" href="group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173">TJSAMP_UNKNOWN</a>
|
||||||
<br />
|
<br />
|
||||||
}</td></tr>
|
}</td></tr>
|
||||||
@@ -413,7 +414,7 @@ Variables</h2></td></tr>
|
|||||||
<h2><a class="anchor" id="autotoc_md0"></a>
|
<h2><a class="anchor" id="autotoc_md0"></a>
|
||||||
YUV Image Format Notes</h2>
|
YUV Image Format Notes</h2>
|
||||||
<p>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.</p>
|
<p>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.</p>
|
||||||
<p>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.</p>
|
<p>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.</p>
|
||||||
<p>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. </p>
|
<p>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. </p>
|
||||||
<h2 class="groupheader">Macro Definition Documentation</h2>
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
||||||
<a id="ga39f57a6fb02d9cf32e7b6890099b5a71"></a>
|
<a id="ga39f57a6fb02d9cf32e7b6890099b5a71"></a>
|
||||||
@@ -1092,6 +1093,10 @@ YUV Image Format Notes</h2>
|
|||||||
<p>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.</p>
|
<p>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.</p>
|
||||||
<dl class="section note"><dt>Note</dt><dd>4:1:1 subsampling is not fully accelerated in libjpeg-turbo. </dd></dl>
|
<dl class="section note"><dt>Note</dt><dd>4:1:1 subsampling is not fully accelerated in libjpeg-turbo. </dd></dl>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
<tr><td class="fieldname"><a id="gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d"></a>TJSAMP_441 </td><td class="fielddoc"><p>4:4:1 chrominance subsampling. </p>
|
||||||
|
<p>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.</p>
|
||||||
|
<dl class="section note"><dt>Note</dt><dd>4:4:1 subsampling is not fully accelerated in libjpeg-turbo. </dd></dl>
|
||||||
|
</td></tr>
|
||||||
<tr><td class="fieldname"><a id="gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173"></a>TJSAMP_UNKNOWN </td><td class="fielddoc"><p>Unknown subsampling. </p>
|
<tr><td class="fieldname"><a id="gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173"></a>TJSAMP_UNKNOWN </td><td class="fielddoc"><p>Unknown subsampling. </p>
|
||||||
<p>The JPEG image uses an unusual type of chrominance subsampling. Such images can be decompressed into packed-pixel images, but they cannot be</p><ul>
|
<p>The JPEG image uses an unusual type of chrominance subsampling. Such images can be decompressed into packed-pixel images, but they cannot be</p><ul>
|
||||||
<li>decompressed into planar YUV images,</li>
|
<li>decompressed into planar YUV images,</li>
|
||||||
@@ -3461,7 +3466,8 @@ If you choose option 1, then <code>dstSizes[i]</code> should be set to the size
|
|||||||
<li>16x8 for 4:2:2</li>
|
<li>16x8 for 4:2:2</li>
|
||||||
<li>8x16 for 4:4:0</li>
|
<li>8x16 for 4:4:0</li>
|
||||||
<li>16x16 for 4:2:0</li>
|
<li>16x16 for 4:2:0</li>
|
||||||
<li>32x8 for 4:1:1 </li>
|
<li>32x8 for 4:1:1</li>
|
||||||
|
<li>8x32 for 4:4:1 </li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -3492,7 +3498,8 @@ If you choose option 1, then <code>dstSizes[i]</code> should be set to the size
|
|||||||
<li>16x8 for 4:2:2</li>
|
<li>16x8 for 4:2:2</li>
|
||||||
<li>8x16 for 4:4:0</li>
|
<li>8x16 for 4:4:0</li>
|
||||||
<li>16x16 for 4:2:0</li>
|
<li>16x16 for 4:2:0</li>
|
||||||
<li>32x8 for 4:1:1 </li>
|
<li>32x8 for 4:1:1</li>
|
||||||
|
<li>8x32 for 4:4:1 </li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -110,31 +110,32 @@ var searchData=
|
|||||||
['tjsamp_5f420_115',['TJSAMP_420',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a63085dbf683cfe39e513cdb6343e3737',1,'turbojpeg.h']]],
|
['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_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_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_5f441_118',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5fgray_119',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
['tjsamp_5f444_119',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5funknown_120',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
['tjsamp_5fgray_120',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
||||||
['tjscaled_121',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]],
|
['tjsamp_5funknown_121',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
||||||
['tjscalingfactor_122',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
['tjscaled_122',['TJSCALED',['../group___turbo_j_p_e_g.html#ga84878bb65404204743aa18cac02781df',1,'turbojpeg.h']]],
|
||||||
['tjtransform_123',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform(): turbojpeg.h']]],
|
['tjscalingfactor_123',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
||||||
['tjuncropped_124',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]],
|
['tjtransform_124',['tjtransform',['../structtjtransform.html',1,'tjtransform'],['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'tjtransform(): turbojpeg.h']]],
|
||||||
['tjunscaled_125',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]],
|
['tjuncropped_125',['TJUNCROPPED',['../group___turbo_j_p_e_g.html#ga6f192ad58a5a5802e145149d83c643bf',1,'turbojpeg.h']]],
|
||||||
['tjxop_126',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]],
|
['tjunscaled_126',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fhflip_127',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
['tjxop_127',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fnone_128',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
['tjxop_5fhflip_128',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot180_129',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
['tjxop_5fnone_129',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot270_130',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
['tjxop_5frot180_130',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot90_131',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
['tjxop_5frot270_131',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftranspose_132',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
['tjxop_5frot90_132',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftransverse_133',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
['tjxop_5ftranspose_133',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fvflip_134',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]],
|
['tjxop_5ftransverse_134',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5farithmetic_135',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]],
|
['tjxop_5fvflip_135',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fcopynone_136',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]],
|
['tjxopt_5farithmetic_136',['TJXOPT_ARITHMETIC',['../group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fcrop_137',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]],
|
['tjxopt_5fcopynone_137',['TJXOPT_COPYNONE',['../group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fgray_138',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]],
|
['tjxopt_5fcrop_138',['TJXOPT_CROP',['../group___turbo_j_p_e_g.html#ga9c771a757fc1294add611906b89ab2d2',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fnooutput_139',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]],
|
['tjxopt_5fgray_139',['TJXOPT_GRAY',['../group___turbo_j_p_e_g.html#ga3acee7b48ade1b99e5588736007c2589',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5foptimize_140',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]],
|
['tjxopt_5fnooutput_140',['TJXOPT_NOOUTPUT',['../group___turbo_j_p_e_g.html#gafbf992bbf6e006705886333703ffab31',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fperfect_141',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]],
|
['tjxopt_5foptimize_141',['TJXOPT_OPTIMIZE',['../group___turbo_j_p_e_g.html#ga6bedf37aa9e1122f3ec9f7302ca59117',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5fprogressive_142',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]],
|
['tjxopt_5fperfect_142',['TJXOPT_PERFECT',['../group___turbo_j_p_e_g.html#ga50e03cb5ed115330e212417429600b00',1,'turbojpeg.h']]],
|
||||||
['tjxopt_5ftrim_143',['TJXOPT_TRIM',['../group___turbo_j_p_e_g.html#ga319826b7eb1583c0595bbe7b95428709',1,'turbojpeg.h']]],
|
['tjxopt_5fprogressive_143',['TJXOPT_PROGRESSIVE',['../group___turbo_j_p_e_g.html#gad2371c80674584ecc1a7d75e564cf026',1,'turbojpeg.h']]],
|
||||||
['turbojpeg_144',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
['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,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['w_145',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
['w_146',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['x_146',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
['x_147',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['y_147',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]]
|
['y_148',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjregion_148',['tjregion',['../structtjregion.html',1,'']]],
|
['tjregion_149',['tjregion',['../structtjregion.html',1,'']]],
|
||||||
['tjscalingfactor_149',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
['tjscalingfactor_150',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]],
|
||||||
['tjtransform_150',['tjtransform',['../structtjtransform.html',1,'']]]
|
['tjtransform_151',['tjtransform',['../structtjtransform.html',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjcs_211',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]],
|
['tjcs_212',['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']]],
|
['tjerr_213',['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']]],
|
['tjinit_214',['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']]],
|
['tjparam_215',['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']]],
|
['tjpf_216',['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']]],
|
['tjsamp_217',['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']]]
|
['tjxop_218',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,64 +1,65 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjcs_5fcmyk_218',['TJCS_CMYK',['../group___turbo_j_p_e_g.html#gga4f83ad3368e0e29d1957be0efa7c3720a6c8b636152ac8195b869587db315ee53',1,'turbojpeg.h']]],
|
['tjcs_5fcmyk_219',['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_5fgray_220',['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_5frgb_221',['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_5fycbcr_222',['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']]],
|
['tjcs_5fycck_223',['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_5ffatal_224',['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']]],
|
['tjerr_5fwarning_225',['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_5fcompress_226',['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_5fdecompress_227',['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']]],
|
['tjinit_5ftransform_228',['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_5farithmetic_229',['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_5fbottomup_230',['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_5fcolorspace_231',['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_5fdensityunits_232',['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_5ffastdct_233',['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_5ffastupsample_234',['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_5fjpegheight_235',['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_5fjpegwidth_236',['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_5flossless_237',['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_5flosslesspsv_238',['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_5flosslesspt_239',['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_5fnorealloc_240',['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_5foptimize_241',['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_5fprecision_242',['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_5fprogressive_243',['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_5fquality_244',['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_5frestartblocks_245',['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_5frestartrows_246',['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_5fscanlimit_247',['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_5fstoponwarning_248',['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_5fsubsamp_249',['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_5fxdensity_250',['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']]],
|
['tjparam_5fydensity_251',['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_5fabgr_252',['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_5fargb_253',['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_5fbgr_254',['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_5fbgra_255',['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_5fbgrx_256',['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_5fcmyk_257',['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_5fgray_258',['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_5frgb_259',['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_5frgba_260',['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_5frgbx_261',['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_5funknown_262',['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_5fxbgr_263',['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']]],
|
['tjpf_5fxrgb_264',['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_5f411_265',['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_5f420_266',['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_5f422_267',['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_5f440_268',['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_5f441_269',['TJSAMP_441',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3351696e1dd34a083a35b6be8b90122d',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5fgray_269',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
['tjsamp_5f444_270',['TJSAMP_444',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074afb8da4f44197837bdec0a4f593dacae3',1,'turbojpeg.h']]],
|
||||||
['tjsamp_5funknown_270',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
['tjsamp_5fgray_271',['TJSAMP_GRAY',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074a3f1c9504842ddc7a48d0f690754b6248',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fhflip_271',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
['tjsamp_5funknown_272',['TJSAMP_UNKNOWN',['../group___turbo_j_p_e_g.html#gga1d047060ea80bb9820d540bb928e9074ac124fa8f6cb41147e3d670dfbdfb7173',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fnone_272',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
['tjxop_5fhflip_273',['TJXOP_HFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aa0df69776caa30f0fa28e26332d311ce',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot180_273',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
['tjxop_5fnone_274',['TJXOP_NONE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866aad88c0366cd3f7d0eac9d7a3fa1c2c27',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot270_274',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
['tjxop_5frot180_275',['TJXOP_ROT180',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a140952eb8dd0300accfcc22726d69692',1,'turbojpeg.h']]],
|
||||||
['tjxop_5frot90_275',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
['tjxop_5frot270_276',['TJXOP_ROT270',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a3064ee5dfb7f032df332818587567a08',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftranspose_276',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
['tjxop_5frot90_277',['TJXOP_ROT90',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a43b2bbb23bc4bd548422d43fbe9af128',1,'turbojpeg.h']]],
|
||||||
['tjxop_5ftransverse_277',['TJXOP_TRANSVERSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866af3b14d488aea6ece9e5b3df73a74d6a4',1,'turbojpeg.h']]],
|
['tjxop_5ftranspose_278',['TJXOP_TRANSPOSE',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a31060aed199f886afdd417f80499c32d',1,'turbojpeg.h']]],
|
||||||
['tjxop_5fvflip_278',['TJXOP_VFLIP',['../group___turbo_j_p_e_g.html#gga2de531af4e7e6c4f124908376b354866a324eddfbec53b7e691f61e56929d0d5d',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']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,41 +1,41 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tj3alloc_151',['tj3Alloc',['../group___turbo_j_p_e_g.html#gab40a0b231122f536e503e3394569a68d',1,'turbojpeg.h']]],
|
['tj3alloc_152',['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']]],
|
['tj3compress12_153',['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']]],
|
['tj3compress16_154',['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']]],
|
['tj3compress8_155',['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']]],
|
['tj3compressfromyuv8_156',['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']]],
|
['tj3compressfromyuvplanes8_157',['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']]],
|
['tj3decodeyuv8_158',['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']]],
|
['tj3decodeyuvplanes8_159',['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']]],
|
['tj3decompress12_160',['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']]],
|
['tj3decompress16_161',['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']]],
|
['tj3decompress8_162',['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']]],
|
['tj3decompressheader_163',['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']]],
|
['tj3decompresstoyuv8_164',['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']]],
|
['tj3decompresstoyuvplanes8_165',['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']]],
|
['tj3destroy_166',['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']]],
|
['tj3encodeyuv8_167',['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']]],
|
['tj3encodeyuvplanes8_168',['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']]],
|
['tj3free_169',['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']]],
|
['tj3get_170',['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']]],
|
['tj3geterrorcode_171',['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']]],
|
['tj3geterrorstr_172',['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']]],
|
['tj3getscalingfactors_173',['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']]],
|
['tj3init_174',['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']]],
|
['tj3jpegbufsize_175',['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']]],
|
['tj3loadimage12_176',['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']]],
|
['tj3loadimage16_177',['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']]],
|
['tj3loadimage8_178',['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']]],
|
['tj3saveimage12_179',['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']]],
|
['tj3saveimage16_180',['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']]],
|
['tj3saveimage8_181',['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']]],
|
['tj3set_182',['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']]],
|
['tj3setcroppingregion_183',['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']]],
|
['tj3setscalingfactor_184',['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']]],
|
['tj3transform_185',['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']]],
|
['tj3yuvbufsize_186',['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']]],
|
['tj3yuvplaneheight_187',['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']]],
|
['tj3yuvplanesize_188',['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']]]
|
['tj3yuvplanewidth_189',['tj3YUVPlaneWidth',['../group___turbo_j_p_e_g.html#gac99d1933ede1d59fcada9a826e88eb2d',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['turbojpeg_279',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
['turbojpeg_281',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjhandle_209',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]],
|
['tjhandle_210',['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']]]
|
['tjtransform_211',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['customfilter_189',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]]
|
['customfilter_190',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['data_190',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
['data_191',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]],
|
||||||
['denom_191',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
['denom_192',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['h_192',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
['h_193',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['num_193',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
['num_194',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['op_194',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]],
|
['op_195',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]],
|
||||||
['options_195',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]]
|
['options_196',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['r_196',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]]
|
['r_197',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['tjalphaoffset_197',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]],
|
['tjalphaoffset_198',['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']]],
|
['tjblueoffset_199',['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']]],
|
['tjgreenoffset_200',['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']]],
|
['tjmcuheight_201',['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']]],
|
['tjmcuwidth_202',['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']]],
|
['tjpixelsize_203',['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']]],
|
['tjredoffset_204',['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']]],
|
['tjuncropped_205',['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']]]
|
['tjunscaled_206',['TJUNSCALED',['../group___turbo_j_p_e_g.html#ga7880644a0849161ad20933536169ee19',1,'turbojpeg.h']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['w_206',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
['w_207',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['x_207',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
['x_208',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
var searchData=
|
var searchData=
|
||||||
[
|
[
|
||||||
['y_208',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]]
|
['y_209',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ final class TJBench {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static final String[] SUBNAME_LONG = {
|
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 = {
|
static final String[] SUBNAME = {
|
||||||
"444", "422", "420", "GRAY", "440", "411"
|
"444", "422", "420", "GRAY", "440", "411", "441"
|
||||||
};
|
};
|
||||||
|
|
||||||
static final String[] CSNAME = {
|
static final String[] CSNAME = {
|
||||||
@@ -826,7 +826,7 @@ final class TJBench {
|
|||||||
}
|
}
|
||||||
System.out.println(")");
|
System.out.println(")");
|
||||||
System.out.println("-subsamp S = When compressing, use the specified level of chrominance");
|
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(" 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("-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 =");
|
||||||
System.out.println(" Perform the specified lossless transform operation on the input image");
|
System.out.println(" Perform the specified lossless transform operation on the input image");
|
||||||
@@ -1055,6 +1055,8 @@ final class TJBench {
|
|||||||
subsamp = TJ.SAMP_420;
|
subsamp = TJ.SAMP_420;
|
||||||
else if (argv[i].equals("411"))
|
else if (argv[i].equals("411"))
|
||||||
subsamp = TJ.SAMP_411;
|
subsamp = TJ.SAMP_411;
|
||||||
|
else if (argv[i].equals("441"))
|
||||||
|
subsamp = TJ.SAMP_441;
|
||||||
else
|
else
|
||||||
usage();
|
usage();
|
||||||
} else if (argv[i].equalsIgnoreCase("-componly"))
|
} else if (argv[i].equalsIgnoreCase("-componly"))
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class TJExample implements TJCustomFilter {
|
|||||||
|
|
||||||
|
|
||||||
static final String[] SUBSAMP_NAME = {
|
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 = {
|
static final String[] COLORSPACE_NAME = {
|
||||||
|
|||||||
@@ -60,10 +60,10 @@ final class TJUnitTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static final String[] SUBNAME_LONG = {
|
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 = {
|
static final String[] SUBNAME = {
|
||||||
"444", "422", "420", "GRAY", "440", "411"
|
"444", "422", "420", "GRAY", "440", "411", "441"
|
||||||
};
|
};
|
||||||
|
|
||||||
static final String[] PIXFORMATSTR = {
|
static final String[] PIXFORMATSTR = {
|
||||||
@@ -835,9 +835,9 @@ final class TJUnitTest {
|
|||||||
int num = sf[i].getNum();
|
int num = sf[i].getNum();
|
||||||
int denom = sf[i].getDenom();
|
int denom = sf[i].getDenom();
|
||||||
if (subsamp == TJ.SAMP_444 || subsamp == TJ.SAMP_GRAY ||
|
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)) ||
|
(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)))
|
(denom == 4 || denom == 2 || denom == 1)))
|
||||||
decompTest(tjd, jpegBuf, jpegSize, w, h, pf, baseName, subsamp, sf[i]);
|
decompTest(tjd, jpegBuf, jpegSize, w, h, pf, baseName, subsamp, sf[i]);
|
||||||
}
|
}
|
||||||
@@ -865,7 +865,8 @@ final class TJUnitTest {
|
|||||||
} else {
|
} else {
|
||||||
tjc.set(TJ.PARAM_QUALITY, 100);
|
tjc.set(TJ.PARAM_QUALITY, 100);
|
||||||
if (subsamp == TJ.SAMP_422 || subsamp == TJ.SAMP_420 ||
|
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);
|
tjd.set(TJ.PARAM_FASTUPSAMPLE, 1);
|
||||||
}
|
}
|
||||||
tjc.set(TJ.PARAM_SUBSAMP, subsamp);
|
tjc.set(TJ.PARAM_SUBSAMP, subsamp);
|
||||||
@@ -1076,6 +1077,10 @@ final class TJUnitTest {
|
|||||||
testName);
|
testName);
|
||||||
doTest(35, 39, bi ? FORMATS_4BYTEBI : FORMATS_4SAMPLE, TJ.SAMP_411,
|
doTest(35, 39, bi ? FORMATS_4BYTEBI : FORMATS_4SAMPLE, TJ.SAMP_411,
|
||||||
testName);
|
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,
|
doTest(39, 41, bi ? FORMATS_GRAYBI : FORMATS_GRAY, TJ.SAMP_GRAY,
|
||||||
testName);
|
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_420, "javatest_yuv0");
|
||||||
doTest(48, 48, FORMATS_RGB, TJ.SAMP_440, "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_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_RGB, TJ.SAMP_GRAY, "javatest_yuv0");
|
||||||
doTest(48, 48, FORMATS_GRAY, TJ.SAMP_GRAY, "javatest_yuv0");
|
doTest(48, 48, FORMATS_GRAY, TJ.SAMP_GRAY, "javatest_yuv0");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,9 @@
|
|||||||
<script type="text/javascript" src="jquery/jquery-ui.min.js"></script>
|
<script type="text/javascript" src="jquery/jquery-ui.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<main role="main">
|
||||||
<h1 class="bar">All Classes</h1>
|
<h1 class="bar">All Classes</h1>
|
||||||
<main role="main" class="indexContainer">
|
<div class="indexContainer">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="org/libjpegturbo/turbojpeg/TJ.html" title="class in org.libjpegturbo.turbojpeg">TJ</a></li>
|
<li><a href="org/libjpegturbo/turbojpeg/TJ.html" title="class in org.libjpegturbo.turbojpeg">TJ</a></li>
|
||||||
<li><a href="org/libjpegturbo/turbojpeg/TJCompressor.html" title="class in org.libjpegturbo.turbojpeg">TJCompressor</a></li>
|
<li><a href="org/libjpegturbo/turbojpeg/TJCompressor.html" title="class in org.libjpegturbo.turbojpeg">TJCompressor</a></li>
|
||||||
@@ -31,6 +32,7 @@
|
|||||||
<li><a href="org/libjpegturbo/turbojpeg/TJTransformer.html" title="class in org.libjpegturbo.turbojpeg">TJTransformer</a></li>
|
<li><a href="org/libjpegturbo/turbojpeg/TJTransformer.html" title="class in org.libjpegturbo.turbojpeg">TJTransformer</a></li>
|
||||||
<li><a href="org/libjpegturbo/turbojpeg/YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a></li>
|
<li><a href="org/libjpegturbo/turbojpeg/YUVImage.html" title="class in org.libjpegturbo.turbojpeg">YUVImage</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
|||||||
<!-- -->
|
<!-- -->
|
||||||
</a><code>public static final int</code></td>
|
</a><code>public static final int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#NUMSAMP">NUMSAMP</a></code></th>
|
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#NUMSAMP">NUMSAMP</a></code></th>
|
||||||
<td class="colLast"><code>6</code></td>
|
<td class="colLast"><code>7</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="altColor">
|
||||||
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.PARAM_ARITHMETIC">
|
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.PARAM_ARITHMETIC">
|
||||||
@@ -508,20 +508,27 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
|||||||
<td class="colLast"><code>4</code></td>
|
<td class="colLast"><code>4</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="altColor">
|
||||||
|
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_441">
|
||||||
|
<!-- -->
|
||||||
|
</a><code>public static final int</code></td>
|
||||||
|
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_441">SAMP_441</a></code></th>
|
||||||
|
<td class="colLast"><code>6</code></td>
|
||||||
|
</tr>
|
||||||
|
<tr class="rowColor">
|
||||||
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_444">
|
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_444">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</a><code>public static final int</code></td>
|
</a><code>public static final int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_444">SAMP_444</a></code></th>
|
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_444">SAMP_444</a></code></th>
|
||||||
<td class="colLast"><code>0</code></td>
|
<td class="colLast"><code>0</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="rowColor">
|
<tr class="altColor">
|
||||||
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_GRAY">
|
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_GRAY">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</a><code>public static final int</code></td>
|
</a><code>public static final int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_GRAY">SAMP_GRAY</a></code></th>
|
<th class="colSecond" scope="row"><code><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_GRAY">SAMP_GRAY</a></code></th>
|
||||||
<td class="colLast"><code>3</code></td>
|
<td class="colLast"><code>3</code></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="rowColor">
|
||||||
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_UNKNOWN">
|
<td class="colFirst"><a id="org.libjpegturbo.turbojpeg.TJ.SAMP_UNKNOWN">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</a><code>public static final int</code></td>
|
</a><code>public static final int</code></td>
|
||||||
|
|||||||
@@ -899,6 +899,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
|
|||||||
<dd>
|
<dd>
|
||||||
<div class="block">4:4:0 chrominance subsampling.</div>
|
<div class="block">4:4:0 chrominance subsampling.</div>
|
||||||
</dd>
|
</dd>
|
||||||
|
<dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_441">SAMP_441</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJ.html" title="class in org.libjpegturbo.turbojpeg">TJ</a></dt>
|
||||||
|
<dd>
|
||||||
|
<div class="block">4:4:1 chrominance subsampling.</div>
|
||||||
|
</dd>
|
||||||
<dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_444">SAMP_444</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJ.html" title="class in org.libjpegturbo.turbojpeg">TJ</a></dt>
|
<dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJ.html#SAMP_444">SAMP_444</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJ.html" title="class in org.libjpegturbo.turbojpeg">TJ</a></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div class="block">4:4:4 chrominance subsampling (no chrominance subsampling).</div>
|
<div class="block">4:4:4 chrominance subsampling (no chrominance subsampling).</div>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -565,33 +565,40 @@ extends java.lang.Object</pre>
|
|||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="altColor">
|
||||||
<td class="colFirst"><code>static int</code></td>
|
<td class="colFirst"><code>static int</code></td>
|
||||||
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_441">SAMP_441</a></span></code></th>
|
||||||
|
<td class="colLast">
|
||||||
|
<div class="block">4:4:1 chrominance subsampling.</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr class="rowColor">
|
||||||
|
<td class="colFirst"><code>static int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_444">SAMP_444</a></span></code></th>
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_444">SAMP_444</a></span></code></th>
|
||||||
<td class="colLast">
|
<td class="colLast">
|
||||||
<div class="block">4:4:4 chrominance subsampling (no chrominance subsampling).</div>
|
<div class="block">4:4:4 chrominance subsampling (no chrominance subsampling).</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="rowColor">
|
<tr class="altColor">
|
||||||
<td class="colFirst"><code>static int</code></td>
|
<td class="colFirst"><code>static int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_GRAY">SAMP_GRAY</a></span></code></th>
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_GRAY">SAMP_GRAY</a></span></code></th>
|
||||||
<td class="colLast">
|
<td class="colLast">
|
||||||
<div class="block">Grayscale.</div>
|
<div class="block">Grayscale.</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="rowColor">
|
||||||
<td class="colFirst"><code>static int</code></td>
|
<td class="colFirst"><code>static int</code></td>
|
||||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_UNKNOWN">SAMP_UNKNOWN</a></span></code></th>
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#SAMP_UNKNOWN">SAMP_UNKNOWN</a></span></code></th>
|
||||||
<td class="colLast">
|
<td class="colLast">
|
||||||
<div class="block">Unknown subsampling.</div>
|
<div class="block">Unknown subsampling.</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="rowColor">
|
<tr class="altColor">
|
||||||
<td class="colFirst"><code>static java.awt.Rectangle</code></td>
|
<td class="colFirst"><code>static java.awt.Rectangle</code></td>
|
||||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNCROPPED">UNCROPPED</a></span></code></th>
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNCROPPED">UNCROPPED</a></span></code></th>
|
||||||
<td class="colLast">
|
<td class="colLast">
|
||||||
<div class="block">A <code>java.awt.Rectangle</code> instance that specifies no cropping</div>
|
<div class="block">A <code>java.awt.Rectangle</code> instance that specifies no cropping</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="altColor">
|
<tr class="rowColor">
|
||||||
<td class="colFirst"><code>static <a href="TJScalingFactor.html" title="class in org.libjpegturbo.turbojpeg">TJScalingFactor</a></code></td>
|
<td class="colFirst"><code>static <a href="TJScalingFactor.html" title="class in org.libjpegturbo.turbojpeg">TJScalingFactor</a></code></td>
|
||||||
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNSCALED">UNSCALED</a></span></code></th>
|
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#UNSCALED">UNSCALED</a></span></code></th>
|
||||||
<td class="colLast">
|
<td class="colLast">
|
||||||
@@ -867,6 +874,27 @@ extends java.lang.Object</pre>
|
|||||||
</dl>
|
</dl>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<a id="SAMP_441">
|
||||||
|
<!-- -->
|
||||||
|
</a>
|
||||||
|
<ul class="blockList">
|
||||||
|
<li class="blockList">
|
||||||
|
<h4>SAMP_441</h4>
|
||||||
|
<pre>public static final int SAMP_441</pre>
|
||||||
|
<div class="block">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.</div>
|
||||||
|
<dl>
|
||||||
|
<dt><span class="seeLabel">See Also:</span></dt>
|
||||||
|
<dd><a href="../../../constant-values.html#org.libjpegturbo.turbojpeg.TJ.SAMP_441">Constant Field Values</a></dd>
|
||||||
|
</dl>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<a id="SAMP_UNKNOWN">
|
<a id="SAMP_UNKNOWN">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -150,16 +150,16 @@ extends java.lang.Object</pre>
|
|||||||
image. The width and height of each plane are determined by the image
|
image. The width and height of each plane are determined by the image
|
||||||
width, height, and level of chrominance subsampling. The luminance plane
|
width, height, and level of chrominance subsampling. The luminance plane
|
||||||
width is the image width padded to the nearest multiple of the horizontal
|
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
|
subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in
|
||||||
case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance
|
the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the
|
||||||
plane height is the image height padded to the nearest multiple of the
|
luminance plane height is the image height padded to the nearest multiple of
|
||||||
vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or
|
the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale,
|
||||||
4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any
|
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
|
||||||
additional padding that may be specified as an argument to the various
|
irrespective of any additional padding that may be specified as an argument
|
||||||
YUVImage methods. The chrominance plane width is equal to the luminance
|
to the various YUVImage methods. The chrominance plane width is equal to
|
||||||
plane width divided by the horizontal subsampling factor, and the
|
the luminance plane width divided by the horizontal subsampling factor, and
|
||||||
chrominance plane height is equal to the luminance plane height divided by
|
the chrominance plane height is equal to the luminance plane height divided
|
||||||
the vertical subsampling factor.
|
by the vertical subsampling factor.
|
||||||
<p>
|
<p>
|
||||||
For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is
|
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
|
used, then the luminance plane would be 36 x 35 bytes, and each of the
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -42,7 +42,7 @@ public final class TJ {
|
|||||||
/**
|
/**
|
||||||
* The number of chrominance subsampling options
|
* 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
|
* 4:4:4 chrominance subsampling (no chrominance subsampling). The JPEG
|
||||||
* or YUV image will contain one chrominance component for every pixel in the
|
* or YUV image will contain one chrominance component for every pixel in the
|
||||||
@@ -80,6 +80,17 @@ public final class TJ {
|
|||||||
* in libjpeg-turbo.
|
* in libjpeg-turbo.
|
||||||
*/
|
*/
|
||||||
public static final int SAMP_411 = 5;
|
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
|
* Unknown subsampling. The JPEG image uses an unusual type of chrominance
|
||||||
* subsampling. Such images can be decompressed into packed-pixel images,
|
* subsampling. Such images can be decompressed into packed-pixel images,
|
||||||
@@ -109,7 +120,7 @@ public final class TJ {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final int[] MCU_WIDTH = {
|
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 = {
|
private static final int[] MCU_HEIGHT = {
|
||||||
8, 8, 16, 8, 16, 8
|
8, 8, 16, 8, 16, 8, 32
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,16 +48,16 @@ package org.libjpegturbo.turbojpeg;
|
|||||||
* image. The width and height of each plane are determined by the image
|
* image. The width and height of each plane are determined by the image
|
||||||
* width, height, and level of chrominance subsampling. The luminance plane
|
* width, height, and level of chrominance subsampling. The luminance plane
|
||||||
* width is the image width padded to the nearest multiple of the horizontal
|
* 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
|
* subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in
|
||||||
* case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance
|
* the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the
|
||||||
* plane height is the image height padded to the nearest multiple of the
|
* luminance plane height is the image height padded to the nearest multiple of
|
||||||
* vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or
|
* the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale,
|
||||||
* 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any
|
* 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
|
||||||
* additional padding that may be specified as an argument to the various
|
* irrespective of any additional padding that may be specified as an argument
|
||||||
* YUVImage methods. The chrominance plane width is equal to the luminance
|
* to the various YUVImage methods. The chrominance plane width is equal to
|
||||||
* plane width divided by the horizontal subsampling factor, and the
|
* the luminance plane width divided by the horizontal subsampling factor, and
|
||||||
* chrominance plane height is equal to the luminance plane height divided by
|
* the chrominance plane height is equal to the luminance plane height divided
|
||||||
* the vertical subsampling factor.
|
* by the vertical subsampling factor.
|
||||||
* <p>
|
* <p>
|
||||||
* For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is
|
* 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
|
* used, then the luminance plane would be 36 x 35 bytes, and each of the
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
#undef org_libjpegturbo_turbojpeg_TJ_NUMSAMP
|
#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
|
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_444
|
||||||
#define org_libjpegturbo_turbojpeg_TJ_SAMP_444 0L
|
#define org_libjpegturbo_turbojpeg_TJ_SAMP_444 0L
|
||||||
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_422
|
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_422
|
||||||
@@ -21,6 +21,8 @@ extern "C" {
|
|||||||
#define org_libjpegturbo_turbojpeg_TJ_SAMP_440 4L
|
#define org_libjpegturbo_turbojpeg_TJ_SAMP_440 4L
|
||||||
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_411
|
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_411
|
||||||
#define org_libjpegturbo_turbojpeg_TJ_SAMP_411 5L
|
#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
|
#undef org_libjpegturbo_turbojpeg_TJ_SAMP_UNKNOWN
|
||||||
#define org_libjpegturbo_turbojpeg_TJ_SAMP_UNKNOWN -1L
|
#define org_libjpegturbo_turbojpeg_TJ_SAMP_UNKNOWN -1L
|
||||||
#undef org_libjpegturbo_turbojpeg_TJ_NUMPF
|
#undef org_libjpegturbo_turbojpeg_TJ_NUMPF
|
||||||
|
|||||||
@@ -98,13 +98,13 @@ const char *pixFormatStr[TJ_NUMPF] = {
|
|||||||
"RGB", "BGR", "RGBX", "BGRX", "XBGR", "XRGB", "GRAY", "", "", "", "", "CMYK"
|
"RGB", "BGR", "RGBX", "BGRX", "XBGR", "XRGB", "GRAY", "", "", "", "", "CMYK"
|
||||||
};
|
};
|
||||||
const char *subNameLong[TJ_NUMSAMP] = {
|
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] = {
|
const char *csName[TJ_NUMCS] = {
|
||||||
"RGB", "YCbCr", "GRAY", "CMYK", "YCCK"
|
"RGB", "YCbCr", "GRAY", "CMYK", "YCCK"
|
||||||
};
|
};
|
||||||
const char *subName[TJ_NUMSAMP] = {
|
const char *subName[TJ_NUMSAMP] = {
|
||||||
"444", "422", "420", "GRAY", "440", "411"
|
"444", "422", "420", "GRAY", "440", "411", "441"
|
||||||
};
|
};
|
||||||
tjscalingfactor *scalingFactors = NULL, sf = { 1, 1 };
|
tjscalingfactor *scalingFactors = NULL, sf = { 1, 1 };
|
||||||
tjregion cr = { 0, 0, 0, 0 };
|
tjregion cr = { 0, 0, 0, 0 };
|
||||||
@@ -941,7 +941,7 @@ static void usage(char *progName)
|
|||||||
}
|
}
|
||||||
printf(")\n");
|
printf(")\n");
|
||||||
printf("-subsamp S = When compressing, use the specified level of chrominance\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(" Grayscale, 4:2:0, 4:2:2, and 4:4:4 in sequence]\n");
|
||||||
printf("-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 =\n");
|
printf("-hflip, -vflip, -transpose, -transverse, -rot90, -rot180, -rot270 =\n");
|
||||||
printf(" Perform the specified lossless transform operation on the input image\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 440: subsamp = TJSAMP_440; break;
|
||||||
case 420: subsamp = TJSAMP_420; break;
|
case 420: subsamp = TJSAMP_420; break;
|
||||||
case 411: subsamp = TJSAMP_411; break;
|
case 411: subsamp = TJSAMP_411; break;
|
||||||
|
case 441: subsamp = TJSAMP_441; break;
|
||||||
default: usage(argv[0]);
|
default: usage(argv[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
|
|
||||||
const char *subsampName[TJ_NUMSAMP] = {
|
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] = {
|
const char *colorspaceName[TJ_NUMCS] = {
|
||||||
|
|||||||
14
tjunittest.c
14
tjunittest.c
@@ -82,10 +82,10 @@ static void usage(char *progName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const char *subNameLong[TJ_NUMSAMP] = {
|
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] = {
|
const char *subName[TJ_NUMSAMP] = {
|
||||||
"444", "422", "420", "GRAY", "440", "411"
|
"444", "422", "420", "GRAY", "440", "411", "441"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *pixFormatStr[TJ_NUMPF] = {
|
const char *pixFormatStr[TJ_NUMPF] = {
|
||||||
@@ -575,9 +575,9 @@ static void decompTest(tjhandle handle, unsigned char *jpegBuf,
|
|||||||
|
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
if (subsamp == TJSAMP_444 || subsamp == TJSAMP_GRAY ||
|
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)) ||
|
(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)))
|
(sf[i].denom == 4 || sf[i].denom == 2 || sf[i].denom == 1)))
|
||||||
_decompTest(handle, jpegBuf, jpegSize, w, h, pf, basename, subsamp,
|
_decompTest(handle, jpegBuf, jpegSize, w, h, pf, basename, subsamp,
|
||||||
sf[i]);
|
sf[i]);
|
||||||
@@ -617,7 +617,8 @@ static void doTest(int w, int h, const int *formats, int nformats, int subsamp,
|
|||||||
} else {
|
} else {
|
||||||
TRY_TJ(chandle, tj3Set(chandle, TJPARAM_QUALITY, 100));
|
TRY_TJ(chandle, tj3Set(chandle, TJPARAM_QUALITY, 100));
|
||||||
if (subsamp == TJSAMP_422 || subsamp == TJSAMP_420 ||
|
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(dhandle, tj3Set(dhandle, TJPARAM_FASTUPSAMPLE, 1));
|
||||||
}
|
}
|
||||||
TRY_TJ(chandle, tj3Set(chandle, TJPARAM_SUBSAMP, subsamp));
|
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(39, 41, _4sampleFormats, num4bf, TJSAMP_440, "test");
|
||||||
doTest(41, 35, _3sampleFormats, 2, TJSAMP_411, "test");
|
doTest(41, 35, _3sampleFormats, 2, TJSAMP_411, "test");
|
||||||
doTest(35, 39, _4sampleFormats, num4bf, 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");
|
doTest(39, 41, _onlyGray, 1, TJSAMP_GRAY, "test");
|
||||||
if (!lossless) {
|
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_420, "test_yuv0");
|
||||||
doTest(48, 48, _onlyRGB, 1, TJSAMP_440, "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_411, "test_yuv0");
|
||||||
|
doTest(48, 48, _onlyRGB, 1, TJSAMP_441, "test_yuv0");
|
||||||
doTest(48, 48, _onlyRGB, 1, TJSAMP_GRAY, "test_yuv0");
|
doTest(48, 48, _onlyRGB, 1, TJSAMP_GRAY, "test_yuv0");
|
||||||
doTest(48, 48, _onlyGray, 1, TJSAMP_GRAY, "test_yuv0");
|
doTest(48, 48, _onlyGray, 1, TJSAMP_GRAY, "test_yuv0");
|
||||||
}
|
}
|
||||||
|
|||||||
40
turbojpeg.h
40
turbojpeg.h
@@ -58,16 +58,16 @@
|
|||||||
* image. The width and height of each plane are determined by the image
|
* image. The width and height of each plane are determined by the image
|
||||||
* width, height, and level of chrominance subsampling. The luminance plane
|
* width, height, and level of chrominance subsampling. The luminance plane
|
||||||
* width is the image width padded to the nearest multiple of the horizontal
|
* 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
|
* subsampling factor (1 in the case of 4:4:4, grayscale, 4:4:0, or 4:4:1; 2 in
|
||||||
* case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the luminance
|
* the case of 4:2:2 or 4:2:0; 4 in the case of 4:1:1.) Similarly, the
|
||||||
* plane height is the image height padded to the nearest multiple of the
|
* luminance plane height is the image height padded to the nearest multiple of
|
||||||
* vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale, or
|
* the vertical subsampling factor (1 in the case of 4:4:4, 4:2:2, grayscale,
|
||||||
* 4:1:1; 2 in the case of 4:2:0 or 4:4:0.) This is irrespective of any
|
* 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
|
||||||
* additional padding that may be specified as an argument to the various YUV
|
* irrespective of any additional padding that may be specified as an argument
|
||||||
* functions. The chrominance plane width is equal to the luminance plane
|
* to the various YUV functions. The chrominance plane width is equal to the
|
||||||
* width divided by the horizontal subsampling factor, and the chrominance
|
* luminance plane width divided by the horizontal subsampling factor, and the
|
||||||
* plane height is equal to the luminance plane height divided by the vertical
|
* chrominance plane height is equal to the luminance plane height divided by
|
||||||
* subsampling factor.
|
* the vertical subsampling factor.
|
||||||
*
|
*
|
||||||
* For example, if the source image is 35 x 35 pixels and 4:2:2 subsampling is
|
* 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
|
* 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
|
* The number of chrominance subsampling options
|
||||||
*/
|
*/
|
||||||
#define TJ_NUMSAMP 6
|
#define TJ_NUMSAMP 7
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chrominance subsampling options.
|
* Chrominance subsampling options.
|
||||||
@@ -158,6 +158,18 @@ enum TJSAMP {
|
|||||||
* @note 4:1:1 subsampling is not fully accelerated in libjpeg-turbo.
|
* @note 4:1:1 subsampling is not fully accelerated in libjpeg-turbo.
|
||||||
*/
|
*/
|
||||||
TJSAMP_411,
|
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
|
* Unknown subsampling. The JPEG image uses an unusual type of chrominance
|
||||||
* subsampling. Such images can be decompressed into packed-pixel images,
|
* subsampling. Such images can be decompressed into packed-pixel images,
|
||||||
@@ -177,8 +189,9 @@ enum TJSAMP {
|
|||||||
* - 8x16 for 4:4:0
|
* - 8x16 for 4:4:0
|
||||||
* - 16x16 for 4:2:0
|
* - 16x16 for 4:2:0
|
||||||
* - 32x8 for 4:1:1
|
* - 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.
|
* 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
|
* - 8x16 for 4:4:0
|
||||||
* - 16x16 for 4:2:0
|
* - 16x16 for 4:2:0
|
||||||
* - 32x8 for 4:1:1
|
* - 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 };
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user