]> rtime.felk.cvut.cz Git - l4.git/blobdiff - l4/pkg/libjpeg/lib/contrib/jpegint.h
update
[l4.git] / l4 / pkg / libjpeg / lib / contrib / jpegint.h
index 0c27a4e4a0324e8c39962f199fe3ff973ca462db..c0d5c142022830a8d52a96dc8c38051dffa8cc91 100644 (file)
@@ -2,7 +2,7 @@
  * jpegint.h
  *
  * Copyright (C) 1991-1997, Thomas G. Lane.
- * Modified 1997-2009 by Guido Vollbeding.
+ * Modified 1997-2011 by Guido Vollbeding.
  * This file is part of the Independent JPEG Group's software.
  * For conditions of distribution and use, see the accompanying README file.
  *
@@ -321,21 +321,41 @@ struct jpeg_color_quantizer {
 #define jinit_memory_mgr       jIMemMgr
 #define jdiv_round_up          jDivRound
 #define jround_up              jRound
+#define jzero_far              jZeroFar
 #define jcopy_sample_rows      jCopySamples
 #define jcopy_block_row                jCopyBlocks
-#define jzero_far              jZeroFar
 #define jpeg_zigzag_order      jZIGTable
 #define jpeg_natural_order     jZAGTable
-#define jpeg_natural_order7    jZAGTable7
-#define jpeg_natural_order6    jZAGTable6
-#define jpeg_natural_order5    jZAGTable5
-#define jpeg_natural_order4    jZAGTable4
-#define jpeg_natural_order3    jZAGTable3
-#define jpeg_natural_order2    jZAGTable2
+#define jpeg_natural_order7    jZAG7Table
+#define jpeg_natural_order6    jZAG6Table
+#define jpeg_natural_order5    jZAG5Table
+#define jpeg_natural_order4    jZAG4Table
+#define jpeg_natural_order3    jZAG3Table
+#define jpeg_natural_order2    jZAG2Table
 #define jpeg_aritab            jAriTab
 #endif /* NEED_SHORT_EXTERNAL_NAMES */
 
 
+/* On normal machines we can apply MEMCOPY() and MEMZERO() to sample arrays
+ * and coefficient-block arrays.  This won't work on 80x86 because the arrays
+ * are FAR and we're assuming a small-pointer memory model.  However, some
+ * DOS compilers provide far-pointer versions of memcpy() and memset() even
+ * in the small-model libraries.  These will be used if USE_FMEM is defined.
+ * Otherwise, the routines in jutils.c do it the hard way.
+ */
+
+#ifndef NEED_FAR_POINTERS      /* normal case, same as regular macro */
+#define FMEMZERO(target,size)  MEMZERO(target,size)
+#else                          /* 80x86 case */
+#ifdef USE_FMEM
+#define FMEMZERO(target,size)  _fmemset((void FAR *)(target), 0, (size_t)(size))
+#else
+EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero));
+#define FMEMZERO(target,size)  jzero_far(target, size)
+#endif
+#endif
+
+
 /* Compression module initialization routines */
 EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo));
 EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo,
@@ -381,7 +401,6 @@ EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row,
                                    int num_rows, JDIMENSION num_cols));
 EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row,
                                  JDIMENSION num_blocks));
-EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero));
 /* Constant tables in jutils.c */
 #if 0                          /* This table is not actually needed in v6a */
 extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */