DeckLink Duo 2 - Avoiding PsF output?

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

Jason Rhodes

  • Posts: 12
  • Joined: Thu Oct 20, 2016 8:18 pm

DeckLink Duo 2 - Avoiding PsF output?

PostThu Sep 14, 2017 1:36 pm

I have a DeckLink Duo 2 card with the 10.9.7 drivers.

I'm using the card to output a 1080p29.97 stream with custom VANC data in all available lines.

On the back-end, I'm capturing this data and extracting the VANC data from each line, usually without issue. However, occasionally the receiver begins to only get half of the available Ancillary Data lines.

When I check on my Duo 2 via the Desktop Video Setup app, the Output Format for that channel has changed from "1080p29.97" to "1080PsF29.97," which I assume means it is sending segmented/progressive frames.

Nothing in my output is (intentionally) doing that, so how does it get into this mode? And more importantly, how do I avoid it and ensure I am always sending a frame with all scan lines ("bmdProgressiveFrame")?

I see in the SDK that I can query the "BMDFieldDominance" flag, but I see no method to set this flag.

Any insight?
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 443
  • Joined: Mon Sep 04, 2017 4:05 am

Re: DeckLink Duo 2 - Avoiding PsF output?

PostMon Sep 18, 2017 1:38 am

Hi Jason,

The setting to enable/disable PsF output can be controlled with IDeckLinkConfiguration using the bmdDeckLinkConfigOutput1080pAsPsF configuration items [1],[2]

Example of disabling PsF (where deckLink is of type IDeckLink*):

Code: Select all
if (deckLink->QueryInterface(IID_IDeckLinkConfiguration, (void **)&deckLinkConfiguration) != S_OK)
{
    printf("Could not get the IDeckLinkConfiguration interface\n");
    // error handler
}

result = deckLinkConfiguration->SetFlag(bmdDeckLinkConfigOutput1080pAsPsF, false); // For progressive video

if (FAILED(result))
    // error handler


Be aware that PsF settings will be reverted when IDeckLinkConfiguration object is released, unless the settings are saved with DeckLinkConfiguration::WriteConfigurationToPreferences() [3].

[1] DeckLink SDK Manual, 2.5.15 **IDeckLinkConfiguration** Interface
[2] DeckLink SDK Manual, 2.7.18 **DeckLink Configuration ID**
[3] DeckLink SDK Manual, 2.5.15.9 **IDeckLinkConfiguration::WriteConfigurationToPreferences** method
Offline

Jason Rhodes

  • Posts: 12
  • Joined: Thu Oct 20, 2016 8:18 pm

Re: DeckLink Duo 2 - Avoiding PsF output?

PostMon Sep 18, 2017 7:36 pm

Thanks Cameron,

I initially said 10.9.7 drivers, but I'm actually using the 10.9.3 drivers.

I couldn't find that specific Flag in my header file, but the SDK paragraph you referenced did provide the following, which I'm in the process of running and verifying (looking good so far):

Code: Select all
 result = deckLinkConfiguration->SetFlag( bmdDeckLinkConfigUse1080pNotPsF,
                                          true );


I don't know why my initial search for "PsF" didn't come across this in the documentation before I posted.


[2] DeckLink SDK Manual, 2.7.18 **DeckLink Configuration ID**
Code: Select all
 bmdDeckLinkConfigUse1080pNotPsF
  : Flag
  : In 1080 or 2K modes use P not PsF if this setting is enabled
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 443
  • Joined: Mon Sep 04, 2017 4:05 am

Re: DeckLink Duo 2 - Avoiding PsF output?

PostWed Sep 20, 2017 1:18 am

Hi Jason,

Yes your observation is correct - prior to 10.9.5 drivers, there was single configuration parameter bmdDeckLinkConfigUse1080pNotPsF. Setting to true will capture and output in 1080p progressive video, not PsF.

The example I provided in my previous post is for 10.9.5 or later drivers, which has seperate configuration parameters for capture and output.

Regards
Cameron

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 13 guests