2012-04-27 8 views
0

o/p 비디오를 특정 관심 영역으로 자르는 필터를 directshow에서 만들고 싶습니다. "[DIBSIZE]를 사용하여 [biWidth, biHeight 및 biSizeImage]를 변경하여 포인터를 할당 한 후 pMediatype의 비디오 헤더를 수정 중입니다. 자세한 내용은directshow 비디오 크로 핑 필터

입니다.
// pvih is a pointer to pMediaType->pbFormat of type videoheader 
//pInVh is a pointer to CurrentMediaType().pbFormat of the i/p of type videoheader 
pvih->rcSource = pInVh->rcSource; 
pvih->rcTarget = pInVh->rcTarget; 
//bitmap settings 
pvih->bmiHeader.biWidth = _Width;//width of region of interest 
pvih->bmiHeader.biHeight = _Height;// height of region of interest 
m_Width=pInVh->bmiHeader.biWidth; 
m_Height=pInVh->bmiHeader.biHeight; 
pvih->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); 
pvih->bmiHeader.biPlanes = 1;    //1 image plane 
pvih->bmiHeader.biBitCount = 24;   //24bit 
pvih->bmiHeader.biCompression = BI_RGB; //simply three values 
pvih->bmiHeader.biSizeImage = DIBSIZE(pvih->bmiHeader); 


//mediatype settings 
pMediaType->majortype = MEDIATYPE_Video; //a video stream 
pMediaType->subtype = MEDIASUBTYPE_RGB24; //24bit rgb samples 
pMediaType->bFixedSizeSamples = true;  //no varying size 
pMediaType->bTemporalCompression = false; //no compression 
pMediaType->formattype = FORMAT_VideoInfo; //VIDEOINFOHEADER 
pMediaType->lSampleSize = pvih->bmiHeader.biWidth * pvih->bmiHeader.biHeight * pvih- >bmiHeader.biBitCount/8; //size of one sample in bytes 
pMediaType->cbFormat = sizeof(VIDEOINFOHEADER); //additiona format setting 

그러나 내가 오려 낸 프레임을 샘플링 프레임에 채울 때 o/p 비디오는 쓰레기이며 일정한 색으로 채우기 위해 노력했지만 o/p는 정확하지 않습니다. http://videoprocessing.sourceforge.net/#crop

가되어이 문제를 ?? 해결하기 위해

답변

0

어떤 도움이인가 사용할 수있는 소스 코드.

+0

나는 하나를 다운로드했는데, 소스 코드가 없다. 단지 dll 파일이다. 나는 filtergraph에서 사용할 수 없었다. – Karam

+0

죄송합니다. SVN 액세스가 있다고 생각했습니다. – Pete

관련 문제