Santino Mazza (@tati) commented about dlls/amstream/ddrawstream.c:
+{
- VIDEOINFO *videoinfo;
- videoinfo = (VIDEOINFO*)mt->pbFormat;
- videoinfo->bmiHeader.biWidth = format->dwWidth;
- videoinfo->bmiHeader.biHeight = format->dwHeight;
- videoinfo->bmiHeader.biBitCount = format->ddpfPixelFormat.dwRGBBitCount;
- videoinfo->bmiHeader.biCompression = BI_RGB;
- videoinfo->bmiHeader.biSizeImage = ALIGN(format->dwWidth * format->dwHeight * (format->ddpfPixelFormat.dwRGBBitCount / 8), 4);
- if (format->ddpfPixelFormat.dwRGBBitCount == 16 && format->ddpfPixelFormat.dwRBitMask == 0x7c00)
mt->subtype = MEDIASUBTYPE_RGB555;
- else if (format->ddpfPixelFormat.dwRGBBitCount == 16 && format->ddpfPixelFormat.dwRBitMask == 0xf800)
- {
mt->subtype = MEDIASUBTYPE_RGB565;
mt->cbFormat = offsetof(VIDEOINFO, dwBitMasks[3]);
Mmm, looks like it's failing to compile in the pipeline because of this line. I suppose it's because dwBitMasks only has 3 elements and in offsetof I'm trying to get the offset to a fourth element. In my computer it compiles fine, also I got this code from the quartz implementation so this is already being done.