diff loader/dmo/DMO_VideoDecoder.c @ 15574:0feaed9986d3

This currently sends control characters to the terminal instead of meaningful names. Since some names are longer than 4 characters, I propose the following approach. Patch by + a ! guru #at# sympatico ! ca +
author rtognimp
date Thu, 26 May 2005 21:57:24 +0000
parents 858e2605726c
children b612f732e420
line wrap: on
line diff
--- a/loader/dmo/DMO_VideoDecoder.c	Thu May 26 16:33:28 2005 +0000
+++ b/loader/dmo/DMO_VideoDecoder.c	Thu May 26 21:57:24 2005 +0000
@@ -73,21 +73,22 @@
     unsigned int bits;
     const GUID* subtype;
     int cap;
+    char *name;
 	    };
             
 static ct check[] = {
-    { fccI420, 12, &MEDIASUBTYPE_I420, CAP_I420 },
-    { fccYV12, 12, &MEDIASUBTYPE_YV12, CAP_YV12 },
-    { fccYUY2, 16, &MEDIASUBTYPE_YUY2, CAP_YUY2 },
-    { fccUYVY, 16, &MEDIASUBTYPE_UYVY, CAP_UYVY },
-    { fccYVYU, 16, &MEDIASUBTYPE_YVYU, CAP_YVYU },
-    { fccIYUV, 24, &MEDIASUBTYPE_IYUV, CAP_IYUV },
+    { fccI420, 12, &MEDIASUBTYPE_I420,   CAP_I420, NULL     },
+    { fccYV12, 12, &MEDIASUBTYPE_YV12,   CAP_YV12, NULL     },
+    { fccYUY2, 16, &MEDIASUBTYPE_YUY2,   CAP_YUY2, NULL     },
+    { fccUYVY, 16, &MEDIASUBTYPE_UYVY,   CAP_UYVY, NULL     },
+    { fccYVYU, 16, &MEDIASUBTYPE_YVYU,   CAP_YVYU, NULL     },
+    { fccIYUV, 24, &MEDIASUBTYPE_IYUV,   CAP_IYUV, NULL     },
 
-    {      8,  8, &MEDIASUBTYPE_RGB8, CAP_NONE },
-    {     15, 16, &MEDIASUBTYPE_RGB555, CAP_NONE },
-    {     16, 16, &MEDIASUBTYPE_RGB565, CAP_NONE },
-    {     24, 24, &MEDIASUBTYPE_RGB24, CAP_NONE },
-    {     32, 32, &MEDIASUBTYPE_RGB32, CAP_NONE },
+    {       8,  8, &MEDIASUBTYPE_RGB8,   CAP_NONE, "RGB8"   },
+    {      15, 16, &MEDIASUBTYPE_RGB555, CAP_NONE, "RGB555" },
+    {      16, 16, &MEDIASUBTYPE_RGB565, CAP_NONE, "RGB565" },
+    {      24, 24, &MEDIASUBTYPE_RGB24,  CAP_NONE, "RGB24"  },
+    {      32, 32, &MEDIASUBTYPE_RGB32,  CAP_NONE, "RGB32"  },
 
     {0,0,NULL,0},
 };
@@ -230,7 +231,7 @@
               
 	    this->m_Caps = CAP_NONE;
 
-	    printf("Decoder supports the following YUV formats: ");
+	    printf("Decoder supports the following formats: ");
 	    for (c = check; c->bits; c++)
 	    {
 		this->m_sVhdr2->bmiHeader.biBitCount = c->bits;
@@ -241,7 +242,10 @@
 		if (!result)
 		{
 		    this->m_Caps = (this->m_Caps | c->cap);
-		    printf("%.4s ", (char*) &c->fcc);
+		    if (c->name)
+			printf("%s ", c->name);
+		    else
+			printf("%.4s ", (char*) &c->fcc);
 		}
 	    }
 	    printf("\n");