in Graphics/AITCodec/cpp/utility.cpp [18:85]
UINT GetScanlineStride(UINT width, REFWICPixelFormatGUID pixelFormat)
{
UINT bpp = 0;
if ((GUID_WICPixelFormat1bppIndexed == pixelFormat) ||
(GUID_WICPixelFormatBlackWhite == pixelFormat))
{
bpp = 1;
}
else if ((GUID_WICPixelFormat2bppIndexed == pixelFormat) ||
(GUID_WICPixelFormat2bppGray == pixelFormat))
{
bpp = 2;
}
else if ((GUID_WICPixelFormat4bppIndexed == pixelFormat) ||
(GUID_WICPixelFormat4bppGray == pixelFormat))
{
bpp = 4;
}
else if ((GUID_WICPixelFormat8bppIndexed == pixelFormat) ||
(GUID_WICPixelFormat8bppGray == pixelFormat))
{
bpp = 8;
}
else if ((GUID_WICPixelFormat16bppBGR555 == pixelFormat) ||
(GUID_WICPixelFormat16bppBGR565 == pixelFormat) ||
(GUID_WICPixelFormat16bppGray == pixelFormat) ||
(GUID_WICPixelFormat16bppGrayFixedPoint == pixelFormat))
{
bpp = 16;
}
else if ((GUID_WICPixelFormat24bppBGR == pixelFormat) ||
(GUID_WICPixelFormat24bppRGB == pixelFormat))
{
bpp = 24;
}
else if ((GUID_WICPixelFormat32bppBGR == pixelFormat) ||
(GUID_WICPixelFormat32bppBGRA == pixelFormat) ||
(GUID_WICPixelFormat32bppPBGRA == pixelFormat) ||
(GUID_WICPixelFormat32bppGrayFloat == pixelFormat) ||
(GUID_WICPixelFormat32bppBGR101010 == pixelFormat) ||
(GUID_WICPixelFormat32bppCMYK == pixelFormat))
{
bpp = 32;
}
else if ((GUID_WICPixelFormat48bppRGBFixedPoint == pixelFormat) ||
(GUID_WICPixelFormat48bppRGB == pixelFormat))
{
bpp = 48;
}
else if ((GUID_WICPixelFormat64bppRGBA == pixelFormat) ||
(GUID_WICPixelFormat64bppPRGBA == pixelFormat))
{
bpp = 64;
}
else if ((GUID_WICPixelFormat96bppRGBFixedPoint == pixelFormat))
{
bpp = 96;
}
else if ((GUID_WICPixelFormat128bppRGBAFloat == pixelFormat) ||
(GUID_WICPixelFormat128bppPRGBAFloat == pixelFormat) ||
(GUID_WICPixelFormat128bppRGBFloat == pixelFormat))
{
bpp = 128;
}
return (bpp * width + 7)/8;
};