AJA Capture Card: No CSC available for NTV2_CHANNEL1

Hello,

I encountered an error when running the aja capture example.

For setting up our new AJA Corvid 44 I followed the instructions in the Holoscan documentation. Both, drivers as well as SDK are working fine. ntv2enumerateboards correctly shows our device and testrdma does not return faulty frames. Even ntv2capture from the aja SDK inside the container seems to correctly capture frames.

ntv2enumerateboards output:

ntv2enumerateboards 
AJA NTV2 SDK version 16.2.0 (0x10020003) build 3 built on Wed Feb 02 21:58:01 UTC 2022
Devices supported:  Corvid, KonaLHi, KonaLHiDVI, IoExpress, Corvid22, Kona3G, Corvid3G, Kona3GQuad, KonaLHe+, IoXT, Corvid24, TTap, Io4K, Io4KUfc, Kona4, Kona4Ufc, Corvid88, Corvid44, CorvidHEVC, KonaIP s2022, KonaIP s2022 2+2, KonaIP J2K 1I 1O, KonaIP J2K 2O, KonaIP s2110 1I 1O, KonaIP s2110, KonaIP s2110 RGB12, CorvidHBR, Io4KPlus, IoIP-s2022, IoIP-s2110, IoIP-s2110_RGB12, Kona1, KonaHDMI, Kona5, Kona5-8KMK, Kona5-8K, Kona5-12Bit, Kona5-3DLUT, Kona5-OE1, Kona5-OE2, Kona5-OE3, Kona5-OE4, Kona5-OE5, Kona5-OE6, Kona5-OE7, Kona5-OE8, Kona5-OE9, Kona5-OE10, Kona5-OE11, Kona5-OE12, Kona5-8K-MV-TX, Corvid44-8KMK, Corvid44-8K, Corvid44-2x4K, Corvid44-PLNR, TTapPro, IoX3, SOJI-3DLUT, SOJI-OE1, SOJI-OE2, SOJI-OE3, SOJI-OE4, SOJI-OE5, SOJI-OE6, SOJI-OE7
1 AJA device(s) found:
AJA device 0 is called 'Corvid44-8K - 0'

This device has a deviceID of 0x10832401
This device has 4 SDI Input(s)
This device has 4 SDI Output(s)
This device has 0 HDMI Input(s)
This device has 0 HDMI Output(s)
This device has 0 Analog Input(s)
This device has 0 Analog Output(s)
This device has 0 Up-Converter(s)
This device has 0 Down-Converter(s)
This device has 16 Channel(s) of Embedded Audio Input
This device has 16 Channel(s) of Embedded Audio Output

85 video format(s):  1080i50, 1080i59.94, 1080i60, 720p59.94, 720p60, 1080sf23.98, 1080sf24, 1080p29.97, 1080p30, 1080p25, 1080p23.98, 1080p24, 2Kp23.98, 2Kp24, 2Ksf23.98, 2Ksf24, 720p50, 1080p50b, 1080p59.94b, 1080p60b, 1080p50a, 1080p59.94a, 1080p60a, 2Kp25, 2Ksf25, 1080sf25, 1080sf29.97, 1080sf30, 525i59.94, 625i50, 525sf29.97, 625sf25, 2Kp60a, 2Kp59.94a, 2Kp29.97, 2Kp30, 2Kp50a, 2Kp47.95a, 2Kp48a, UHDsf23.98, UHDsf24, UHDsf25, UHDp23.98, UHDp24, UHDp25, UHDp29.97, UHDp30, UHDsf29.97, UHDsf30, UHDp50, UHDp59.94, UHDp60, 4Ksf23.98, 4Ksf24, 4Ksf25, 4Kp23.98, 4Kp24, 4Kp25, 4Kp29.97, 4Kp30, 4Ksf29.97, 4Ksf30, 4Kp47.95, 4Kp48, 4Kp50, 4Kp59.94, 4Kp60, UHD2p23.98, UHD2p24, UHD2p25, UHD2p29.97, UHD2p30, UHD2p50, UHD2p59.94, UHD2p60, 8Kp23.98, 8Kp24, 8Kp25, 8Kp29.97, 8Kp30, 8Kp47.95, 8Kp48, 8Kp50, 8Kp59.94, 8Kp60
This device can handle different signal formats on each input/output
This device can delay audio

When running the aja capture script, however, I get the following error:

Error message:

[2023-06-05 13:16:23.673] [holoscan] [info] [aja_source.cpp:355] AJA Source: Capturing from NTV2_CHANNEL1
[2023-06-05 13:16:23.673] [holoscan] [info] [aja_source.cpp:356] AJA Source: RDMA is enabled
[2023-06-05 13:16:23.673] [holoscan] [info] [aja_source.cpp:362] AJA Source: Overlay output is disabled
[2023-06-05 13:16:23.699] [holoscan] [error] [aja_source.cpp:242] No CSC available for NTV2_CHANNEL1
terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to setup device 0
Aborted (core dumped)

@jinl suggested in another post that the hdmi output from notebooks can alter the colorspace. Could that be the reason in my case? I did, however, also test the setup with a proper camera setup (Panasonic AW-Series). For HDMI to SDI conversion I used the Blackmagic Design MC HDMI-SDI 12G.

1 Like

Hello! Could you let us know a little more about the format of the input signal (resolution and framerate)?

Hi there, we have a bit more info on this topic. The “No CSC available for NTV2_CHANNEL1” error would be due to a missing Color Space Converter unit on the board, which is used to convert from a YUV input source to the RGB that is used internally by Holoscan.

From your log above the device info saysCorvid44-8k, and from the AJA documentation it shows that the Corvid44-8K doesn’t have any CSCs.
image

The only way around not having a CSC would be to feed an RGB signal into the SDI input.

According to the docs for the converter (Blackmagic Design MC HDMI-SDI 12G), that also shows only YUV for SDI output color space. (Micro Converters – Tech Specs | Blackmagic Design)
If you have a different AJA card with CSC please try that. If you don’t have access to a different AJA card, you will need a different converter that outputs RGB.

Thank you very much for the detailed explanation. After talking to one of your colleagues, we came to the conclusion that buying a color space converter would be the easiest and fastest way for us to fix this problem.

Is there a specific reason why the AJA source operator throws an error when receiving a YUV signal instead of just forwarding the signal as is and letting the format converter do the conversion?

It’s a great solution to add the support to the AJA source to output YUV, unfortunately this feature is not planned yet as of right now, we will sync with the solutions architect team and engineering team.