본문스크랩 Dshow 구조도

DirectShow 기술을 사용하여 필터를 개발하는데 조금이나마 도움이 되었으면 좋겠네요
모든 baseclass에 대한 클래스 다이어그램은 아니지만,,,
일반적으로 많이 사용되는 클래스에 대해 정리해 보았습니다…
 
 
 
 
 
< 필터 관련 클래스 >
 
사용자 삽입 이미지

 

 


 

 

< 핀 관련 클래스 >

사용자 삽입 이미지

 

본문스크랩 BITMAPINFO

typedef struct tagBITMAPINFO
{
      BITMAPINFOHEADER bmiHeader;  

      RGBQUAD          bmiColors[1];
} BITMAPINFO, *PBITMAPINFO;

 

/////////////////////////////////////////////////////////////////////

 

static BITMAPINFO *pbmi = (BITMAPINFO *)malloc(sizeof(BITMAPINFOHEADER) + (sizeof(RGBQUAD)*256));

 pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
 pbmi->bmiHeader.biWidth = px_width;
 pbmi->bmiHeader.biHeight = px_height;
 pbmi->bmiHeader.biPlanes = 1;
 pbmi->bmiHeader.biBitCount = 24;
 pbmi->bmiHeader.biCompression = BI_RGB;
 pbmi->bmiHeader.biSizeImage = px_width * px_height;
 pbmi->bmiHeader.biXPelsPerMeter = 0;
 pbmi->bmiHeader.biYPelsPerMeter = 0;
 pbmi->bmiHeader.biClrUsed = 0;
 pbmi->bmiHeader.biClrImportant = 0;

 // 컬러 세팅
 for (i=0; i<256; ++i)
 {
   pbmi->bmiColors[i].rgbRed = i;
   pbmi->bmiColors[i].rgbGreen = i;
   pbmi->bmiColors[i].rgbBlue = i;
   pbmi->bmiColors[i].rgbReserved = 0;
 }