From fe1cef224fd4b489787057f5b90cfcd06dcc631a Mon Sep 17 00:00:00 2001 From: dcommander Date: Sat, 28 Jan 2012 01:48:07 +0000 Subject: Support additional scaling factors when decompressing git-svn-id: https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo@753 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- trunk/jddctmgr.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'trunk/jddctmgr.c') 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 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; -- cgit v1.2.3