Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 358230 Details for
Bug 479476
media-libs/freeimage-3.15.4 with media-libs/libjpeg-turbo-1.3.0-r2 - Source/transupp.c:136:42: error: ‘struct jpeg_compress_struct’ has no member named ‘min_DCT_h_scaled_size’
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
libjpeg-turbo patch
freeimage-3.15.4-libjpeg-turbo.patch (text/plain), 20.20 KB, created by
Mark Wright
on 2013-09-08 03:13:11 UTC
(
hide
)
Description:
libjpeg-turbo patch
Filename:
MIME Type:
Creator:
Mark Wright
Created:
2013-09-08 03:13:11 UTC
Size:
20.20 KB
patch
obsolete
>--- /dev/null 2013-09-04 18:06:09.961000800 +1000 >+++ Source/LibJPEG/jpegcomp.h 2013-09-08 12:00:09.770737557 +1000 >@@ -0,0 +1,26 @@ >+/* >+ * jpegcomp.h >+ * >+ * Copyright (C) 2010, D. R. Commander >+ * For conditions of distribution and use, see the accompanying README file. >+ * >+ * JPEG compatibility macros >+ * These declarations are considered internal to the JPEG library; most >+ * applications using the library shouldn't need to include this file. >+ */ >+ >+#if JPEG_LIB_VERSION >= 70 >+#define _DCT_scaled_size DCT_h_scaled_size >+#define _min_DCT_scaled_size min_DCT_h_scaled_size >+#define _min_DCT_h_scaled_size min_DCT_h_scaled_size >+#define _min_DCT_v_scaled_size min_DCT_v_scaled_size >+#define _jpeg_width jpeg_width >+#define _jpeg_height jpeg_height >+#else >+#define _DCT_scaled_size DCT_scaled_size >+#define _min_DCT_scaled_size min_DCT_scaled_size >+#define _min_DCT_h_scaled_size min_DCT_scaled_size >+#define _min_DCT_v_scaled_size min_DCT_scaled_size >+#define _jpeg_width image_width >+#define _jpeg_height image_height >+#endif >--- Source-orig/LibJPEG/jpegint.h 2012-02-19 18:33:18.000000000 +1100 >+++ Source/LibJPEG/jpegint.h 2013-09-08 12:00:09.770737557 +1000 >@@ -2,7 +2,7 @@ > * jpegint.h > * > * Copyright (C) 1991-1997, Thomas G. Lane. >- * Modified 1997-2011 by Guido Vollbeding. >+ * Modified 1997-2009 by Guido Vollbeding. > * This file is part of the Independent JPEG Group's software. > * For conditions of distribution and use, see the accompanying README file. > * >@@ -100,16 +100,14 @@ > }; > > /* Forward DCT (also controls coefficient quantization) */ >-typedef JMETHOD(void, forward_DCT_ptr, >- (j_compress_ptr cinfo, jpeg_component_info * compptr, >- JSAMPARRAY sample_data, JBLOCKROW coef_blocks, >- JDIMENSION start_row, JDIMENSION start_col, >- JDIMENSION num_blocks)); >- > struct jpeg_forward_dct { > JMETHOD(void, start_pass, (j_compress_ptr cinfo)); >- /* It is useful to allow each component to have a separate FDCT method. */ >- forward_DCT_ptr forward_DCT[MAX_COMPONENTS]; >+ /* perhaps this should be an array??? */ >+ JMETHOD(void, forward_DCT, (j_compress_ptr cinfo, >+ jpeg_component_info * compptr, >+ JSAMPARRAY sample_data, JBLOCKROW coef_blocks, >+ JDIMENSION start_row, JDIMENSION start_col, >+ JDIMENSION num_blocks)); > }; > > /* Entropy encoding */ >@@ -213,6 +211,10 @@ > JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); > JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, > JBLOCKROW *MCU_data)); >+ >+ /* This is here to share code between baseline and progressive decoders; */ >+ /* other modules probably should not use it */ >+ boolean insufficient_data; /* set TRUE after emitting warning */ > }; > > /* Inverse DCT (also performs dequantization) */ >@@ -302,6 +304,7 @@ > #define jinit_downsampler jIDownsampler > #define jinit_forward_dct jIFDCT > #define jinit_huff_encoder jIHEncoder >+#define jinit_phuff_encoder jIPHEncoder > #define jinit_arith_encoder jIAEncoder > #define jinit_marker_writer jIMWriter > #define jinit_master_decompress jIDMaster >@@ -311,6 +314,7 @@ > #define jinit_input_controller jIInCtlr > #define jinit_marker_reader jIMReader > #define jinit_huff_decoder jIHDecoder >+#define jinit_phuff_decoder jIPHDecoder > #define jinit_arith_decoder jIADecoder > #define jinit_inverse_dct jIIDCT > #define jinit_upsampler jIUpsampler >@@ -321,41 +325,15 @@ > #define jinit_memory_mgr jIMemMgr > #define jdiv_round_up jDivRound > #define jround_up jRound >-#define jzero_far jZeroFar > #define jcopy_sample_rows jCopySamples > #define jcopy_block_row jCopyBlocks >+#define jzero_far jZeroFar > #define jpeg_zigzag_order jZIGTable > #define jpeg_natural_order jZAGTable >-#define jpeg_natural_order7 jZAG7Table >-#define jpeg_natural_order6 jZAG6Table >-#define jpeg_natural_order5 jZAG5Table >-#define jpeg_natural_order4 jZAG4Table >-#define jpeg_natural_order3 jZAG3Table >-#define jpeg_natural_order2 jZAG2Table > #define jpeg_aritab jAriTab > #endif /* NEED_SHORT_EXTERNAL_NAMES */ > > >-/* On normal machines we can apply MEMCOPY() and MEMZERO() to sample arrays >- * and coefficient-block arrays. This won't work on 80x86 because the arrays >- * are FAR and we're assuming a small-pointer memory model. However, some >- * DOS compilers provide far-pointer versions of memcpy() and memset() even >- * in the small-model libraries. These will be used if USE_FMEM is defined. >- * Otherwise, the routines in jutils.c do it the hard way. >- */ >- >-#ifndef NEED_FAR_POINTERS /* normal case, same as regular macro */ >-#define FMEMZERO(target,size) MEMZERO(target,size) >-#else /* 80x86 case */ >-#ifdef USE_FMEM >-#define FMEMZERO(target,size) _fmemset((void FAR *)(target), 0, (size_t)(size)) >-#else >-EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero)); >-#define FMEMZERO(target,size) jzero_far(target, size) >-#endif >-#endif >- >- > /* Compression module initialization routines */ > EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo)); > EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo, >@@ -370,6 +348,7 @@ > EXTERN(void) jinit_downsampler JPP((j_compress_ptr cinfo)); > EXTERN(void) jinit_forward_dct JPP((j_compress_ptr cinfo)); > EXTERN(void) jinit_huff_encoder JPP((j_compress_ptr cinfo)); >+EXTERN(void) jinit_phuff_encoder JPP((j_compress_ptr cinfo)); > EXTERN(void) jinit_arith_encoder JPP((j_compress_ptr cinfo)); > EXTERN(void) jinit_marker_writer JPP((j_compress_ptr cinfo)); > /* Decompression module initialization routines */ >@@ -383,6 +362,7 @@ > EXTERN(void) jinit_input_controller JPP((j_decompress_ptr cinfo)); > EXTERN(void) jinit_marker_reader JPP((j_decompress_ptr cinfo)); > EXTERN(void) jinit_huff_decoder JPP((j_decompress_ptr cinfo)); >+EXTERN(void) jinit_phuff_decoder JPP((j_decompress_ptr cinfo)); > EXTERN(void) jinit_arith_decoder JPP((j_decompress_ptr cinfo)); > EXTERN(void) jinit_inverse_dct JPP((j_decompress_ptr cinfo)); > EXTERN(void) jinit_upsampler JPP((j_decompress_ptr cinfo)); >@@ -401,17 +381,12 @@ > int num_rows, JDIMENSION num_cols)); > EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row, > JDIMENSION num_blocks)); >+EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero)); > /* Constant tables in jutils.c */ > #if 0 /* This table is not actually needed in v6a */ > extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */ > #endif > extern const int jpeg_natural_order[]; /* zigzag coef order to natural order */ >-extern const int jpeg_natural_order7[]; /* zz to natural order for 7x7 block */ >-extern const int jpeg_natural_order6[]; /* zz to natural order for 6x6 block */ >-extern const int jpeg_natural_order5[]; /* zz to natural order for 5x5 block */ >-extern const int jpeg_natural_order4[]; /* zz to natural order for 4x4 block */ >-extern const int jpeg_natural_order3[]; /* zz to natural order for 3x3 block */ >-extern const int jpeg_natural_order2[]; /* zz to natural order for 2x2 block */ > > /* Arithmetic coding probability estimation tables in jaricom.c */ > extern const INT32 jpeg_aritab[]; >--- Source-orig/LibJPEG/transupp.h 2012-02-19 18:33:18.000000000 +1100 >+++ Source/LibJPEG/transupp.h 2013-09-08 12:00:09.820737560 +1000 >@@ -1,7 +1,7 @@ > /* > * transupp.h > * >- * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. >+ * Copyright (C) 1997-2009, Thomas G. Lane, Guido Vollbeding. > * This file is part of the Independent JPEG Group's software. > * For conditions of distribution and use, see the accompanying README file. > * >@@ -57,7 +57,6 @@ > * corner up and/or left to make it so, simultaneously increasing the region > * dimensions to keep the lower right crop corner unchanged. (Thus, the > * output image covers at least the requested region, but may cover more.) >- * The adjustment of the region dimensions may be optionally disabled. > * > * We also provide a lossless-resize option, which is kind of a lossless-crop > * operation in the DCT coefficient block domain - it discards higher-order >@@ -107,15 +106,13 @@ > > /* > * Codes for crop parameters, which can individually be unspecified, >- * positive or negative for xoffset or yoffset, >- * positive or forced for width or height. >+ * positive, or negative. (Negative width or height makes no sense, though.) > */ > > typedef enum { >- JCROP_UNSET, >- JCROP_POS, >- JCROP_NEG, >- JCROP_FORCE >+ JCROP_UNSET, >+ JCROP_POS, >+ JCROP_NEG > } JCROP_CODE; > > /* >@@ -131,14 +128,21 @@ > boolean trim; /* if TRUE, trim partial MCUs as needed */ > boolean force_grayscale; /* if TRUE, convert color image to grayscale */ > boolean crop; /* if TRUE, crop source image */ >+ boolean slow_hflip; /* For best performance, the JXFORM_FLIP_H transform >+ normally modifies the source coefficients in place. >+ Setting this to TRUE will instead use a slower, >+ double-buffered algorithm, which leaves the source >+ coefficients in tact (necessary if other transformed >+ images must be generated from the same set of >+ coefficients. */ > > /* Crop parameters: application need not set these unless crop is TRUE. > * These can be filled in by jtransform_parse_crop_spec(). > */ > JDIMENSION crop_width; /* Width of selected region */ >- JCROP_CODE crop_width_set; /* (forced disables adjustment) */ >+ JCROP_CODE crop_width_set; > JDIMENSION crop_height; /* Height of selected region */ >- JCROP_CODE crop_height_set; /* (forced disables adjustment) */ >+ JCROP_CODE crop_height_set; > JDIMENSION crop_xoffset; /* X offset of selected region */ > JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */ > JDIMENSION crop_yoffset; /* Y offset of selected region */ >--- Source-orig/LibJPEG/transupp.c 2012-02-19 18:33:18.000000000 +1100 >+++ Source/LibJPEG/transupp.c 2013-09-08 12:00:09.819737560 +1000 >@@ -1,7 +1,8 @@ > /* > * transupp.c > * >- * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. >+ * Copyright (C) 1997-2009, Thomas G. Lane, Guido Vollbeding. >+ * Copyright (C) 2010, D. R. Commander. > * This file is part of the Independent JPEG Group's software. > * For conditions of distribution and use, see the accompanying README file. > * >@@ -20,9 +21,19 @@ > #include "jinclude.h" > #include "jpeglib.h" > #include "transupp.h" /* My own external interface */ >+#include "jpegcomp.h" > #include <ctype.h> /* to declare isdigit() */ > > >+#if JPEG_LIB_VERSION >= 70 >+#define dstinfo_min_DCT_h_scaled_size dstinfo->min_DCT_h_scaled_size >+#define dstinfo_min_DCT_v_scaled_size dstinfo->min_DCT_v_scaled_size >+#else >+#define dstinfo_min_DCT_h_scaled_size DCTSIZE >+#define dstinfo_min_DCT_v_scaled_size DCTSIZE >+#endif >+ >+ > #if TRANSFORMS_SUPPORTED > > /* >@@ -134,7 +145,7 @@ > * Partial iMCUs at the right edge are left untouched. > */ > MCU_cols = srcinfo->output_width / >- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); >+ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -200,7 +211,7 @@ > * this is essentially the same as the routine above. > */ > MCU_cols = srcinfo->output_width / >- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); >+ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -265,7 +276,7 @@ > * Partial iMCUs at the bottom edge are copied verbatim. > */ > MCU_rows = srcinfo->output_height / >- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size); >+ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -393,7 +404,7 @@ > * not mirrored. > */ > MCU_cols = srcinfo->output_height / >- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); >+ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -474,7 +485,7 @@ > * not mirrored. > */ > MCU_rows = srcinfo->output_width / >- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size); >+ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -542,9 +553,9 @@ > jpeg_component_info *compptr; > > MCU_cols = srcinfo->output_width / >- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); >+ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); > MCU_rows = srcinfo->output_height / >- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size); >+ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -653,9 +664,9 @@ > jpeg_component_info *compptr; > > MCU_cols = srcinfo->output_height / >- (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); >+ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size); > MCU_rows = srcinfo->output_width / >- (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size); >+ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size); > > for (ci = 0; ci < dstinfo->num_components; ci++) { > compptr = dstinfo->comp_info + ci; >@@ -771,7 +782,7 @@ > * The routine returns TRUE if the spec string is valid, FALSE if not. > * > * The crop spec string should have the format >- * <width>[f]x<height>[f]{+-}<xoffset>{+-}<yoffset> >+ * <width>x<height>{+-}<xoffset>{+-}<yoffset> > * where width, height, xoffset, and yoffset are unsigned integers. > * Each of the elements can be omitted to indicate a default value. > * (A weakness of this style is that it is not possible to omit xoffset >@@ -793,22 +804,14 @@ > /* fetch width */ > if (! jt_read_integer(&spec, &info->crop_width)) > return FALSE; >- if (*spec == 'f' || *spec == 'F') { >- spec++; >- info->crop_width_set = JCROP_FORCE; >- } else >- info->crop_width_set = JCROP_POS; >+ info->crop_width_set = JCROP_POS; > } >- if (*spec == 'x' || *spec == 'X') { >+ if (*spec == 'x' || *spec == 'X') { > /* fetch height */ > spec++; > if (! jt_read_integer(&spec, &info->crop_height)) > return FALSE; >- if (*spec == 'f' || *spec == 'F') { >- spec++; >- info->crop_height_set = JCROP_FORCE; >- } else >- info->crop_height_set = JCROP_POS; >+ info->crop_height_set = JCROP_POS; > } > if (*spec == '+' || *spec == '-') { > /* fetch xoffset */ >@@ -897,7 +900,12 @@ > info->num_components = srcinfo->num_components; > > /* Compute output image dimensions and related values. */ >+#if JPEG_LIB_VERSION >= 80 > jpeg_core_output_dimensions(srcinfo); >+#else >+ srcinfo->output_width = srcinfo->image_width; >+ srcinfo->output_height = srcinfo->image_height; >+#endif > > /* Return right away if -perfect is given and transformation is not perfect. > */ >@@ -905,15 +913,15 @@ > if (info->num_components == 1) { > if (!jtransform_perfect_transform(srcinfo->output_width, > srcinfo->output_height, >- srcinfo->min_DCT_h_scaled_size, >- srcinfo->min_DCT_v_scaled_size, >+ srcinfo->_min_DCT_h_scaled_size, >+ srcinfo->_min_DCT_v_scaled_size, > info->transform)) > return FALSE; > } else { > if (!jtransform_perfect_transform(srcinfo->output_width, > srcinfo->output_height, >- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size, >- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size, >+ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size, >+ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size, > info->transform)) > return FALSE; > } >@@ -932,26 +940,26 @@ > info->output_width = srcinfo->output_height; > info->output_height = srcinfo->output_width; > if (info->num_components == 1) { >- info->iMCU_sample_width = srcinfo->min_DCT_v_scaled_size; >- info->iMCU_sample_height = srcinfo->min_DCT_h_scaled_size; >+ info->iMCU_sample_width = srcinfo->_min_DCT_v_scaled_size; >+ info->iMCU_sample_height = srcinfo->_min_DCT_h_scaled_size; > } else { > info->iMCU_sample_width = >- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size; >+ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size; > info->iMCU_sample_height = >- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size; >+ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size; > } > break; > default: > info->output_width = srcinfo->output_width; > info->output_height = srcinfo->output_height; > if (info->num_components == 1) { >- info->iMCU_sample_width = srcinfo->min_DCT_h_scaled_size; >- info->iMCU_sample_height = srcinfo->min_DCT_v_scaled_size; >+ info->iMCU_sample_width = srcinfo->_min_DCT_h_scaled_size; >+ info->iMCU_sample_height = srcinfo->_min_DCT_v_scaled_size; > } else { > info->iMCU_sample_width = >- srcinfo->max_h_samp_factor * srcinfo->min_DCT_h_scaled_size; >+ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size; > info->iMCU_sample_height = >- srcinfo->max_v_samp_factor * srcinfo->min_DCT_v_scaled_size; >+ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size; > } > break; > } >@@ -988,16 +996,10 @@ > else > yoffset = info->crop_yoffset; > /* Now adjust so that upper left corner falls at an iMCU boundary */ >- if (info->crop_width_set == JCROP_FORCE) >- info->output_width = info->crop_width; >- else >- info->output_width = >- info->crop_width + (xoffset % info->iMCU_sample_width); >- if (info->crop_height_set == JCROP_FORCE) >- info->output_height = info->crop_height; >- else >- info->output_height = >- info->crop_height + (yoffset % info->iMCU_sample_height); >+ info->output_width = >+ info->crop_width + (xoffset % info->iMCU_sample_width); >+ info->output_height = >+ info->crop_height + (yoffset % info->iMCU_sample_height); > /* Save x/y offsets measured in iMCUs */ > info->x_crop_offset = xoffset / info->iMCU_sample_width; > info->y_crop_offset = yoffset / info->iMCU_sample_height; >@@ -1020,7 +1022,7 @@ > case JXFORM_FLIP_H: > if (info->trim) > trim_right_edge(info, srcinfo->output_width); >- if (info->y_crop_offset != 0) >+ if (info->y_crop_offset != 0 || info->slow_hflip) > need_workspace = TRUE; > /* do_flip_h_no_crop doesn't need a workspace array */ > break; >@@ -1124,9 +1126,11 @@ > jtemp = dstinfo->image_width; > dstinfo->image_width = dstinfo->image_height; > dstinfo->image_height = jtemp; >+#if JPEG_LIB_VERSION >= 70 > itemp = dstinfo->min_DCT_h_scaled_size; > dstinfo->min_DCT_h_scaled_size = dstinfo->min_DCT_v_scaled_size; > dstinfo->min_DCT_v_scaled_size = itemp; >+#endif > > /* Transpose sampling factors */ > for (ci = 0; ci < dstinfo->num_components; ci++) { >@@ -1362,8 +1366,10 @@ > /* Correct the destination's image dimensions as necessary > * for rotate/flip, resize, and crop operations. > */ >+#if JPEG_LIB_VERSION >= 70 > dstinfo->jpeg_width = info->output_width; > dstinfo->jpeg_height = info->output_height; >+#endif > > /* Transpose destination image parameters */ > switch (info->transform) { >@@ -1371,9 +1377,17 @@ > case JXFORM_TRANSVERSE: > case JXFORM_ROT_90: > case JXFORM_ROT_270: >+#if JPEG_LIB_VERSION < 70 >+ dstinfo->image_width = info->output_height; >+ dstinfo->image_height = info->output_width; >+#endif > transpose_critical_parameters(dstinfo); > break; > default: >+#if JPEG_LIB_VERSION < 70 >+ dstinfo->image_width = info->output_width; >+ dstinfo->image_height = info->output_height; >+#endif > break; > } > >@@ -1389,6 +1403,7 @@ > GETJOCTET(srcinfo->marker_list->data[5]) == 0) { > /* Suppress output of JFIF marker */ > dstinfo->write_JFIF_header = FALSE; >+#if JPEG_LIB_VERSION >= 70 > /* Adjust Exif image parameters */ > if (dstinfo->jpeg_width != srcinfo->image_width || > dstinfo->jpeg_height != srcinfo->image_height) >@@ -1396,6 +1411,7 @@ > adjust_exif_parameters(srcinfo->marker_list->data + 6, > srcinfo->marker_list->data_length - 6, > dstinfo->jpeg_width, dstinfo->jpeg_height); >+#endif > } > > /* Return the appropriate output data set */ >@@ -1432,7 +1448,7 @@ > src_coef_arrays, dst_coef_arrays); > break; > case JXFORM_FLIP_H: >- if (info->y_crop_offset != 0) >+ if (info->y_crop_offset != 0 || info->slow_hflip) > do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, > src_coef_arrays, dst_coef_arrays); > else
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 479476
:
354878
|
354880
|
354932
|
358230
|
358238