|
@@ -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) {
|