dshow: use standardized raw pixel format lookup
authorrogerdpack <rogerpack2005@gmail.com>
Wed, 16 Jan 2013 00:07:54 +0000 (17:07 -0700)
committerrogerdpack <rogerpack2005@gmail.com>
Wed, 16 Jan 2013 00:07:54 +0000 (17:07 -0700)
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
libavdevice/dshow.c

index 83b5e01..342831d 100644 (file)
@@ -25,6 +25,7 @@
 #include "libavformat/internal.h"
 #include "avdevice.h"
 #include "dshow_capture.h"
+#include "libavcodec/raw.h"
 
 struct dshow_ctx {
     const AVClass *class;
@@ -73,12 +74,6 @@ struct dshow_ctx {
 static enum AVPixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount)
 {
     switch(biCompression) {
-    case MKTAG('U', 'Y', 'V', 'Y'):
-        return AV_PIX_FMT_UYVY422;
-    case MKTAG('Y', 'U', 'Y', '2'):
-        return AV_PIX_FMT_YUYV422;
-    case MKTAG('I', '4', '2', '0'):
-        return AV_PIX_FMT_YUV420P;
     case BI_BITFIELDS:
     case BI_RGB:
         switch(biBitCount) { /* 1-8 are untested */
@@ -96,7 +91,7 @@ static enum AVPixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount)
                 return AV_PIX_FMT_RGB32;
         }
     }
-    return AV_PIX_FMT_NONE;
+    return avpriv_find_pix_fmt(ff_raw_pix_fmt_tags, biCompression); // all others
 }
 
 static enum AVCodecID dshow_codecid(DWORD biCompression)