diff --git a/ChangeLog.md b/ChangeLog.md index f90a0531..48a9ecbd 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -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 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. 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. 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 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. 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 -`-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. 8. Fixed several memory leaks in the TurboJPEG API library that could occur diff --git a/doc/html/group___turbo_j_p_e_g.html b/doc/html/group___turbo_j_p_e_g.html index b71dbcc6..f55c748b 100644 --- a/doc/html/group___turbo_j_p_e_g.html +++ b/doc/html/group___turbo_j_p_e_g.html @@ -135,7 +135,7 @@ Macros  Generate a progressive destination image instead of a single-scan destination image.
  #define TJXOPT_COPYNONE - Do not copy any extra markers (including EXIF and ICC profile data) from the source image to the destination image.
+ Do not copy any extra markers (including Exif and ICC profile data) from the source image to the destination image.
  #define TJXOPT_ARITHMETIC  Enable arithmetic entropy coding in the destination image.
@@ -580,7 +580,7 @@ scalingFactor).

-

Do not copy any extra markers (including EXIF and ICC profile data) from the source image to the destination image.

+

Do not copy any extra markers (including Exif and ICC profile data) from the source image to the destination image.

@@ -3173,7 +3173,7 @@ If you choose option 1, then *jpegSize should be set to the size of dstBufspointer to an array of n byte buffers. dstBufs[i] will receive a JPEG image that has been transformed using the parameters in transforms[i]. TurboJPEG has the ability to reallocate the JPEG destination buffer to accommodate the size of the transformed JPEG image. Thus, you can choose to:
  1. pre-allocate the JPEG destination buffer with an arbitrary size using tj3Alloc() and let TurboJPEG grow the buffer as needed,
  2. set dstBufs[i] to NULL to tell TurboJPEG to allocate the buffer for you, or
  3. -
  4. pre-allocate the buffer to a "worst case" size determined by calling tj3JPEGBufSize() 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 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 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 those cases.
  5. +
  6. pre-allocate the buffer to a "worst case" size determined by calling tj3JPEGBufSize() 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 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 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 those cases.
If you choose option 1, then dstSizes[i] should be set to the size of your pre-allocated buffer. In any case, unless you have set TJPARAM_NOREALLOC, you should always check dstBufs[i] upon return from this function, as it may have changed. dstSizespointer to an array of n size_t variables that will receive the actual sizes (in bytes) of each transformed JPEG image. If dstBufs[i] points to a pre-allocated buffer, then dstSizes[i] should be set to the size of the buffer. Upon return, dstSizes[i] will contain the size of the transformed JPEG image (in bytes.) diff --git a/java/TJBench.java b/java/TJBench.java index 7fc3377c..e42142c5 100644 --- a/java/TJBench.java +++ b/java/TJBench.java @@ -852,7 +852,7 @@ final class TJBench { 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(" 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("-yuv = Compress from/decompress to intermediate planar YUV images"); System.out.println(" ** 8-bit data precision only **"); diff --git a/java/doc/index-all.html b/java/doc/index-all.html index c6ee8b4d..b08dcddb 100644 --- a/java/doc/index-all.html +++ b/java/doc/index-all.html @@ -672,7 +672,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
OPT_COPYNONE - Static variable in class org.libjpegturbo.turbojpeg.TJTransform
-
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.
OPT_CROP - Static variable in class org.libjpegturbo.turbojpeg.TJTransform
diff --git a/java/doc/member-search-index.zip b/java/doc/member-search-index.zip index 3d25c5cc..8a463469 100644 Binary files a/java/doc/member-search-index.zip and b/java/doc/member-search-index.zip differ diff --git a/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html b/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html index 07a89ad2..0c4cf150 100644 --- a/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html +++ b/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html @@ -276,7 +276,7 @@ extends java.awt.Rectangle static int OPT_COPYNONE -
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.
@@ -710,7 +710,7 @@ extends java.awt.Rectangle
  • OPT_COPYNONE

    public static final int OPT_COPYNONE
    -
    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.
    See Also:
    diff --git a/java/doc/package-search-index.zip b/java/doc/package-search-index.zip index 801c3a7b..929c54dd 100644 Binary files a/java/doc/package-search-index.zip and b/java/doc/package-search-index.zip differ diff --git a/java/doc/type-search-index.zip b/java/doc/type-search-index.zip index 62d70e25..bc0a78c5 100644 Binary files a/java/doc/type-search-index.zip and b/java/doc/type-search-index.zip differ diff --git a/java/org/libjpegturbo/turbojpeg/TJTransform.java b/java/org/libjpegturbo/turbojpeg/TJTransform.java index d976de54..c1eb0090 100644 --- a/java/org/libjpegturbo/turbojpeg/TJTransform.java +++ b/java/org/libjpegturbo/turbojpeg/TJTransform.java @@ -136,7 +136,7 @@ public class TJTransform extends Rectangle { */ 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. */ public static final int OPT_COPYNONE = (1 << 6); diff --git a/tjbench.c b/tjbench.c index 7cc15047..ccf4a896 100644 --- a/tjbench.c +++ b/tjbench.c @@ -984,7 +984,7 @@ static void usage(char *progName) 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(" 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("-yuv = Compress from/decompress to intermediate planar YUV images\n"); printf(" ** 8-bit data precision only **\n"); diff --git a/turbojpeg.h b/turbojpeg.h index 33d1baf5..4dfe45c9 100644 --- a/turbojpeg.h +++ b/turbojpeg.h @@ -1014,7 +1014,7 @@ enum TJXOP { */ #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. */ #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 * #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 - * 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 * those cases. * .