Browse Source

aja: Fix 2xSDI UHD/4K YCbCr 2SI VPID lookup

Paul Hindt 3 years ago
parent
commit
f559287723
1 changed files with 11 additions and 1 deletions
  1. 11 1
      plugins/aja/aja-common.cpp

+ 11 - 1
plugins/aja/aja-common.cpp

@@ -1031,6 +1031,8 @@ VPIDStandard DetermineVPIDStandard(NTV2DeviceID id, IOSelection io,
 	auto rd = aja::DetermineRasterDefinition(vf);
 	auto standard = GetNTV2StandardFromVideoFormat(vf);
 	bool is_rgb = NTV2_IS_FBF_RGB(pf);
+	bool is_hfr =
+		NTV2_IS_HIGH_NTV2FrameRate(GetNTV2FrameRateFromVideoFormat(vf));
 	if (rd == RasterDefinition::SD) {
 		vpid = VPIDStandard_483_576;
 	} else if (rd == RasterDefinition::HD) {
@@ -1119,7 +1121,15 @@ VPIDStandard DetermineVPIDStandard(NTV2DeviceID id, IOSelection io,
 					vpid = VPIDStandard_1080;
 				} else if (t4k ==
 					   SDITransport4K::TwoSampleInterleave) {
-					vpid = VPIDStandard_2160_DualLink;
+					if (is_hfr &&
+					    trx == SDITransport::SDI3Ga) {
+						vpid = VPIDStandard_2160_QuadLink_3Ga;
+					} else if (is_hfr &&
+						   trx == SDITransport::SDI3Gb) {
+						vpid = VPIDStandard_2160_QuadDualLink_3Gb;
+					} else {
+						vpid = VPIDStandard_2160_DualLink;
+					}
 				}
 			}
 		} else if (aja::IsSDIFourWireIOSelection(io)) {