No VANC line available with interlaced video format ?

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

Emmanuel Roche

  • Posts: 1
  • Joined: Mon Dec 11, 2017 3:59 pm

No VANC line available with interlaced video format ?

PostMon Dec 11, 2017 4:14 pm

Hi everyone,

I'm not really a video guy, so I could really be asking beginner questions here: sorry about that, but still I think I need a little help from you:

In my company we are building a software that will output SDI video using a DeckLink Duo 2 card.

Those video streams should contain KLV data in some "VANC line".

And so, what I noticed is that:

A. When I use a video format such as 720p@60Hz or 1080p@30Hz, then I can configure everything as desired and then put some date on the "line 25"

B. If I try to use an interlaced format instead such as 1080i@59.94Hz of 1080i@50Hz: Then even if I can setup everything as desired, then I can't retrieve that line 25 for writting. The call to the following function will fail:

anc1->GetBufferForVerticalBlankingLine(startLine, (void**)&buffer)

Actually, I also tried all possible values for "startLine" above in the range [0,59] and none of them can be retrieved with the interlaced video formats (while all of them can be retrieved with the progressive formats).

=> So the question I have is: is this normal and expected ?

- I actually see a few options here:

A. I couldn't find any standard document stating that we could have "VANC" lines with interlaced formats, so maybe this is just not supported at all ?

B. Or maybe this is a limitation due to the current Decklink card we are using ?

C. Maybe it's a driver issue somehow ?

D. Or maybe I'm dong something terribly wrong :-S...

Thanks for your help and clarification on this point!!

Cheers,

Emmanuel.
Offline

Cameron Nichols

Blackmagic Design

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

Re: No VANC line available with interlaced video format ?

PostWed Dec 20, 2017 12:18 am

Hi Emmanuel,

For 1080p30, the active video begins at line 42, so call to GetBufferForVerticalBlankingLine() method with line 25 will be OK.

However in interlaced modes, you need to factor that the active video will begin on line 21, so call to GetBufferForVerticalBlankingLine() with line 25 will return HRESULT=E_INVALIDARG.

Please have a look at the sample VancOutput, from the Examples project folder in SDK package. Modifying the same with:
Code: Select all
const BMDDisplayMode      kDisplayMode = bmdModeHD1080i50;
...
const INT32_UNSIGNED kSDIRemoteControlLine = 13;
will run as expected, but will fail when kSDIRemoteControlLine = 25.

Regards
Cameron

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 15 guests