3 #include <BlueVelvet4.h>
\r
4 #include "../../video/video_format.h"
\r
8 namespace caspar { namespace core { namespace bluefish {
\r
10 inline bool is_epoch_card(int card_type)
\r
12 return card_type == CRD_BLUE_EPOCH_2K ||
\r
13 card_type == CRD_BLUE_EPOCH_HORIZON ||
\r
14 card_type == CRD_BLUE_EPOCH_2K_CORE ||
\r
15 card_type == CRD_BLUE_EPOCH_2K_ULTRA ||
\r
16 card_type == CRD_BLUE_EPOCH_CORE ||
\r
17 card_type == CRD_BLUE_EPOCH_ULTRA;
\r
20 inline EVideoMode vid_fmt_from_video_format(const video_format::type& fmt)
\r
24 case video_format::pal: return VID_FMT_PAL;
\r
25 case video_format::ntsc: return VID_FMT_NTSC;
\r
26 case video_format::x576p2500: return VID_FMT_INVALID; //not supported
\r
27 case video_format::x720p5000: return VID_FMT_720P_5000;
\r
28 case video_format::x720p5994: return VID_FMT_720P_5994;
\r
29 case video_format::x720p6000: return VID_FMT_720P_6000;
\r
30 case video_format::x1080p2397: return VID_FMT_1080P_2397;
\r
31 case video_format::x1080p2400: return VID_FMT_1080P_2400;
\r
32 case video_format::x1080i5000: return VID_FMT_1080I_5000;
\r
33 case video_format::x1080i5994: return VID_FMT_1080I_5994;
\r
34 case video_format::x1080i6000: return VID_FMT_1080I_6000;
\r
35 case video_format::x1080p2500: return VID_FMT_1080P_2500;
\r
36 case video_format::x1080p2997: return VID_FMT_1080P_2997;
\r
37 case video_format::x1080p3000: return VID_FMT_1080P_3000;
\r
38 default: return VID_FMT_INVALID;
\r
42 inline wchar_t* get_card_desc(int cardType)
\r
46 case CRD_BLUEDEEP_LT: return L"Deepblue LT";// D64 Lite
\r
47 case CRD_BLUEDEEP_SD: return L"Iridium SD";// Iridium SD
\r
48 case CRD_BLUEDEEP_AV: return L"Iridium AV";// Iridium AV
\r
49 case CRD_BLUEDEEP_IO: return L"Deepblue IO";// D64 Full
\r
50 case CRD_BLUEWILD_AV: return L"Wildblue AV";// D64 AV
\r
51 case CRD_IRIDIUM_HD: return L"Iridium HD";// * Iridium HD
\r
52 case CRD_BLUEWILD_RT: return L"Wildblue RT";// D64 RT
\r
53 case CRD_BLUEWILD_HD: return L"Wildblue HD";// * BadAss G2
\r
54 case CRD_REDDEVIL: return L"Iridium Full";// Iridium Full
\r
55 case CRD_BLUEDEEP_HD:
\r
56 case CRD_BLUEDEEP_HDS: return L"Reserved for \"BasAss G2";// * BadAss G2 variant, proposed, reserved
\r
57 case CRD_BLUE_ENVY: return L"Blue envy"; // Mini Din
\r
58 case CRD_BLUE_PRIDE: return L"Blue pride";//Mini Din Output
\r
59 case CRD_BLUE_GREED: return L"Blue greed";
\r
60 case CRD_BLUE_INGEST: return L"Blue ingest";
\r
61 case CRD_BLUE_SD_DUALLINK: return L"Blue SD duallink";
\r
62 case CRD_BLUE_CATALYST: return L"Blue catalyst";
\r
63 case CRD_BLUE_SD_DUALLINK_PRO: return L"Blue SD duallink pro";
\r
64 case CRD_BLUE_SD_INGEST_PRO: return L"Blue SD ingest pro";
\r
65 case CRD_BLUE_SD_DEEPBLUE_LITE_PRO: return L"Blue SD deepblue lite pro";
\r
66 case CRD_BLUE_SD_SINGLELINK_PRO: return L"Blue SD singlelink pro";
\r
67 case CRD_BLUE_SD_IRIDIUM_AV_PRO: return L"Blue SD iridium AV pro";
\r
68 case CRD_BLUE_SD_FIDELITY: return L"Blue SD fidelity";
\r
69 case CRD_BLUE_SD_FOCUS: return L"Blue SD focus";
\r
70 case CRD_BLUE_SD_PRIME: return L"Blue SD prime";
\r
71 case CRD_BLUE_EPOCH_2K_CORE: return L"Blue epoch 2k core";
\r
72 case CRD_BLUE_EPOCH_2K_ULTRA: return L"Blue epoch 2k ultra";
\r
73 case CRD_BLUE_EPOCH_HORIZON: return L"Blue epoch horizon";
\r
74 case CRD_BLUE_EPOCH_CORE: return L"Blue epoch core";
\r
75 case CRD_BLUE_EPOCH_ULTRA: return L"Blue epoch ultra";
\r
76 case CRD_BLUE_CREATE_HD: return L"Blue create HD";
\r
77 case CRD_BLUE_CREATE_2K: return L"Blue create 2k";
\r
78 case CRD_BLUE_CREATE_2K_ULTRA: return L"Blue create 2k ultra";
\r
79 default: return L"Unknown";
\r
83 inline int set_card_property(CBlueVelvet4 * pSdk, ULONG prop, ULONG value)
\r
85 VARIANT variantValue;
\r
86 variantValue.vt = VT_UI4;
\r
87 variantValue.ulVal = value;
\r
88 return (pSdk->SetCardProperty(prop,variantValue));
\r
91 inline int set_card_property(const std::shared_ptr<CBlueVelvet4> pSdk, ULONG prop, ULONG value)
\r
93 return set_card_property(pSdk.get(), prop, value);
\r