Full-range, 10-bit RGB 444 on DeckLink output?

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

Jason Rhodes

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

Full-range, 10-bit RGB 444 on DeckLink output?

PostWed Apr 24, 2019 11:07 pm

Hello,

I have a DeckLink Duo 2 card that is attached to a custom camera/firmware device. That camera is outputting 10-bit RGB 4:4:4 1080p/23.98 imagery over 3G-SDI. My custom software is correctly capturing that imagery, using the DeckLink SDK (bmdFormat10BitRGB & bmdModeHD1080p2398).

There is no real colorspace information being sent - each 10-bit R/G/B values can range from 0 (0x000) to 1023 (0x3FF). I have verified that the captured frame data does indeed represent this range, and each and every pixel I capture matches the expected sent frame. All good.


However, if I attempt to take that same captured frame-imagery, and replay it OUT from the DeckLink Duo (basically slapping it directly into the Frame buffer and setting the output as above), and then re-capture it (essentially, emulating the camera output), I find that the received values do [b]NOT/b] always bit-for-bit match the sent values.

My assumption is that the DeckLink Output is somehow modifying the pixel values, perhaps to fit them into some colorspace range? If so, is there a way to avoid/disable that so that I can output full-range, 10-bit RGB data?

Code: Select all
Hardware:  DeckLink Duo 2
Software:  DeckLink Driver/SDK: 10.11.4
Offline

Jason Rhodes

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

Re: Full-range, 10-bit RGB 444 on DeckLink output?

PostFri Apr 26, 2019 12:55 pm

Well, a bit more digging points me to the following comments in some sample code:
Code: Select all
// Big-endian RGB 10-bit per component with SMPTE
// video levels (64-960).  Packed as 2:10:10:10
bmdFormat10BitRGB = 'r210',

// Big-endian RGB 12-bit per component with
// full range (0-4095). Packed as 12-bit per component
bmdFormat12BitRGB  = 'R12B',

So it would seem that the 10-bit RGB is being limited to SMPTE Video Levels.

Is this a hardware/firmware/device limitation, or could this be disabled via a configuration flag to get to full-range 10-bit?
Offline

Andrew Kolakowski

  • Posts: 5578
  • Joined: Tue Sep 11, 2012 10:20 am

Re: Full-range, 10-bit RGB 444 on DeckLink output?

PostWed May 15, 2019 6:49 pm

Hmmm, r210 should be full range as it's RGB data.
Where is this sample code from?
According to:
http://www.bitjazz.com/en/products/shee ... s.php#r210
it meant to be video range. Very strange. Always thought it's full range format (just plain RGB data, but packed).

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 2 guests