summaryrefslogtreecommitdiffstats
path: root/kernel/kls_ljpeg/ljpeg2ppm/io.h
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 17:43:19 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 17:43:19 +0000
commit0292059f4a16434600564cfa3f0ad2309a508a54 (patch)
treed95953cd53011917c4df679b96aedca39401b54f /kernel/kls_ljpeg/ljpeg2ppm/io.h
downloadlibksquirrel-0292059f4a16434600564cfa3f0ad2309a508a54.tar.gz
libksquirrel-0292059f4a16434600564cfa3f0ad2309a508a54.zip
Added libksquirrel for KDE3
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/libraries/libksquirrel@1095624 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kernel/kls_ljpeg/ljpeg2ppm/io.h')
-rw-r--r--kernel/kls_ljpeg/ljpeg2ppm/io.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/kernel/kls_ljpeg/ljpeg2ppm/io.h b/kernel/kls_ljpeg/ljpeg2ppm/io.h
new file mode 100644
index 0000000..65d9636
--- /dev/null
+++ b/kernel/kls_ljpeg/ljpeg2ppm/io.h
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 1991, 1992, Thomas G. Lane.
+ * Part of the Independent JPEG Group's software.
+ * See the file Copyright for more details.
+ *
+ * Copyright (c) 1993 Brian C. Smith, The Regents of the University
+ * of California
+ * All rights reserved.
+ *
+ * Copyright (c) 1994 Kongji Huang and Brian C. Smith.
+ * Cornell University
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose, without fee, and without written agreement is
+ * hereby granted, provided that the above copyright notice and the following
+ * two paragraphs appear in all copies of this software.
+ *
+ * IN NO EVENT SHALL CORNELL UNIVERSITY BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
+ * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF CORNELL
+ * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * CORNELL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND CORNELL UNIVERSITY HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ */
+
+#ifndef _IO
+#define _IO
+
+/*
+ * Size of the input and output buffer
+ */
+#define JPEG_BUF_SIZE 4096
+
+/*
+ * The following variables keep track of the input and output
+ * buffer for the JPEG data.
+ */
+extern char outputBuffer[JPEG_BUF_SIZE]; /* output buffer */
+extern int numOutputBytes; /* bytes in the output buffer */
+extern Uchar inputBuffer[JPEG_BUF_SIZE]; /* Input buffer for JPEG data */
+extern int numInputBytes; /* bytes in inputBuffer */
+extern int maxInputBytes; /* Size of inputBuffer */
+extern int inputBufferOffset; /* Offset of current byte */
+
+/*
+ * the output file pointer.
+ */
+extern FILE *outFile;
+
+/*
+ *--------------------------------------------------------------
+ *
+ * EmitByte --
+ *
+ * Write a single byte out to the output buffer, and
+ * flush if it's full.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * The outp[ut buffer may get flushed.
+ *
+ *--------------------------------------------------------------
+ */
+#define EmitByte(val) { \
+ if (numOutputBytes >= JPEG_BUF_SIZE) { \
+ FlushBytes(); \
+ } \
+ outputBuffer[numOutputBytes++] = (char)(val); \
+}
+
+/*
+ *--------------------------------------------------------------
+ *
+ * GetJpegChar, UnGetJpegChar --
+ *
+ * Macros to get the next character from the input stream.
+ *
+ * Results:
+ * GetJpegChar returns the next character in the stream, or EOF
+ * UnGetJpegChar returns nothing.
+ *
+ * Side effects:
+ * A byte is consumed or put back into the inputBuffer.
+ *
+ *--------------------------------------------------------------
+ */
+#define GetJpegChar() \
+ ((inputBufferOffset < numInputBytes)? \
+ inputBuffer[inputBufferOffset++]: \
+ (numInputBytes = 2+ReadJpegData(inputBuffer+2,JPEG_BUF_SIZE-2), \
+ inputBufferOffset = 2, \
+ ((inputBufferOffset < numInputBytes)? \
+ inputBuffer[inputBufferOffset++]: \
+ EOF)))
+
+#define UnGetJpegChar(ch) (inputBuffer[--inputBufferOffset]=(ch))
+
+#endif /* _IO */