| 
									
										
										
										
											2016-02-25 13:04:01 +00:00
										 |  |  | Source: from Gentoo, original author unknown | 
					
						
							|  |  |  | Upstream: no | 
					
						
							|  |  |  | Reason: unbundling jpeg | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-25 13:01:30 +00:00
										 |  |  | --- openarena-engine-source-0.8.8/Makefile
 | 
					
						
							|  |  |  | +++ openarena-engine-source-0.8.8/Makefile
 | 
					
						
							|  |  |  | @@ -1406,41 +1406,7 @@
 | 
					
						
							|  |  |  |    $(B)/client/l_script.o \ | 
					
						
							|  |  |  |    $(B)/client/l_struct.o \ | 
					
						
							|  |  |  |    \ | 
					
						
							|  |  |  | -  $(B)/client/jcapimin.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcapistd.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jccoefct.o  \
 | 
					
						
							|  |  |  | -  $(B)/client/jccolor.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcdctmgr.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jchuff.o   \
 | 
					
						
							|  |  |  | -  $(B)/client/jcinit.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcmainct.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcmarker.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcmaster.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcomapi.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcparam.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcphuff.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcprepct.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jcsample.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdapimin.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdapistd.o \
 | 
					
						
							|  |  |  |    $(B)/client/jdatasrc.o \ | 
					
						
							|  |  |  | -  $(B)/client/jdcoefct.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdcolor.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jddctmgr.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdhuff.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdinput.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdmainct.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdmarker.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdmaster.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdpostct.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdsample.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jdtrans.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jerror.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jfdctflt.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jidctflt.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jmemmgr.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jmemnobs.o \
 | 
					
						
							|  |  |  | -  $(B)/client/jutils.o \
 | 
					
						
							|  |  |  |    \ | 
					
						
							|  |  |  |    $(B)/client/tr_animation.o \ | 
					
						
							|  |  |  |    $(B)/client/tr_backend.o \ | 
					
						
							|  |  |  | --- openarena-engine-source-0.8.8/code/jpeg-6b/jdatasrc.c
 | 
					
						
							|  |  |  | +++ openarena-engine-source-0.8.8/code/jpeg-6b/jdatasrc.c
 | 
					
						
							|  |  |  | @@ -15,9 +15,15 @@
 | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |  /* this is not a core library module, so it doesn't define JPEG_INTERNALS */ | 
					
						
							|  |  |  | -#include "jinclude.h"
 | 
					
						
							|  |  |  | -#include "jpeglib.h"
 | 
					
						
							|  |  |  | -#include "jerror.h"
 | 
					
						
							|  |  |  | +#include <stdio.h>
 | 
					
						
							|  |  |  | +#include <string.h>
 | 
					
						
							|  |  |  | +#include <jpeglib.h>
 | 
					
						
							|  |  |  | +#include <jerror.h>
 | 
					
						
							|  |  |  | +#undef METHODDEF
 | 
					
						
							|  |  |  | +#define METHODDEF static
 | 
					
						
							|  |  |  | +#undef GLOBAL
 | 
					
						
							|  |  |  | +#define GLOBAL
 | 
					
						
							|  |  |  | +#define SIZEOF(object)   ((size_t) sizeof(object))
 | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |  #ifndef MIN | 
					
						
							|  |  |  |  #define MIN(a, b) ((a)<(b)?(a):(b)) | 
					
						
							|  |  |  | @@ -44,7 +50,7 @@
 | 
					
						
							|  |  |  |   * before any data is actually read. | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | -METHODDEF(void)
 | 
					
						
							|  |  |  | +METHODDEF void
 | 
					
						
							|  |  |  |  init_source (j_decompress_ptr cinfo) | 
					
						
							|  |  |  |  { | 
					
						
							|  |  |  |    my_src_ptr src = (my_src_ptr) cinfo->src; | 
					
						
							|  |  |  | @@ -90,7 +96,7 @@
 | 
					
						
							|  |  |  |   * the front of the buffer rather than discarding it. | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | -METHODDEF(boolean)
 | 
					
						
							|  |  |  | +METHODDEF boolean
 | 
					
						
							|  |  |  |  fill_input_buffer (j_decompress_ptr cinfo) | 
					
						
							|  |  |  |  { | 
					
						
							|  |  |  |    my_src_ptr src = (my_src_ptr) cinfo->src; | 
					
						
							|  |  |  | @@ -129,7 +135,7 @@
 | 
					
						
							|  |  |  |   * buffer is the application writer's problem. | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | -METHODDEF(void)
 | 
					
						
							|  |  |  | +METHODDEF void
 | 
					
						
							|  |  |  |  skip_input_data (j_decompress_ptr cinfo, long num_bytes) | 
					
						
							|  |  |  |  { | 
					
						
							|  |  |  |    my_src_ptr src = (my_src_ptr) cinfo->src; | 
					
						
							|  |  |  | @@ -170,7 +176,7 @@
 | 
					
						
							|  |  |  |   * for error exit. | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | -METHODDEF(void)
 | 
					
						
							|  |  |  | +METHODDEF void
 | 
					
						
							|  |  |  |  term_source (j_decompress_ptr cinfo) | 
					
						
							|  |  |  |  { | 
					
						
							|  |  |  |    /* no work necessary here */ | 
					
						
							|  |  |  | @@ -183,8 +189,8 @@
 | 
					
						
							|  |  |  |   * for closing it after finishing decompression. | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | -GLOBAL(void)
 | 
					
						
							|  |  |  | -jpeg_mem_src (j_decompress_ptr cinfo, unsigned char *inbuf, size_t size)
 | 
					
						
							|  |  |  | +GLOBAL void
 | 
					
						
							|  |  |  | +jpeg_mem_src (j_decompress_ptr cinfo, unsigned char *inbuf, unsigned long size)
 | 
					
						
							|  |  |  |  { | 
					
						
							|  |  |  |    my_src_ptr src; | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | --- openarena-engine-source-0.8.8/code/renderer/tr_image_jpg.c
 | 
					
						
							|  |  |  | +++ openarena-engine-source-0.8.8/code/renderer/tr_image_jpg.c
 | 
					
						
							|  |  |  | @@ -31,7 +31,7 @@
 | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |  #define JPEG_INTERNALS | 
					
						
							|  |  |  | -#include "../jpeg-6b/jpeglib.h"
 | 
					
						
							|  |  |  | +#include <jpeglib.h>
 | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |  void R_LoadJPG( const char *filename, unsigned char **pic, int *width, int *height ) { | 
					
						
							|  |  |  |    /* This struct contains the JPEG decompression parameters and pointers to | 
					
						
							|  |  |  | @@ -131,7 +131,10 @@
 | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |    memcount = pixelcount * 4; | 
					
						
							|  |  |  | -  row_stride = cinfo.output_width * cinfo.output_components;
 | 
					
						
							|  |  |  | +  if (3 == cinfo.output_components)
 | 
					
						
							|  |  |  | +    row_stride = cinfo.output_width * 4;
 | 
					
						
							|  |  |  | +  else
 | 
					
						
							|  |  |  | +    row_stride = cinfo.output_width * cinfo.output_components;
 | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  |    out = ri.Malloc(memcount); | 
					
						
							|  |  |  |   | 
					
						
							|  |  |  | @@ -144,14 +147,26 @@
 | 
					
						
							|  |  |  |    /* Here we use the library's state variable cinfo.output_scanline as the | 
					
						
							|  |  |  |     * loop counter, so that we don't have to keep track ourselves. | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  | +  buf = out;
 | 
					
						
							|  |  |  |    while (cinfo.output_scanline < cinfo.output_height) { | 
					
						
							|  |  |  |      /* jpeg_read_scanlines expects an array of pointers to scanlines. | 
					
						
							|  |  |  |       * Here the array is only one element long, but you could ask for | 
					
						
							|  |  |  |       * more than one scanline at a time if that's more convenient. | 
					
						
							|  |  |  |       */ | 
					
						
							|  |  |  | -	buf = ((out+(row_stride*cinfo.output_scanline)));
 | 
					
						
							|  |  |  |  	buffer = &buf; | 
					
						
							|  |  |  |      (void) jpeg_read_scanlines(&cinfo, buffer, 1); | 
					
						
							|  |  |  | +    if (3 == cinfo.output_components) {
 | 
					
						
							|  |  |  | +      /* turn RGB into RGBA */
 | 
					
						
							|  |  |  | +      int ioffset = cinfo.output_width * 3 - 1;
 | 
					
						
							|  |  |  | +      int ooffset = cinfo.output_width * 4 - 1;
 | 
					
						
							|  |  |  | +      do {
 | 
					
						
							|  |  |  | +	buf[ooffset--] = 255;
 | 
					
						
							|  |  |  | +	buf[ooffset--] = buf[ioffset--];
 | 
					
						
							|  |  |  | +	buf[ooffset--] = buf[ioffset--];
 | 
					
						
							|  |  |  | +	buf[ooffset--] = buf[ioffset--];
 | 
					
						
							|  |  |  | +      } while (ioffset > 0);
 | 
					
						
							|  |  |  | +    }
 | 
					
						
							|  |  |  | +    buf += row_stride;
 | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  |     | 
					
						
							|  |  |  |    buf = out; | 
					
						
							|  |  |  | @@ -176,7 +191,7 @@
 | 
					
						
							|  |  |  |  		buf[--dindex] = greyshade; | 
					
						
							|  |  |  |  	} while(sindex); | 
					
						
							|  |  |  |    } | 
					
						
							|  |  |  | -  else
 | 
					
						
							|  |  |  | +  else if (4 == cinfo.output_components) 
 | 
					
						
							|  |  |  |    { | 
					
						
							|  |  |  |  	// clear all the alphas to 255 | 
					
						
							|  |  |  |  	int	i; |