TurboJPEG: 8-bit lossless JPEG support

This commit is contained in:
DRC
2022-11-16 15:57:25 -06:00
parent 3fb10c35d8
commit 25ccad99a0
36 changed files with 541 additions and 304 deletions

View File

@@ -103,21 +103,21 @@ public class TJTransform extends Rectangle {
* partial MCU blocks that cannot be transformed will be left in place, which
* will create odd-looking strips on the right or bottom edge of the image.
*/
public static final int OPT_PERFECT = 1;
public static final int OPT_PERFECT = (1 << 0);
/**
* This option will discard any partial MCU blocks that cannot be
* transformed.
*/
public static final int OPT_TRIM = 2;
public static final int OPT_TRIM = (1 << 1);
/**
* This option will enable lossless cropping.
*/
public static final int OPT_CROP = 4;
public static final int OPT_CROP = (1 << 2);
/**
* This option will discard the color data in the input image and produce
* a grayscale output image.
*/
public static final int OPT_GRAY = 8;
public static final int OPT_GRAY = (1 << 3);
/**
* This option will prevent {@link TJTransformer#transform
* TJTransformer.transform()} from outputting a JPEG image for this
@@ -125,7 +125,7 @@ public class TJTransform extends Rectangle {
* filter to capture the transformed DCT coefficients without transcoding
* them.
*/
public static final int OPT_NOOUTPUT = 16;
public static final int OPT_NOOUTPUT = (1 << 4);
/**
* This option will enable progressive entropy coding in the output image
* generated by this particular transform. Progressive entropy coding will
@@ -133,13 +133,13 @@ public class TJTransform extends Rectangle {
* default), but it will reduce compression and decompression performance
* considerably. Can be combined with {@link #OPT_ARITHMETIC}.
*/
public static final int OPT_PROGRESSIVE = 32;
public static final int OPT_PROGRESSIVE = (1 << 5);
/**
* This option will prevent {@link TJTransformer#transform
* TJTransformer.transform()} from copying any extra markers (including EXIF
* and ICC profile data) from the source image to the output image.
*/
public static final int OPT_COPYNONE = 64;
public static final int OPT_COPYNONE = (1 << 6);
/**
* This option will enable arithmetic entropy coding in the output image
* generated by this particular transform. Arithmetic entropy coding will
@@ -147,7 +147,7 @@ public class TJTransform extends Rectangle {
* default), but it will reduce compression and decompression performance
* considerably. Can be combined with {@link #OPT_PROGRESSIVE}.
*/
public static final int OPT_ARITHMETIC = 128;
public static final int OPT_ARITHMETIC = (1 << 7);
/**