fdo#47035: Fix loading of jpeg files on Mac/PPC
jpeg_decompress_struct gets padded when compiling libjpeg, but the jpeg filter in svtools assume non-padded size, resulting in a mismatch that makes libjpeg refuse to do its work.
This commit is contained in:
@@ -36,8 +36,8 @@ TARGET=jpeg
|
|||||||
|
|
||||||
.IF "$(SYSTEM_JPEG)" == "YES"
|
.IF "$(SYSTEM_JPEG)" == "YES"
|
||||||
all:
|
all:
|
||||||
@echo "An already available installation of libjpeg should exist on your system."
|
@echo "An already available installation of libjpeg should exist on your system."
|
||||||
@echo "Therefore the version provided here does not need to be built in addition."
|
@echo "Therefore the version provided here does not need to be built in addition."
|
||||||
.ENDIF
|
.ENDIF
|
||||||
|
|
||||||
# --- Files --------------------------------------------------------
|
# --- Files --------------------------------------------------------
|
||||||
@@ -47,6 +47,9 @@ TARFILE_NAME=jpeg-8c
|
|||||||
TARFILE_MD5=a2c10c04f396a9ce72894beb18b4e1f9
|
TARFILE_MD5=a2c10c04f396a9ce72894beb18b4e1f9
|
||||||
|
|
||||||
PATCH_FILES=jpeg-8c.patch
|
PATCH_FILES=jpeg-8c.patch
|
||||||
|
.IF "$(OS)$(CPU)"=="MACOSXP"
|
||||||
|
PATCH_FILES+=struct_alignment.patch
|
||||||
|
.ENDIF
|
||||||
|
|
||||||
ADDITIONAL_FILES=makefile.mk jconfig.h
|
ADDITIONAL_FILES=makefile.mk jconfig.h
|
||||||
|
|
||||||
@@ -55,7 +58,7 @@ ADDITIONAL_FILES=makefile.mk jconfig.h
|
|||||||
BUILD_DIR=$(CONFIGURE_DIR)
|
BUILD_DIR=$(CONFIGURE_DIR)
|
||||||
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
|
BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS)
|
||||||
|
|
||||||
OUT2INC= jconfig.h \
|
OUT2INC= jconfig.h \
|
||||||
jerror.h \
|
jerror.h \
|
||||||
jmorecfg.h \
|
jmorecfg.h \
|
||||||
jpegint.h \
|
jpegint.h \
|
||||||
|
18
jpeg/struct_alignment.patch
Normal file
18
jpeg/struct_alignment.patch
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
without this patch, the jpeg_decompress_struct will be padded, this in turn
|
||||||
|
results in a mismatch when the jpeg filter in svtools is built, where no
|
||||||
|
padding is assumed. Only affects Mac/PPC apparenlty, see fdo#47035
|
||||||
|
--- misc/jpeg-8c/jpeglib.h 2010-11-17 22:01:56.000000000 +0100
|
||||||
|
+++ misc/build/jpeg-8c/jpeglib.h 2012-05-19 03:38:44.000000000 +0200
|
||||||
|
@@ -583,11 +583,11 @@
|
||||||
|
/* Data copied from JFIF marker; only valid if saw_JFIF_marker is TRUE: */
|
||||||
|
UINT8 JFIF_major_version; /* JFIF version number */
|
||||||
|
UINT8 JFIF_minor_version;
|
||||||
|
+ UINT8 Adobe_transform; /* Color transform code from Adobe marker */
|
||||||
|
UINT8 density_unit; /* JFIF code for pixel size units */
|
||||||
|
UINT16 X_density; /* Horizontal pixel density */
|
||||||
|
UINT16 Y_density; /* Vertical pixel density */
|
||||||
|
boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */
|
||||||
|
- UINT8 Adobe_transform; /* Color transform code from Adobe marker */
|
||||||
|
|
||||||
|
boolean CCIR601_sampling; /* TRUE=first samples are cosited */
|
||||||
|
|
Reference in New Issue
Block a user