DisplayVideoFrameSync() problem with interlacing

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

Martin Pulec

  • Posts: 4
  • Joined: Mon May 02, 2016 11:32 am

DisplayVideoFrameSync() problem with interlacing

PostMon May 02, 2016 12:38 pm

Hi,

is anyone using IDeckLinkOutput::DisplayVideoFrameSync() to output video frames? I have following problem - I am trying to playback 1080i50 content. When I use ScheduleVideoFrame(), everything is OK. However, when I use DisplayVideoFrameSync() with the same content, framebuffer with both fields interleaved, first line from upper field, second from lower etc., resulting stream looks like to have the fields switched (as if the output framebuffer should have been with lower field first).

Does anyone has a similar experience? Or, on the contrary, can confirm that the behaviour is correct and I should search for the solution elsewhere?

Thanks,
Martin
Offline

Nicholas Gill

Blackmagic Design

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

Re: DisplayVideoFrameSync() problem with interlacing

PostFri May 13, 2016 2:57 am

Posting result of discussion in developer support for general information.

This was identified as the interaction of DisplayVideoFrameSync and the "Remove Field Jitter On Pause" option, which if selected outputs only the first field while playback is paused or seeking (typically implemented using DisplayVideoFrameSync).

If using DisplayVideoFrameSync for video playback, disabling the "Remove Field Jitter On Pause" option will display both fields as expected / intended.

-nick
Offline

Martin Pulec

  • Posts: 4
  • Joined: Mon May 02, 2016 11:32 am

Re: DisplayVideoFrameSync() problem with interlacing

PostMon May 16, 2016 9:04 am

Yes, I can confirm that disabling this feature has really solved the issue.

Thanks a lot for the assistance,
Martin

Nicholas Gill wrote:Posting result of discussion in developer support for general information.

This was identified as the interaction of DisplayVideoFrameSync and the "Remove Field Jitter On Pause" option, which if selected outputs only the first field while playback is paused or seeking (typically implemented using DisplayVideoFrameSync).

If using DisplayVideoFrameSync for video playback, disabling the "Remove Field Jitter On Pause" option will display both fields as expected / intended.

-nick
Offline

Maurizio Bianchella

  • Posts: 17
  • Joined: Wed Dec 10, 2014 2:15 pm

Re: DisplayVideoFrameSync() problem with interlacing

PostThu May 19, 2016 1:44 pm

Worked also for me.
Thanks
Maurizio Bianchella
Italy
Offline

Sayit Belet

  • Posts: 3
  • Joined: Thu Jan 11, 2018 9:23 am

Re: DisplayVideoFrameSync() problem with interlacing

PostThu Jan 25, 2018 11:33 am

Anyone has same problem, here is C++ code snipped, that is what you should do to fix output, as example:

Code: Select all
HRESULT result = deckLinkConfiguration->SetFlag(bmdDeckLinkConfigFieldFlickerRemoval, false);
if (result != S_OK) {
   fprintf(stderr, "SetFlag(bmdDeckLinkConfigFieldFlickerRemoval, false) failed - result = %08x\n", result);
}


deckLinkConfiguration here is pointer to IDeckLinkConfiguration instance.

Hope that helps.

Return to Software Developers

Who is online

Users browsing this forum: Baidu [Spider] and 7 guests