amstream: Use nameless unions/structs.

This commit is contained in:
Alexandre Julliard 2023-07-12 15:45:41 +02:00
parent d37cf9b04a
commit 26d954678a

View file

@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#define NONAMELESSUNION
#define COBJMACROS #define COBJMACROS
#include "amstream_private.h" #include "amstream_private.h"
#include "wine/debug.h" #include "wine/debug.h"
@ -123,14 +122,14 @@ static HRESULT process_update(struct ddraw_sample *sample, int stride, BYTE *poi
if (FAILED(hr)) if (FAILED(hr))
return hr; return hr;
row_size = (sample->rect.right - sample->rect.left) * desc.ddpfPixelFormat.u1.dwRGBBitCount / 8; row_size = (sample->rect.right - sample->rect.left) * desc.ddpfPixelFormat.dwRGBBitCount / 8;
src_row = pointer; src_row = pointer;
dst_row = desc.lpSurface; dst_row = desc.lpSurface;
for (row = sample->rect.top; row < sample->rect.bottom; ++row) for (row = sample->rect.top; row < sample->rect.bottom; ++row)
{ {
memcpy(dst_row, src_row, row_size); memcpy(dst_row, src_row, row_size);
src_row += stride; src_row += stride;
dst_row += desc.u1.lPitch; dst_row += desc.lPitch;
} }
hr = IDirectDrawSurface_Unlock(sample->surface, desc.lpSurface); hr = IDirectDrawSurface_Unlock(sample->surface, desc.lpSurface);
@ -155,9 +154,9 @@ static BOOL is_format_compatible(struct ddraw_stream *stream,
{ {
if (stream->format.pf.dwFlags & DDPF_FOURCC) if (stream->format.pf.dwFlags & DDPF_FOURCC)
return FALSE; return FALSE;
if (stream->format.pf.u1.dwRGBBitCount != connection_pf->u1.dwRGBBitCount) if (stream->format.pf.dwRGBBitCount != connection_pf->dwRGBBitCount)
return FALSE; return FALSE;
if (stream->format.pf.u1.dwRGBBitCount == 16 && stream->format.pf.u3.dwGBitMask != connection_pf->u3.dwGBitMask) if (stream->format.pf.dwRGBBitCount == 16 && stream->format.pf.dwGBitMask != connection_pf->dwGBitMask)
return FALSE; return FALSE;
} }
return TRUE; return TRUE;
@ -551,7 +550,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
TRACE("flags %#lx, pixel format flags %#lx, bit count %lu, size %lux%lu.\n", TRACE("flags %#lx, pixel format flags %#lx, bit count %lu, size %lux%lu.\n",
format->dwFlags, format->ddpfPixelFormat.dwFlags, format->dwFlags, format->ddpfPixelFormat.dwFlags,
format->ddpfPixelFormat.u1.dwRGBBitCount, format->dwWidth, format->dwHeight); format->ddpfPixelFormat.dwRGBBitCount, format->dwWidth, format->dwHeight);
if (format->dwFlags & DDSD_PIXELFORMAT) if (format->dwFlags & DDSD_PIXELFORMAT)
{ {
@ -560,7 +559,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
if (format->ddpfPixelFormat.dwFlags & DDPF_FOURCC) if (format->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
{ {
if (!format->ddpfPixelFormat.u1.dwRGBBitCount) if (!format->ddpfPixelFormat.dwRGBBitCount)
return E_INVALIDARG; return E_INVALIDARG;
} }
else else
@ -572,7 +571,7 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
if (!(format->ddpfPixelFormat.dwFlags & DDPF_RGB)) if (!(format->ddpfPixelFormat.dwFlags & DDPF_RGB))
return DDERR_INVALIDSURFACETYPE; return DDERR_INVALIDSURFACETYPE;
switch (format->ddpfPixelFormat.u1.dwRGBBitCount) switch (format->ddpfPixelFormat.dwRGBBitCount)
{ {
case 8: case 8:
if (!(format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)) if (!(format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8))
@ -581,21 +580,21 @@ static HRESULT WINAPI ddraw_IDirectDrawMediaStream_SetFormat(IDirectDrawMediaStr
case 16: case 16:
if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
return DDERR_INVALIDSURFACETYPE; return DDERR_INVALIDSURFACETYPE;
if ((format->ddpfPixelFormat.u2.dwRBitMask != 0x7c00 || if ((format->ddpfPixelFormat.dwRBitMask != 0x7c00 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x03e0 || format->ddpfPixelFormat.dwGBitMask != 0x03e0 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x001f) && format->ddpfPixelFormat.dwBBitMask != 0x001f) &&
(format->ddpfPixelFormat.u2.dwRBitMask != 0xf800 || (format->ddpfPixelFormat.dwRBitMask != 0xf800 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x07e0 || format->ddpfPixelFormat.dwGBitMask != 0x07e0 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x001f)) format->ddpfPixelFormat.dwBBitMask != 0x001f))
return DDERR_INVALIDSURFACETYPE; return DDERR_INVALIDSURFACETYPE;
break; break;
case 24: case 24:
case 32: case 32:
if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) if (format->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
return DDERR_INVALIDSURFACETYPE; return DDERR_INVALIDSURFACETYPE;
if (format->ddpfPixelFormat.u2.dwRBitMask != 0xff0000 || if (format->ddpfPixelFormat.dwRBitMask != 0xff0000 ||
format->ddpfPixelFormat.u3.dwGBitMask != 0x00ff00 || format->ddpfPixelFormat.dwGBitMask != 0x00ff00 ||
format->ddpfPixelFormat.u4.dwBBitMask != 0x0000ff) format->ddpfPixelFormat.dwBBitMask != 0x0000ff)
return DDERR_INVALIDSURFACETYPE; return DDERR_INVALIDSURFACETYPE;
break; break;
default: default:
@ -958,35 +957,35 @@ static HRESULT WINAPI ddraw_sink_ReceiveConnection(IPin *iface, IPin *peer, cons
if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB8)) if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB8))
{ {
pf.dwFlags |= DDPF_PALETTEINDEXED8; pf.dwFlags |= DDPF_PALETTEINDEXED8;
pf.u1.dwRGBBitCount = 8; pf.dwRGBBitCount = 8;
} }
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB555)) else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB555))
{ {
pf.u1.dwRGBBitCount = 16; pf.dwRGBBitCount = 16;
pf.u2.dwRBitMask = 0x7c00; pf.dwRBitMask = 0x7c00;
pf.u3.dwGBitMask = 0x03e0; pf.dwGBitMask = 0x03e0;
pf.u4.dwBBitMask = 0x001f; pf.dwBBitMask = 0x001f;
} }
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB565)) else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB565))
{ {
pf.u1.dwRGBBitCount = 16; pf.dwRGBBitCount = 16;
pf.u2.dwRBitMask = 0xf800; pf.dwRBitMask = 0xf800;
pf.u3.dwGBitMask = 0x07e0; pf.dwGBitMask = 0x07e0;
pf.u4.dwBBitMask = 0x001f; pf.dwBBitMask = 0x001f;
} }
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB24)) else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB24))
{ {
pf.u1.dwRGBBitCount = 24; pf.dwRGBBitCount = 24;
pf.u2.dwRBitMask = 0xff0000; pf.dwRBitMask = 0xff0000;
pf.u3.dwGBitMask = 0x00ff00; pf.dwGBitMask = 0x00ff00;
pf.u4.dwBBitMask = 0x0000ff; pf.dwBBitMask = 0x0000ff;
} }
else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB32)) else if (IsEqualGUID(&mt->subtype, &MEDIASUBTYPE_RGB32))
{ {
pf.u1.dwRGBBitCount = 32; pf.dwRGBBitCount = 32;
pf.u2.dwRBitMask = 0xff0000; pf.dwRBitMask = 0xff0000;
pf.u3.dwGBitMask = 0x00ff00; pf.dwGBitMask = 0x00ff00;
pf.u4.dwBBitMask = 0x0000ff; pf.dwBBitMask = 0x0000ff;
} }
else else
{ {
@ -1776,11 +1775,11 @@ static HRESULT ddrawstreamsample_create(struct ddraw_stream *parent, IDirectDraw
{ {
desc.ddpfPixelFormat.dwSize = sizeof(desc.ddpfPixelFormat); desc.ddpfPixelFormat.dwSize = sizeof(desc.ddpfPixelFormat);
desc.ddpfPixelFormat.dwFlags = DDPF_RGB; desc.ddpfPixelFormat.dwFlags = DDPF_RGB;
desc.ddpfPixelFormat.u1.dwRGBBitCount = 32; desc.ddpfPixelFormat.dwRGBBitCount = 32;
desc.ddpfPixelFormat.u2.dwRBitMask = 0xff0000; desc.ddpfPixelFormat.dwRBitMask = 0xff0000;
desc.ddpfPixelFormat.u3.dwGBitMask = 0x00ff00; desc.ddpfPixelFormat.dwGBitMask = 0x00ff00;
desc.ddpfPixelFormat.u4.dwBBitMask = 0x0000ff; desc.ddpfPixelFormat.dwBBitMask = 0x0000ff;
desc.ddpfPixelFormat.u5.dwRGBAlphaBitMask = 0; desc.ddpfPixelFormat.dwRGBAlphaBitMask = 0;
} }
desc.ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN; desc.ddsCaps.dwCaps = DDSCAPS_SYSTEMMEMORY|DDSCAPS_OFFSCREENPLAIN;
desc.lpSurface = NULL; desc.lpSurface = NULL;