Intensity Pro 4K - RGB vs YUV

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

Roman Ryltsov

  • Posts: 21
  • Joined: Sun May 12, 2013 6:52 pm
  • Location: Kharkov, Ukraine

Intensity Pro 4K - RGB vs YUV

PostFri Mar 13, 2015 4:45 pm

I have an Intensity Pro 4K board which I am trying for capture with 1080p60 input signal. The problem I see is that I can only capture with 8 and 10 bit RGB formats (e.g. bmdFormat8BitARGB) and not YUV.

For many reasons YUV would be preferable and I have previous models capture YUV up to 1080i60.

Attempts to capture bmdFormat8BitYUV simply result in bmdFrameHasNoInputSource. My question: is it somehow behavior by design that good old 8-bit YUV capture is not available? The board does not do conversion and the signal on wire is RGB? Any way to enable YUV on hardware?

API version is 10.3.7 and the host is Windows.
Offline
User avatar

Roman Ryltsov

  • Posts: 21
  • Joined: Sun May 12, 2013 6:52 pm
  • Location: Kharkov, Ukraine

Re: Intensity Pro 4K - RGB vs YUV

PostThu Mar 26, 2015 7:16 am

Follow-up from BM support:

If you are capturing from HDMI, please note that the behaviour of the Intensity Pro 4K is a bit different to the Intensity Pro.
DeckLink 4K devices (which include the Intensity Pro 4K) require an application to explicitly set the pixel format for capture over
HDMI that matches the video source. If you specified YUV for capture and the feed was RGB, the older Intensity Pro would automatically convert the pixel format.
However the Intensity Pro 4K does not. So if you have a RGB HDMI video source, you need to set capture for RGB (bmdFormat10BitRGB) with the Intensity Pro 4K, however you can get away with selecting 8-bit YUV (bmdFormat8BitYUV) or 10-bit YUV (bmdFormat10BitYUV) with the Intensity Pro.
Offline

Henrik Levring

  • Posts: 2
  • Joined: Fri Apr 03, 2015 10:51 am

Re: Intensity Pro 4K - RGB vs YUV

PostFri Apr 03, 2015 12:10 pm

Using latest 10.4 driver and connected 720 60 fps RGB (XBOX) source to Intensity pro 4k. If your look at the formats available in decklink direct show filter output pin, then there are only YUV formats available, so how do you make that work ? ??

PS: Would have loved to include a screen video link but this forum does not allow to post links.
/Henrik Levring
Offline
User avatar

Richard Courtney

  • Posts: 347
  • Joined: Wed Aug 22, 2012 2:50 pm

Re: Intensity Pro 4K - RGB vs YUV

PostWed Apr 08, 2015 3:39 am

Can you post a graphedit or are you looking for a graphedit to illustrate your project?

dropbox works here.
Offline
User avatar

Roman Ryltsov

  • Posts: 21
  • Joined: Sun May 12, 2013 6:52 pm
  • Location: Kharkov, Ukraine

Re: Intensity Pro 4K - RGB vs YUV

PostFri Apr 10, 2015 12:24 pm

By the way, you can use my tool (DeckLinkInputProbe-Win32.exe, -x64.exe is there as well) to go over available capture formats and see the response. This works though SDK directly, without DirectShow.

For 1080p60 signal I had I was getting real capture (bmdFrameFlagDefault) using the following formats only:

