]> git.sesse.net Git - ffmpeg/blobdiff - libavdevice/dshow.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavdevice / dshow.c
index 354e66372351bd7015d8412bdd10af47c0c64ab3..61f0d08a2fcbc6cd830b90c50e0918b7bcf6ced4 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "libavutil/parseutils.h"
 #include "libavutil/opt.h"
-
+#include "libavformat/internal.h"
 #include "avdevice.h"
 #include "dshow.h"
 
@@ -72,6 +72,7 @@ static enum PixelFormat dshow_pixfmt(DWORD biCompression, WORD biBitCount)
         return PIX_FMT_YUYV422;
     case MKTAG('I', '4', '2', '0'):
         return PIX_FMT_YUV420P;
+    case BI_BITFIELDS:
     case BI_RGB:
         switch(biBitCount) { /* 1-8 are untested */
             case 1:
@@ -711,7 +712,7 @@ dshow_add_device(AVFormatContext *avctx, AVFormatParameters *ap,
             codec->bits_per_coded_sample = bih->biBitCount;
         } else {
             codec->codec_id = CODEC_ID_RAWVIDEO;
-            if (bih->biCompression == BI_RGB) {
+            if (bih->biCompression == BI_RGB || bih->biCompression == BI_BITFIELDS) {
                 codec->bits_per_coded_sample = bih->biBitCount;
                 codec->extradata = av_malloc(9 + FF_INPUT_BUFFER_PADDING_SIZE);
                 if (codec->extradata) {
@@ -738,7 +739,7 @@ dshow_add_device(AVFormatContext *avctx, AVFormatParameters *ap,
         codec->channels    = fx->nChannels;
     }
 
-    av_set_pts_info(st, 64, 1, 10000000);
+    avpriv_set_pts_info(st, 64, 1, 10000000);
 
     ret = 0;