summaryrefslogtreecommitdiff
path: root/trunk/jddctmgr.c
diff options
context:
space:
mode:
authordcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2012-01-28 01:48:07 +0000
committerdcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2012-01-28 01:48:07 +0000
commitfe1cef224fd4b489787057f5b90cfcd06dcc631a (patch)
tree1c6f48e32cc30ef5bad514f752366473a7e3df3f /trunk/jddctmgr.c
parentc65589a465e33bf0321d63a5af405b2811863281 (diff)
Support additional scaling factors when decompressing
git-svn-id: https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo@753 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'trunk/jddctmgr.c')
-rw-r--r--trunk/jddctmgr.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/trunk/jddctmgr.c b/trunk/jddctmgr.c
index 044e469..1758bed 100644
--- a/trunk/jddctmgr.c
+++ b/trunk/jddctmgr.c
@@ -2,6 +2,7 @@
* jddctmgr.c
*
* Copyright (C) 1994-1996, Thomas G. Lane.
+ * Modified 2002-2010 by Guido Vollbeding.
* Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
* Copyright (C) 2010, D. R. Commander.
* This file is part of the Independent JPEG Group's software.
@@ -115,6 +116,10 @@ start_pass (j_decompress_ptr cinfo)
method_ptr = jpeg_idct_2x2;
method = JDCT_ISLOW; /* jidctred uses islow-style table */
break;
+ case 3:
+ method_ptr = jpeg_idct_3x3;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
case 4:
if (jsimd_can_idct_4x4())
method_ptr = jsimd_idct_4x4;
@@ -122,6 +127,18 @@ start_pass (j_decompress_ptr cinfo)
method_ptr = jpeg_idct_4x4;
method = JDCT_ISLOW; /* jidctred uses islow-style table */
break;
+ case 5:
+ method_ptr = jpeg_idct_5x5;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 6:
+ method_ptr = jpeg_idct_6x6;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 7:
+ method_ptr = jpeg_idct_7x7;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
#endif
case DCTSIZE:
switch (cinfo->dct_method) {
@@ -157,6 +174,38 @@ start_pass (j_decompress_ptr cinfo)
break;
}
break;
+ case 9:
+ method_ptr = jpeg_idct_9x9;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 10:
+ method_ptr = jpeg_idct_10x10;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 11:
+ method_ptr = jpeg_idct_11x11;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 12:
+ method_ptr = jpeg_idct_12x12;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 13:
+ method_ptr = jpeg_idct_13x13;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 14:
+ method_ptr = jpeg_idct_14x14;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 15:
+ method_ptr = jpeg_idct_15x15;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
+ case 16:
+ method_ptr = jpeg_idct_16x16;
+ method = JDCT_ISLOW; /* jidctint uses islow-style table */
+ break;
default:
ERREXIT1(cinfo, JERR_BAD_DCTSIZE, compptr->_DCT_scaled_size);
break;