Code: Select all
HD 1080p 60   bmdFormat8BitARGB   0x1   0   Success   20   1920   1080   7680   bmdFormat8BitARGB   bmdFrameFlagDefault   1   166666   166666   166667   166666   1079                           
HD 1080p 60   bmdFormat8BitARGB   0x1   1   Success   20   1920   1080   7680   bmdFormat8BitARGB   bmdFrameFlagDefault   1   166666   166666   166673   166666   1079                           
HD 1080p 60   bmdFormat8BitARGB   0x1   2   Success   20   1920   1080   7680   bmdFormat8BitARGB   bmdFrameFlagDefault   1   166666   166666   166688   166666   1079                           
HD 1080p 60   bmdFormat8BitBGRA   0x1   0   Success   20   1920   1080   7680   bmdFormat8BitBGRA   bmdFrameFlagDefault   1   166666   166666   166673   166666   1079                           
HD 1080p 60   bmdFormat8BitBGRA   0x1   1   Success   20   1920   1080   7680   bmdFormat8BitBGRA   bmdFrameFlagDefault   1   166666   166666   166676   166666   1079                           
HD 1080p 60   bmdFormat8BitBGRA   0x1   2   Success   20   1920   1080   7680   bmdFormat8BitBGRA   bmdFrameFlagDefault   1   166666   166666   166676   166666   1079                           
HD 1080p 60   bmdFormat10BitRGB   0x1   0   Success   20   1920   1080   7680   bmdFormat10BitRGB   bmdFrameFlagDefault   1   166666   166666   166670   166666   1079                           
HD 1080p 60   bmdFormat10BitRGB   0x1   1   Success   20   1920   1080   7680   bmdFormat10BitRGB   bmdFrameFlagDefault   1   166666   166666   166676   166666   1079                           
HD 1080p 60   bmdFormat10BitRGB   0x1   2   Success   20   1920   1080   7680   bmdFormat10BitRGB   bmdFrameFlagDefault   1   166666   166666   166673   166666   1079                           


and the rest gave me bmdFrameHasNoInputSource. Per support clarification, this matches wire signal and all conversion that I might want to do on this data should happen programmatically, in user mode software (BM also supplies API for that).
Offline
User avatar

Roman Ryltsov

  • Posts: 21
  • Joined: Sun May 12, 2013 6:52 pm
  • Location: Kharkov, Ukraine

Re: Intensity Pro 4K - RGB vs YUV

PostTue Apr 21, 2015 5:30 pm

Henrik Levring wrote:Using latest 10.4 driver and connected 720 60 fps RGB (XBOX) source to Intensity pro 4k. If your look at the formats available in decklink direct show filter output pin, then there are only YUV formats available, so how do you make that work ? ??


Indeed, version 10.4 lost RGB (another topic). Looks like a bug.
Offline

Pedja Djurdjevic

  • Posts: 13
  • Joined: Sun Dec 16, 2012 1:43 am

Re: Intensity Pro 4K - RGB vs YUV

PostWed Apr 22, 2015 12:10 am

I am trying to use the same card via the WDM DirectShow filter programmatically, unfortunately with latest 10.4 API, there are several 1080p 8-bit 4:2:2 YUV modes missing like 25, 29.95, 30fps and 60 doesn't always work. Since card specs and Media Express list them all, does anybody know how to get around it (in DirectShow) with the latest driver, or any earlier solid API revision where this used to work?
Offline

Pedja Djurdjevic

  • Posts: 13
  • Joined: Sun Dec 16, 2012 1:43 am

Re: Intensity Pro 4K - RGB vs YUV

PostWed Apr 29, 2015 1:48 am

Upon review of BDM CapturePreview, by listing available modes it would appear that 1080p bdmFormat8BitARGB is not available, but if forced via the IDeckLinkInput->EnableVideoInput, interestingly it eventually showed up.

Question is, while WDM DeclinkCapture doesn't list RGB and even some YUV modes, if forcing IAMStreamConfig->SetFormat to a programmatically constructed AM_MEDIA_TYPE VIDEOINFOHEADER matching equivalent BDM mode, if it could be convinced to operate in other legitimate modes?
It would be preferable if 10.4 DirectShow API actually offered backwards compatibility via some legacy switch (like registry or such) so that vertical applications don't break and can still operate with YUV as in 9.9.
Offline

Pedja Djurdjevic

  • Posts: 13
  • Joined: Sun Dec 16, 2012 1:43 am

Re: Intensity Pro 4K - RGB vs YUV

PostFri May 01, 2015 4:39 pm

To answer my own query above. For the modes not listed in DirectShow WDM filter via property page or output pin GetStreamCaps that would otherwise match the equivalent working BDM modes, forcing them via IAMStreamConfig->SetFormat AM_MEDIA_TYPE VIDEOINFOHEADER BITMAPINFOHEADER does not work. It either rejects it outright or accepts it but silently changes on the fly to something unrelated which can be examined by GetFormat. This holds both for unlisted 1080p 25,29,30fps YUV and 23-60fps RGB modes.

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 90 guests