#ifndef _CAMUNITS
#define _CAMUNITS

const int32_t PIXEL_FORMAT_UYVY             = 1498831189;
const int32_t PIXEL_FORMAT_YUYV             = 1448695129;
const int32_t PIXEL_FORMAT_IYU1             = 827677001;
const int32_t PIXEL_FORMAT_IYU2             = 844454217;
const int32_t PIXEL_FORMAT_YUV420           = 842093913;
const int32_t PIXEL_FORMAT_YUV411P          = 1345401140;
const int32_t PIXEL_FORMAT_I420             = 808596553;
const int32_t PIXEL_FORMAT_NV12             = 842094158;
const int32_t PIXEL_FORMAT_GRAY             = 1497715271;
const int32_t PIXEL_FORMAT_RGB              = 859981650;
const int32_t PIXEL_FORMAT_BGR              = 861030210;
const int32_t PIXEL_FORMAT_RGBA             = 876758866;
const int32_t PIXEL_FORMAT_BGRA             = 877807426;
const int32_t PIXEL_FORMAT_BAYER_BGGR       = 825770306;
const int32_t PIXEL_FORMAT_BAYER_GBRG       = 844650584;
const int32_t PIXEL_FORMAT_BAYER_GRBG       = 861427800;
const int32_t PIXEL_FORMAT_BAYER_RGGB       = 878205016;
const int32_t PIXEL_FORMAT_BE_BAYER16_BGGR  = 826360386;
const int32_t PIXEL_FORMAT_BE_BAYER16_GBRG  = 843137602;
const int32_t PIXEL_FORMAT_BE_BAYER16_GRBG  = 859914818;
const int32_t PIXEL_FORMAT_BE_BAYER16_RGGB  = 876692034;
const int32_t PIXEL_FORMAT_LE_BAYER16_BGGR  = 826360396;
const int32_t PIXEL_FORMAT_LE_BAYER16_GBRG  = 843137612;
const int32_t PIXEL_FORMAT_LE_BAYER16_GRBG  = 859914828;
const int32_t PIXEL_FORMAT_LE_BAYER16_RGGB  = 876692044;
const int32_t PIXEL_FORMAT_MJPEG            = 1196444237;
const int32_t PIXEL_FORMAT_BE_GRAY16        = 357;
const int32_t PIXEL_FORMAT_LE_GRAY16        = 909199180;
const int32_t PIXEL_FORMAT_BE_RGB16         = 358;
const int32_t PIXEL_FORMAT_LE_RGB16         = 1279412050;
const int32_t PIXEL_FORMAT_BE_SIGNED_GRAY16 = 359;
const int32_t PIXEL_FORMAT_BE_SIGNED_RGB16  = 360;
const int32_t PIXEL_FORMAT_FLOAT_GRAY32     = 842221382;
const int32_t PIXEL_FORMAT_INVALID          = -2;
const int32_t PIXEL_FORMAT_ANY              = -1;

int32_t getBitsPerPixel(int32_t pixelFormat) {

    int32_t bpp;

    switch (pixelFormat) {
        case PIXEL_FORMAT_BE_BAYER16_BGGR: 
        case PIXEL_FORMAT_BE_BAYER16_GBRG: 
        case PIXEL_FORMAT_BE_BAYER16_GRBG: 
        case PIXEL_FORMAT_BE_BAYER16_RGGB: 
        case PIXEL_FORMAT_LE_BAYER16_BGGR: 
        case PIXEL_FORMAT_LE_BAYER16_GBRG: 
        case PIXEL_FORMAT_LE_BAYER16_GRBG: 
        case PIXEL_FORMAT_LE_BAYER16_RGGB:           
        case PIXEL_FORMAT_BE_GRAY16:       
        case PIXEL_FORMAT_LE_GRAY16:       
        case PIXEL_FORMAT_BE_RGB16:        
        case PIXEL_FORMAT_LE_RGB16:        
        case PIXEL_FORMAT_BE_SIGNED_GRAY16:
        case PIXEL_FORMAT_BE_SIGNED_RGB16:
            bpp = 16;
            break;
        case PIXEL_FORMAT_FLOAT_GRAY32:
            bpp = 32;
            break;
        case PIXEL_FORMAT_NV12:
            bpp = 12;
            break;
        case PIXEL_FORMAT_RGB:
        case PIXEL_FORMAT_BGR:
            bpp = 24;
            break;
        default:
            bpp = 8;
            break;
    }

    return bpp;
}

#endif