72#define CBCR_OFFSET ((INT32) CENTERJSAMPLE << SCALEBITS)
73#define ONE_HALF ((INT32) 1 << (SCALEBITS-1))
74#define FIX(x) ((INT32) ((x) * (1L<<SCALEBITS) + 0.5))
83#define G_Y_OFF (1*(MAXJSAMPLE+1))
84#define B_Y_OFF (2*(MAXJSAMPLE+1))
85#define R_CB_OFF (3*(MAXJSAMPLE+1))
86#define G_CB_OFF (4*(MAXJSAMPLE+1))
87#define B_CB_OFF (5*(MAXJSAMPLE+1))
88#define R_CR_OFF B_CB_OFF
89#define G_CR_OFF (6*(MAXJSAMPLE+1))
90#define B_CR_OFF (7*(MAXJSAMPLE+1))
91#define TABLE_SIZE (8*(MAXJSAMPLE+1))
148 register int r,
g,
b;
151 register JSAMPROW outptr0, outptr1, outptr2;
156 inptr = *input_buf++;
161 for (col = 0; col <
num_cols; col++) {
165 inptr += RGB_PIXELSIZE;
212 inptr = *input_buf++;
214 for (col = 0; col <
num_cols; col++) {
218 inptr += RGB_PIXELSIZE;
239 register int r,
g,
b;
242 register JSAMPROW outptr0, outptr1, outptr2, outptr3;
247 inptr = *input_buf++;
253 for (col = 0; col <
num_cols; col++) {
258 outptr3[col] = inptr[3];
296 register int r,
g,
b;
298 register JSAMPROW outptr0, outptr1, outptr2;
303 inptr = *input_buf++;
308 for (col = 0; col <
num_cols; col++) {
312 inptr += RGB_PIXELSIZE;
338 register int instride = cinfo->input_components;
342 inptr = *input_buf++;
364 register JSAMPROW outptr0, outptr1, outptr2;
369 inptr = *input_buf++;
374 for (col = 0; col <
num_cols; col++) {
376 outptr0[col] = inptr[RGB_RED];
377 outptr1[col] = inptr[RGB_GREEN];
378 outptr2[col] = inptr[RGB_BLUE];
379 inptr += RGB_PIXELSIZE;
399 register int num_comps = cinfo->num_components;
405 for (ci = 0; ci < num_comps; ci++) {
406 inptr = input_buf[0] + ci;
441 cinfo->cconvert = &cconvert->
pub;
446 switch (cinfo->in_color_space) {
448 if (cinfo->input_components != 1)
449 ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE);
454#if RGB_PIXELSIZE != 3
455 if (cinfo->input_components != RGB_PIXELSIZE)
456 ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE);
462 if (cinfo->input_components != 3)
463 ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE);
468 if (cinfo->input_components != 4)
469 ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE);
473 if (cinfo->input_components < 1)
474 ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE);
478 if (cinfo->color_transform &&
480 (cinfo->jpeg_color_space !=
JCS_RGB &&
482 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
485 switch (cinfo->jpeg_color_space) {
487 if (cinfo->num_components != 1)
488 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
489 switch (cinfo->in_color_space) {
500 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
506 if (cinfo->num_components != 3)
507 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
508 if (cinfo->in_color_space != cinfo->jpeg_color_space)
509 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
510 switch (cinfo->color_transform) {
518 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
523 if (cinfo->num_components != 3)
524 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
525 switch (cinfo->in_color_space) {
534 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
539 if (cinfo->num_components != 3)
540 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
541 switch (cinfo->in_color_space) {
549 cinfo->comp_info[1].component_needed =
TRUE;
550 cinfo->comp_info[2].component_needed =
TRUE;
557 cinfo->comp_info[1].component_needed =
TRUE;
558 cinfo->comp_info[2].component_needed =
TRUE;
565 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
570 if (cinfo->num_components != 4)
571 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
572 if (cinfo->in_color_space !=
JCS_CMYK)
573 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
578 if (cinfo->num_components != 4)
579 ERREXIT(cinfo, JERR_BAD_J_COLORSPACE);
580 switch (cinfo->in_color_space) {
589 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
594 if (cinfo->jpeg_color_space != cinfo->in_color_space ||
595 cinfo->num_components != cinfo->input_components)
596 ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL);
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
GLboolean GLboolean GLboolean b
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
rgb_ycc_start(j_compress_ptr cinfo)
grayscale_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
cmyk_ycck_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
null_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
jinit_color_converter(j_compress_ptr cinfo)
rgb_rgb1_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
rgb_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
rgb_gray_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
null_method(j_compress_ptr cinfo)
my_color_converter * my_cconvert_ptr
rgb_ycc_convert(j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, JDIMENSION output_row, int num_rows)
jpeg_component_info JCOEFPTR JSAMPARRAY output_buf
#define GETJSAMPLE(value)
JSAMPARRAY int JDIMENSION num_cols
struct jpeg_common_struct * j_common_ptr
struct jpeg_color_converter pub