Doc: "EXIF" = "Exif"

This commit is contained in:
DRC
2024-08-31 15:33:55 -04:00
parent 9983840eb6
commit 8d76e4e550
11 changed files with 14 additions and 14 deletions

View File

@@ -1071,7 +1071,7 @@ generated by selected transforms in a multi-transform operation.
6. Introduced a new transform option in the TurboJPEG API (`TJXOPT_COPYNONE` in 6. Introduced a new transform option in the TurboJPEG API (`TJXOPT_COPYNONE` in
the C API and `TJTransform.OPT_COPYNONE` in the Java API) that allows the the C API and `TJTransform.OPT_COPYNONE` in the Java API) that allows the
copying of markers (including EXIF and ICC profile data) to be disabled for a copying of markers (including Exif and ICC profile data) to be disabled for a
particular transform. particular transform.
7. Added two functions to the TurboJPEG C API (`tjLoadImage()` and 7. Added two functions to the TurboJPEG C API (`tjLoadImage()` and
@@ -1202,13 +1202,13 @@ bug that has existed since the introduction of libjpeg v7/v8 API/ABI emulation
in libjpeg-turbo v1.1. in libjpeg-turbo v1.1.
7. The lossless transform features in jpegtran and the TurboJPEG API will now 7. The lossless transform features in jpegtran and the TurboJPEG API will now
always attempt to adjust the EXIF image width and height tags if the image size always attempt to adjust the Exif image width and height tags if the image size
changed as a result of the transform. This behavior has always existed when changed as a result of the transform. This behavior has always existed when
using libjpeg v8 API/ABI emulation. It was supposed to be available with using libjpeg v8 API/ABI emulation. It was supposed to be available with
libjpeg v7 API/ABI emulation as well but did not work properly due to a bug. libjpeg v7 API/ABI emulation as well but did not work properly due to a bug.
Furthermore, there was never any good reason not to enable it with libjpeg v6b Furthermore, there was never any good reason not to enable it with libjpeg v6b
API/ABI emulation, since the behavior is entirely internal. Note that API/ABI emulation, since the behavior is entirely internal. Note that
`-copy all` must be passed to jpegtran in order to transfer the EXIF tags from `-copy all` must be passed to jpegtran in order to transfer the Exif tags from
the source image to the destination image. the source image to the destination image.
8. Fixed several memory leaks in the TurboJPEG API library that could occur 8. Fixed several memory leaks in the TurboJPEG API library that could occur

View File

@@ -135,7 +135,7 @@ Macros</h2></td></tr>
<tr class="memdesc:gad2371c80674584ecc1a7d75e564cf026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a progressive destination image instead of a single-scan destination image. <br /></td></tr> <tr class="memdesc:gad2371c80674584ecc1a7d75e564cf026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate a progressive destination image instead of a single-scan destination image. <br /></td></tr>
<tr class="separator:gad2371c80674584ecc1a7d75e564cf026"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:gad2371c80674584ecc1a7d75e564cf026"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga153b468cfb905d0de61706c838986fe8" id="r_ga153b468cfb905d0de61706c838986fe8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8">TJXOPT_COPYNONE</a></td></tr> <tr class="memitem:ga153b468cfb905d0de61706c838986fe8" id="r_ga153b468cfb905d0de61706c838986fe8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#ga153b468cfb905d0de61706c838986fe8">TJXOPT_COPYNONE</a></td></tr>
<tr class="memdesc:ga153b468cfb905d0de61706c838986fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not copy any extra markers (including EXIF and ICC profile data) from the source image to the destination image. <br /></td></tr> <tr class="memdesc:ga153b468cfb905d0de61706c838986fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not copy any extra markers (including Exif and ICC profile data) from the source image to the destination image. <br /></td></tr>
<tr class="separator:ga153b468cfb905d0de61706c838986fe8"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:ga153b468cfb905d0de61706c838986fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecaaa3b7e2af812592c015d83207f010" id="r_gaecaaa3b7e2af812592c015d83207f010"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010">TJXOPT_ARITHMETIC</a></td></tr> <tr class="memitem:gaecaaa3b7e2af812592c015d83207f010" id="r_gaecaaa3b7e2af812592c015d83207f010"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___turbo_j_p_e_g.html#gaecaaa3b7e2af812592c015d83207f010">TJXOPT_ARITHMETIC</a></td></tr>
<tr class="memdesc:gaecaaa3b7e2af812592c015d83207f010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable arithmetic entropy coding in the destination image. <br /></td></tr> <tr class="memdesc:gaecaaa3b7e2af812592c015d83207f010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable arithmetic entropy coding in the destination image. <br /></td></tr>
@@ -580,7 +580,7 @@ scalingFactor)</code>. </p>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
<p>Do not copy any extra markers (including EXIF and ICC profile data) from the source image to the destination image. </p> <p>Do not copy any extra markers (including Exif and ICC profile data) from the source image to the destination image. </p>
</div> </div>
</div> </div>
@@ -3173,7 +3173,7 @@ If you choose option 1, then <code>*jpegSize</code> should be set to the size of
<tr><td class="paramname">dstBufs</td><td>pointer to an array of n byte buffers. <code>dstBufs[i]</code> will receive a JPEG image that has been transformed using the parameters in <code>transforms[i]</code>. TurboJPEG has the ability to reallocate the JPEG destination buffer to accommodate the size of the transformed JPEG image. Thus, you can choose to:<ol type="1"> <tr><td class="paramname">dstBufs</td><td>pointer to an array of n byte buffers. <code>dstBufs[i]</code> will receive a JPEG image that has been transformed using the parameters in <code>transforms[i]</code>. TurboJPEG has the ability to reallocate the JPEG destination buffer to accommodate the size of the transformed JPEG image. Thus, you can choose to:<ol type="1">
<li>pre-allocate the JPEG destination buffer with an arbitrary size using <a class="el" href="group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57" title="Allocate a byte buffer for use with TurboJPEG.">tj3Alloc()</a> and let TurboJPEG grow the buffer as needed,</li> <li>pre-allocate the JPEG destination buffer with an arbitrary size using <a class="el" href="group___turbo_j_p_e_g.html#ga1a2c96d8b47530b6e6050ba6f10b7c57" title="Allocate a byte buffer for use with TurboJPEG.">tj3Alloc()</a> and let TurboJPEG grow the buffer as needed,</li>
<li>set <code>dstBufs[i]</code> to NULL to tell TurboJPEG to allocate the buffer for you, or</li> <li>set <code>dstBufs[i]</code> to NULL to tell TurboJPEG to allocate the buffer for you, or</li>
<li>pre-allocate the buffer to a "worst case" size determined by calling <a class="el" href="group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4" title="The maximum size of the buffer (in bytes) required to hold a JPEG image with the given parameters.">tj3JPEGBufSize()</a> with the transformed or cropped width and height and the level of subsampling used in the source image. Under normal circumstances, this should ensure that the buffer never has to be re-allocated. (Setting <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a> guarantees that it won't be.) Note, however, that there are some rare cases (such as transforming images with a large amount of embedded EXIF or ICC profile data) in which the transformed JPEG image will be larger than the worst-case size, and <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a> cannot be used in those cases.</li> <li>pre-allocate the buffer to a "worst case" size determined by calling <a class="el" href="group___turbo_j_p_e_g.html#gac6285e58e35a35d871d7162ec5a929c4" title="The maximum size of the buffer (in bytes) required to hold a JPEG image with the given parameters.">tj3JPEGBufSize()</a> with the transformed or cropped width and height and the level of subsampling used in the source image. Under normal circumstances, this should ensure that the buffer never has to be re-allocated. (Setting <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a> guarantees that it won't be.) Note, however, that there are some rare cases (such as transforming images with a large amount of embedded Exif or ICC profile data) in which the transformed JPEG image will be larger than the worst-case size, and <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a> cannot be used in those cases.</li>
</ol> </ol>
If you choose option 1, then <code>dstSizes[i]</code> should be set to the size of your pre-allocated buffer. In any case, unless you have set <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a>, you should always check <code>dstBufs[i]</code> upon return from this function, as it may have changed.</td></tr> If you choose option 1, then <code>dstSizes[i]</code> should be set to the size of your pre-allocated buffer. In any case, unless you have set <a class="el" href="group___turbo_j_p_e_g.html#ggaa0f6be63ba78278299c9f5c12031fe82ae64ffb358bc7b194fd48e0f27750b29b" title="JPEG destination buffer (re)allocation [compression, lossless transformation].">TJPARAM_NOREALLOC</a>, you should always check <code>dstBufs[i]</code> upon return from this function, as it may have changed.</td></tr>
<tr><td class="paramname">dstSizes</td><td>pointer to an array of n size_t variables that will receive the actual sizes (in bytes) of each transformed JPEG image. If <code>dstBufs[i]</code> points to a pre-allocated buffer, then <code>dstSizes[i]</code> should be set to the size of the buffer. Upon return, <code>dstSizes[i]</code> will contain the size of the transformed JPEG image (in bytes.)</td></tr> <tr><td class="paramname">dstSizes</td><td>pointer to an array of n size_t variables that will receive the actual sizes (in bytes) of each transformed JPEG image. If <code>dstBufs[i]</code> points to a pre-allocated buffer, then <code>dstSizes[i]</code> should be set to the size of the buffer. Upon return, <code>dstSizes[i]</code> will contain the size of the transformed JPEG image (in bytes.)</td></tr>

View File

@@ -852,7 +852,7 @@ final class TJBench {
System.out.println(" prior to decompression (these operations are mutually exclusive)"); System.out.println(" prior to decompression (these operations are mutually exclusive)");
System.out.println("-grayscale = Transform the input image into a grayscale JPEG image prior to"); System.out.println("-grayscale = Transform the input image into a grayscale JPEG image prior to");
System.out.println(" decompression (can be combined with the other transform operations above)"); System.out.println(" decompression (can be combined with the other transform operations above)");
System.out.println("-copynone = Do not copy any extra markers (including EXIF and ICC profile data)"); System.out.println("-copynone = Do not copy any extra markers (including Exif and ICC profile data)");
System.out.println(" when transforming the input image"); System.out.println(" when transforming the input image");
System.out.println("-yuv = Compress from/decompress to intermediate planar YUV images"); System.out.println("-yuv = Compress from/decompress to intermediate planar YUV images");
System.out.println(" ** 8-bit data precision only **"); System.out.println(" ** 8-bit data precision only **");

View File

@@ -672,7 +672,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
</dd> </dd>
<dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJTransform.html#OPT_COPYNONE">OPT_COPYNONE</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a></dt> <dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJTransform.html#OPT_COPYNONE">OPT_COPYNONE</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a></dt>
<dd> <dd>
<div class="block">Do not copy any extra markers (including EXIF and ICC profile data) from <div class="block">Do not copy any extra markers (including Exif and ICC profile data) from
the source image to the destination image.</div> the source image to the destination image.</div>
</dd> </dd>
<dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJTransform.html#OPT_CROP">OPT_CROP</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a></dt> <dt><span class="memberNameLink"><a href="org/libjpegturbo/turbojpeg/TJTransform.html#OPT_CROP">OPT_CROP</a></span> - Static variable in class org.libjpegturbo.turbojpeg.<a href="org/libjpegturbo/turbojpeg/TJTransform.html" title="class in org.libjpegturbo.turbojpeg">TJTransform</a></dt>

Binary file not shown.

View File

@@ -276,7 +276,7 @@ extends java.awt.Rectangle</pre>
<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="#OPT_COPYNONE">OPT_COPYNONE</a></span></code></th> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#OPT_COPYNONE">OPT_COPYNONE</a></span></code></th>
<td class="colLast"> <td class="colLast">
<div class="block">Do not copy any extra markers (including EXIF and ICC profile data) from <div class="block">Do not copy any extra markers (including Exif and ICC profile data) from
the source image to the destination image.</div> the source image to the destination image.</div>
</td> </td>
</tr> </tr>
@@ -710,7 +710,7 @@ extends java.awt.Rectangle</pre>
<li class="blockList"> <li class="blockList">
<h4>OPT_COPYNONE</h4> <h4>OPT_COPYNONE</h4>
<pre>public static final&nbsp;int OPT_COPYNONE</pre> <pre>public static final&nbsp;int OPT_COPYNONE</pre>
<div class="block">Do not copy any extra markers (including EXIF and ICC profile data) from <div class="block">Do not copy any extra markers (including Exif and ICC profile data) from
the source image to the destination image.</div> the source image to the destination image.</div>
<dl> <dl>
<dt><span class="seeLabel">See Also:</span></dt> <dt><span class="seeLabel">See Also:</span></dt>

Binary file not shown.

Binary file not shown.

View File

@@ -136,7 +136,7 @@ public class TJTransform extends Rectangle {
*/ */
public static final int OPT_PROGRESSIVE = (1 << 5); public static final int OPT_PROGRESSIVE = (1 << 5);
/** /**
* Do not copy any extra markers (including EXIF and ICC profile data) from * Do not copy any extra markers (including Exif and ICC profile data) from
* the source image to the destination image. * the source image to the destination image.
*/ */
public static final int OPT_COPYNONE = (1 << 6); public static final int OPT_COPYNONE = (1 << 6);

View File

@@ -984,7 +984,7 @@ static void usage(char *progName)
printf(" prior to decompression (these operations are mutually exclusive)\n"); printf(" prior to decompression (these operations are mutually exclusive)\n");
printf("-grayscale = Transform the input image into a grayscale JPEG image prior to\n"); printf("-grayscale = Transform the input image into a grayscale JPEG image prior to\n");
printf(" decompression (can be combined with the other transform operations above)\n"); printf(" decompression (can be combined with the other transform operations above)\n");
printf("-copynone = Do not copy any extra markers (including EXIF and ICC profile data)\n"); printf("-copynone = Do not copy any extra markers (including Exif and ICC profile data)\n");
printf(" when transforming the input image\n"); printf(" when transforming the input image\n");
printf("-yuv = Compress from/decompress to intermediate planar YUV images\n"); printf("-yuv = Compress from/decompress to intermediate planar YUV images\n");
printf(" ** 8-bit data precision only **\n"); printf(" ** 8-bit data precision only **\n");

View File

@@ -1014,7 +1014,7 @@ enum TJXOP {
*/ */
#define TJXOPT_PROGRESSIVE (1 << 5) #define TJXOPT_PROGRESSIVE (1 << 5)
/** /**
* Do not copy any extra markers (including EXIF and ICC profile data) from the * Do not copy any extra markers (including Exif and ICC profile data) from the
* source image to the destination image. * source image to the destination image.
*/ */
#define TJXOPT_COPYNONE (1 << 6) #define TJXOPT_COPYNONE (1 << 6)
@@ -1999,7 +1999,7 @@ DLLEXPORT int tj3DecodeYUVPlanes8(tjhandle handle,
* this should ensure that the buffer never has to be re-allocated. (Setting * this should ensure that the buffer never has to be re-allocated. (Setting
* #TJPARAM_NOREALLOC guarantees that it won't be.) Note, however, that there * #TJPARAM_NOREALLOC guarantees that it won't be.) Note, however, that there
* are some rare cases (such as transforming images with a large amount of * are some rare cases (such as transforming images with a large amount of
* embedded EXIF or ICC profile data) in which the transformed JPEG image will * embedded Exif or ICC profile data) in which the transformed JPEG image will
* be larger than the worst-case size, and #TJPARAM_NOREALLOC cannot be used in * be larger than the worst-case size, and #TJPARAM_NOREALLOC cannot be used in
* those cases. * those cases.
* . * .