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

不知道是不是正確的?請大家指導

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