From 7e7d414ae043bb4f64fc43c9722947668d074c99 Mon Sep 17 00:00:00 2001 From: Markham Date: Tue, 26 Feb 2019 17:21:11 +0100 Subject: [PATCH] add libjpeg-turbo2 patch --- .../libjpeg-turbo-tiff-ojpeg.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 archive-patches/libjpeg-turbo-tiff-ojpeg.patch diff --git a/archive-patches/libjpeg-turbo-tiff-ojpeg.patch b/archive-patches/libjpeg-turbo-tiff-ojpeg.patch new file mode 100644 index 0000000..6c4253e --- /dev/null +++ b/archive-patches/libjpeg-turbo-tiff-ojpeg.patch @@ -0,0 +1,39 @@ +--- a/jdhuff.c ++++ b/jdhuff.c +@@ -820,3 +820,35 @@ + entropy->dc_derived_tbls[i] = entropy->ac_derived_tbls[i] = NULL; + } + } ++/* ++ * BEWARE OF KLUDGE: This subroutine is a hack for decoding illegal JPEG-in- ++ * TIFF encapsulations produced by Microsoft's Wang Imaging ++ * for Windows application with the public-domain TIFF Library. Based upon an ++ * examination of selected output files, this program apparently divides a JPEG ++ * bit-stream into consecutive horizontal TIFF "strips", such that the JPEG ++ * encoder's/decoder's DC coefficients for each image component are reset before ++ * each "strip". Moreover, a "strip" is not necessarily encoded in a multiple ++ * of 8 bits, so one must sometimes discard 1-7 bits at the end of each "strip" ++ * for alignment to the next input-Byte storage boundary. IJG JPEG Library ++ * decoder state is not normally exposed to client applications, so this sub- ++ * routine provides the TIFF Library with a "hook" to make these corrections. ++ * It should be called after "jpeg_start_decompress()" and before ++ * "jpeg_finish_decompress()", just before decoding each "strip" using ++ * "jpeg_read_raw_data()" or "jpeg_read_scanlines()". ++ * ++ * This kludge is not sanctioned or supported by the Independent JPEG Group, and ++ * future changes to the IJG JPEG Library might invalidate it. Do not send bug ++ * reports about this code to IJG developers. Instead, contact the author for ++ * advice: Scott B. Marovich , Hewlett-Packard Labs, 6/01. ++ */ ++GLOBAL(void) ++jpeg_reset_huff_decode (register j_decompress_ptr cinfo,register float *refbw) ++{ register huff_entropy_ptr entropy = (huff_entropy_ptr)cinfo->entropy; ++ register int ci = 0; ++ ++ /* Re-initialize DC predictions */ ++ do entropy->saved.last_dc_val[ci] = -refbw[ci << 1]; ++ while (++ci < cinfo->comps_in_scan); ++ /* Discard encoded input bits, up to the next Byte boundary */ ++ entropy->bitstate.bits_left &= ~7; ++} + -- 2.39.5