diff options
author | Frank Warmerdam <warmerdam@pobox.com> | 2009-06-20 17:05:17 +0000 |
---|---|---|
committer | Frank Warmerdam <warmerdam@pobox.com> | 2009-06-20 17:05:17 +0000 |
commit | e1250d538c31fe069737234b88f6398ccea1869d (patch) | |
tree | a4af5d1c606ac401bc03e2330180b16b5e8a1c02 | |
parent | 5e895a5ce0145208ae8f6579f8a54ee36d1d242e (diff) | |
download | libtiff-git-e1250d538c31fe069737234b88f6398ccea1869d.tar.gz |
New
-rw-r--r-- | libtiff/tif_jpeg_12.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/libtiff/tif_jpeg_12.c b/libtiff/tif_jpeg_12.c new file mode 100644 index 00000000..d6737eb6 --- /dev/null +++ b/libtiff/tif_jpeg_12.c @@ -0,0 +1,58 @@ + +#include "tiffiop.h" + +#if defined(JPEG_DUAL_MODE_8_12) + +# define TIFFInitJPEG TIFFInitJPEG_12 + +# include LIBJPEG_12_PATH + +# include "tif_jpeg.c" + +int TIFFReInitJPEG_12( TIFF *tif, int scheme, int is_encode ) + +{ + JPEGState* sp; + + assert(scheme == COMPRESSION_JPEG); + + sp = JState(tif); + sp->tif = tif; /* back link */ + + /* + * Override parent get/set field methods. + */ + tif->tif_tagmethods.vgetfield = JPEGVGetField; /* hook for codec tags */ + tif->tif_tagmethods.vsetfield = JPEGVSetField; /* hook for codec tags */ + tif->tif_tagmethods.printdir = JPEGPrintDir; /* hook for codec tags */ + + /* + * Install codec methods. + */ + tif->tif_fixuptags = JPEGFixupTags; + tif->tif_setupdecode = JPEGSetupDecode; + tif->tif_predecode = JPEGPreDecode; + tif->tif_decoderow = JPEGDecode; + tif->tif_decodestrip = JPEGDecode; + tif->tif_decodetile = JPEGDecode; + tif->tif_setupencode = JPEGSetupEncode; + tif->tif_preencode = JPEGPreEncode; + tif->tif_postencode = JPEGPostEncode; + tif->tif_encoderow = JPEGEncode; + tif->tif_encodestrip = JPEGEncode; + tif->tif_encodetile = JPEGEncode; + tif->tif_cleanup = JPEGCleanup; + tif->tif_defstripsize = JPEGDefaultStripSize; + tif->tif_deftilesize = JPEGDefaultTileSize; + tif->tif_flags |= TIFF_NOBITREV; /* no bit reversal, please */ + + sp->cinfo_initialized = FALSE; + + if( is_encode ) + return JPEGSetupEncode(tif); + else + return JPEGSetupDecode(tif); +} + +#endif /* defined(JPEG_DUAL_MODE_8_12) */ + |