Throw a warning if an unexpected marker is found in the middle of the JPEG data stream
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.0.x@524 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
@@ -20,6 +20,10 @@ It also ensures that the library can avoid the performance pitfall created by
|
|||||||
[4] Fixed visual artifacts in grayscale JPEG compression caused by a typo in
|
[4] Fixed visual artifacts in grayscale JPEG compression caused by a typo in
|
||||||
the RGB-to-chrominance lookup tables.
|
the RGB-to-chrominance lookup tables.
|
||||||
|
|
||||||
|
[5] Fixed the accelerated Huffman decoder so that it mimics the behavior of
|
||||||
|
the unaccelerated decoder and throws a warning if an unexpected marker is found
|
||||||
|
in the middle of the JPEG data stream.
|
||||||
|
|
||||||
|
|
||||||
1.0.1
|
1.0.1
|
||||||
=====
|
=====
|
||||||
|
|||||||
6
jdhuff.c
6
jdhuff.c
@@ -621,6 +621,7 @@ decode_mcu_slow (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
if (val0 == 0xFF) { \
|
if (val0 == 0xFF) { \
|
||||||
buffer++; \
|
buffer++; \
|
||||||
if (val1 != 0) { \
|
if (val1 != 0) { \
|
||||||
|
cinfo->unread_marker = val1; \
|
||||||
buffer -= 2; \
|
buffer -= 2; \
|
||||||
get_buffer &= ~0xFF; \
|
get_buffer &= ~0xFF; \
|
||||||
} \
|
} \
|
||||||
@@ -737,6 +738,11 @@ decode_mcu_fast (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cinfo->unread_marker != 0 && ! cinfo->entropy->insufficient_data) {
|
||||||
|
WARNMS(cinfo, JWRN_HIT_MARKER);
|
||||||
|
cinfo->entropy->insufficient_data = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
br_state.bytes_in_buffer -= (buffer - br_state.next_input_byte);
|
br_state.bytes_in_buffer -= (buffer - br_state.next_input_byte);
|
||||||
br_state.next_input_byte = buffer;
|
br_state.next_input_byte = buffer;
|
||||||
BITREAD_SAVE_STATE(cinfo,entropy->bitstate);
|
BITREAD_SAVE_STATE(cinfo,entropy->bitstate);
|
||||||
|
|||||||
Reference in New Issue
Block a user