Added new alpha channel colorspace constants/pixel formats, so applications can specify that they need the unused byte in a 4-component RGB output buffer set to 0xFF when decompressing.
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@732 632fc199-4ca6-4c93-a231-07263d6284db
diff --git a/turbojpeg.c b/turbojpeg.c
index 9fc60ce..e27f0da 100644
--- a/turbojpeg.c
+++ b/turbojpeg.c
@@ -147,12 +147,16 @@
case TJPF_BGR:
cinfo->in_color_space=JCS_EXT_BGR; break;
case TJPF_RGBX:
+ case TJPF_RGBA:
cinfo->in_color_space=JCS_EXT_RGBX; break;
case TJPF_BGRX:
+ case TJPF_BGRA:
cinfo->in_color_space=JCS_EXT_BGRX; break;
case TJPF_XRGB:
+ case TJPF_ARGB:
cinfo->in_color_space=JCS_EXT_XRGB; break;
case TJPF_XBGR:
+ case TJPF_ABGR:
cinfo->in_color_space=JCS_EXT_XBGR; break;
#else
case TJPF_RGB:
@@ -213,20 +217,28 @@
dinfo->out_color_space=JCS_EXT_XRGB; break;
case TJPF_XBGR:
dinfo->out_color_space=JCS_EXT_XBGR; break;
+ #if JCS_ALPHA_EXTENSIONS==1
+ case TJPF_RGBA:
+ dinfo->out_color_space=JCS_EXT_RGBA; break;
+ case TJPF_BGRA:
+ dinfo->out_color_space=JCS_EXT_BGRA; break;
+ case TJPF_ARGB:
+ dinfo->out_color_space=JCS_EXT_ARGB; break;
+ case TJPF_ABGR:
+ dinfo->out_color_space=JCS_EXT_ABGR; break;
+ #endif
#else
case TJPF_RGB:
if(RGB_RED==0 && RGB_GREEN==1 && RGB_BLUE==2 && RGB_PIXELSIZE==3)
{
dinfo->out_color_space=JCS_RGB; break;
}
+ #endif
default:
_throw("Unsupported pixel format");
- #endif
}
- #if JCS_EXTENSIONS!=1
bailout:
- #endif
return retval;
}