CMediaType的加载:mPreferred.SetType(&MEDIATYPE_Video);
mPreferred.SetFormatType(&FORMAT_VideoInfo);//RGB
mPreferred.SetTemporalCompression(FALSE);
mPreferred.SetSubtype(&MEDIASUBTYPE_YV12);
mPreferred.SetSampleSize(pvi->bmiHeader.biSizeImage);
mPreferred.SetFormat(p,sizeof(VIDEOINFOHEADER));
p的类型是btye *,指向的是含有文件信息的数据块,也就是说加载到了Sample上。
但是setformattype(&FORMAT_VideoInfo),这种情况下是不会自动鉴别出格式的,
还要定义 pvi->bmiHeader.biCompression = BI_RLE4;不同的压缩格式,定义不同
如果在Sample中含有头文件信息,可以直接读出来,赋值给新的VIDEOINFOHEADER,用这个来控制Filter上的各种情况
问大家一个问题:
下面这两个值是多少:sizeof(VIDEOINFO)和sizeof(VIDEOINFOHEADER)?我得到的是88和1128
不知道是不是正确的?请大家指导