PDA

View Full Version : Error occurs when switching off automatic debayering for the sink



powerdoll
November 1, 2010, 02:17:06
Hi,

I am trying to get the BY8 format for the sink. So I followed the instructions in the technical article of Debaying. It says "In order to switch off automatic debayering for the sink, you have to specify a bayer format, e.g. eBY8 or MEDIASUBTYPE_BY_8 when creating the sink." Thus, when I create the sink I change the format from eRGB24 to eBY8:

m_pSink = FrameHandlerSink::create( DShowLib::eBY8, 3 );

However, when I run it, it gave me the following error:
Error = startLive failed.
...
Error = The sink could not be connected. This may occur when there are no intermediate filters available which can transform the source format to the destination format of the sink.

please find the attached for the whole error message.

I also tried to swith off the overlay bitmap before creating the sink by:
m_cGrabber.setOverlayBitmapPathPosition( ePP_NONE );

then there is an exception during the CListener::DoImageProcessing, seems the pInf which is the BitmapInfoHeader is empty.
smart_ptr<BITMAPINFOHEADER> pInf = pBuffer->getBitmapInfoHeader();

Is there a way I can get access to the raw data and manipulate on it?
Thank you very much!



Environment:
DFK 41AF02 (support BY8 1280x960 output)
Visual Studio 2005
IC Imaging Control 3.0
Created the project using: IC dialog application, enabled image processing and display the resulting image. The above lines ars the only lines I have changed, other code remains as they are created by the project wizzard.

Stefan Geissler
November 1, 2010, 10:18:52
Hello,

you must set the sink to Y800 to avoid debayering of the Y800 video format

m_pSink = FrameHandlerSink::create( DShowLib::eY800, 3 );

powerdoll
November 2, 2010, 03:42:44
Thank you very much! It works.