2.5.19 IDeckLinkVideoFrameAncillary Interface

The IDeckLinkVideoFrameAncillary interface represents the ancillary data associated with a video frame. CEA-708 closed-captions are encoded with data bits in the 2 least-signficant-bits of each 10 bit pixel component. These bits are not preserved when capturing in an 8 bit pixel format. To capture or output CEA-708 captions, a 10 bit pixel format such as bmdFormat10BitYUV must be used.

Note

The IDeckLinkVideoFrameAncillary interface is for existing designs or where the ancillary data does not conform to SMPTE 291M type 2 ANC packet format. For new designs with VANC packets, the use of IDeckLinkVideoFrameAncillaryPackets interface is preferred.

Related Interfaces

Interface

Interface ID

Description

IDeckLinkOutput

IID_IDeckLinkOutput

IDeckLinkOutput::CreateAncillaryData() outputs an IDeckLinkVideoFrameAncillary object interface

IDeckLinkVideoFrame

IID_IDeckLinkVideoFrame

IDeckLinkVideoFrame::GetAncillaryData() outputs an IDeckLinkVideoFrameAncillary object interface

IDeckLinkMutableVideoFrame

IID_IDeckLinkMutableVideoFrame

An IDeckLinkVideoFrameAncillary object interface is set into a video frame with IDeckLinkMutableVideoFrame::SetAncillaryData()

2.5.19.1 IDeckLinkVideoFrameAncillary::GetBufferForVerticalBlankingLine method

HRESULT IDeckLinkVideoFrameAncillary::GetBufferForVerticalBlankingLine(uint32_t lineNumber, void **buffer);

The GetBufferForVerticalBlankingLine method allows access to a specified vertical blanking line within the ancillary for the associated frame.

Ancillary lines are numbered from one. For NTSC video, the top ancillary lines are numbered starting from four, with lines 1 to 3 referring to the ancillary lines at the bottom of the picture, as per convention.

The pointer returned by GetBufferForVerticalBlankingLine is in the same format as the associated active picture data and is valid while the IDeckLinkVideoFrameAncillary interface is valid.

Parameters:
  • lineNumber – Ancillary line number to access.

  • buffer – Pointer into ancillary buffer for requested line or NULL if line number was invalid.

Return values:
  • E_INVALIDARG – An invalid ancillary line number was requested

  • E_FAIL – Failure

  • S_OK – Success

2.5.19.2 IDeckLinkVideoFrameAncillary::GetPixelFormat method

BMDPixelFormat IDeckLinkVideoFrameAncillary::GetPixelFormat();

The GetPixelFormat method returns the pixel format for the vertical blanking line buffer.

Returns:

Pixel format of the vertical blanking line buffer (See BMDPixelFormat for more details).

2.5.19.3 IDeckLinkVideoFrameAncillary::GetDisplayMode method

BMDDisplayMode IDeckLinkVideoFrameAncillary::GetDisplayMode();

The GetDisplayMode method returns the display mode for the vertical blanking line buffer.

Returns:

Display mode of the vertical blanking line buffer (See BMDDisplayMode for more details).