| Index: jcmarker.c
|
| diff --git a/jcmarker.c b/jcmarker.c
|
| index 4fbece4bcd898dc1ba1ba4fab8ba6965bab8af80..463f6659279ee443e7e2f0b5a38e9b86880b61b2 100644
|
| --- a/jcmarker.c
|
| +++ b/jcmarker.c
|
| @@ -6,7 +6,8 @@
|
| * Modified 2003-2010 by Guido Vollbeding.
|
| * libjpeg-turbo Modifications:
|
| * Copyright (C) 2010, D. R. Commander.
|
| - * For conditions of distribution and use, see the accompanying README file.
|
| + * For conditions of distribution and use, see the accompanying README.ijg
|
| + * file.
|
| *
|
| * This file contains routines to write JPEG datastream markers.
|
| */
|
| @@ -17,7 +18,7 @@
|
| #include "jpegcomp.h"
|
|
|
|
|
| -typedef enum { /* JPEG marker codes */
|
| +typedef enum { /* JPEG marker codes */
|
| M_SOF0 = 0xc0,
|
| M_SOF1 = 0xc1,
|
| M_SOF2 = 0xc2,
|
| @@ -93,7 +94,7 @@ typedef struct {
|
| unsigned int last_restart_interval; /* last DRI value emitted; 0 after SOI */
|
| } my_marker_writer;
|
|
|
| -typedef my_marker_writer * my_marker_ptr;
|
| +typedef my_marker_writer *my_marker_ptr;
|
|
|
|
|
| /*
|
| @@ -112,7 +113,7 @@ LOCAL(void)
|
| emit_byte (j_compress_ptr cinfo, int val)
|
| /* Emit a byte */
|
| {
|
| - struct jpeg_destination_mgr * dest = cinfo->dest;
|
| + struct jpeg_destination_mgr *dest = cinfo->dest;
|
|
|
| *(dest->next_output_byte)++ = (JOCTET) val;
|
| if (--dest->free_in_buffer == 0) {
|
| @@ -149,7 +150,7 @@ emit_dqt (j_compress_ptr cinfo, int index)
|
| /* Emit a DQT marker */
|
| /* Returns the precision used (0 = 8bits, 1 = 16bits) for baseline checking */
|
| {
|
| - JQUANT_TBL * qtbl = cinfo->quant_tbl_ptrs[index];
|
| + JQUANT_TBL *qtbl = cinfo->quant_tbl_ptrs[index];
|
| int prec;
|
| int i;
|
|
|
| @@ -173,7 +174,7 @@ emit_dqt (j_compress_ptr cinfo, int index)
|
| /* The table entries must be emitted in zigzag order. */
|
| unsigned int qval = qtbl->quantval[jpeg_natural_order[i]];
|
| if (prec)
|
| - emit_byte(cinfo, (int) (qval >> 8));
|
| + emit_byte(cinfo, (int) (qval >> 8));
|
| emit_byte(cinfo, (int) (qval & 0xFF));
|
| }
|
|
|
| @@ -188,35 +189,35 @@ LOCAL(void)
|
| emit_dht (j_compress_ptr cinfo, int index, boolean is_ac)
|
| /* Emit a DHT marker */
|
| {
|
| - JHUFF_TBL * htbl;
|
| + JHUFF_TBL *htbl;
|
| int length, i;
|
| -
|
| +
|
| if (is_ac) {
|
| htbl = cinfo->ac_huff_tbl_ptrs[index];
|
| - index += 0x10; /* output index has AC bit set */
|
| + index += 0x10; /* output index has AC bit set */
|
| } else {
|
| htbl = cinfo->dc_huff_tbl_ptrs[index];
|
| }
|
|
|
| if (htbl == NULL)
|
| ERREXIT1(cinfo, JERR_NO_HUFF_TABLE, index);
|
| -
|
| +
|
| if (! htbl->sent_table) {
|
| emit_marker(cinfo, M_DHT);
|
| -
|
| +
|
| length = 0;
|
| for (i = 1; i <= 16; i++)
|
| length += htbl->bits[i];
|
| -
|
| +
|
| emit_2bytes(cinfo, length + 2 + 1 + 16);
|
| emit_byte(cinfo, index);
|
| -
|
| +
|
| for (i = 1; i <= 16; i++)
|
| emit_byte(cinfo, htbl->bits[i]);
|
| -
|
| +
|
| for (i = 0; i < length; i++)
|
| emit_byte(cinfo, htbl->huffval[i]);
|
| -
|
| +
|
| htbl->sent_table = TRUE;
|
| }
|
| }
|
| @@ -258,12 +259,12 @@ emit_dac (j_compress_ptr cinfo)
|
|
|
| for (i = 0; i < NUM_ARITH_TBLS; i++) {
|
| if (dc_in_use[i]) {
|
| - emit_byte(cinfo, i);
|
| - emit_byte(cinfo, cinfo->arith_dc_L[i] + (cinfo->arith_dc_U[i]<<4));
|
| + emit_byte(cinfo, i);
|
| + emit_byte(cinfo, cinfo->arith_dc_L[i] + (cinfo->arith_dc_U[i]<<4));
|
| }
|
| if (ac_in_use[i]) {
|
| - emit_byte(cinfo, i + 0x10);
|
| - emit_byte(cinfo, cinfo->arith_ac_K[i]);
|
| + emit_byte(cinfo, i + 0x10);
|
| + emit_byte(cinfo, cinfo->arith_ac_K[i]);
|
| }
|
| }
|
| }
|
| @@ -276,8 +277,8 @@ emit_dri (j_compress_ptr cinfo)
|
| /* Emit a DRI marker */
|
| {
|
| emit_marker(cinfo, M_DRI);
|
| -
|
| - emit_2bytes(cinfo, 4); /* fixed length */
|
| +
|
| + emit_2bytes(cinfo, 4); /* fixed length */
|
|
|
| emit_2bytes(cinfo, (int) cinfo->restart_interval);
|
| }
|
| @@ -289,9 +290,9 @@ emit_sof (j_compress_ptr cinfo, JPEG_MARKER code)
|
| {
|
| int ci;
|
| jpeg_component_info *compptr;
|
| -
|
| +
|
| emit_marker(cinfo, code);
|
| -
|
| +
|
| emit_2bytes(cinfo, 3 * cinfo->num_components + 2 + 5 + 1); /* length */
|
|
|
| /* Make sure image isn't bigger than SOF field can handle */
|
| @@ -320,13 +321,13 @@ emit_sos (j_compress_ptr cinfo)
|
| {
|
| int i, td, ta;
|
| jpeg_component_info *compptr;
|
| -
|
| +
|
| emit_marker(cinfo, M_SOS);
|
| -
|
| +
|
| emit_2bytes(cinfo, 2 * cinfo->comps_in_scan + 2 + 1 + 3); /* length */
|
| -
|
| +
|
| emit_byte(cinfo, cinfo->comps_in_scan);
|
| -
|
| +
|
| for (i = 0; i < cinfo->comps_in_scan; i++) {
|
| compptr = cinfo->cur_comp_info[i];
|
| emit_byte(cinfo, compptr->component_id);
|
| @@ -354,22 +355,22 @@ emit_jfif_app0 (j_compress_ptr cinfo)
|
| /* Emit a JFIF-compliant APP0 marker */
|
| {
|
| /*
|
| - * Length of APP0 block (2 bytes)
|
| - * Block ID (4 bytes - ASCII "JFIF")
|
| - * Zero byte (1 byte to terminate the ID string)
|
| - * Version Major, Minor (2 bytes - major first)
|
| - * Units (1 byte - 0x00 = none, 0x01 = inch, 0x02 = cm)
|
| - * Xdpu (2 bytes - dots per unit horizontal)
|
| - * Ydpu (2 bytes - dots per unit vertical)
|
| - * Thumbnail X size (1 byte)
|
| - * Thumbnail Y size (1 byte)
|
| + * Length of APP0 block (2 bytes)
|
| + * Block ID (4 bytes - ASCII "JFIF")
|
| + * Zero byte (1 byte to terminate the ID string)
|
| + * Version Major, Minor (2 bytes - major first)
|
| + * Units (1 byte - 0x00 = none, 0x01 = inch, 0x02 = cm)
|
| + * Xdpu (2 bytes - dots per unit horizontal)
|
| + * Ydpu (2 bytes - dots per unit vertical)
|
| + * Thumbnail X size (1 byte)
|
| + * Thumbnail Y size (1 byte)
|
| */
|
| -
|
| +
|
| emit_marker(cinfo, M_APP0);
|
| -
|
| +
|
| emit_2bytes(cinfo, 2 + 4 + 1 + 2 + 1 + 2 + 2 + 1 + 1); /* length */
|
|
|
| - emit_byte(cinfo, 0x4A); /* Identifier: ASCII "JFIF" */
|
| + emit_byte(cinfo, 0x4A); /* Identifier: ASCII "JFIF" */
|
| emit_byte(cinfo, 0x46);
|
| emit_byte(cinfo, 0x49);
|
| emit_byte(cinfo, 0x46);
|
| @@ -379,7 +380,7 @@ emit_jfif_app0 (j_compress_ptr cinfo)
|
| emit_byte(cinfo, cinfo->density_unit); /* Pixel size information */
|
| emit_2bytes(cinfo, (int) cinfo->X_density);
|
| emit_2bytes(cinfo, (int) cinfo->Y_density);
|
| - emit_byte(cinfo, 0); /* No thumbnail image */
|
| + emit_byte(cinfo, 0); /* No thumbnail image */
|
| emit_byte(cinfo, 0);
|
| }
|
|
|
| @@ -389,12 +390,12 @@ emit_adobe_app14 (j_compress_ptr cinfo)
|
| /* Emit an Adobe APP14 marker */
|
| {
|
| /*
|
| - * Length of APP14 block (2 bytes)
|
| - * Block ID (5 bytes - ASCII "Adobe")
|
| - * Version Number (2 bytes - currently 100)
|
| - * Flags0 (2 bytes - currently 0)
|
| - * Flags1 (2 bytes - currently 0)
|
| - * Color transform (1 byte)
|
| + * Length of APP14 block (2 bytes)
|
| + * Block ID (5 bytes - ASCII "Adobe")
|
| + * Version Number (2 bytes - currently 100)
|
| + * Flags0 (2 bytes - currently 0)
|
| + * Flags1 (2 bytes - currently 0)
|
| + * Color transform (1 byte)
|
| *
|
| * Although Adobe TN 5116 mentions Version = 101, all the Adobe files
|
| * now in circulation seem to use Version = 100, so that's what we write.
|
| @@ -403,28 +404,28 @@ emit_adobe_app14 (j_compress_ptr cinfo)
|
| * YCbCr, 2 if it's YCCK, 0 otherwise. Adobe's definition has to do with
|
| * whether the encoder performed a transformation, which is pretty useless.
|
| */
|
| -
|
| +
|
| emit_marker(cinfo, M_APP14);
|
| -
|
| +
|
| emit_2bytes(cinfo, 2 + 5 + 2 + 2 + 2 + 1); /* length */
|
|
|
| - emit_byte(cinfo, 0x41); /* Identifier: ASCII "Adobe" */
|
| + emit_byte(cinfo, 0x41); /* Identifier: ASCII "Adobe" */
|
| emit_byte(cinfo, 0x64);
|
| emit_byte(cinfo, 0x6F);
|
| emit_byte(cinfo, 0x62);
|
| emit_byte(cinfo, 0x65);
|
| - emit_2bytes(cinfo, 100); /* Version */
|
| - emit_2bytes(cinfo, 0); /* Flags0 */
|
| - emit_2bytes(cinfo, 0); /* Flags1 */
|
| + emit_2bytes(cinfo, 100); /* Version */
|
| + emit_2bytes(cinfo, 0); /* Flags0 */
|
| + emit_2bytes(cinfo, 0); /* Flags1 */
|
| switch (cinfo->jpeg_color_space) {
|
| case JCS_YCbCr:
|
| - emit_byte(cinfo, 1); /* Color transform = 1 */
|
| + emit_byte(cinfo, 1); /* Color transform = 1 */
|
| break;
|
| case JCS_YCCK:
|
| - emit_byte(cinfo, 2); /* Color transform = 2 */
|
| + emit_byte(cinfo, 2); /* Color transform = 2 */
|
| break;
|
| default:
|
| - emit_byte(cinfo, 0); /* Color transform = 0 */
|
| + emit_byte(cinfo, 0); /* Color transform = 0 */
|
| break;
|
| }
|
| }
|
| @@ -442,12 +443,12 @@ METHODDEF(void)
|
| write_marker_header (j_compress_ptr cinfo, int marker, unsigned int datalen)
|
| /* Emit an arbitrary marker header */
|
| {
|
| - if (datalen > (unsigned int) 65533) /* safety check */
|
| + if (datalen > (unsigned int) 65533) /* safety check */
|
| ERREXIT(cinfo, JERR_BAD_LENGTH);
|
|
|
| emit_marker(cinfo, (JPEG_MARKER) marker);
|
|
|
| - emit_2bytes(cinfo, (int) (datalen + 2)); /* total length */
|
| + emit_2bytes(cinfo, (int) (datalen + 2)); /* total length */
|
| }
|
|
|
| METHODDEF(void)
|
| @@ -474,12 +475,12 @@ write_file_header (j_compress_ptr cinfo)
|
| {
|
| my_marker_ptr marker = (my_marker_ptr) cinfo->marker;
|
|
|
| - emit_marker(cinfo, M_SOI); /* first the SOI */
|
| + emit_marker(cinfo, M_SOI); /* first the SOI */
|
|
|
| /* SOI is defined to reset restart interval to 0 */
|
| marker->last_restart_interval = 0;
|
|
|
| - if (cinfo->write_JFIF_header) /* next an optional JFIF APP0 */
|
| + if (cinfo->write_JFIF_header) /* next an optional JFIF APP0 */
|
| emit_jfif_app0(cinfo);
|
| if (cinfo->write_Adobe_marker) /* next an optional Adobe APP14 */
|
| emit_adobe_app14(cinfo);
|
| @@ -500,7 +501,7 @@ write_frame_header (j_compress_ptr cinfo)
|
| int ci, prec;
|
| boolean is_baseline;
|
| jpeg_component_info *compptr;
|
| -
|
| +
|
| /* Emit DQT for each quantization table.
|
| * Note that emit_dqt() suppresses any duplicate tables.
|
| */
|
| @@ -520,9 +521,9 @@ write_frame_header (j_compress_ptr cinfo)
|
| } else {
|
| is_baseline = TRUE;
|
| for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
|
| - ci++, compptr++) {
|
| + ci++, compptr++) {
|
| if (compptr->dc_tbl_no > 1 || compptr->ac_tbl_no > 1)
|
| - is_baseline = FALSE;
|
| + is_baseline = FALSE;
|
| }
|
| if (prec && is_baseline) {
|
| is_baseline = FALSE;
|
| @@ -539,11 +540,11 @@ write_frame_header (j_compress_ptr cinfo)
|
| emit_sof(cinfo, M_SOF9); /* SOF code for sequential arithmetic */
|
| } else {
|
| if (cinfo->progressive_mode)
|
| - emit_sof(cinfo, M_SOF2); /* SOF code for progressive Huffman */
|
| + emit_sof(cinfo, M_SOF2); /* SOF code for progressive Huffman */
|
| else if (is_baseline)
|
| - emit_sof(cinfo, M_SOF0); /* SOF code for baseline implementation */
|
| + emit_sof(cinfo, M_SOF0); /* SOF code for baseline implementation */
|
| else
|
| - emit_sof(cinfo, M_SOF1); /* SOF code for non-baseline Huffman file */
|
| + emit_sof(cinfo, M_SOF1); /* SOF code for non-baseline Huffman file */
|
| }
|
| }
|
|
|
| @@ -575,10 +576,10 @@ write_scan_header (j_compress_ptr cinfo)
|
| compptr = cinfo->cur_comp_info[i];
|
| /* DC needs no table for refinement scan */
|
| if (cinfo->Ss == 0 && cinfo->Ah == 0)
|
| - emit_dht(cinfo, compptr->dc_tbl_no, FALSE);
|
| + emit_dht(cinfo, compptr->dc_tbl_no, FALSE);
|
| /* AC needs no table when not present */
|
| if (cinfo->Se)
|
| - emit_dht(cinfo, compptr->ac_tbl_no, TRUE);
|
| + emit_dht(cinfo, compptr->ac_tbl_no, TRUE);
|
| }
|
| }
|
|
|
| @@ -627,9 +628,9 @@ write_tables_only (j_compress_ptr cinfo)
|
| if (! cinfo->arith_code) {
|
| for (i = 0; i < NUM_HUFF_TBLS; i++) {
|
| if (cinfo->dc_huff_tbl_ptrs[i] != NULL)
|
| - emit_dht(cinfo, i, FALSE);
|
| + emit_dht(cinfo, i, FALSE);
|
| if (cinfo->ac_huff_tbl_ptrs[i] != NULL)
|
| - emit_dht(cinfo, i, TRUE);
|
| + emit_dht(cinfo, i, TRUE);
|
| }
|
| }
|
|
|
| @@ -649,7 +650,7 @@ jinit_marker_writer (j_compress_ptr cinfo)
|
| /* Create the subobject */
|
| marker = (my_marker_ptr)
|
| (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
|
| - SIZEOF(my_marker_writer));
|
| + sizeof(my_marker_writer));
|
| cinfo->marker = (struct jpeg_marker_writer *) marker;
|
| /* Initialize method pointers */
|
| marker->pub.write_file_header = write_file_header;
|
|
|