TurboJPEG: Add "copy none", progressive xform opts

Allow progressive entropy coding to be enabled on a
transform-by-transform basis, and implement a new transform option for
disabling the copying of markers.

Closes #153
This commit is contained in:
DRC
2017-06-28 11:43:08 -05:00
parent dedce66eb5
commit dadebcd79a
11 changed files with 169 additions and 22 deletions

View File

@@ -488,29 +488,43 @@ enum TJXOP
* that cannot be transformed will be left in place, which will create
* odd-looking strips on the right or bottom edge of the image.
*/
#define TJXOPT_PERFECT 1
#define TJXOPT_PERFECT 1
/**
* This option will cause #tjTransform() to discard any partial MCU blocks that
* cannot be transformed.
*/
#define TJXOPT_TRIM 2
#define TJXOPT_TRIM 2
/**
* This option will enable lossless cropping. See #tjTransform() for more
* information.
*/
#define TJXOPT_CROP 4
#define TJXOPT_CROP 4
/**
* This option will discard the color data in the input image and produce
* a grayscale output image.
*/
#define TJXOPT_GRAY 8
#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
#define TJXOPT_NOOUTPUT 16
/**
* This option will enable progressive entropy coding in the output image
* generated by this particular transform. Progressive entropy coding will
* generally improve compression relative to baseline entropy coding (the
* default), but it will reduce compression and decompression performance
* considerably.
*/
#define TJXOPT_PROGRESSIVE 32
/**
* This option will prevent #tjTransform() from copying any extra markers
* (including EXIF and ICC profile data) from the source image to the output
* image.
*/
#define TJXOPT_COPYNONE 64
/**