| Index: jutils.c
|
| diff --git a/jutils.c b/jutils.c
|
| index d18a9555621bae9dce0b814e8afc7c05e877a4cb..f9d35023e5206c5bb5e8aa1107b1df19e5914aa4 100644
|
| --- a/jutils.c
|
| +++ b/jutils.c
|
| @@ -1,9 +1,12 @@
|
| /*
|
| * jutils.c
|
| *
|
| + * This file was part of the Independent JPEG Group's software:
|
| * Copyright (C) 1991-1996, Thomas G. Lane.
|
| - * This file is part of the Independent JPEG Group's software.
|
| - * For conditions of distribution and use, see the accompanying README file.
|
| + * It was modified by The libjpeg-turbo Project to include only code
|
| + * relevant to libjpeg-turbo.
|
| + * For conditions of distribution and use, see the accompanying README.ijg
|
| + * file.
|
| *
|
| * This file contains tables and miscellaneous utility routines needed
|
| * for both compression and decompression.
|
| @@ -21,7 +24,7 @@
|
| * of a DCT block read in natural order (left to right, top to bottom).
|
| */
|
|
|
| -#if 0 /* This table is not actually needed in v6a */
|
| +#if 0 /* This table is not actually needed in v6a */
|
|
|
| const int jpeg_zigzag_order[DCTSIZE2] = {
|
| 0, 1, 5, 6, 14, 15, 27, 28,
|
| @@ -87,30 +90,10 @@ jround_up (long a, long b)
|
| }
|
|
|
|
|
| -/* 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 below do it the hard way. (The performance cost
|
| - * is not all that great, because these routines aren't very heavily used.)
|
| - */
|
| -
|
| -#ifndef NEED_FAR_POINTERS /* normal case, same as regular macros */
|
| -#define FMEMCOPY(dest,src,size) MEMCOPY(dest,src,size)
|
| -#define FMEMZERO(target,size) MEMZERO(target,size)
|
| -#else /* 80x86 case, define if we can */
|
| -#ifdef USE_FMEM
|
| -#define FMEMCOPY(dest,src,size) _fmemcpy((void FAR *)(dest), (const void FAR *)(src), (size_t)(size))
|
| -#define FMEMZERO(target,size) _fmemset((void FAR *)(target), 0, (size_t)(size))
|
| -#endif
|
| -#endif
|
| -
|
| -
|
| GLOBAL(void)
|
| jcopy_sample_rows (JSAMPARRAY input_array, int source_row,
|
| - JSAMPARRAY output_array, int dest_row,
|
| - int num_rows, JDIMENSION num_cols)
|
| + JSAMPARRAY output_array, int dest_row,
|
| + int num_rows, JDIMENSION num_cols)
|
| /* Copy some rows of samples from one place to another.
|
| * num_rows rows are copied from input_array[source_row++]
|
| * to output_array[dest_row++]; these areas may overlap for duplication.
|
| @@ -118,11 +101,7 @@ jcopy_sample_rows (JSAMPARRAY input_array, int source_row,
|
| */
|
| {
|
| register JSAMPROW inptr, outptr;
|
| -#ifdef FMEMCOPY
|
| - register size_t count = (size_t) (num_cols * SIZEOF(JSAMPLE));
|
| -#else
|
| - register JDIMENSION count;
|
| -#endif
|
| + register size_t count = (size_t) (num_cols * sizeof(JSAMPLE));
|
| register int row;
|
|
|
| input_array += source_row;
|
| @@ -131,49 +110,24 @@ jcopy_sample_rows (JSAMPARRAY input_array, int source_row,
|
| for (row = num_rows; row > 0; row--) {
|
| inptr = *input_array++;
|
| outptr = *output_array++;
|
| -#ifdef FMEMCOPY
|
| - FMEMCOPY(outptr, inptr, count);
|
| -#else
|
| - for (count = num_cols; count > 0; count--)
|
| - *outptr++ = *inptr++; /* needn't bother with GETJSAMPLE() here */
|
| -#endif
|
| + MEMCOPY(outptr, inptr, count);
|
| }
|
| }
|
|
|
|
|
| GLOBAL(void)
|
| jcopy_block_row (JBLOCKROW input_row, JBLOCKROW output_row,
|
| - JDIMENSION num_blocks)
|
| + JDIMENSION num_blocks)
|
| /* Copy a row of coefficient blocks from one place to another. */
|
| {
|
| -#ifdef FMEMCOPY
|
| - FMEMCOPY(output_row, input_row, num_blocks * (DCTSIZE2 * SIZEOF(JCOEF)));
|
| -#else
|
| - register JCOEFPTR inptr, outptr;
|
| - register long count;
|
| -
|
| - inptr = (JCOEFPTR) input_row;
|
| - outptr = (JCOEFPTR) output_row;
|
| - for (count = (long) num_blocks * DCTSIZE2; count > 0; count--) {
|
| - *outptr++ = *inptr++;
|
| - }
|
| -#endif
|
| + MEMCOPY(output_row, input_row, num_blocks * (DCTSIZE2 * sizeof(JCOEF)));
|
| }
|
|
|
|
|
| GLOBAL(void)
|
| -jzero_far (void FAR * target, size_t bytestozero)
|
| -/* Zero out a chunk of FAR memory. */
|
| +jzero_far (void *target, size_t bytestozero)
|
| +/* Zero out a chunk of memory. */
|
| /* This might be sample-array data, block-array data, or alloc_large data. */
|
| {
|
| -#ifdef FMEMZERO
|
| - FMEMZERO(target, bytestozero);
|
| -#else
|
| - register char FAR * ptr = (char FAR *) target;
|
| - register size_t count;
|
| -
|
| - for (count = bytestozero; count > 0; count--) {
|
| - *ptr++ = 0;
|
| - }
|
| -#endif
|
| + MEMZERO(target, bytestozero);
|
| }
|
|
|