packages: libjpeg12/libjpeg-12bit.patch (NEW), libjpeg12/libjpeg-maxmem-sys...

qboosh qboosh at pld-linux.org
Mon Jan 30 21:02:28 CET 2012


Author: qboosh                       Date: Mon Jan 30 20:02:28 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- libjpeg built with 12 bits per sample (12-bit patch based on changes used in gdal)

---- Files affected:
packages/libjpeg12:
   libjpeg-12bit.patch (NONE -> 1.1)  (NEW), libjpeg-maxmem-sysconf.patch (NONE -> 1.1)  (NEW), libjpeg12.spec (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/libjpeg12/libjpeg-12bit.patch
diff -u /dev/null packages/libjpeg12/libjpeg-12bit.patch:1.1
--- /dev/null	Mon Jan 30 21:02:28 2012
+++ packages/libjpeg12/libjpeg-12bit.patch	Mon Jan 30 21:02:23 2012
@@ -0,0 +1,379 @@
+--- jpeg-8d.orig/jcparam.c	2008-12-30 12:38:14.000000000 +0100
++++ jpeg-8d/jcparam.c	2012-01-30 18:37:08.314031841 +0100
+@@ -195,6 +195,7 @@
+ }
+ 
+ 
++#if BITS_IN_JSAMPLE == 8
+ LOCAL(void)
+ std_huff_tables (j_compress_ptr cinfo)
+ /* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
+@@ -269,6 +270,83 @@
+   add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[1],
+ 		 bits_ac_chrominance, val_ac_chrominance);
+ }
++#endif /* BITS_IN_JSAMPLE == 8 */
++
++#if BITS_IN_JSAMPLE == 12
++LOCAL(void)
++std_huff_tables (j_compress_ptr cinfo)
++/* 
++ * Note: these are not really "standard" since the specification includes
++ * no 12bit tables.  But they should work with any image, and at least
++ * moderately adequate as default tables.  
++ * https://sourceforge.net/tracker/?func=detail&aid=2809979&group_id=159521&atid=812162
++ */
++{
++  static const UINT8 bits_dc_luminance[17] =
++      { 0, 0, 2, 3, 1, 0, 3, 1, 0, 3, 1, 1, 1, 0, 0, 0 };
++  static const UINT8 val_dc_luminance[] =
++       { 11, 12, 9, 10, 13, 8, 6, 7, 14, 5, 0, 3, 4, 1, 15, 2 };
++
++  static const UINT8 bits_dc_chrominance[17] =
++      { 0, 0, 2, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 };
++  static const UINT8 val_dc_chrominance[] =
++      { 9, 10, 8, 11, 7, 12, 5, 6, 13, 14, 4, 3, 2, 1, 0, 15 };
++
++  static const UINT8 bits_ac_luminance[17] =
++      { 0, 0, 1, 4, 2, 2, 2, 1, 4, 1, 2, 0, 1, 0, 1, 0, 235 };
++
++  static const UINT8 val_ac_luminance[] =
++  {
++0x02,0x01,0x03,0x04,0x05,0x06,0x07,0x08,0x12,0x09,0x11,0x13,0x00,0x14,0x21,0x22
++,0x15,0x0a,0x23,0x31,0x16,0x32,0x17,0x24,0x33,0x41,0x18,0x25,0x42,0x51,0x0b,0x26
++,0x19,0x43,0x52,0x61,0x35,0x62,0x71,0x0c,0x0d,0x0e,0x0f,0x10,0x1a,0x1b,0x1c,0x1d
++,0x1e,0x1f,0x20,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x34,0x36,0x37
++,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x44,0x45,0x46,0x47,0x48,0x49,0x4a
++,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c
++,0x5d,0x5e,0x5f,0x60,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e
++,0x6f,0x70,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f
++,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f
++,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f
++,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf
++,0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf
++,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf
++,0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf
++,0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef
++,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
++  };
++
++  static const UINT8 bits_ac_chrominance[17] =
++      { 0, 0, 1, 3, 2, 5, 1, 5, 5, 3, 7, 4, 4, 3, 4, 6, 203 };
++  static const UINT8 val_ac_chrominance[] = 
++      {
++0x01,0x02,0x03,0x11,0x04,0x21,0x00,0x05,0x06,0x12,0x31,0x41,0x07,0x13,0x22,0x51
++,0x61,0x08,0x14,0x32,0x71,0x81,0x42,0x91,0xa1,0x09,0x15,0x23,0x52,0xb1,0xc1,0xf0
++,0x16,0x62,0xd1,0xe1,0x0a,0x24,0x72,0xf1,0x17,0x82,0x92,0x33,0x43,0x53,0xb2,0x0b
++,0x0c,0x18,0x35,0xa2,0xc2,0x0d,0x0e,0x0f,0x10,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f
++,0x20,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x34,0x36,0x37
++,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x44,0x45,0x46,0x47,0x48,0x49,0x4a
++,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d
++,0x5e,0x5f,0x60,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f
++,0x70,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,0x80,0x83
++,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x93,0x94,0x95
++,0x96,0x97,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,0xa0,0xa3,0xa4,0xa5,0xa6,0xa7
++,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9
++,0xba,0xbb,0xbc,0xbd,0xbe,0xbf,0xc0,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb
++,0xcc,0xcd,0xce,0xcf,0xd0,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc
++,0xdd,0xde,0xdf,0xe0,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed
++,0xee,0xef,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
++      };
++
++  add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[0],
++		 bits_dc_luminance, val_dc_luminance);
++  add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[0],
++		 bits_ac_luminance, val_ac_luminance);
++  add_huff_table(cinfo, &cinfo->dc_huff_tbl_ptrs[1],
++		 bits_dc_chrominance, val_dc_chrominance);
++  add_huff_table(cinfo, &cinfo->ac_huff_tbl_ptrs[1],
++		 bits_ac_chrominance, val_ac_chrominance);
++}
++#endif /* BITS_IN_JSAMPLE == 12 */
+ 
+ 
+ /*
+--- jpeg-8d.orig/jdct.h	2004-03-06 20:18:30.000000000 +0100
++++ jpeg-8d/jdct.h	2012-01-30 18:50:43.737392477 +0100
+@@ -160,6 +160,77 @@
+ #define jpeg_idct_1x2		jRD1x2
+ #endif /* NEED_SHORT_EXTERNAL_NAMES */
+ 
++#ifdef NEED_12_BIT_NAMES
++#define	jpeg_fdct_islow		jpeg_fdct_islow_12
++#define	jpeg_fdct_ifast		jpeg_fdct_ifast_12
++#define	jpeg_fdct_float		jpeg_fdct_float_12
++#define	jpeg_fdct_7x7		jpeg_fdct_7x7_12
++#define	jpeg_fdct_6x6		jpeg_fdct_6x6_12
++#define	jpeg_fdct_5x5		jpeg_fdct_5x5_12
++#define	jpeg_fdct_4x4		jpeg_fdct_4x4_12
++#define	jpeg_fdct_3x3		jpeg_fdct_3x3_12
++#define	jpeg_fdct_2x2		jpeg_fdct_2x2_12
++#define	jpeg_fdct_1x1		jpeg_fdct_1x1_12
++#define	jpeg_fdct_9x9		jpeg_fdct_9x9_12
++#define	jpeg_fdct_10x10		jpeg_fdct_10x10_12
++#define	jpeg_fdct_11x11		jpeg_fdct_11x11_12
++#define	jpeg_fdct_12x12		jpeg_fdct_12x12_12
++#define	jpeg_fdct_13x13		jpeg_fdct_13x13_12
++#define	jpeg_fdct_14x14		jpeg_fdct_14x14_12
++#define	jpeg_fdct_15x15		jpeg_fdct_15x15_12
++#define	jpeg_fdct_16x16		jpeg_fdct_16x16_12
++#define	jpeg_fdct_16x8		jpeg_fdct_16x8_12
++#define	jpeg_fdct_14x7		jpeg_fdct_14x7_12
++#define	jpeg_fdct_12x6		jpeg_fdct_12x6_12
++#define	jpeg_fdct_10x5		jpeg_fdct_10x5_12
++#define	jpeg_fdct_8x4		jpeg_fdct_8x4_12
++#define	jpeg_fdct_6x3		jpeg_fdct_6x3_12
++#define	jpeg_fdct_4x2		jpeg_fdct_4x2_12
++#define	jpeg_fdct_2x1		jpeg_fdct_2x1_12
++#define	jpeg_fdct_8x16		jpeg_fdct_8x16_12
++#define	jpeg_fdct_7x14		jpeg_fdct_7x14_12
++#define	jpeg_fdct_6x12		jpeg_fdct_6x12_12
++#define	jpeg_fdct_5x10		jpeg_fdct_5x10_12
++#define	jpeg_fdct_4x8		jpeg_fdct_4x8_12
++#define	jpeg_fdct_3x6		jpeg_fdct_3x6_12
++#define	jpeg_fdct_2x4		jpeg_fdct_2x4_12
++#define	jpeg_fdct_1x2		jpeg_fdct_1x2_12
++#define	jpeg_idct_islow		jpeg_idct_islow_12
++#define	jpeg_idct_ifast		jpeg_idct_ifast_12
++#define	jpeg_idct_float		jpeg_idct_float_12
++#define	jpeg_idct_7x7		jpeg_idct_7x7_12
++#define	jpeg_idct_6x6		jpeg_idct_6x6_12
++#define	jpeg_idct_5x5		jpeg_idct_5x5_12
++#define	jpeg_idct_4x4		jpeg_idct_4x4_12
++#define	jpeg_idct_3x3		jpeg_idct_3x3_12
++#define	jpeg_idct_2x2		jpeg_idct_2x2_12
++#define	jpeg_idct_1x1		jpeg_idct_1x1_12
++#define	jpeg_idct_9x9		jpeg_idct_9x9_12
++#define	jpeg_idct_10x10		jpeg_idct_10x10_12
++#define	jpeg_idct_11x11		jpeg_idct_11x11_12
++#define	jpeg_idct_12x12		jpeg_idct_12x12_12
++#define	jpeg_idct_13x13		jpeg_idct_13x13_12
++#define	jpeg_idct_14x14		jpeg_idct_14x14_12
++#define	jpeg_idct_15x15		jpeg_idct_15x15_12
++#define	jpeg_idct_16x16		jpeg_idct_16x16_12
++#define	jpeg_idct_16x8		jpeg_idct_16x8_12
++#define	jpeg_idct_14x7		jpeg_idct_14x7_12
++#define	jpeg_idct_12x6		jpeg_idct_12x6_12
++#define	jpeg_idct_10x5		jpeg_idct_10x5_12
++#define	jpeg_idct_8x4		jpeg_idct_8x4_12
++#define	jpeg_idct_6x3		jpeg_idct_6x3_12
++#define	jpeg_idct_4x2		jpeg_idct_4x2_12
++#define	jpeg_idct_2x1		jpeg_idct_2x1_12
++#define	jpeg_idct_8x16		jpeg_idct_8x16_12
++#define	jpeg_idct_7x14		jpeg_idct_7x14_12
++#define	jpeg_idct_6x12		jpeg_idct_6x12_12
++#define	jpeg_idct_5x10		jpeg_idct_5x10_12
++#define	jpeg_idct_4x8		jpeg_idct_4x8_12
++#define	jpeg_idct_3x6		jpeg_idct_3x6_12
++#define	jpeg_idct_2x4		jpeg_idct_2x4_12
++#define	jpeg_idct_1x2		jpeg_idct_1x2_12
++#endif /* NEED_12_BIT_NAMES */
++
+ /* Extern declarations for the forward and inverse DCT routines. */
+ 
+ EXTERN(void) jpeg_fdct_islow
+--- jpeg-8d.orig/jerror.c	1998-02-21 20:03:16.000000000 +0100
++++ jpeg-8d/jerror.c	2012-01-30 19:01:55.664081643 +0100
+@@ -45,6 +45,10 @@
+ #define jpeg_std_message_table	jMsgTable
+ #endif
+ 
++#ifdef NEED_12_BIT_NAMES
++#define	jpeg_std_message_table		jpeg_std_message_table_12
++#endif
++
+ #define JMESSAGE(code,string)	string ,
+ 
+ const char * const jpeg_std_message_table[] = {
+--- jpeg-8d.orig/jmemsys.h	1997-08-03 20:58:36.000000000 +0200
++++ jpeg-8d/jmemsys.h	2012-01-30 19:16:32.444111001 +0100
+@@ -32,6 +32,17 @@
+ #define jpeg_mem_term		jMemTerm
+ #endif /* NEED_SHORT_EXTERNAL_NAMES */
+ 
++#ifdef NEED_12_BIT_NAMES
++#define	jpeg_get_small		jpeg_get_small_12
++#define	jpeg_free_small		jpeg_free_small_12
++#define	jpeg_get_large		jpeg_get_large_12
++#define	jpeg_free_large		jpeg_free_large_12
++#define	jpeg_mem_available		jpeg_mem_available_12
++#define	jpeg_open_backing_store		jpeg_open_backing_store_12
++#define	jpeg_mem_init		jpeg_mem_init_12
++#define	jpeg_mem_term		jpeg_mem_term_12
++#endif /* NEED_12_BIT_NAMES */
++
+ 
+ /*
+  * These two functions are used to allocate and release small chunks of
+--- jpeg-8d.orig/jmorecfg.h	2011-08-31 13:35:12.000000000 +0200
++++ jpeg-8d/jmorecfg.h	2012-01-26 17:14:43.088960964 +0100
+@@ -21,7 +21,8 @@
+  * We do not support run-time selection of data precision, sorry.
+  */
+ 
+-#define BITS_IN_JSAMPLE  8	/* use 8 or 12 */
++#define BITS_IN_JSAMPLE  12	/* use 8 or 12 */
++#define NEED_12_BIT_NAMES
+ 
+ 
+ /*
+--- jpeg-8d.orig/jpegint.h	2011-10-13 10:53:56.000000000 +0200
++++ jpeg-8d/jpegint.h	2012-01-30 19:17:54.740780423 +0100
+@@ -335,6 +335,49 @@
+ #define jpeg_aritab		jAriTab
+ #endif /* NEED_SHORT_EXTERNAL_NAMES */
+ 
++#ifdef NEED_12_BIT_NAMES
++#define	jinit_compress_master		jinit_compress_master_12
++#define	jinit_c_master_control		jinit_c_master_control_12
++#define	jinit_c_main_controller		jinit_c_main_controller_12
++#define	jinit_c_prep_controller		jinit_c_prep_controller_12
++#define	jinit_c_coef_controller		jinit_c_coef_controller_12
++#define	jinit_color_converter		jinit_color_converter_12
++#define	jinit_downsampler		jinit_downsampler_12
++#define	jinit_forward_dct		jinit_forward_dct_12
++#define	jinit_huff_encoder		jinit_huff_encoder_12
++#define	jinit_arith_encoder		jinit_arith_encoder_12
++#define	jinit_marker_writer		jinit_marker_writer_12
++#define	jinit_master_decompress		jinit_master_decompress_12
++#define	jinit_d_main_controller		jinit_d_main_controller_12
++#define	jinit_d_coef_controller		jinit_d_coef_controller_12
++#define	jinit_d_post_controller		jinit_d_post_controller_12
++#define	jinit_input_controller		jinit_input_controller_12
++#define	jinit_marker_reader		jinit_marker_reader_12
++#define	jinit_huff_decoder		jinit_huff_decoder_12
++#define	jinit_arith_decoder		jinit_arith_decoder_12
++#define	jinit_inverse_dct		jinit_inverse_dct_12
++#define	jinit_upsampler		jinit_upsampler_12
++#define	jinit_color_deconverter		jinit_color_deconverter_12
++#define	jinit_1pass_quantizer		jinit_1pass_quantizer_12
++#define	jinit_2pass_quantizer		jinit_2pass_quantizer_12
++#define	jinit_merged_upsampler		jinit_merged_upsampler_12
++#define	jinit_memory_mgr		jinit_memory_mgr_12
++#define	jdiv_round_up		jdiv_round_up_12
++#define	jround_up		jround_up_12
++#define	jzero_far		jzero_far_12
++#define	jcopy_sample_rows		jcopy_sample_rows_12
++#define	jcopy_block_row		jcopy_block_row_12
++#define	jpeg_zigzag_order		jpeg_zigzag_order_12
++#define	jpeg_natural_order		jpeg_natural_order_12
++#define	jpeg_natural_order7		jpeg_natural_order7_12
++#define	jpeg_natural_order6		jpeg_natural_order6_12
++#define	jpeg_natural_order5		jpeg_natural_order5_12
++#define	jpeg_natural_order4		jpeg_natural_order4_12
++#define	jpeg_natural_order3		jpeg_natural_order3_12
++#define	jpeg_natural_order2		jpeg_natural_order2_12
++#define	jpeg_aritab		jpeg_aritab_12
++#endif /* NEED_12_BIT_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
+--- jpeg-8d.orig/jpeglib.h	2011-08-27 18:15:42.000000000 +0200
++++ jpeg-8d/jpeglib.h	2012-01-30 19:19:05.244116117 +0100
+@@ -923,6 +923,65 @@
+ #define jpeg_resync_to_restart	jResyncRestart
+ #endif /* NEED_SHORT_EXTERNAL_NAMES */
+ 
++/* Sometimes it is desirable to build with special external names for 12bit, so that 8bit and 12bit
++   jpeg DLLs can be used in the same applications. */
++
++#ifdef NEED_12_BIT_NAMES
++#define	jpeg_std_error		jpeg_std_error_12
++#define	jpeg_CreateCompress		jpeg_CreateCompress_12
++#define	jpeg_CreateDecompress		jpeg_CreateDecompress_12
++#define	jpeg_destroy_compress		jpeg_destroy_compress_12
++#define	jpeg_destroy_decompress		jpeg_destroy_decompress_12
++#define	jpeg_stdio_dest		jpeg_stdio_dest_12
++#define	jpeg_stdio_src		jpeg_stdio_src_12
++#define	jpeg_mem_dest		jpeg_mem_dest_12
++#define	jpeg_mem_src		jpeg_mem_src_12
++#define	jpeg_set_defaults		jpeg_set_defaults_12
++#define	jpeg_set_colorspace		jpeg_set_colorspace_12
++#define	jpeg_default_colorspace		jpeg_default_colorspace_12
++#define	jpeg_set_quality		jpeg_set_quality_12
++#define	jpeg_set_linear_quality		jpeg_set_linear_quality_12
++#define	jpeg_default_qtables		jpeg_default_qtables_12
++#define	jpeg_add_quant_table		jpeg_add_quant_table_12
++#define	jpeg_quality_scaling		jpeg_quality_scaling_12
++#define	jpeg_simple_progression		jpeg_simple_progression_12
++#define	jpeg_suppress_tables		jpeg_suppress_tables_12
++#define	jpeg_alloc_quant_table		jpeg_alloc_quant_table_12
++#define	jpeg_alloc_huff_table		jpeg_alloc_huff_table_12
++#define	jpeg_start_compress		jpeg_start_compress_12
++#define	jpeg_write_scanlines		jpeg_write_scanlines_12
++#define	jpeg_finish_compress		jpeg_finish_compress_12
++#define	jpeg_calc_jpeg_dimensions		jpeg_calc_jpeg_dimensions_12
++#define	jpeg_write_raw_data		jpeg_write_raw_data_12
++#define	jpeg_write_marker		jpeg_write_marker_12
++#define	jpeg_write_m_header		jpeg_write_m_header_12
++#define	jpeg_write_m_byte		jpeg_write_m_byte_12
++#define	jpeg_write_tables		jpeg_write_tables_12
++#define	jpeg_read_header		jpeg_read_header_12
++#define	jpeg_start_decompress		jpeg_start_decompress_12
++#define	jpeg_read_scanlines		jpeg_read_scanlines_12
++#define	jpeg_finish_decompress		jpeg_finish_decompress_12
++#define	jpeg_read_raw_data		jpeg_read_raw_data_12
++#define	jpeg_has_multiple_scans		jpeg_has_multiple_scans_12
++#define	jpeg_start_output		jpeg_start_output_12
++#define	jpeg_finish_output		jpeg_finish_output_12
++#define	jpeg_input_complete		jpeg_input_complete_12
++#define	jpeg_new_colormap		jpeg_new_colormap_12
++#define	jpeg_consume_input		jpeg_consume_input_12
++#define	jpeg_core_output_dimensions		jpeg_core_output_dimensions_12
++#define	jpeg_calc_output_dimensions		jpeg_calc_output_dimensions_12
++#define	jpeg_save_markers		jpeg_save_markers_12
++#define	jpeg_set_marker_processor		jpeg_set_marker_processor_12
++#define	jpeg_read_coefficients		jpeg_read_coefficients_12
++#define	jpeg_write_coefficients		jpeg_write_coefficients_12
++#define	jpeg_copy_critical_parameters		jpeg_copy_critical_parameters_12
++#define	jpeg_abort_compress		jpeg_abort_compress_12
++#define	jpeg_abort_decompress		jpeg_abort_decompress_12
++#define	jpeg_abort		jpeg_abort_12
++#define	jpeg_destroy		jpeg_destroy_12
++#define	jpeg_resync_to_restart		jpeg_resync_to_restart_12
++#endif /* NEED_12_BIT_NAMES */
++
+ 
+ /* Default error-management setup */
+ EXTERN(struct jpeg_error_mgr *) jpeg_std_error
+--- jpeg-8d.orig/Makefile.am	2010-05-02 17:39:46.000000000 +0200
++++ jpeg-8d/Makefile.am	2012-01-30 19:22:33.734123099 +0100
+@@ -62,17 +62,17 @@
+         testimgp.jpg
+ 
+ # libtool libraries to build
+-lib_LTLIBRARIES = libjpeg.la
++lib_LTLIBRARIES = libjpeg12.la
+ 
+ # Library sources for libjpeg.la
+-libjpeg_la_SOURCES = $(LIBSOURCES)
++libjpeg12_la_SOURCES = $(LIBSOURCES)
+ 
+ # LDFLAGS for libjpeg.la
+-libjpeg_la_LDFLAGS = -no-undefined \
++libjpeg12_la_LDFLAGS = -no-undefined \
+         -version-info $(JPEG_LIB_VERSION)
+ 
+ if HAVE_LD_VERSION_SCRIPT
+-  libjpeg_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libjpeg.map
++  libjpeg12_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libjpeg.map
+ endif
+ 
+ # Executables to build
+@@ -81,12 +81,12 @@
+ # Executable sources & libs
+ cjpeg_SOURCES    = cjpeg.c rdppm.c rdgif.c rdtarga.c rdrle.c rdbmp.c \
+         rdswitch.c cdjpeg.c
+-cjpeg_LDADD      = libjpeg.la
++cjpeg_LDADD      = libjpeg12.la
+ djpeg_SOURCES    = djpeg.c wrppm.c wrgif.c wrtarga.c wrrle.c wrbmp.c \
+         rdcolmap.c cdjpeg.c
+-djpeg_LDADD      = libjpeg.la
++djpeg_LDADD      = libjpeg12.la
+ jpegtran_SOURCES = jpegtran.c rdswitch.c cdjpeg.c transupp.c
+-jpegtran_LDADD   = libjpeg.la
++jpegtran_LDADD   = libjpeg12.la
+ rdjpgcom_SOURCES = rdjpgcom.c
+ wrjpgcom_SOURCES = wrjpgcom.c
+ 

================================================================
Index: packages/libjpeg12/libjpeg-maxmem-sysconf.patch
diff -u /dev/null packages/libjpeg12/libjpeg-maxmem-sysconf.patch:1.1
--- /dev/null	Mon Jan 30 21:02:28 2012
+++ packages/libjpeg12/libjpeg-maxmem-sysconf.patch	Mon Jan 30 21:02:23 2012
@@ -0,0 +1,49 @@
+# Make a reasonable guess about memory limits using sysconf().
+# includes 5% slop factor as suggested in documentation.
+
+--- jpeg-6b/jmemansi.c
++++ jpeg-6b/jmemansi.c
+@@ -12,6 +12,15 @@
+  * is shoved onto the user.
+  */
+ 
++#include <unistd.h>
++
++#ifdef __FreeBSD__
++# include <sys/types.h>
++# include <sys/sysctl.h>
++# include <sys/vmmeter.h>
++# include <vm/vm_param.h>
++#endif
++
+ #define JPEG_INTERNALS
+ #include "jinclude.h"
+ #include "jpeglib.h"
+@@ -157,7 +166,26 @@
+ GLOBAL(long)
+ jpeg_mem_init (j_common_ptr cinfo)
+ {
+-  return DEFAULT_MAX_MEM;	/* default for max_memory_to_use */
++#ifdef _SC_AVPHYS_PAGES
++  long phys_size;
++ 
++  if ((phys_size = sysconf(_SC_AVPHYS_PAGES)) == -1)
++    return DEFAULT_MAX_MEM; /* default for max_memory_to_use */
++  if ((phys_size *= sysconf(_SC_PAGESIZE)) < 0)
++    return DEFAULT_MAX_MEM;
++  return (long) (phys_size * 0.95);
++#elif defined(HAVE_SYSCTL) && defined(HW_PHYSMEM)
++  /* This works on *bsd and darwin.  */
++  unsigned int physmem;
++  size_t len = sizeof physmem;
++  static int mib[2] = { CTL_HW, HW_PHYSMEM };
++
++  if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0
++      && len == sizeof (physmem))
++    return (long) (physmem * 0.95);
++#endif
++
++  return DEFAULT_MAX_MEM;
+ }
+ 
+ GLOBAL(void)

