Update libjpeg-turbo to r722.
This change just updates our copy of libjpeg-turbo to r722.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8720003
git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/libjpeg_turbo@111873 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/turbojpeg.h b/turbojpeg.h
index e4c5779..a065fd1 100644
--- a/turbojpeg.h
+++ b/turbojpeg.h
@@ -315,6 +315,13 @@
* a grayscale output image.
*/
#define TJXOPT_GRAY 8
+/**
+ * This option will prevent #tjTransform() from outputting a JPEG image for
+ * this particular transform (this can be used in conjunction with a custom
+ * filter to capture the transformed DCT coefficients without transcoding
+ * them.)
+ */
+#define TJXOPT_NOOUTPUT 16
/**
@@ -362,7 +369,7 @@
/**
* Lossless transform
*/
-typedef struct
+typedef struct tjtransform
{
/**
* Cropping region
@@ -376,6 +383,44 @@
* The bitwise OR of one of more of the @ref TJXOPT_CROP "transform options"
*/
int options;
+ /**
+ * Arbitrary data that can be accessed within the body of the callback
+ * function
+ */
+ void *data;
+ /**
+ * A callback function that can be used to modify the DCT coefficients
+ * after they are losslessly transformed but before they are transcoded to a
+ * new JPEG file. This allows for custom filters or other transformations to
+ * be applied in the frequency domain.
+ *
+ * @param coeffs pointer to an array of transformed DCT coefficients. (NOTE:
+ * this pointer is not guaranteed to be valid once the callback
+ * returns, so applications wishing to hand off the DCT coefficients
+ * to another function or library should make a copy of them within
+ * the body of the callback.)
+ * @param arrayRegion #tjregion structure containing the width and height of
+ * the array pointed to by <tt>coeffs</tt> as well as its offset
+ * relative to the component plane. TurboJPEG implementations may
+ * choose to split each component plane into multiple DCT coefficient
+ * arrays and call the callback function once for each array.
+ * @param planeRegion #tjregion structure containing the width and height of
+ * the component plane to which <tt>coeffs</tt> belongs
+ * @param componentID ID number of the component plane to which
+ * <tt>coeffs</tt> belongs (Y, Cb, and Cr have, respectively, ID's of
+ * 0, 1, and 2 in typical JPEG images.)
+ * @param transformID ID number of the transformed image to which
+ * <tt>coeffs</tt> belongs. This is the same as the index of the
+ * transform in the transforms array that was passed to
+ * #tjTransform().
+ * @param transform a pointer to a #tjtransform structure that specifies the
+ * parameters and/or cropping region for this transform
+ *
+ * @return 0 if the callback was successful, or -1 if an error occurred.
+ */
+ int (*customFilter)(short *coeffs, tjregion arrayRegion,
+ tjregion planeRegion, int componentIndex, int transformIndex,
+ struct tjtransform *transform);
} tjtransform;
/**