Forcing a VideoInputFormatChanged

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

Bobby Mah

  • Posts: 7
  • Joined: Mon Apr 11, 2016 5:35 pm

Forcing a VideoInputFormatChanged

PostMon Apr 11, 2016 5:45 pm

Hello all,

I don't currently have a DeckLink Duo card (planning to buy it soon), so I cannot test this myself. If someone will be kind enough to answer these two questions it will help me make the right decision (is the DeckLink Duo the right card for me?)

1. Does the DeckLink Duo support video format detection? If not then ignore question 2.

2. I would like to drive the creation on memory data structures that copy video data to be based upon the IDeckLinkDisplayMode reported by VideoInputFormatChanged. If I was to call IDeckLinkInput's EnableVideoInput, StartStreams (and any subsequent call needed to start capturing) with the first parameter as bmdModeUnknown while the inputs are connected to a valid video source, will I get the VideoInputFormatChanged event with the correct formats for the video inputs? Or will EnableVideoInput return an error?

Thanks for your answers.
Offline

Nicholas Gill

Blackmagic Design

  • Posts: 169
  • Joined: Mon May 04, 2015 10:28 pm

Re: Forcing a VideoInputFormatChanged

PostTue Apr 12, 2016 1:47 am

Hi Bobby,

I can confirm that the DeckLink Duo does support video format detection.

However, IDeckLinkInput::EnableVideoInput requires a valid video input mode to start capture. It will return an error if the application attempts to start video capture with bmdModeUnknown.

Your application can still operate in your intended fashion, by picking an initial video mode, e.g. bmdModeHD1080p25 [1], and then initialising the application data structures for this mode.

Then, if the input video mode is 1080p25 the application can immediately begin capture and processing of video frames.

If the input is not 1080p25, the application will receive a call to VideoInputFormatChanged with the detected display mode, and can re-initialise the data structures with the detected display mode.

Cheers,

-nick

[1]
The application can use either of the following interfaces to obtain a reference to an IDeckLinkDisplayMode instance representing an input BMDDisplayMode:

2.5.4.1 IDeckLinkInput::DoesSupportVideoMode method
2.5.4.2 IDeckLinkInput::GetDisplayModeIterator method

Return to Software Developers

Who is online

Users browsing this forum: roger.magnusson and 38 guests