* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
case BC_YUV420PI:
case BC_YUV422P:
case BC_YUV444P:
+ case BC_GBRP:
case BC_YUV411P:
case BC_YUV410P:
case BC_RGB_FLOATP:
- case BC_RGBA_FLOATP: return 1;
+ case BC_RGBA_FLOATP:
+ return 1;
}
return 0;
}
int BC_CModels::components(int colormodel)
{
switch(colormodel) {
- case BC_A8: return 1;
- case BC_A16: return 1;
- case BC_A_FLOAT: return 1;
- case BC_RGB888: return 3;
- case BC_RGBA8888: return 4;
- case BC_RGB161616: return 3;
- case BC_RGBA16161616: return 4;
- case BC_YUV888: return 3;
- case BC_YUVA8888: return 4;
- case BC_YUV161616: return 3;
- case BC_YUVA16161616: return 4;
- case BC_YUV101010: return 3;
- case BC_RGB_FLOAT: return 3;
- case BC_RGBA_FLOAT: return 4;
- case BC_RGB_FLOATP: return 3;
- case BC_RGBA_FLOATP: return 4;
+ case BC_RGB8:
+ case BC_RGB565:
+ case BC_BGR565:
+ case BC_BGR888:
+ case BC_RGB888:
+ case BC_RGB161616:
+ case BC_RGB_FLOAT:
+ case BC_BGR8888:
+ case BC_YUV888:
+ case BC_YUV161616:
+ case BC_UVY422:
+ case BC_YUV422:
+ case BC_YUV101010:
+ case BC_VYU888:
+ return 3;
+ case BC_RGBA8888:
+ case BC_ARGB8888:
+ case BC_ABGR8888:
+ case BC_RGBA16161616:
+ case BC_RGBA_FLOAT:
+ case BC_YUVA8888:
+ case BC_YUVA16161616:
+ case BC_UYVA8888:
+ case BC_AYUV16161616:
+ return 4;
+ case BC_A8:
+ case BC_A16:
+ case BC_A_FLOAT:
+ case BC_GREY8:
+ case BC_GREY16:
+ return 1;
}
+// planar, compressed, transparent
return 0;
}
case BC_YUVA8888: return 4;
case BC_YUV161616: return 6;
case BC_YUVA16161616: return 8;
+ case BC_AYUV16161616: return 8;
case BC_YUV101010: return 4;
case BC_VYU888: return 3;
case BC_UYVA8888: return 4;
case BC_RGB_FLOAT: return 12;
case BC_RGBA_FLOAT: return 16;
+ case BC_GREY8: return 1;
+ case BC_GREY16: return 2;
// Planar
case BC_YUV420P: return 1;
case BC_YUV420PI: return 1;
case BC_YUV422P: return 1;
case BC_YUV444P: return 1;
+ case BC_GBRP: return 1;
case BC_YUV422: return 2;
case BC_UVY422: return 2;
case BC_YUV411P: return 1;
case BC_YUVA8888: return 0xff;
case BC_YUV161616: return 0xffff;
case BC_YUVA16161616: return 0xffff;
+ case BC_AYUV16161616: return 0xffff;
case BC_RGB_FLOAT: return 1;
case BC_RGBA_FLOAT: return 1;
case BC_RGB_FLOATP: return 1;
case BC_RGBA_FLOATP: return 1;
+ case BC_GREY8: return 0xff;
+ case BC_GREY16: return 0xffff;
+ case BC_GBRP: return 0xff;
}
return 0;
}
case BC_YUV411P: return w * h + w * h / 2 + 4;
case BC_YUV422P: return w * h * 2 + 4;
case BC_YUV444P: return w * h * 3 + 4;
+ case BC_GBRP: return w * h * 3 + 4;
case BC_RGB_FLOATP: return w * h * 3 * sizeof(float) + 4;
case BC_RGBA_FLOATP: return w * h * 4 * sizeof(float) + 4;
}
case BC_YUVA8888: strcpy(string, "YUVA-8 Bit"); break;
case BC_YUV161616: strcpy(string, "YUV-16 Bit"); break;
case BC_YUVA16161616: strcpy(string, "YUVA-16 Bit"); break;
+ case BC_AYUV16161616: strcpy(string, "AYUV-16 Bit"); break;
case BC_RGB_FLOAT: strcpy(string, "RGB-FLOAT"); break;
case BC_RGBA_FLOAT: strcpy(string, "RGBA-FLOAT"); break;
case BC_RGB_FLOATP: strcpy(string, "RGB-FLOATP"); break;
if(!strcasecmp(text, "YUVA-8 Bit")) return BC_YUVA8888;
if(!strcasecmp(text, "YUV-16 Bit")) return BC_YUV161616;
if(!strcasecmp(text, "YUVA-16 Bit")) return BC_YUVA16161616;
+ if(!strcasecmp(text, "AYUV-16 Bit")) return BC_AYUV16161616;
return BC_RGB888;
}
case BC_YUVA8888:
case BC_YUV161616:
case BC_YUVA16161616:
+ case BC_AYUV16161616:
case BC_YUV422:
case BC_UVY422:
case BC_YUV101010:
case BC_YUV444P:
case BC_YUV411P:
case BC_YUV410P:
+ case BC_GREY8:
+ case BC_GREY16:
return 1;
}
return 0;