Index: jdpostct.c |
diff --git a/jdpostct.c b/jdpostct.c |
index 571563d728e7135996cc982b8f8dfba3d69a9846..601fc2a7921bd35c58ae13cbce467633612829c4 100644 |
--- a/jdpostct.c |
+++ b/jdpostct.c |
@@ -1,9 +1,12 @@ |
/* |
* jdpostct.c |
* |
+ * This file was part of the Independent JPEG Group's software: |
* Copyright (C) 1994-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 the decompression postprocessing controller. |
* This controller manages the upsampling, color conversion, and color |
@@ -31,37 +34,34 @@ typedef struct { |
* For two-pass color quantization, we need a full-image buffer; |
* for one-pass operation, a strip buffer is sufficient. |
*/ |
- jvirt_sarray_ptr whole_image; /* virtual array, or NULL if one-pass */ |
- JSAMPARRAY buffer; /* strip buffer, or current strip of virtual */ |
- JDIMENSION strip_height; /* buffer size in rows */ |
+ jvirt_sarray_ptr whole_image; /* virtual array, or NULL if one-pass */ |
+ JSAMPARRAY buffer; /* strip buffer, or current strip of virtual */ |
+ JDIMENSION strip_height; /* buffer size in rows */ |
/* for two-pass mode only: */ |
- JDIMENSION starting_row; /* row # of first row in current strip */ |
- JDIMENSION next_row; /* index of next row to fill/empty in strip */ |
+ JDIMENSION starting_row; /* row # of first row in current strip */ |
+ JDIMENSION next_row; /* index of next row to fill/empty in strip */ |
} my_post_controller; |
-typedef my_post_controller * my_post_ptr; |
+typedef my_post_controller *my_post_ptr; |
/* Forward declarations */ |
METHODDEF(void) post_process_1pass |
- JPP((j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail)); |
+ (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, |
+ JDIMENSION *in_row_group_ctr, JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail); |
#ifdef QUANT_2PASS_SUPPORTED |
METHODDEF(void) post_process_prepass |
- JPP((j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail)); |
+ (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, |
+ JDIMENSION *in_row_group_ctr, JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail); |
METHODDEF(void) post_process_2pass |
- JPP((j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail)); |
+ (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, |
+ JDIMENSION *in_row_group_ctr, JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail); |
#endif |
@@ -84,9 +84,9 @@ start_pass_dpost (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) |
* allocate a strip buffer. Use the virtual-array buffer as workspace. |
*/ |
if (post->buffer == NULL) { |
- post->buffer = (*cinfo->mem->access_virt_sarray) |
- ((j_common_ptr) cinfo, post->whole_image, |
- (JDIMENSION) 0, post->strip_height, TRUE); |
+ post->buffer = (*cinfo->mem->access_virt_sarray) |
+ ((j_common_ptr) cinfo, post->whole_image, |
+ (JDIMENSION) 0, post->strip_height, TRUE); |
} |
} else { |
/* For single-pass processing without color quantization, |
@@ -124,10 +124,10 @@ start_pass_dpost (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) |
METHODDEF(void) |
post_process_1pass (j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail) |
+ JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
+ JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail) |
{ |
my_post_ptr post = (my_post_ptr) cinfo->post; |
JDIMENSION num_rows, max_rows; |
@@ -139,11 +139,11 @@ post_process_1pass (j_decompress_ptr cinfo, |
max_rows = post->strip_height; |
num_rows = 0; |
(*cinfo->upsample->upsample) (cinfo, |
- input_buf, in_row_group_ctr, in_row_groups_avail, |
- post->buffer, &num_rows, max_rows); |
+ input_buf, in_row_group_ctr, in_row_groups_avail, |
+ post->buffer, &num_rows, max_rows); |
/* Quantize and emit data. */ |
(*cinfo->cquantize->color_quantize) (cinfo, |
- post->buffer, output_buf + *out_row_ctr, (int) num_rows); |
+ post->buffer, output_buf + *out_row_ctr, (int) num_rows); |
*out_row_ctr += num_rows; |
} |
@@ -156,10 +156,10 @@ post_process_1pass (j_decompress_ptr cinfo, |
METHODDEF(void) |
post_process_prepass (j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail) |
+ JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
+ JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail) |
{ |
my_post_ptr post = (my_post_ptr) cinfo->post; |
JDIMENSION old_next_row, num_rows; |
@@ -167,22 +167,22 @@ post_process_prepass (j_decompress_ptr cinfo, |
/* Reposition virtual buffer if at start of strip. */ |
if (post->next_row == 0) { |
post->buffer = (*cinfo->mem->access_virt_sarray) |
- ((j_common_ptr) cinfo, post->whole_image, |
- post->starting_row, post->strip_height, TRUE); |
+ ((j_common_ptr) cinfo, post->whole_image, |
+ post->starting_row, post->strip_height, TRUE); |
} |
/* Upsample some data (up to a strip height's worth). */ |
old_next_row = post->next_row; |
(*cinfo->upsample->upsample) (cinfo, |
- input_buf, in_row_group_ctr, in_row_groups_avail, |
- post->buffer, &post->next_row, post->strip_height); |
+ input_buf, in_row_group_ctr, in_row_groups_avail, |
+ post->buffer, &post->next_row, post->strip_height); |
/* Allow quantizer to scan new data. No data is emitted, */ |
/* but we advance out_row_ctr so outer loop can tell when we're done. */ |
if (post->next_row > old_next_row) { |
num_rows = post->next_row - old_next_row; |
(*cinfo->cquantize->color_quantize) (cinfo, post->buffer + old_next_row, |
- (JSAMPARRAY) NULL, (int) num_rows); |
+ (JSAMPARRAY) NULL, (int) num_rows); |
*out_row_ctr += num_rows; |
} |
@@ -200,10 +200,10 @@ post_process_prepass (j_decompress_ptr cinfo, |
METHODDEF(void) |
post_process_2pass (j_decompress_ptr cinfo, |
- JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
- JDIMENSION in_row_groups_avail, |
- JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
- JDIMENSION out_rows_avail) |
+ JSAMPIMAGE input_buf, JDIMENSION *in_row_group_ctr, |
+ JDIMENSION in_row_groups_avail, |
+ JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
+ JDIMENSION out_rows_avail) |
{ |
my_post_ptr post = (my_post_ptr) cinfo->post; |
JDIMENSION num_rows, max_rows; |
@@ -211,8 +211,8 @@ post_process_2pass (j_decompress_ptr cinfo, |
/* Reposition virtual buffer if at start of strip. */ |
if (post->next_row == 0) { |
post->buffer = (*cinfo->mem->access_virt_sarray) |
- ((j_common_ptr) cinfo, post->whole_image, |
- post->starting_row, post->strip_height, FALSE); |
+ ((j_common_ptr) cinfo, post->whole_image, |
+ post->starting_row, post->strip_height, FALSE); |
} |
/* Determine number of rows to emit. */ |
@@ -227,8 +227,8 @@ post_process_2pass (j_decompress_ptr cinfo, |
/* Quantize and emit data. */ |
(*cinfo->cquantize->color_quantize) (cinfo, |
- post->buffer + post->next_row, output_buf + *out_row_ctr, |
- (int) num_rows); |
+ post->buffer + post->next_row, output_buf + *out_row_ctr, |
+ (int) num_rows); |
*out_row_ctr += num_rows; |
/* Advance if we filled the strip. */ |
@@ -253,11 +253,11 @@ jinit_d_post_controller (j_decompress_ptr cinfo, boolean need_full_buffer) |
post = (my_post_ptr) |
(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
- SIZEOF(my_post_controller)); |
+ sizeof(my_post_controller)); |
cinfo->post = (struct jpeg_d_post_controller *) post; |
post->pub.start_pass = start_pass_dpost; |
- post->whole_image = NULL; /* flag for no virtual arrays */ |
- post->buffer = NULL; /* flag for no strip buffer */ |
+ post->whole_image = NULL; /* flag for no virtual arrays */ |
+ post->buffer = NULL; /* flag for no strip buffer */ |
/* Create the quantization buffer, if needed */ |
if (cinfo->quantize_colors) { |
@@ -271,20 +271,20 @@ jinit_d_post_controller (j_decompress_ptr cinfo, boolean need_full_buffer) |
/* We round up the number of rows to a multiple of the strip height. */ |
#ifdef QUANT_2PASS_SUPPORTED |
post->whole_image = (*cinfo->mem->request_virt_sarray) |
- ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, |
- cinfo->output_width * cinfo->out_color_components, |
- (JDIMENSION) jround_up((long) cinfo->output_height, |
- (long) post->strip_height), |
- post->strip_height); |
+ ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, |
+ cinfo->output_width * cinfo->out_color_components, |
+ (JDIMENSION) jround_up((long) cinfo->output_height, |
+ (long) post->strip_height), |
+ post->strip_height); |
#else |
ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); |
#endif /* QUANT_2PASS_SUPPORTED */ |
} else { |
/* One-pass color quantization: just make a strip buffer. */ |
post->buffer = (*cinfo->mem->alloc_sarray) |
- ((j_common_ptr) cinfo, JPOOL_IMAGE, |
- cinfo->output_width * cinfo->out_color_components, |
- post->strip_height); |
+ ((j_common_ptr) cinfo, JPOOL_IMAGE, |
+ cinfo->output_width * cinfo->out_color_components, |
+ post->strip_height); |
} |
} |
} |