source filter成型

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

不知道是不是正确的?请大家指导

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章