2006-05-10 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
- * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory instead
- of memset to avoid <string.h>. Still need a fix for memcmp.
+ * include/amvideo.h (BIT_MASKS_MATCH): Don't use memcmp to
+ avoid dependency on <string.h>.
+ There's no Win32 equivalent for memcmp:
+ http://support.microsoft.com/default.aspx?scid=kb;EN-US;q99456
+
+2006-05-10 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
+
+ * include/amvideo.h (RESET_MASKS,RESET_PALETTE): Use ZeroMemory
+ instead of memset to avoid dependency on <string.h>.
* include/dshow.h (AM_ASPECT_RATIO_MODE,AM_WST_DRAWBGMODE,AM_WST_LEVEL)
(AMExtendedSeekingCapabilities,AM_WST_SERVICE,AM_WST_STATE)
(AM_WST_STYLE): Add enums.
#define AMDDS_YUV (AMDDS_YUVOFF|AMDDS_YUVOVR|AMDDS_YUVFLP)
#define AMDDS_RGB (AMDDS_RGBOFF|AMDDS_RGBOVR|AMDDS_RGBFLP)
#define AMDDS_PRIMARY (AMDDS_DCIPS|AMDDS_PS)
-#define BIT_MASKS_MATCH(pbmi1,pbmi2) (!memcmp((pbmi1)->dwBitMasks,(pbmi2)->dwBitMasks,3*sizeof(DWORD)))
+#define BIT_MASKS_MATCH(pbmi1,pbmi2) ((pbmi1)->dwBitMasks[0] == (pbmi2)->dwBitMasks[0] && (pbmi1)->dwBitMasks[1] == (pbmi2)->dwBitMasks[1] && (pbmi1)->dwBitMasks[2] == (pbmi2)->dwBitMasks[2])
#define PALETTISED(pbmi) ((pbmi)->bmiHeader.biBitCount <= 8)
#define PALETTE_ENTRIES(pbmi) (1 << (pbmi)->bmiHeader.biBitCount)
#define RESET_MASKS(pbmi) (ZeroMemory((PVOID)(pbmi)->dwBitFields,3*sizeof(DWORD)))