Skip to content

Commit ff2c259

Browse files
committed
bmd_common: add all configuration items
the values will be shown in the FourCC opt listing (`help=FourCC`) + print value type with `help=FourCC`
1 parent 54efe84 commit ff2c259

File tree

1 file changed

+158
-22
lines changed

1 file changed

+158
-22
lines changed

src/blackmagic_common.cpp

Lines changed: 158 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -588,29 +588,161 @@ static const struct {
588588
uint32_t fourcc;
589589
const char *name;
590590
} opt_name_map[] = {
591-
BMDFCC(bmdDeckLinkConfig444SDIVideoOutput),
591+
592+
{ 0, "Serial port Flags" },
593+
594+
BMDFCC(bmdDeckLinkConfigSwapSerialRxTx),
595+
596+
{ 0, "Video Input/Output Integers" },
597+
598+
BMDFCC(bmdDeckLinkConfigHDMI3DPackingFormat),
599+
BMDFCC(bmdDeckLinkConfigBypass),
600+
BMDFCC(bmdDeckLinkConfigClockTimingAdjustment),
601+
602+
{ 0, "Audio Input/Output Flags" },
603+
592604
BMDFCC(bmdDeckLinkConfigAnalogAudioConsumerLevels),
593-
BMDFCC(bmdDeckLinkConfigCapture1080pAsPsF),
594-
BMDFCC(bmdDeckLinkConfigCapturePassThroughMode),
595-
BMDFCC(bmdDeckLinkConfigEthernetAudioOutputAddress),
596-
BMDFCC(bmdDeckLinkConfigEthernetStaticGatewayIPAddress),
597-
BMDFCC(bmdDeckLinkConfigEthernetStaticLocalIPAddress),
598-
BMDFCC(bmdDeckLinkConfigEthernetStaticSubnetMask),
599-
BMDFCC(bmdDeckLinkConfigEthernetVideoOutputAddress),
600-
BMDFCC(bmdDeckLinkConfigEthernetUseDHCP),
605+
BMDFCC(bmdDeckLinkConfigSwapHDMICh3AndCh4OnInput),
606+
BMDFCC(bmdDeckLinkConfigSwapHDMICh3AndCh4OnOutput),
607+
608+
{ 0, "Video Output Flags" },
609+
601610
BMDFCC(bmdDeckLinkConfigFieldFlickerRemoval),
611+
BMDFCC(bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion),
612+
BMDFCC(bmdDeckLinkConfig444SDIVideoOutput),
613+
BMDFCC(bmdDeckLinkConfigBlackVideoOutputDuringCapture),
602614
BMDFCC(bmdDeckLinkConfigLowLatencyVideoOutput),
603-
BMDFCC(bmdDeckLinkConfigHDMI3DPackingFormat),
604-
BMDFCC(bmdDeckLinkConfigOutput1080pAsPsF),
605-
BMDFCC(bmdDeckLinkConfigQuadLinkSDIVideoOutputSquareDivisionSplit),
606-
BMDFCC(bmdDeckLinkConfigSDIOutputLinkConfiguration),
615+
BMDFCC(bmdDeckLinkConfigDownConversionOnAllAnalogOutput),
607616
BMDFCC(bmdDeckLinkConfigSMPTELevelAOutput),
608-
BMDFCC(bmdDeckLinkConfigVideoInputConnection),
609-
BMDFCC(bmdDeckLinkConfigVideoInputConversionMode),
617+
BMDFCC(bmdDeckLinkConfigRec2020Output),
618+
BMDFCC(bmdDeckLinkConfigQuadLinkSDIVideoOutputSquareDivisionSplit),
619+
BMDFCC(bmdDeckLinkConfigOutput1080pAsPsF),
620+
621+
{ 0, "Video Output Integers" },
622+
610623
BMDFCC(bmdDeckLinkConfigVideoOutputConnection),
611624
BMDFCC(bmdDeckLinkConfigVideoOutputConversionMode),
625+
BMDFCC(bmdDeckLinkConfigAnalogVideoOutputFlags),
626+
BMDFCC(bmdDeckLinkConfigReferenceInputTimingOffset),
627+
BMDFCC(bmdDeckLinkConfigReferenceOutputMode),
612628
BMDFCC(bmdDeckLinkConfigVideoOutputIdleOperation),
629+
BMDFCC(bmdDeckLinkConfigDefaultVideoOutputMode),
630+
BMDFCC(bmdDeckLinkConfigDefaultVideoOutputModeFlags),
631+
BMDFCC(bmdDeckLinkConfigSDIOutputLinkConfiguration),
632+
BMDFCC(bmdDeckLinkConfigHDMITimecodePacking),
633+
BMDFCC(bmdDeckLinkConfigPlaybackGroup),
634+
635+
{ 0, "Video Output Floats" },
636+
637+
BMDFCC(bmdDeckLinkConfigVideoOutputComponentLumaGain),
638+
BMDFCC(bmdDeckLinkConfigVideoOutputComponentChromaBlueGain),
639+
BMDFCC(bmdDeckLinkConfigVideoOutputComponentChromaRedGain),
640+
BMDFCC(bmdDeckLinkConfigVideoOutputCompositeLumaGain),
641+
BMDFCC(bmdDeckLinkConfigVideoOutputCompositeChromaGain),
642+
BMDFCC(bmdDeckLinkConfigVideoOutputSVideoLumaGain),
643+
BMDFCC(bmdDeckLinkConfigVideoOutputSVideoChromaGain),
644+
645+
{ 0, "Video Input Flags" },
646+
647+
BMDFCC(bmdDeckLinkConfigVideoInputScanning),
648+
BMDFCC(bmdDeckLinkConfigUseDedicatedLTCInput),
649+
BMDFCC(bmdDeckLinkConfigSDIInput3DPayloadOverride),
650+
BMDFCC(bmdDeckLinkConfigCapture1080pAsPsF),
651+
652+
{ 0, "Video Input Integers" },
653+
654+
BMDFCC(bmdDeckLinkConfigVideoInputConnection),
655+
BMDFCC(bmdDeckLinkConfigAnalogVideoInputFlags),
656+
BMDFCC(bmdDeckLinkConfigVideoInputConversionMode),
657+
BMDFCC(bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame),
658+
BMDFCC(bmdDeckLinkConfigVANCSourceLine1Mapping),
659+
BMDFCC(bmdDeckLinkConfigVANCSourceLine2Mapping),
660+
BMDFCC(bmdDeckLinkConfigVANCSourceLine3Mapping),
661+
BMDFCC(bmdDeckLinkConfigCapturePassThroughMode),
662+
BMDFCC(bmdDeckLinkConfigCaptureGroup),
663+
664+
{ 0, "Video Input Floats" },
665+
666+
BMDFCC(bmdDeckLinkConfigVideoInputComponentLumaGain),
667+
BMDFCC(bmdDeckLinkConfigVideoInputComponentChromaBlueGain),
668+
BMDFCC(bmdDeckLinkConfigVideoInputComponentChromaRedGain),
669+
BMDFCC(bmdDeckLinkConfigVideoInputCompositeLumaGain),
670+
BMDFCC(bmdDeckLinkConfigVideoInputCompositeChromaGain),
671+
BMDFCC(bmdDeckLinkConfigVideoInputSVideoLumaGain),
672+
BMDFCC(bmdDeckLinkConfigVideoInputSVideoChromaGain),
673+
674+
{ 0, "Keying Integers" },
675+
676+
BMDFCC(bmdDeckLinkConfigInternalKeyingAncillaryDataSource),
677+
678+
{ 0, "Audio Input Flags" },
679+
680+
BMDFCC(bmdDeckLinkConfigMicrophonePhantomPower),
681+
682+
{ 0, "Audio Input Integers" },
683+
684+
BMDFCC(bmdDeckLinkConfigAudioInputConnection),
685+
686+
{ 0, "Audio Input Floats" },
687+
688+
BMDFCC(bmdDeckLinkConfigAnalogAudioInputScaleChannel1),
689+
BMDFCC(bmdDeckLinkConfigAnalogAudioInputScaleChannel2),
690+
BMDFCC(bmdDeckLinkConfigAnalogAudioInputScaleChannel3),
691+
BMDFCC(bmdDeckLinkConfigAnalogAudioInputScaleChannel4),
692+
BMDFCC(bmdDeckLinkConfigDigitalAudioInputScale),
693+
BMDFCC(bmdDeckLinkConfigMicrophoneInputGain),
694+
695+
{ 0, "Audio Output Integers" },
696+
697+
BMDFCC(bmdDeckLinkConfigAudioOutputAESAnalogSwitch),
698+
699+
{ 0, "Audio Output Floats" },
700+
701+
BMDFCC(bmdDeckLinkConfigAnalogAudioOutputScaleChannel1),
702+
BMDFCC(bmdDeckLinkConfigAnalogAudioOutputScaleChannel2),
703+
BMDFCC(bmdDeckLinkConfigAnalogAudioOutputScaleChannel3),
704+
BMDFCC(bmdDeckLinkConfigAnalogAudioOutputScaleChannel4),
705+
BMDFCC(bmdDeckLinkConfigDigitalAudioOutputScale),
706+
BMDFCC(bmdDeckLinkConfigHeadphoneVolume),
707+
708+
{ 0, "Network Flags" },
709+
710+
BMDFCC(bmdDeckLinkConfigEthernetUseDHCP),
711+
BMDFCC(bmdDeckLinkConfigEthernetPTPFollowerOnly),
712+
BMDFCC(bmdDeckLinkConfigEthernetPTPUseUDPEncapsulation),
713+
714+
{ 0, "Network Integers" },
715+
716+
BMDFCC(bmdDeckLinkConfigEthernetPTPPriority1),
717+
BMDFCC(bmdDeckLinkConfigEthernetPTPPriority2),
718+
BMDFCC(bmdDeckLinkConfigEthernetPTPDomain),
719+
720+
{ 0, "Network Strings" },
721+
722+
BMDFCC(bmdDeckLinkConfigEthernetStaticLocalIPAddress),
723+
BMDFCC(bmdDeckLinkConfigEthernetStaticSubnetMask),
724+
BMDFCC(bmdDeckLinkConfigEthernetStaticGatewayIPAddress),
725+
BMDFCC(bmdDeckLinkConfigEthernetStaticPrimaryDNS),
726+
BMDFCC(bmdDeckLinkConfigEthernetStaticSecondaryDNS),
727+
BMDFCC(bmdDeckLinkConfigEthernetVideoOutputAddress),
728+
BMDFCC(bmdDeckLinkConfigEthernetAudioOutputAddress),
729+
BMDFCC(bmdDeckLinkConfigEthernetAncillaryOutputAddress),
730+
BMDFCC(bmdDeckLinkConfigEthernetAudioOutputChannelOrder),
731+
732+
{ 0, "Device Information Strings" },
733+
734+
BMDFCC(bmdDeckLinkConfigDeviceInformationLabel),
735+
BMDFCC(bmdDeckLinkConfigDeviceInformationSerialNumber),
736+
BMDFCC(bmdDeckLinkConfigDeviceInformationCompany),
737+
BMDFCC(bmdDeckLinkConfigDeviceInformationPhone),
738+
BMDFCC(bmdDeckLinkConfigDeviceInformationEmail),
739+
BMDFCC(bmdDeckLinkConfigDeviceInformationDate),
740+
741+
{ 0, "Deck Control Integers" },
742+
743+
BMDFCC(bmdDeckLinkConfigDeckControlConnection),
613744
};
745+
614746
static const struct {
615747
uint32_t fourcc;
616748
const char *name;
@@ -781,16 +913,20 @@ bmd_opt_help()
781913
color_printf("- 'vlue' - assume the value is FourCC\n");
782914
color_printf("\n");
783915

784-
color_printf("Incomplete " TBOLD("(!)") " list of keys:\n");
916+
color_printf("List of keys:\n");
785917
for (unsigned i = 0; i < ARR_COUNT(opt_name_map); ++i) {
786-
uint32_t val = htonl(opt_name_map[i].fourcc);
787-
color_printf("- " TBOLD("%.4s") " - %s\n", (char *) &val,
788-
opt_name_map[i].name);
918+
if (opt_name_map[i].fourcc == 0) {
919+
color_printf("\n%s:\n", opt_name_map[0].name);
920+
} else {
921+
uint32_t val = htonl(opt_name_map[i].fourcc);
922+
color_printf("- " TBOLD("%.4s") " - %s\n",
923+
(char *) &val, opt_name_map[i].name);
924+
}
789925
}
790926
color_printf("\n");
791-
color_printf("See\n"
792-
TUNDERLINE("https://github.com/CESNET/UltraGrid/blob/master/ext-deps/"
793-
"DeckLink/Linux/DeckLinkAPIConfiguration.h") "\nfor full list.\n");
927+
color_printf("See also\n" TUNDERLINE(
928+
"https://github.com/CESNET/UltraGrid/blob/master/ext-deps/"
929+
"DeckLink/Linux/DeckLinkAPIConfiguration.h") "\nfor details.\n");
794930
color_printf("\n");
795931
color_printf("Incomplete " TBOLD("(!)") " list of values:\n");
796932
color_printf("(note that the value belongs to its appropriate key)\n");

0 commit comments

Comments
 (0)