TurboJPEG: Opt. enable progressive entropy coding

Fulfills part of the feature request in #153.  Also paves the way for
SIMD-accelerated progressive Huffman coding (refer to #46.)
This commit is contained in:
DRC
2017-06-27 13:24:08 -05:00
parent 596e3965e7
commit aba6ae5950
11 changed files with 142 additions and 54 deletions

View File

@@ -348,16 +348,16 @@ public final class TJ {
* The uncompressed source/destination image is stored in bottom-up (Windows,
* OpenGL) order, not top-down (X11) order.
*/
public static final int FLAG_BOTTOMUP = 2;
public static final int FLAG_BOTTOMUP = 2;
@Deprecated
public static final int FLAG_FORCEMMX = 8;
public static final int FLAG_FORCEMMX = 8;
@Deprecated
public static final int FLAG_FORCESSE = 16;
public static final int FLAG_FORCESSE = 16;
@Deprecated
public static final int FLAG_FORCESSE2 = 32;
public static final int FLAG_FORCESSE2 = 32;
@Deprecated
public static final int FLAG_FORCESSE3 = 128;
public static final int FLAG_FORCESSE3 = 128;
/**
* When decompressing an image that was compressed using chrominance
@@ -366,7 +366,7 @@ public final class TJ {
* creates a smooth transition between neighboring chrominance components in
* order to reduce upsampling artifacts in the decompressed image.
*/
public static final int FLAG_FASTUPSAMPLE = 256;
public static final int FLAG_FASTUPSAMPLE = 256;
/**
* Use the fastest DCT/IDCT algorithm available in the underlying codec. The
* default if this flag is not specified is implementation-specific. For
@@ -375,7 +375,7 @@ public final class TJ {
* only a very slight effect on accuracy, but it uses the accurate algorithm
* when decompressing, because this has been shown to have a larger effect.
*/
public static final int FLAG_FASTDCT = 2048;
public static final int FLAG_FASTDCT = 2048;
/**
* Use the most accurate DCT/IDCT algorithm available in the underlying
* codec. The default if this flag is not specified is
@@ -385,7 +385,7 @@ public final class TJ {
* but it uses the accurate algorithm when decompressing, because this has
* been shown to have a larger effect.
*/
public static final int FLAG_ACCURATEDCT = 4096;
public static final int FLAG_ACCURATEDCT = 4096;
/**
* Immediately discontinue the current compression/decompression/transform
* operation if the underlying codec throws a warning (non-fatal error). The
@@ -393,6 +393,13 @@ public final class TJ {
* error is encountered.
*/
public static final int FLAG_STOPONWARNING = 8192;
/**
* Use progressive entropy coding in JPEG images generated by compression and
* transform operations. Progressive entropy coding will generally improve
* compression relative to baseline entropy coding (the default), but it will
* reduce compression and decompression performance considerably.
*/
public static final int FLAG_PROGRESSIVE = 16384;
/**