diff -r 000000000000 -r 6474c204b198 media/libjpeg/mozilla.diff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media/libjpeg/mozilla.diff Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,123 @@ +diff -up8 jchuff.c jchuff.c +--- jchuff.c 2012-12-30 21:42:18 -0500 ++++ jchuff.c 2013-02-16 19:37:01 -0500 +@@ -17,18 +17,20 @@ + */ + + #define JPEG_INTERNALS + #include "jinclude.h" + #include "jpeglib.h" + #include "jchuff.h" /* Declarations shared with jcphuff.c */ + #include + +-static unsigned char jpeg_nbits_table[65536]; +-static int jpeg_nbits_table_init = 0; ++static const unsigned char jpeg_nbits_table[65536] = { ++/* Number i needs jpeg_nbits_table[i] bits to be represented. */ ++#include "jpeg_nbits_table.h" ++}; + + #ifndef min + #define min(a,b) ((a)<(b)?(a):(b)) + #endif + + + /* Expanded entropy encoder object for Huffman encoding. + * +@@ -266,25 +268,16 @@ jpeg_make_c_derived_tbl (j_compress_ptr + + for (p = 0; p < lastp; p++) { + i = htbl->huffval[p]; + if (i < 0 || i > maxsymbol || dtbl->ehufsi[i]) + ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); + dtbl->ehufco[i] = huffcode[p]; + dtbl->ehufsi[i] = huffsize[p]; + } +- +- if(!jpeg_nbits_table_init) { +- for(i = 0; i < 65536; i++) { +- int nbits = 0, temp = i; +- while (temp) {temp >>= 1; nbits++;} +- jpeg_nbits_table[i] = nbits; +- } +- jpeg_nbits_table_init = 1; +- } + } + + + /* Outputting bytes to the file */ + + /* Emit a byte, taking 'action' if must suspend. */ + #define emit_byte(state,val,action) \ + { *(state)->next_output_byte++ = (JOCTET) (val); \ +diff -up8 jmorecfg.h jmorecfg.h +--- jmorecfg.h 2013-01-06 12:59:42 -0500 ++++ jmorecfg.h 2013-02-16 19:37:01 -0500 +@@ -7,16 +7,17 @@ + * Copyright (C) 2009, 2011, D. R. Commander. + * For conditions of distribution and use, see the accompanying README file. + * + * This file contains additional configuration options that customize the + * JPEG software for special applications or support machine-dependent + * optimizations. Most users will not need to touch this file. + */ + ++#include + + /* + * Define BITS_IN_JSAMPLE as either + * 8 for 8-bit sample values (the usual setting) + * 12 for 12-bit sample values + * Only 8 and 12 are legal data precisions for lossy JPEG according to the + * JPEG standard, and the IJG code does not support anything else! + * We do not support run-time selection of data precision, sorry. +@@ -128,45 +129,29 @@ typedef char JOCTET; + * They must be at least as wide as specified; but making them too big + * won't cost a huge amount of memory, so we don't provide special + * extraction code like we did for JSAMPLE. (In other words, these + * typedefs live at a different point on the speed/space tradeoff curve.) + */ + + /* UINT8 must hold at least the values 0..255. */ + +-#ifdef HAVE_UNSIGNED_CHAR +-typedef unsigned char UINT8; +-#else /* not HAVE_UNSIGNED_CHAR */ +-#ifdef __CHAR_UNSIGNED__ +-typedef char UINT8; +-#else /* not __CHAR_UNSIGNED__ */ +-typedef short UINT8; +-#endif /* __CHAR_UNSIGNED__ */ +-#endif /* HAVE_UNSIGNED_CHAR */ ++typedef uint8_t UINT8; + + /* UINT16 must hold at least the values 0..65535. */ + +-#ifdef HAVE_UNSIGNED_SHORT +-typedef unsigned short UINT16; +-#else /* not HAVE_UNSIGNED_SHORT */ +-typedef unsigned int UINT16; +-#endif /* HAVE_UNSIGNED_SHORT */ ++typedef uint16_t UINT16; + + /* INT16 must hold at least the values -32768..32767. */ + +-#ifndef XMD_H /* X11/xmd.h correctly defines INT16 */ +-typedef short INT16; +-#endif ++typedef int16_t INT16; + + /* INT32 must hold at least signed 32-bit values. */ + +-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ +-typedef long INT32; +-#endif ++typedef int32_t INT32; + + /* Datatype used for image dimensions. The JPEG standard only supports + * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore + * "unsigned int" is sufficient on all machines. However, if you need to + * handle larger images and you don't mind deviating from the spec, you + * can change this datatype. + */ +