OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * jdsample.h |
| 3 * |
| 4 * This file was part of the Independent JPEG Group's software: |
| 5 * Copyright (C) 1991-1996, Thomas G. Lane. |
| 6 * For conditions of distribution and use, see the accompanying README file. |
| 7 */ |
| 8 |
| 9 #define JPEG_INTERNALS |
| 10 #include "jinclude.h" |
| 11 #include "jpeglib.h" |
| 12 |
| 13 |
| 14 /* Pointer to routine to upsample a single component */ |
| 15 typedef void (*upsample1_ptr) (j_decompress_ptr cinfo, |
| 16 jpeg_component_info * compptr, |
| 17 JSAMPARRAY input_data, |
| 18 JSAMPARRAY * output_data_ptr); |
| 19 |
| 20 /* Private subobject */ |
| 21 |
| 22 typedef struct { |
| 23 struct jpeg_upsampler pub; /* public fields */ |
| 24 |
| 25 /* Color conversion buffer. When using separate upsampling and color |
| 26 * conversion steps, this buffer holds one upsampled row group until it |
| 27 * has been color converted and output. |
| 28 * Note: we do not allocate any storage for component(s) which are full-size, |
| 29 * ie do not need rescaling. The corresponding entry of color_buf[] is |
| 30 * simply set to point to the input data array, thereby avoiding copying. |
| 31 */ |
| 32 JSAMPARRAY color_buf[MAX_COMPONENTS]; |
| 33 |
| 34 /* Per-component upsampling method pointers */ |
| 35 upsample1_ptr methods[MAX_COMPONENTS]; |
| 36 |
| 37 int next_row_out; /* counts rows emitted from color_buf */ |
| 38 JDIMENSION rows_to_go; /* counts rows remaining in image */ |
| 39 |
| 40 /* Height of an input row group for each component. */ |
| 41 int rowgroup_height[MAX_COMPONENTS]; |
| 42 |
| 43 /* These arrays save pixel expansion factors so that int_expand need not |
| 44 * recompute them each time. They are unused for other upsampling methods. |
| 45 */ |
| 46 UINT8 h_expand[MAX_COMPONENTS]; |
| 47 UINT8 v_expand[MAX_COMPONENTS]; |
| 48 } my_upsampler; |
| 49 |
| 50 typedef my_upsampler * my_upsample_ptr; |
OLD | NEW |