#include <stdlib.h>
#include <string.h>
-
int BC_CModels::is_planar(int colormodel)
{
switch(colormodel) {
case BC_YUV422P: return 1;
case BC_YUV444P: return 1;
case BC_YUV422: return 2;
+ case BC_UVY422: return 2;
case BC_YUV411P: return 1;
case BC_YUV410P: return 1;
case BC_RGB_FLOATP: return 4;
int BC_CModels::calculate_datasize(int w, int h, int bytes_per_line, int color_model)
{
- if( bytes_per_line < 0 )
- bytes_per_line = w * calculate_pixelsize(color_model);
switch(color_model) {
case BC_YUV410P: return w * h + w * h / 8 + 4;
case BC_YUV420P:
case BC_RGB_FLOATP: return w * h * 3 * sizeof(float) + 4;
case BC_RGBA_FLOATP: return w * h * 4 * sizeof(float) + 4;
}
+ if( bytes_per_line < 0 )
+ bytes_per_line = w * calculate_pixelsize(color_model);
return h * bytes_per_line + 4;
}
switch(color_model) {
case BC_YUV420P: return FOURCC_YV12;
case BC_YUV422: return FOURCC_YUV2;
+ case BC_UVY422: return FOURCC_UYVY;
}
return -1;
}
case BC_YUV161616:
case BC_YUVA16161616:
case BC_YUV422:
+ case BC_UVY422:
case BC_YUV101010:
case BC_VYU888:
case BC_UYVA8888: