Browse Source

Fix multi-char constant warnings

BtbN 11 years ago
parent
commit
9d88c10ca4
1 changed files with 18 additions and 15 deletions
  1. 18 15
      libobs/media-io/video-fourcc.c

+ 18 - 15
libobs/media-io/video-fourcc.c

@@ -18,28 +18,31 @@
 #include "../util/c99defs.h"
 #include "video-io.h"
 
+#define MAKE_FOURCC(a, b, c, d) \
+	((uint32_t)(((d) << 24) | ((c) << 16) | ((b) << 8) | (a)))
+
 enum video_format video_format_from_fourcc(uint32_t fourcc)
 {
 	switch (fourcc) {
-		case 'UYVY':
-		case 'HDYC':
-		case 'UYNV':
-		case 'UYNY':
-		case 'uyv1':
-		case '2vuy':
-		case '2Vuy':
+		case MAKE_FOURCC('U','Y','V','Y'):
+		case MAKE_FOURCC('H','D','Y','C'):
+		case MAKE_FOURCC('U','Y','N','V'):
+		case MAKE_FOURCC('U','Y','N','Y'):
+		case MAKE_FOURCC('u','y','v','1'):
+		case MAKE_FOURCC('2','v','u','y'):
+		case MAKE_FOURCC('2','V','u','y'):
 			return VIDEO_FORMAT_UYVY;
 
-		case 'YUY2':
-		case 'Y422':
-		case 'V422':
-		case 'VYUY':
-		case 'YUNV':
-		case 'yuv2':
-		case 'yuvs':
+		case MAKE_FOURCC('Y','U','Y','2'):
+		case MAKE_FOURCC('Y','4','2','2'):
+		case MAKE_FOURCC('V','4','2','2'):
+		case MAKE_FOURCC('V','Y','U','Y'):
+		case MAKE_FOURCC('Y','U','N','V'):
+		case MAKE_FOURCC('y','u','v','2'):
+		case MAKE_FOURCC('y','u','v','s'):
 			return VIDEO_FORMAT_YUY2;
 
-		case 'YVYU':
+		case MAKE_FOURCC('Y','V','Y','U'):
 			return VIDEO_FORMAT_YVYU;
 		
 	}