![]() |
AJA NTV2 SDK
18.1.0.2145
NTV2 SDK 18.1.0.2145
|
CNTV2SignalRouter implementation. More...
#include "ntv2signalrouter.h"#include "ntv2routingexpert.h"#include "ntv2debug.h"#include "ntv2utils.h"#include "ntv2devicefeatures.hh"#include "ntv2registerexpert.h"#include "ajabase/system/debug.h"#include "ajabase/common/common.h"#include <memory.h>#include <stdio.h>#include <assert.h>#include <algorithm>Go to the source code of this file.
Macros | |
| #define | HEX16(__x__) "0x" << hex << setw(16) << setfill('0') << uint64_t(__x__) << dec |
| #define | INSTP(_p_) HEX16(uint64_t(_p_)) |
| #define | SRiFAIL(__x__) AJA_sERROR (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
| #define | SRiWARN(__x__) AJA_sWARNING(AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
| #define | SRiNOTE(__x__) AJA_sNOTICE (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
| #define | SRiINFO(__x__) AJA_sINFO (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
| #define | SRiDBG(__x__) AJA_sDEBUG (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
| #define | SRFAIL(__x__) AJA_sERROR (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
| #define | SRWARN(__x__) AJA_sWARNING(AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
| #define | SRNOTE(__x__) AJA_sNOTICE (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
| #define | SRINFO(__x__) AJA_sINFO (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
| #define | SRDBG(__x__) AJA_sDEBUG (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Functions | |
| static NTV2StringList & | Tokenize (const string &inString, NTV2StringList &outTokens, const string &inDelimiters=" ", bool inTrimEmpty=false) |
| NTV2InputXptID | GetFrameStoreInputXptFromChannel (const NTV2Channel inChannel, const bool inIsBInput) |
| NTV2InputXptID | GetCSCInputXptFromChannel (const NTV2Channel inChannel, const bool inIsKeyInput) |
| NTV2InputXptID | GetLUTInputXptFromChannel (const NTV2Channel inLUT) |
| NTV2InputXptID | GetDLInInputXptFromChannel (const NTV2Channel inChannel, const bool inLinkB) |
| NTV2InputXptID | GetDLOutInputXptFromChannel (const NTV2Channel inChannel) |
| NTV2OutputXptID | GetCSCOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsKey, const bool inIsRGB) |
| NTV2OutputXptID | GetLUTOutputXptFromChannel (const NTV2Channel inLUT) |
| NTV2OutputXptID | GetFrameStoreOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsRGB, const bool inIs425) |
| NTV2OutputXptID | GetInputSourceOutputXpt (const NTV2InputSource inInputSource, const bool inIsSDI_DS2, const bool inIsHDMI_RGB, const UWord inHDMI_Quadrant) |
| NTV2OutputXptID | GetSDIInputOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsDS2) |
| NTV2OutputXptID | GetDLOutOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsLinkB) |
| NTV2OutputXptID | GetDLInOutputXptFromChannel (const NTV2Channel inChannel) |
| NTV2InputXptID | GetOutputDestInputXpt (const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2, const UWord inHDMI_Quadrant) |
| NTV2InputXptID | GetSDIOutputInputXpt (const NTV2Channel inChannel, const bool inIsDS2) |
| NTV2OutputXptID | GetMixerOutputXptFromChannel (const NTV2Channel inChannel, const bool inIsKey) |
| NTV2InputXptID | GetMixerFGInputXpt (const NTV2Channel inChannel, const bool inIsKey) |
| NTV2InputXptID | GetMixerBGInputXpt (const NTV2Channel inChannel, const bool inIsKey) |
| NTV2InputXptID | GetTSIMuxInputXptFromChannel (const NTV2Channel inChannel, const bool inLinkB) |
| NTV2OutputXptID | GetTSIMuxOutputXptFromChannel (const NTV2Channel inChannel, const bool inLinkB, const bool inIsRGB) |
| ostream & | operator<< (ostream &oss, const CNTV2SignalRouter &inObj) |
| ostream & | operator<< (ostream &oss, const NTV2OutputXptIDSet &inObj) |
| ostream & | operator<< (ostream &oss, const NTV2InputXptIDSet &inObj) |
| ostream & | operator<< (ostream &inOutStream, const NTV2WidgetIDSet &inObj) |
| ostream & | operator<< (ostream &oss, const NTV2XptConnection &inObj) |
| ostream & | operator<< (ostream &oss, const NTV2XptConnections &inObj) |
| ostream & | operator<< (ostream &oss, const NTV2PossibleConnections &inObj) |
Variables | |
| static const ULWord | sSignalRouterRegMasks [] = { 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 } |
| static const ULWord | sSignalRouterRegShifts [] = { 0, 8, 16, 24 } |
CNTV2SignalRouter implementation.
Definition in file ntv2signalrouter.cpp.
| #define HEX16 | ( | __x__ | ) | "0x" << hex << setw(16) << setfill('0') << uint64_t(__x__) << dec |
Definition at line 23 of file ntv2signalrouter.cpp.
| #define INSTP | ( | _p_ | ) | HEX16(uint64_t(_p_)) |
Definition at line 24 of file ntv2signalrouter.cpp.
| #define SRDBG | ( | __x__ | ) | AJA_sDEBUG (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Definition at line 34 of file ntv2signalrouter.cpp.
| #define SRFAIL | ( | __x__ | ) | AJA_sERROR (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Definition at line 30 of file ntv2signalrouter.cpp.
| #define SRiDBG | ( | __x__ | ) | AJA_sDEBUG (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
Definition at line 29 of file ntv2signalrouter.cpp.
| #define SRiFAIL | ( | __x__ | ) | AJA_sERROR (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
Definition at line 25 of file ntv2signalrouter.cpp.
| #define SRiINFO | ( | __x__ | ) | AJA_sINFO (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
Definition at line 28 of file ntv2signalrouter.cpp.
| #define SRINFO | ( | __x__ | ) | AJA_sINFO (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Definition at line 33 of file ntv2signalrouter.cpp.
| #define SRiNOTE | ( | __x__ | ) | AJA_sNOTICE (AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
Definition at line 27 of file ntv2signalrouter.cpp.
| #define SRiWARN | ( | __x__ | ) | AJA_sWARNING(AJA_DebugUnit_RoutingGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__) |
Definition at line 26 of file ntv2signalrouter.cpp.
| #define SRNOTE | ( | __x__ | ) | AJA_sNOTICE (AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Definition at line 32 of file ntv2signalrouter.cpp.
| #define SRWARN | ( | __x__ | ) | AJA_sWARNING(AJA_DebugUnit_RoutingGeneric, AJAFUNC << ": " << __x__) |
Definition at line 31 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetCSCInputXptFromChannel | ( | const NTV2Channel | inCSC, |
| const bool | inIsKeyInput = false |
||
| ) |
| [in] | inCSC | Specifies the CSC of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsKeyInput | Specify true to obtain the key (alpha) input crosspoint. Defaults to false (the video input crosspoint). |
Definition at line 840 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetCSCOutputXptFromChannel | ( | const NTV2Channel | inCSC, |
| const bool | inIsKey = false, |
||
| const bool | inIsRGB = false |
||
| ) |
| [in] | inCSC | Specifies the CSC of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsKey | Specify true to obtain the key (alpha) output crosspoint. Defaults to false (the video output crosspoint). |
| [in] | inIsRGB | Specify true to obtain the RGB video output crosspoint. Defaults to false (the YUV video output crosspoint). Ignored if true passed to inIsKey. |
Definition at line 884 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetDLInInputXptFromChannel | ( | const NTV2Channel | inChannel, |
| const bool | inLinkB = false |
||
| ) |
| [in] | inChannel | Specifies the Dual-Link Input converter of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inLinkB | Specifies whether to return the A or the B link crosspoint ID. Defaults to the A link crosspoint. |
Definition at line 861 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetDLInOutputXptFromChannel | ( | const NTV2Channel | inDLInput | ) |
| [in] | inDLInput | Specifies the Dual-Link Input widget of interest, expressed as an NTV2Channel (a zero-based index value). |
Definition at line 982 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetDLOutInputXptFromChannel | ( | const NTV2Channel | inDLOutWidget | ) |
| [in] | inDLOutWidget | Specifies the Dual Link Output of interest, expressed as an NTV2Channel (a zero-based index value). |
Definition at line 873 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetDLOutOutputXptFromChannel | ( | const NTV2Channel | inDLOutput, |
| const bool | inIsLinkB = false |
||
| ) |
| [in] | inDLOutput | Specifies the Dual-Link Output widget of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsLinkB | Specify true to obtain the DS2 output crosspoint. Defaults to false (the DS1 output crosspoint). |
Definition at line 970 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetFrameStoreInputXptFromChannel | ( | const NTV2Channel | inFrameStore, |
| const bool | inIsBInput = false |
||
| ) |
| [in] | inFrameStore | Specifies the FrameStore of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsBInput | Specify true to obtain the "B" input crosspoint (for dual-link). Defaults to false (the "A" input crosspoint). |
Definition at line 827 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetFrameStoreOutputXptFromChannel | ( | const NTV2Channel | inFrameStore, |
| const bool | inIsRGB = false, |
||
| const bool | inIs425 = false |
||
| ) |
| [in] | inFrameStore | Specifies the FrameStore of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsRGB | Specify true to obtain the RGB output crosspoint. Defaults to false (the YUV output crosspoint). |
| [in] | inIs425 | Specify true to obtain the 425 output crosspoint. Defaults to false (the normal non-425 output crosspoint). |
Definition at line 910 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetInputSourceOutputXpt | ( | const NTV2InputSource | inInputSource, |
| const bool | inIsSDI_DS2 = false, |
||
| const bool | inIsHDMI_RGB = false, |
||
| const UWord | inHDMI_Quadrant = 0 |
||
| ) |
| [in] | inInputSource | Specifies the NTV2InputSource of interest. |
| [in] | inIsSDI_DS2 | Specify true to obtain the DS2 output crosspoint (for SDI input sources). Defaults to false (the DS1 output crosspoint). Ignored for non-SDI input sources. |
| [in] | inIsHDMI_RGB | Specify true to obtain the RGB output crosspoint (for HDMI input sources). Defaults to false (the YUV output crosspoint). Ignored for non-HDMI input sources. |
| [in] | inHDMI_Quadrant | Specifies the 4K/UHD quadrant of interest (for HDMI input sources), where 0=upperLeft, 1=upperRight, 2=lowerLeft, 3=lowerRight. Defaults to 0 (upperLeft). Ignored for non-HDMI input sources. |
Definition at line 930 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetLUTInputXptFromChannel | ( | const NTV2Channel | inLUT | ) |
| [in] | inLUT | Specifies the LUT of interest, expressed as an NTV2Channel (a zero-based index value). |
Definition at line 853 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetLUTOutputXptFromChannel | ( | const NTV2Channel | inLUT | ) |
| [in] | inLUT | Specifies the LUT of interest, expressed as an NTV2Channel (a zero-based index value). |
Definition at line 903 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetMixerBGInputXpt | ( | const NTV2Channel | inChannel, |
| const bool | inIsKey = false |
||
| ) |
| [in] | inChannel | Specifies the NTV2Channel of interest. Mixer 1 is used for channels 1 & 2, mixer 2 for channels 3 & 4, etc. |
| [in] | inIsKey | Specify true to obtain the key input crosspoint. Defaults to false (the video input). |
Definition at line 1046 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetMixerFGInputXpt | ( | const NTV2Channel | inChannel, |
| const bool | inIsKey = false |
||
| ) |
| [in] | inChannel | Specifies the NTV2Channel of interest. Mixer 1 is used for channels 1 & 2, mixer 2 for channels 3 & 4, etc. |
| [in] | inIsKey | Specify true to obtain the key input crosspoint. Defaults to false (the video input). |
Definition at line 1033 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetMixerOutputXptFromChannel | ( | const NTV2Channel | inChannel, |
| const bool | inIsKey = false |
||
| ) |
| [in] | inChannel | Specifies the NTV2Channel of interest. Mixer 1 is used for channels 1 & 2, mixer 2 for channels 3 & 4, etc. |
| [in] | inIsKey | Specify true to obtain the key output crosspoint. Defaults to false (the video output crosspoint). |
Definition at line 1020 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetOutputDestInputXpt | ( | const NTV2OutputDestination | inOutputDest, |
| const bool | inIsSDI_DS2 = false, |
||
| const UWord | inHDMI_Quadrant = 99 |
||
| ) |
| [in] | inOutputDest | Specifies the NTV2OutputDestination of interest. |
| [in] | inIsSDI_DS2 | Specify true to obtain the DS2 input crosspoint (SDI output destinations only). Defaults to false (the DS1 input). Ignored for non-SDI output destinations. |
| [in] | inHDMI_Quadrant | Specifies the 4K/UHD quadrant of interest (for HDMI output destinations), where 0=upperLeft, 1=upperRight, 2=lowerLeft, 3=lowerRight. Values above 3 are deemed to be non-4K/UHD (the default). Ignored for non-HDMI output destinations. |
Definition at line 993 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetSDIInputOutputXptFromChannel | ( | const NTV2Channel | inSDIInput, |
| const bool | inIsDS2 = false |
||
| ) |
| [in] | inSDIInput | Specifies the SDI Input widget of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsDS2 | Specify true to obtain the DS2 output crosspoint. Defaults to false (the DS1 output crosspoint). |
Definition at line 958 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetSDIOutputInputXpt | ( | const NTV2Channel | inSDIOutput, |
| const bool | inIsDS2 = false |
||
| ) |
| [in] | inSDIOutput | Specifies the SDI Output widget of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inIsDS2 | Specify true to obtain the DS2 input crosspoint. Defaults to false (the DS1 input). |
Definition at line 1007 of file ntv2signalrouter.cpp.
| NTV2InputXptID GetTSIMuxInputXptFromChannel | ( | const NTV2Channel | inTSIMuxer, |
| const bool | inLinkB = false |
||
| ) |
| [in] | inTSIMuxer | Specifies the 425Mux widget of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inLinkB | Specify true to obtain the "B" input crosspoint. Defaults to false, the "A" input. |
Definition at line 1058 of file ntv2signalrouter.cpp.
| NTV2OutputXptID GetTSIMuxOutputXptFromChannel | ( | const NTV2Channel | inTSIMuxer, |
| const bool | inLinkB = false, |
||
| const bool | inIsRGB = false |
||
| ) |
| [in] | inTSIMuxer | Specifies the 425Mux widget of interest, expressed as an NTV2Channel (a zero-based index value). |
| [in] | inLinkB | Specify true to obtain the "B" output crosspoint. Defaults to false, the "A" output. |
| [in] | inIsRGB | Specify true to obtain the RGB output crosspoint. Defaults to false, the YUV output. |
Definition at line 1070 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const CNTV2SignalRouter & | inObj | ||
| ) |
Definition at line 1157 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const NTV2OutputXptIDSet & | inObj | ||
| ) |
Definition at line 1163 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const NTV2InputXptIDSet & | inObj | ||
| ) |
Definition at line 1176 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | inOutStream, |
| const NTV2WidgetIDSet & | inObj | ||
| ) |
Definition at line 1198 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const NTV2XptConnection & | inObj | ||
| ) |
Definition at line 1209 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const NTV2XptConnections & | inObj | ||
| ) |
Definition at line 1215 of file ntv2signalrouter.cpp.
| ostream& operator<< | ( | ostream & | oss, |
| const NTV2PossibleConnections & | inObj | ||
| ) |
Definition at line 1226 of file ntv2signalrouter.cpp.
|
static |
Definition at line 36 of file ntv2signalrouter.cpp.
|
static |
Definition at line 104 of file ntv2signalrouter.cpp.
|
static |
Definition at line 105 of file ntv2signalrouter.cpp.