Index: jdsample.h |
diff --git a/jdsample.h b/jdsample.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5226f268896ea12145e69d4f73594681e4478be4 |
--- /dev/null |
+++ b/jdsample.h |
@@ -0,0 +1,50 @@ |
+/* |
+ * jdsample.h |
+ * |
+ * This file was part of the Independent JPEG Group's software: |
+ * Copyright (C) 1991-1996, Thomas G. Lane. |
+ * For conditions of distribution and use, see the accompanying README file. |
+ */ |
+ |
+#define JPEG_INTERNALS |
+#include "jinclude.h" |
+#include "jpeglib.h" |
+ |
+ |
+/* Pointer to routine to upsample a single component */ |
+typedef void (*upsample1_ptr) (j_decompress_ptr cinfo, |
+ jpeg_component_info * compptr, |
+ JSAMPARRAY input_data, |
+ JSAMPARRAY * output_data_ptr); |
+ |
+/* Private subobject */ |
+ |
+typedef struct { |
+ struct jpeg_upsampler pub; /* public fields */ |
+ |
+ /* Color conversion buffer. When using separate upsampling and color |
+ * conversion steps, this buffer holds one upsampled row group until it |
+ * has been color converted and output. |
+ * Note: we do not allocate any storage for component(s) which are full-size, |
+ * ie do not need rescaling. The corresponding entry of color_buf[] is |
+ * simply set to point to the input data array, thereby avoiding copying. |
+ */ |
+ JSAMPARRAY color_buf[MAX_COMPONENTS]; |
+ |
+ /* Per-component upsampling method pointers */ |
+ upsample1_ptr methods[MAX_COMPONENTS]; |
+ |
+ int next_row_out; /* counts rows emitted from color_buf */ |
+ JDIMENSION rows_to_go; /* counts rows remaining in image */ |
+ |
+ /* Height of an input row group for each component. */ |
+ int rowgroup_height[MAX_COMPONENTS]; |
+ |
+ /* These arrays save pixel expansion factors so that int_expand need not |
+ * recompute them each time. They are unused for other upsampling methods. |
+ */ |
+ UINT8 h_expand[MAX_COMPONENTS]; |
+ UINT8 v_expand[MAX_COMPONENTS]; |
+} my_upsampler; |
+ |
+typedef my_upsampler * my_upsample_ptr; |