34#if BITS_IN_JSAMPLE == 8
35#define PUTPPMSAMPLE(ptr,v) *ptr++ = (char) (v)
36#define BYTESPERSAMPLE 1
40#define PUTPPMSAMPLE(ptr,v) *ptr++ = (char) ((v) >> (BITS_IN_JSAMPLE-8))
41#define BYTESPERSAMPLE 1
45#define PUTPPMSAMPLE(ptr,v) \
46 { register int val_ = v; \
47 *ptr++ = (char) ((val_ >> 8) & 0xFF); \
48 *ptr++ = (char) (val_ & 0xFF); \
50#define BYTESPERSAMPLE 2
51#define PPM_MAXVAL ((1<<BITS_IN_JSAMPLE)-1)
79typedef ppm_dest_struct * ppm_dest_ptr;
94 ppm_dest_ptr
dest = (ppm_dest_ptr) dinfo;
109 ppm_dest_ptr
dest = (ppm_dest_ptr) dinfo;
110 register char * bufferptr;
115 bufferptr =
dest->iobuffer;
116 for (col =
dest->samples_per_row; col > 0; col--) {
132 ppm_dest_ptr
dest = (ppm_dest_ptr) dinfo;
133 register char * bufferptr;
142 bufferptr =
dest->iobuffer;
145 PUTPPMSAMPLE(bufferptr,
GETJSAMPLE(color_map0[pixval]));
146 PUTPPMSAMPLE(bufferptr,
GETJSAMPLE(color_map1[pixval]));
147 PUTPPMSAMPLE(bufferptr,
GETJSAMPLE(color_map2[pixval]));
156 ppm_dest_ptr
dest = (ppm_dest_ptr) dinfo;
157 register char * bufferptr;
163 bufferptr =
dest->iobuffer;
193 ERREXIT(cinfo, JERR_PPM_COLORSPACE);
208 ERREXIT(cinfo, JERR_FILE_WRITE);
222 dest = (ppm_dest_ptr) (*cinfo->mem->alloc_small)
224 dest->pub.start_output = start_output_ppm;
225 dest->pub.finish_output = finish_output_ppm;
232 dest->buffer_width =
dest->samples_per_row * (BYTESPERSAMPLE *
SIZEOF(
char));
233 dest->iobuffer = (
char *) (*cinfo->mem->alloc_small)
242 dest->pub.buffer = (*cinfo->mem->alloc_sarray)
245 dest->pub.buffer_height = 1;
247 dest->pub.put_pixel_rows = copy_pixel_rows;
249 dest->pub.put_pixel_rows = put_demapped_gray;
251 dest->pub.put_pixel_rows = put_demapped_rgb;
258 dest->pub.buffer_height = 1;
259 dest->pub.put_pixel_rows = put_pixel_rows;
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
jpeg_calc_output_dimensions(j_decompress_ptr cinfo)
#define JFWRITE(file, buf, sizeofbuf)
#define GETJSAMPLE(value)
struct jpeg_common_struct * j_common_ptr
J_COLOR_SPACE out_color_space