================================================================
Index: packages/libjpeg12/libjpeg12.spec
diff -u /dev/null packages/libjpeg12/libjpeg12.spec:1.1
--- /dev/null	Mon Jan 30 21:02:28 2012
+++ packages/libjpeg12/libjpeg12.spec	Mon Jan 30 21:02:23 2012
@@ -0,0 +1,119 @@
+# $Revision$, $Date$
+Summary:	Library for handling different JPEG files - 12-bit version
+Summary(pl.UTF-8):	Biblioteka do manipulacji plikami w formacie JPEG - wersja 12-bitowa
+Name:		libjpeg12
+Version:	8d
+Release:	1
+License:	distributable
+Group:		Libraries
+Source0:	http://www.ijg.org/files/jpegsrc.v%{version}.tar.gz
+# Source0-md5:	52654eb3b2e60c35731ea8fc87f1bd29
+Patch0:		libjpeg-maxmem-sysconf.patch
+Patch1:		libjpeg-12bit.patch
+URL:		http://www.ijg.org/
+BuildRequires:	autoconf >= 2.50
+BuildRequires:	automake
+BuildRequires:	libtool
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+The libjpeg package contains a library of functions for manipulating
+JPEG images. This package is built with 12 bits per sample.
+
+%description -l pl.UTF-8
+Ten pakiet zawiera bibliotekę funkcji do manipulacji plikami JPEG. Ta
+wersja została zbudowana z 12-bitową rozdzielczością próbkowania.
+
+%package devel
+Summary:	Headers for developing programs using libjpeg12
+Summary(pl.UTF-8):	Pliki nagłówkowe libjpeg12
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+This package includes the header files necessary for developing
+programs which will manipulate JPEG files using the libjpeg
+library. This version is built with 12 bits per sample.
+
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do programowania z wykorzystaniem
+biblioteki libjpeg. Ta wersja została zbudowana z 12-bitową
+rozdzielczością próbkowania.
+
+%package static
+Summary:	Static library for developing programs using libjpeg12
+Summary(pl.UTF-8):	Biblioteka statyczna libjpeg12
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static library for developing programs using libjpeg12.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka libjpeg12.
+
+%prep
+%setup -q -n jpeg-%{version}
+%patch0 -p1
+%patch1 -p1
+
+%build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+	--includedir=%{_includedir}/libjpeg12 \
+	--disable-silent-rules \
+	--enable-shared \
+	--enable-static
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+install jversion.h $RPM_BUILD_ROOT%{_includedir}/libjpeg12
+
+# remove HAVE_STD{DEF,LIB}_H
+# (not necessary but may generate warnings confusing autoconf)
+sed -i -e 's#.*HAVE_STD..._H.*##g' $RPM_BUILD_ROOT%{_includedir}/libjpeg12/jconfig.h
+
+# tools packaged in generic libjpeg
+%{__rm} -r $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post   -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README change.log
+%attr(755,root,root) %{_libdir}/libjpeg12.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libjpeg12.so.8
+
+%files devel
+%defattr(644,root,root,755)
+%doc libjpeg.txt structure.txt
+%attr(755,root,root) %{_libdir}/libjpeg12.so
+%{_libdir}/libjpeg12.la
+%{_includedir}/libjpeg12
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libjpeg12.a
+
+%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.1  2012/01/30 20:02:23  qboosh
+- libjpeg built with 12 bits per sample (12-bit patch based on changes used in gdal)
================================================================


More information about the pld-cvs-commit mailing list