Passing st2108 HDR/WCG metadata on a SDI output

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

Jean-Luc Jumpertz

  • Posts: 2
  • Joined: Mon Mar 11, 2024 4:29 pm
  • Real Name: Jean-Luc Jumpertz

Passing st2108 HDR/WCG metadata on a SDI output

PostMon Mar 11, 2024 5:25 pm

In the context of a HDR video application on macOS, I am using DeckLink SDK (currently version 12.5) for capture and playback of HDR video on SDI interfaces (UltraStudio 4K mini and 3G Recorder / Monitor).

For playback, the app provides custom video frame objects, as documented in the DeckLink SDK manual in section 2.4.12.2 "HDR Metadata Playback". So far so good.

To interface with other HDR-capable studio equipments, the app also has to output specific VANC packets on the SDI interface, namely a custom st2108 HDR/WCG metadata packet containing ETSI TS 103 433-1 SL-HDR1 dynamic metadata as defined in st2108. This is done using the sequence documented in the DeckLink SDK manual in section 2.4.7.2 "VANC Output".

When adding this custom st2108 packet to a SDR bt709 video frame, everything goes fine: the custom ancillary packet is inserted on the SDI output as expected and it be read without problem on connected equipments.

However, if the video frame is declared as HDR (e.g. with a PQ eotf), the DeckLink drivers generate their own st2108 packet containing MDCV and CLL information, and the custom st2108 packet seems to be dropped, i.e. the only ancillary packet received on the other end with DID=0x41 and SDID=0x0C is the one generated by the DeckLink drivers.

I have tried declaring the st2108 ancillary packet on a specific line number, but this doesn't prevent the packet to be ignored.

Is there any way I could ensure the presence of my st2108 HDR/WCG metadata on the SDI while still declaring out HDR video frames as HDR ?

Thanks
Offline

Jean-Luc Jumpertz

  • Posts: 2
  • Joined: Mon Mar 11, 2024 4:29 pm
  • Real Name: Jean-Luc Jumpertz

Re: Passing st2108 HDR/WCG metadata on a SDI output

PostTue Mar 12, 2024 3:14 pm

Actually it turns out that this st2108 ancillary packets "conflict" is only present when the output video frame's EOTF is declared as PQ. When producing a HLG frame, the DeckLink drivers does not generate a st2108 packet containing MDCV and CLL information, and our custom st2108 packet is not dropped.

More precisely, if IDeckLinkVideoFrameMetadataExtensions::GetInt(bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc) return value 0 (ITU_R_709 SDR) or 3 (ITU_R_2100 HLG), the video frame implementation does not receive any call to GetFloat(bmdDeckLinkFrameMetadataHDRxxx); if the former call returns value 2 (SMPTE_ST_2084 PQ), GetFloat () is called for every defined bmdDeckLinkFrameMetadataHDRxxx float key and our custom st2108 packet is not inserted in the ANC.

This st2108 ancillary packet drop in PQ mode is really a problem for our application, so any solution or workaround would be really welcome. `:-)

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 22 guests