diff options
Diffstat (limited to 'media/libjpeg/jdmarker.c')
-rw-r--r-- | media/libjpeg/jdmarker.c | 357 |
1 files changed, 177 insertions, 180 deletions
diff --git a/media/libjpeg/jdmarker.c b/media/libjpeg/jdmarker.c index e3b612c9b9..f7eba615fd 100644 --- a/media/libjpeg/jdmarker.c +++ b/media/libjpeg/jdmarker.c @@ -4,7 +4,7 @@ * This file was part of the Independent JPEG Group's software: * Copyright (C) 1991-1998, Thomas G. Lane. * libjpeg-turbo Modifications: - * Copyright (C) 2012, 2015, D. R. Commander. + * Copyright (C) 2012, 2015, 2022, D. R. Commander. * For conditions of distribution and use, see the accompanying README.ijg * file. * @@ -119,50 +119,50 @@ typedef my_marker_reader *my_marker_ptr; */ /* Declare and initialize local copies of input pointer/count */ -#define INPUT_VARS(cinfo) \ - struct jpeg_source_mgr *datasrc = (cinfo)->src; \ - const JOCTET *next_input_byte = datasrc->next_input_byte; \ - size_t bytes_in_buffer = datasrc->bytes_in_buffer +#define INPUT_VARS(cinfo) \ + struct jpeg_source_mgr *datasrc = (cinfo)->src; \ + const JOCTET *next_input_byte = datasrc->next_input_byte; \ + size_t bytes_in_buffer = datasrc->bytes_in_buffer /* Unload the local copies --- do this only at a restart boundary */ -#define INPUT_SYNC(cinfo) \ - ( datasrc->next_input_byte = next_input_byte, \ - datasrc->bytes_in_buffer = bytes_in_buffer ) +#define INPUT_SYNC(cinfo) \ + ( datasrc->next_input_byte = next_input_byte, \ + datasrc->bytes_in_buffer = bytes_in_buffer ) /* Reload the local copies --- used only in MAKE_BYTE_AVAIL */ -#define INPUT_RELOAD(cinfo) \ - ( next_input_byte = datasrc->next_input_byte, \ - bytes_in_buffer = datasrc->bytes_in_buffer ) +#define INPUT_RELOAD(cinfo) \ + ( next_input_byte = datasrc->next_input_byte, \ + bytes_in_buffer = datasrc->bytes_in_buffer ) /* Internal macro for INPUT_BYTE and INPUT_2BYTES: make a byte available. * Note we do *not* do INPUT_SYNC before calling fill_input_buffer, * but we must reload the local copies after a successful fill. */ -#define MAKE_BYTE_AVAIL(cinfo,action) \ - if (bytes_in_buffer == 0) { \ - if (! (*datasrc->fill_input_buffer) (cinfo)) \ - { action; } \ - INPUT_RELOAD(cinfo); \ - } +#define MAKE_BYTE_AVAIL(cinfo, action) \ + if (bytes_in_buffer == 0) { \ + if (!(*datasrc->fill_input_buffer) (cinfo)) \ + { action; } \ + INPUT_RELOAD(cinfo); \ + } /* Read a byte into variable V. * If must suspend, take the specified action (typically "return FALSE"). */ -#define INPUT_BYTE(cinfo,V,action) \ - MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V = GETJOCTET(*next_input_byte++); ) +#define INPUT_BYTE(cinfo, V, action) \ + MAKESTMT( MAKE_BYTE_AVAIL(cinfo, action); \ + bytes_in_buffer--; \ + V = *next_input_byte++; ) /* As above, but read two bytes interpreted as an unsigned 16-bit integer. * V should be declared unsigned int or perhaps JLONG. */ -#define INPUT_2BYTES(cinfo,V,action) \ - MAKESTMT( MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V = ((unsigned int) GETJOCTET(*next_input_byte++)) << 8; \ - MAKE_BYTE_AVAIL(cinfo,action); \ - bytes_in_buffer--; \ - V += GETJOCTET(*next_input_byte++); ) +#define INPUT_2BYTES(cinfo, V, action) \ + MAKESTMT( MAKE_BYTE_AVAIL(cinfo, action); \ + bytes_in_buffer--; \ + V = ((unsigned int)(*next_input_byte++)) << 8; \ + MAKE_BYTE_AVAIL(cinfo, action); \ + bytes_in_buffer--; \ + V += *next_input_byte++; ) /* @@ -197,7 +197,7 @@ typedef my_marker_reader *my_marker_ptr; LOCAL(boolean) -get_soi (j_decompress_ptr cinfo) +get_soi(j_decompress_ptr cinfo) /* Process an SOI marker */ { int i; @@ -237,7 +237,7 @@ get_soi (j_decompress_ptr cinfo) LOCAL(boolean) -get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) +get_sof(j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) /* Process a SOFn marker */ { JLONG length; @@ -258,7 +258,7 @@ get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) length -= 8; TRACEMS4(cinfo, 1, JTRC_SOF, cinfo->unread_marker, - (int) cinfo->image_width, (int) cinfo->image_height, + (int)cinfo->image_width, (int)cinfo->image_height, cinfo->num_components); if (cinfo->marker->saw_SOF) @@ -267,16 +267,16 @@ get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) /* We don't support files in which the image height is initially specified */ /* as 0 and is later redefined by DNL. As long as we have to check that, */ /* might as well have a general sanity check. */ - if (cinfo->image_height <= 0 || cinfo->image_width <= 0 - || cinfo->num_components <= 0) + if (cinfo->image_height <= 0 || cinfo->image_width <= 0 || + cinfo->num_components <= 0) ERREXIT(cinfo, JERR_EMPTY_IMAGE); if (length != (cinfo->num_components * 3)) ERREXIT(cinfo, JERR_BAD_LENGTH); if (cinfo->comp_info == NULL) /* do only once, even if suspend */ - cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small) - ((j_common_ptr) cinfo, JPOOL_IMAGE, + cinfo->comp_info = (jpeg_component_info *)(*cinfo->mem->alloc_small) + ((j_common_ptr)cinfo, JPOOL_IMAGE, cinfo->num_components * sizeof(jpeg_component_info)); for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; @@ -301,7 +301,7 @@ get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith) LOCAL(boolean) -get_sos (j_decompress_ptr cinfo) +get_sos(j_decompress_ptr cinfo) /* Process a SOS marker */ { JLONG length; @@ -309,7 +309,7 @@ get_sos (j_decompress_ptr cinfo) jpeg_component_info *compptr; INPUT_VARS(cinfo); - if (! cinfo->marker->saw_SOF) + if (!cinfo->marker->saw_SOF) ERREXIT(cinfo, JERR_SOS_NO_SOF); INPUT_2BYTES(cinfo, length, return FALSE); @@ -341,7 +341,7 @@ get_sos (j_decompress_ptr cinfo) ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); - id_found: +id_found: cinfo->cur_comp_info[i] = compptr; compptr->dc_tbl_no = (c >> 4) & 15; @@ -384,7 +384,7 @@ get_sos (j_decompress_ptr cinfo) #ifdef D_ARITH_CODING_SUPPORTED LOCAL(boolean) -get_dac (j_decompress_ptr cinfo) +get_dac(j_decompress_ptr cinfo) /* Process a DAC marker */ { JLONG length; @@ -402,14 +402,14 @@ get_dac (j_decompress_ptr cinfo) TRACEMS2(cinfo, 1, JTRC_DAC, index, val); - if (index < 0 || index >= (2*NUM_ARITH_TBLS)) + if (index < 0 || index >= (2 * NUM_ARITH_TBLS)) ERREXIT1(cinfo, JERR_DAC_INDEX, index); if (index >= NUM_ARITH_TBLS) { /* define AC table */ - cinfo->arith_ac_K[index-NUM_ARITH_TBLS] = (UINT8) val; + cinfo->arith_ac_K[index - NUM_ARITH_TBLS] = (UINT8)val; } else { /* define DC table */ - cinfo->arith_dc_L[index] = (UINT8) (val & 0x0F); - cinfo->arith_dc_U[index] = (UINT8) (val >> 4); + cinfo->arith_dc_L[index] = (UINT8)(val & 0x0F); + cinfo->arith_dc_U[index] = (UINT8)(val >> 4); if (cinfo->arith_dc_L[index] > cinfo->arith_dc_U[index]) ERREXIT1(cinfo, JERR_DAC_VALUE, val); } @@ -422,7 +422,7 @@ get_dac (j_decompress_ptr cinfo) return TRUE; } -#else /* ! D_ARITH_CODING_SUPPORTED */ +#else /* !D_ARITH_CODING_SUPPORTED */ #define get_dac(cinfo) skip_variable(cinfo) @@ -430,7 +430,7 @@ get_dac (j_decompress_ptr cinfo) LOCAL(boolean) -get_dht (j_decompress_ptr cinfo) +get_dht(j_decompress_ptr cinfo) /* Process a DHT marker */ { JLONG length; @@ -467,13 +467,13 @@ get_dht (j_decompress_ptr cinfo) /* Here we just do minimal validation of the counts to avoid walking * off the end of our table space. jdhuff.c will check more carefully. */ - if (count > 256 || ((JLONG) count) > length) + if (count > 256 || ((JLONG)count) > length) ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); for (i = 0; i < count; i++) INPUT_BYTE(cinfo, huffval[i], return FALSE); - MEMZERO(&huffval[count], (256 - count) * sizeof(UINT8)); + memset(&huffval[count], 0, (256 - count) * sizeof(UINT8)); length -= count; @@ -489,10 +489,10 @@ get_dht (j_decompress_ptr cinfo) } if (*htblptr == NULL) - *htblptr = jpeg_alloc_huff_table((j_common_ptr) cinfo); + *htblptr = jpeg_alloc_huff_table((j_common_ptr)cinfo); - MEMCOPY((*htblptr)->bits, bits, sizeof((*htblptr)->bits)); - MEMCOPY((*htblptr)->huffval, huffval, sizeof((*htblptr)->huffval)); + memcpy((*htblptr)->bits, bits, sizeof((*htblptr)->bits)); + memcpy((*htblptr)->huffval, huffval, sizeof((*htblptr)->huffval)); } if (length != 0) @@ -504,7 +504,7 @@ get_dht (j_decompress_ptr cinfo) LOCAL(boolean) -get_dqt (j_decompress_ptr cinfo) +get_dqt(j_decompress_ptr cinfo) /* Process a DQT marker */ { JLONG length; @@ -527,7 +527,7 @@ get_dqt (j_decompress_ptr cinfo) ERREXIT1(cinfo, JERR_DQT_INDEX, n); if (cinfo->quant_tbl_ptrs[n] == NULL) - cinfo->quant_tbl_ptrs[n] = jpeg_alloc_quant_table((j_common_ptr) cinfo); + cinfo->quant_tbl_ptrs[n] = jpeg_alloc_quant_table((j_common_ptr)cinfo); quant_ptr = cinfo->quant_tbl_ptrs[n]; for (i = 0; i < DCTSIZE2; i++) { @@ -536,20 +536,20 @@ get_dqt (j_decompress_ptr cinfo) else INPUT_BYTE(cinfo, tmp, return FALSE); /* We convert the zigzag-order table to natural array order. */ - quant_ptr->quantval[jpeg_natural_order[i]] = (UINT16) tmp; + quant_ptr->quantval[jpeg_natural_order[i]] = (UINT16)tmp; } if (cinfo->err->trace_level >= 2) { for (i = 0; i < DCTSIZE2; i += 8) { TRACEMS8(cinfo, 2, JTRC_QUANTVALS, - quant_ptr->quantval[i], quant_ptr->quantval[i+1], - quant_ptr->quantval[i+2], quant_ptr->quantval[i+3], - quant_ptr->quantval[i+4], quant_ptr->quantval[i+5], - quant_ptr->quantval[i+6], quant_ptr->quantval[i+7]); + quant_ptr->quantval[i], quant_ptr->quantval[i + 1], + quant_ptr->quantval[i + 2], quant_ptr->quantval[i + 3], + quant_ptr->quantval[i + 4], quant_ptr->quantval[i + 5], + quant_ptr->quantval[i + 6], quant_ptr->quantval[i + 7]); } } - length -= DCTSIZE2+1; + length -= DCTSIZE2 + 1; if (prec) length -= DCTSIZE2; } @@ -562,7 +562,7 @@ get_dqt (j_decompress_ptr cinfo) LOCAL(boolean) -get_dri (j_decompress_ptr cinfo) +get_dri(j_decompress_ptr cinfo) /* Process a DRI marker */ { JLONG length; @@ -598,28 +598,28 @@ get_dri (j_decompress_ptr cinfo) LOCAL(void) -examine_app0 (j_decompress_ptr cinfo, JOCTET *data, - unsigned int datalen, JLONG remaining) +examine_app0(j_decompress_ptr cinfo, JOCTET *data, unsigned int datalen, + JLONG remaining) /* Examine first few bytes from an APP0. * Take appropriate action if it is a JFIF marker. * datalen is # of bytes at data[], remaining is length of rest of marker data. */ { - JLONG totallen = (JLONG) datalen + remaining; + JLONG totallen = (JLONG)datalen + remaining; if (datalen >= APP0_DATA_LEN && - GETJOCTET(data[0]) == 0x4A && - GETJOCTET(data[1]) == 0x46 && - GETJOCTET(data[2]) == 0x49 && - GETJOCTET(data[3]) == 0x46 && - GETJOCTET(data[4]) == 0) { + data[0] == 0x4A && + data[1] == 0x46 && + data[2] == 0x49 && + data[3] == 0x46 && + data[4] == 0) { /* Found JFIF APP0 marker: save info */ cinfo->saw_JFIF_marker = TRUE; - cinfo->JFIF_major_version = GETJOCTET(data[5]); - cinfo->JFIF_minor_version = GETJOCTET(data[6]); - cinfo->density_unit = GETJOCTET(data[7]); - cinfo->X_density = (GETJOCTET(data[8]) << 8) + GETJOCTET(data[9]); - cinfo->Y_density = (GETJOCTET(data[10]) << 8) + GETJOCTET(data[11]); + cinfo->JFIF_major_version = data[5]; + cinfo->JFIF_minor_version = data[6]; + cinfo->density_unit = data[7]; + cinfo->X_density = (data[8] << 8) + data[9]; + cinfo->Y_density = (data[10] << 8) + data[11]; /* Check version. * Major version must be 1, anything else signals an incompatible change. * (We used to treat this as an error, but now it's a nonfatal warning, @@ -634,48 +634,45 @@ examine_app0 (j_decompress_ptr cinfo, JOCTET *data, cinfo->JFIF_major_version, cinfo->JFIF_minor_version, cinfo->X_density, cinfo->Y_density, cinfo->density_unit); /* Validate thumbnail dimensions and issue appropriate messages */ - if (GETJOCTET(data[12]) | GETJOCTET(data[13])) - TRACEMS2(cinfo, 1, JTRC_JFIF_THUMBNAIL, - GETJOCTET(data[12]), GETJOCTET(data[13])); + if (data[12] | data[13]) + TRACEMS2(cinfo, 1, JTRC_JFIF_THUMBNAIL, data[12], data[13]); totallen -= APP0_DATA_LEN; - if (totallen != - ((JLONG)GETJOCTET(data[12]) * (JLONG)GETJOCTET(data[13]) * (JLONG) 3)) - TRACEMS1(cinfo, 1, JTRC_JFIF_BADTHUMBNAILSIZE, (int) totallen); + if (totallen != ((JLONG)data[12] * (JLONG)data[13] * (JLONG)3)) + TRACEMS1(cinfo, 1, JTRC_JFIF_BADTHUMBNAILSIZE, (int)totallen); } else if (datalen >= 6 && - GETJOCTET(data[0]) == 0x4A && - GETJOCTET(data[1]) == 0x46 && - GETJOCTET(data[2]) == 0x58 && - GETJOCTET(data[3]) == 0x58 && - GETJOCTET(data[4]) == 0) { + data[0] == 0x4A && + data[1] == 0x46 && + data[2] == 0x58 && + data[3] == 0x58 && + data[4] == 0) { /* Found JFIF "JFXX" extension APP0 marker */ /* The library doesn't actually do anything with these, * but we try to produce a helpful trace message. */ - switch (GETJOCTET(data[5])) { + switch (data[5]) { case 0x10: - TRACEMS1(cinfo, 1, JTRC_THUMB_JPEG, (int) totallen); + TRACEMS1(cinfo, 1, JTRC_THUMB_JPEG, (int)totallen); break; case 0x11: - TRACEMS1(cinfo, 1, JTRC_THUMB_PALETTE, (int) totallen); + TRACEMS1(cinfo, 1, JTRC_THUMB_PALETTE, (int)totallen); break; case 0x13: - TRACEMS1(cinfo, 1, JTRC_THUMB_RGB, (int) totallen); + TRACEMS1(cinfo, 1, JTRC_THUMB_RGB, (int)totallen); break; default: - TRACEMS2(cinfo, 1, JTRC_JFIF_EXTENSION, - GETJOCTET(data[5]), (int) totallen); + TRACEMS2(cinfo, 1, JTRC_JFIF_EXTENSION, data[5], (int)totallen); break; } } else { /* Start of APP0 does not match "JFIF" or "JFXX", or too short */ - TRACEMS1(cinfo, 1, JTRC_APP0, (int) totallen); + TRACEMS1(cinfo, 1, JTRC_APP0, (int)totallen); } } LOCAL(void) -examine_app14 (j_decompress_ptr cinfo, JOCTET *data, - unsigned int datalen, JLONG remaining) +examine_app14(j_decompress_ptr cinfo, JOCTET *data, unsigned int datalen, + JLONG remaining) /* Examine first few bytes from an APP14. * Take appropriate action if it is an Adobe marker. * datalen is # of bytes at data[], remaining is length of rest of marker data. @@ -684,28 +681,28 @@ examine_app14 (j_decompress_ptr cinfo, JOCTET *data, unsigned int version, flags0, flags1, transform; if (datalen >= APP14_DATA_LEN && - GETJOCTET(data[0]) == 0x41 && - GETJOCTET(data[1]) == 0x64 && - GETJOCTET(data[2]) == 0x6F && - GETJOCTET(data[3]) == 0x62 && - GETJOCTET(data[4]) == 0x65) { + data[0] == 0x41 && + data[1] == 0x64 && + data[2] == 0x6F && + data[3] == 0x62 && + data[4] == 0x65) { /* Found Adobe APP14 marker */ - version = (GETJOCTET(data[5]) << 8) + GETJOCTET(data[6]); - flags0 = (GETJOCTET(data[7]) << 8) + GETJOCTET(data[8]); - flags1 = (GETJOCTET(data[9]) << 8) + GETJOCTET(data[10]); - transform = GETJOCTET(data[11]); + version = (data[5] << 8) + data[6]; + flags0 = (data[7] << 8) + data[8]; + flags1 = (data[9] << 8) + data[10]; + transform = data[11]; TRACEMS4(cinfo, 1, JTRC_ADOBE, version, flags0, flags1, transform); cinfo->saw_Adobe_marker = TRUE; - cinfo->Adobe_transform = (UINT8) transform; + cinfo->Adobe_transform = (UINT8)transform; } else { /* Start of APP14 does not match "Adobe", or too short */ - TRACEMS1(cinfo, 1, JTRC_APP14, (int) (datalen + remaining)); + TRACEMS1(cinfo, 1, JTRC_APP14, (int)(datalen + remaining)); } } METHODDEF(boolean) -get_interesting_appn (j_decompress_ptr cinfo) +get_interesting_appn(j_decompress_ptr cinfo) /* Process an APP0 or APP14 marker without saving it */ { JLONG length; @@ -720,7 +717,7 @@ get_interesting_appn (j_decompress_ptr cinfo) if (length >= APPN_DATA_LEN) numtoread = APPN_DATA_LEN; else if (length > 0) - numtoread = (unsigned int) length; + numtoread = (unsigned int)length; else numtoread = 0; for (i = 0; i < numtoread; i++) @@ -730,10 +727,10 @@ get_interesting_appn (j_decompress_ptr cinfo) /* process it */ switch (cinfo->unread_marker) { case M_APP0: - examine_app0(cinfo, (JOCTET *) b, numtoread, length); + examine_app0(cinfo, (JOCTET *)b, numtoread, length); break; case M_APP14: - examine_app14(cinfo, (JOCTET *) b, numtoread, length); + examine_app14(cinfo, (JOCTET *)b, numtoread, length); break; default: /* can't get here unless jpeg_save_markers chooses wrong processor */ @@ -744,7 +741,7 @@ get_interesting_appn (j_decompress_ptr cinfo) /* skip any remaining data -- could be lots */ INPUT_SYNC(cinfo); if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); + (*cinfo->src->skip_input_data) (cinfo, (long)length); return TRUE; } @@ -753,10 +750,10 @@ get_interesting_appn (j_decompress_ptr cinfo) #ifdef SAVE_MARKERS_SUPPORTED METHODDEF(boolean) -save_marker (j_decompress_ptr cinfo) +save_marker(j_decompress_ptr cinfo) /* Save an APPn or COM marker into the marker list */ { - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; + my_marker_ptr marker = (my_marker_ptr)cinfo->marker; jpeg_saved_marker_ptr cur_marker = marker->cur_marker; unsigned int bytes_read, data_length; JOCTET *data; @@ -770,22 +767,22 @@ save_marker (j_decompress_ptr cinfo) if (length >= 0) { /* watch out for bogus length word */ /* figure out how much we want to save */ unsigned int limit; - if (cinfo->unread_marker == (int) M_COM) + if (cinfo->unread_marker == (int)M_COM) limit = marker->length_limit_COM; else - limit = marker->length_limit_APPn[cinfo->unread_marker - (int) M_APP0]; - if ((unsigned int) length < limit) - limit = (unsigned int) length; + limit = marker->length_limit_APPn[cinfo->unread_marker - (int)M_APP0]; + if ((unsigned int)length < limit) + limit = (unsigned int)length; /* allocate and initialize the marker item */ cur_marker = (jpeg_saved_marker_ptr) - (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE, + (*cinfo->mem->alloc_large) ((j_common_ptr)cinfo, JPOOL_IMAGE, sizeof(struct jpeg_marker_struct) + limit); cur_marker->next = NULL; - cur_marker->marker = (UINT8) cinfo->unread_marker; - cur_marker->original_length = (unsigned int) length; + cur_marker->marker = (UINT8)cinfo->unread_marker; + cur_marker->original_length = (unsigned int)length; cur_marker->data_length = limit; /* data area is just beyond the jpeg_marker_struct */ - data = cur_marker->data = (JOCTET *) (cur_marker + 1); + data = cur_marker->data = (JOCTET *)(cur_marker + 1); marker->cur_marker = cur_marker; marker->bytes_read = 0; bytes_read = 0; @@ -843,14 +840,14 @@ save_marker (j_decompress_ptr cinfo) break; default: TRACEMS2(cinfo, 1, JTRC_MISC_MARKER, cinfo->unread_marker, - (int) (data_length + length)); + (int)(data_length + length)); break; } /* skip any remaining data -- could be lots */ INPUT_SYNC(cinfo); /* do before skip_input_data */ if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); + (*cinfo->src->skip_input_data) (cinfo, (long)length); return TRUE; } @@ -859,7 +856,7 @@ save_marker (j_decompress_ptr cinfo) METHODDEF(boolean) -skip_variable (j_decompress_ptr cinfo) +skip_variable(j_decompress_ptr cinfo) /* Skip over an unknown or uninteresting variable-length marker */ { JLONG length; @@ -868,11 +865,11 @@ skip_variable (j_decompress_ptr cinfo) INPUT_2BYTES(cinfo, length, return FALSE); length -= 2; - TRACEMS2(cinfo, 1, JTRC_MISC_MARKER, cinfo->unread_marker, (int) length); + TRACEMS2(cinfo, 1, JTRC_MISC_MARKER, cinfo->unread_marker, (int)length); INPUT_SYNC(cinfo); /* do before skip_input_data */ if (length > 0) - (*cinfo->src->skip_input_data) (cinfo, (long) length); + (*cinfo->src->skip_input_data) (cinfo, (long)length); return TRUE; } @@ -888,7 +885,7 @@ skip_variable (j_decompress_ptr cinfo) */ LOCAL(boolean) -next_marker (j_decompress_ptr cinfo) +next_marker(j_decompress_ptr cinfo) { int c; INPUT_VARS(cinfo); @@ -935,7 +932,7 @@ next_marker (j_decompress_ptr cinfo) LOCAL(boolean) -first_marker (j_decompress_ptr cinfo) +first_marker(j_decompress_ptr cinfo) /* Like next_marker, but used to obtain the initial SOI marker. */ /* For this marker, we do not allow preceding garbage or fill; otherwise, * we might well scan an entire input file before realizing it ain't JPEG. @@ -948,7 +945,7 @@ first_marker (j_decompress_ptr cinfo) INPUT_BYTE(cinfo, c, return FALSE); INPUT_BYTE(cinfo, c2, return FALSE); - if (c != 0xFF || c2 != (int) M_SOI) + if (c != 0xFF || c2 != (int)M_SOI) ERREXIT2(cinfo, JERR_NO_SOI, c, c2); cinfo->unread_marker = c2; @@ -966,18 +963,18 @@ first_marker (j_decompress_ptr cinfo) */ METHODDEF(int) -read_markers (j_decompress_ptr cinfo) +read_markers(j_decompress_ptr cinfo) { /* Outer loop repeats once for each marker. */ for (;;) { /* Collect the marker proper, unless we already did. */ /* NB: first_marker() enforces the requirement that SOI appear first. */ if (cinfo->unread_marker == 0) { - if (! cinfo->marker->saw_SOI) { - if (! first_marker(cinfo)) + if (!cinfo->marker->saw_SOI) { + if (!first_marker(cinfo)) return JPEG_SUSPENDED; } else { - if (! next_marker(cinfo)) + if (!next_marker(cinfo)) return JPEG_SUSPENDED; } } @@ -987,28 +984,28 @@ read_markers (j_decompress_ptr cinfo) */ switch (cinfo->unread_marker) { case M_SOI: - if (! get_soi(cinfo)) + if (!get_soi(cinfo)) return JPEG_SUSPENDED; break; case M_SOF0: /* Baseline */ case M_SOF1: /* Extended sequential, Huffman */ - if (! get_sof(cinfo, FALSE, FALSE)) + if (!get_sof(cinfo, FALSE, FALSE)) return JPEG_SUSPENDED; break; case M_SOF2: /* Progressive, Huffman */ - if (! get_sof(cinfo, TRUE, FALSE)) + if (!get_sof(cinfo, TRUE, FALSE)) return JPEG_SUSPENDED; break; case M_SOF9: /* Extended sequential, arithmetic */ - if (! get_sof(cinfo, FALSE, TRUE)) + if (!get_sof(cinfo, FALSE, TRUE)) return JPEG_SUSPENDED; break; case M_SOF10: /* Progressive, arithmetic */ - if (! get_sof(cinfo, TRUE, TRUE)) + if (!get_sof(cinfo, TRUE, TRUE)) return JPEG_SUSPENDED; break; @@ -1026,7 +1023,7 @@ read_markers (j_decompress_ptr cinfo) break; case M_SOS: - if (! get_sos(cinfo)) + if (!get_sos(cinfo)) return JPEG_SUSPENDED; cinfo->unread_marker = 0; /* processed the marker */ return JPEG_REACHED_SOS; @@ -1037,22 +1034,22 @@ read_markers (j_decompress_ptr cinfo) return JPEG_REACHED_EOI; case M_DAC: - if (! get_dac(cinfo)) + if (!get_dac(cinfo)) return JPEG_SUSPENDED; break; case M_DHT: - if (! get_dht(cinfo)) + if (!get_dht(cinfo)) return JPEG_SUSPENDED; break; case M_DQT: - if (! get_dqt(cinfo)) + if (!get_dqt(cinfo)) return JPEG_SUSPENDED; break; case M_DRI: - if (! get_dri(cinfo)) + if (!get_dri(cinfo)) return JPEG_SUSPENDED; break; @@ -1072,13 +1069,13 @@ read_markers (j_decompress_ptr cinfo) case M_APP13: case M_APP14: case M_APP15: - if (! (*((my_marker_ptr) cinfo->marker)->process_APPn[ - cinfo->unread_marker - (int) M_APP0]) (cinfo)) + if (!(*((my_marker_ptr)cinfo->marker)->process_APPn[ + cinfo->unread_marker - (int)M_APP0]) (cinfo)) return JPEG_SUSPENDED; break; case M_COM: - if (! (*((my_marker_ptr) cinfo->marker)->process_COM) (cinfo)) + if (!(*((my_marker_ptr)cinfo->marker)->process_COM) (cinfo)) return JPEG_SUSPENDED; break; @@ -1095,7 +1092,7 @@ read_markers (j_decompress_ptr cinfo) break; case M_DNL: /* Ignore DNL ... perhaps the wrong thing */ - if (! skip_variable(cinfo)) + if (!skip_variable(cinfo)) return JPEG_SUSPENDED; break; @@ -1127,25 +1124,25 @@ read_markers (j_decompress_ptr cinfo) */ METHODDEF(boolean) -read_restart_marker (j_decompress_ptr cinfo) +read_restart_marker(j_decompress_ptr cinfo) { /* Obtain a marker unless we already did. */ /* Note that next_marker will complain if it skips any data. */ if (cinfo->unread_marker == 0) { - if (! next_marker(cinfo)) + if (!next_marker(cinfo)) return FALSE; } if (cinfo->unread_marker == - ((int) M_RST0 + cinfo->marker->next_restart_num)) { + ((int)M_RST0 + cinfo->marker->next_restart_num)) { /* Normal case --- swallow the marker and let entropy decoder continue */ TRACEMS1(cinfo, 3, JTRC_RST, cinfo->marker->next_restart_num); cinfo->unread_marker = 0; } else { /* Uh-oh, the restart markers have been messed up. */ /* Let the data source manager determine how to resync. */ - if (! (*cinfo->src->resync_to_restart) (cinfo, - cinfo->marker->next_restart_num)) + if (!(*cinfo->src->resync_to_restart) (cinfo, + cinfo->marker->next_restart_num)) return FALSE; } @@ -1206,7 +1203,7 @@ read_restart_marker (j_decompress_ptr cinfo) */ GLOBAL(boolean) -jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) +jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired) { int marker = cinfo->unread_marker; int action = 1; @@ -1216,16 +1213,16 @@ jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) /* Outer loop handles repeated decision after scanning forward. */ for (;;) { - if (marker < (int) M_SOF0) + if (marker < (int)M_SOF0) action = 2; /* invalid marker */ - else if (marker < (int) M_RST0 || marker > (int) M_RST7) + else if (marker < (int)M_RST0 || marker > (int)M_RST7) action = 3; /* valid non-restart marker */ else { - if (marker == ((int) M_RST0 + ((desired+1) & 7)) || - marker == ((int) M_RST0 + ((desired+2) & 7))) + if (marker == ((int)M_RST0 + ((desired + 1) & 7)) || + marker == ((int)M_RST0 + ((desired + 2) & 7))) action = 3; /* one of the next two expected restarts */ - else if (marker == ((int) M_RST0 + ((desired-1) & 7)) || - marker == ((int) M_RST0 + ((desired-2) & 7))) + else if (marker == ((int)M_RST0 + ((desired - 1) & 7)) || + marker == ((int)M_RST0 + ((desired - 2) & 7))) action = 2; /* a prior restart, so advance */ else action = 1; /* desired restart or too far away */ @@ -1238,7 +1235,7 @@ jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) return TRUE; case 2: /* Scan to the next marker, and repeat the decision loop. */ - if (! next_marker(cinfo)) + if (!next_marker(cinfo)) return FALSE; marker = cinfo->unread_marker; break; @@ -1256,9 +1253,9 @@ jpeg_resync_to_restart (j_decompress_ptr cinfo, int desired) */ METHODDEF(void) -reset_marker_reader (j_decompress_ptr cinfo) +reset_marker_reader(j_decompress_ptr cinfo) { - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; + my_marker_ptr marker = (my_marker_ptr)cinfo->marker; cinfo->comp_info = NULL; /* until allocated by get_sof */ cinfo->input_scan_number = 0; /* no SOS seen yet */ @@ -1276,16 +1273,16 @@ reset_marker_reader (j_decompress_ptr cinfo) */ GLOBAL(void) -jinit_marker_reader (j_decompress_ptr cinfo) +jinit_marker_reader(j_decompress_ptr cinfo) { my_marker_ptr marker; int i; /* Create subobject in permanent pool */ marker = (my_marker_ptr) - (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, + (*cinfo->mem->alloc_small) ((j_common_ptr)cinfo, JPOOL_PERMANENT, sizeof(my_marker_reader)); - cinfo->marker = (struct jpeg_marker_reader *) marker; + cinfo->marker = (struct jpeg_marker_reader *)marker; /* Initialize public method pointers */ marker->pub.reset_marker_reader = reset_marker_reader; marker->pub.read_markers = read_markers; @@ -1314,10 +1311,10 @@ jinit_marker_reader (j_decompress_ptr cinfo) #ifdef SAVE_MARKERS_SUPPORTED GLOBAL(void) -jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, - unsigned int length_limit) +jpeg_save_markers(j_decompress_ptr cinfo, int marker_code, + unsigned int length_limit) { - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; + my_marker_ptr marker = (my_marker_ptr)cinfo->marker; long maxlength; jpeg_marker_parser_method processor; @@ -1325,8 +1322,8 @@ jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, * (should only be a concern in a 16-bit environment). */ maxlength = cinfo->mem->max_alloc_chunk - sizeof(struct jpeg_marker_struct); - if (((long) length_limit) > maxlength) - length_limit = (unsigned int) maxlength; + if (((long)length_limit) > maxlength) + length_limit = (unsigned int)maxlength; /* Choose processor routine to use. * APP0/APP14 have special requirements. @@ -1334,23 +1331,23 @@ jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, if (length_limit) { processor = save_marker; /* If saving APP0/APP14, save at least enough for our internal use. */ - if (marker_code == (int) M_APP0 && length_limit < APP0_DATA_LEN) + if (marker_code == (int)M_APP0 && length_limit < APP0_DATA_LEN) length_limit = APP0_DATA_LEN; - else if (marker_code == (int) M_APP14 && length_limit < APP14_DATA_LEN) + else if (marker_code == (int)M_APP14 && length_limit < APP14_DATA_LEN) length_limit = APP14_DATA_LEN; } else { processor = skip_variable; /* If discarding APP0/APP14, use our regular on-the-fly processor. */ - if (marker_code == (int) M_APP0 || marker_code == (int) M_APP14) + if (marker_code == (int)M_APP0 || marker_code == (int)M_APP14) processor = get_interesting_appn; } - if (marker_code == (int) M_COM) { + if (marker_code == (int)M_COM) { marker->process_COM = processor; marker->length_limit_COM = length_limit; - } else if (marker_code >= (int) M_APP0 && marker_code <= (int) M_APP15) { - marker->process_APPn[marker_code - (int) M_APP0] = processor; - marker->length_limit_APPn[marker_code - (int) M_APP0] = length_limit; + } else if (marker_code >= (int)M_APP0 && marker_code <= (int)M_APP15) { + marker->process_APPn[marker_code - (int)M_APP0] = processor; + marker->length_limit_APPn[marker_code - (int)M_APP0] = length_limit; } else ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code); } @@ -1363,15 +1360,15 @@ jpeg_save_markers (j_decompress_ptr cinfo, int marker_code, */ GLOBAL(void) -jpeg_set_marker_processor (j_decompress_ptr cinfo, int marker_code, - jpeg_marker_parser_method routine) +jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code, + jpeg_marker_parser_method routine) { - my_marker_ptr marker = (my_marker_ptr) cinfo->marker; + my_marker_ptr marker = (my_marker_ptr)cinfo->marker; - if (marker_code == (int) M_COM) + if (marker_code == (int)M_COM) marker->process_COM = routine; - else if (marker_code >= (int) M_APP0 && marker_code <= (int) M_APP15) - marker->process_APPn[marker_code - (int) M_APP0] = routine; + else if (marker_code >= (int)M_APP0 && marker_code <= (int)M_APP15) + marker->process_APPn[marker_code - (int)M_APP0] = routine; else ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, marker_code); } |