AJA NTV2 SDK  18.0.0.2122
NTV2 SDK 18.0.0.2122
ntv2enhancedcsc.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2_ENHANCED_CSC_H
9 #define NTV2_ENHANCED_CSC_H
10 
11 #include "ajaexport.h"
12 #include "ntv2card.h"
13 #include "ntv2cscmatrix.h"
14 
15 typedef enum
16 {
20 
23 
24 
25 typedef enum
26 {
30 
33 
34 
35 typedef enum
36 {
39 
42 
43 
44 typedef enum
45 {
48 
51 
52 
53 typedef enum
54 {
57 
60 
61 
66 {
67 // Class Methods
68 public:
69  // Construction, Copying, Assigning
70  explicit CNTV2EnhancedCSC () { };
71  virtual inline ~CNTV2EnhancedCSC () { }
72 
73 
74 // Instance Methods
75 public:
76  inline CNTV2CSCMatrix & Matrix (void) {return mMatrix;}
77  inline const CNTV2CSCMatrix & Matrix (void) const {return mMatrix;}
78 
79  bool SetInputPixelFormat (const NTV2EnhancedCSCPixelFormat inPixelFormat);
80  inline NTV2EnhancedCSCPixelFormat GetInputPixelFormat (void) const {return mInputPixelFormat;}
81 
82  bool SetOutputPixelFormat (const NTV2EnhancedCSCPixelFormat inPixelFormat);
83  inline NTV2EnhancedCSCPixelFormat GetOutputPixelFormat (void) const {return mOutputPixelFormat;}
84 
85  bool SetChromaFilterSelect (const NTV2EnhancedCSCChromaFilterSelect inChromaFilterSelect);
86  inline NTV2EnhancedCSCChromaFilterSelect GetChromaFilterSelect (void) const {return mChromaFilterSelect;}
87 
88  bool SetChromaEdgeControl (const NTV2EnhancedCSCChromaEdgeControl inChromaEdgeControl);
89  inline NTV2EnhancedCSCChromaEdgeControl GetChromaEdgeControl (void) const {return mChromaEdgeControl;}
90 
91  bool SetKeySource (const NTV2EnhancedCSCKeySource inKeySource);
92  inline NTV2EnhancedCSCKeySource GetKeySource (void) const {return mKeySource;}
93 
94  bool SetKeyOutputRange (const NTV2EnhancedCSCKeyOutputRange inKeyOutputRange);
95  inline NTV2EnhancedCSCKeyOutputRange GetKeyOutputRange (void) const {return mKeyOutputRange;}
96 
97  bool SetKeyInputOffset (const int16_t inKeyInputOffset);
98  inline int16_t GetKeyInputOffset (void) const {return mKeyInputOffset;}
99 
100  bool SetKeyOutputOffset (const uint16_t inKeyOutputOffset);
101  inline uint16_t GetKeyOutputOffset (void) const {return mKeyOutputOffset;}
102 
103  bool SetKeyGain (const double inKeyGain);
104  inline double GetKeyGain (void) const {return mKeyGain;}
105 
106  bool SendToHardware (CNTV2Card & inDevice, const NTV2Channel inChannel) const;
107  bool GetFromHardware (CNTV2Card & inDevice, const NTV2Channel inChannel);
108 
109 // Instance Data
110 private:
111  NTV2EnhancedCSCPixelFormat mInputPixelFormat;
112  NTV2EnhancedCSCPixelFormat mOutputPixelFormat;
113  NTV2EnhancedCSCChromaFilterSelect mChromaFilterSelect;
114  NTV2EnhancedCSCChromaEdgeControl mChromaEdgeControl;
115  NTV2EnhancedCSCKeySource mKeySource;
116  NTV2EnhancedCSCKeyOutputRange mKeyOutputRange;
117  int16_t mKeyInputOffset;
118  uint16_t mKeyOutputOffset;
119  double mKeyGain;
120  CNTV2CSCMatrix mMatrix;
121 
122 }; // CNTV2EnhancedCSC
123 
124 
125 #endif // NTV2_ENHANCED_CSC_H
126 
Declares the utility class for abstract color space matrix operations.
NTV2EnhancedCSCPixelFormat GetOutputPixelFormat(void) const
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:28
NTV2EnhancedCSCPixelFormat GetInputPixelFormat(void) const
NTV2EnhancedCSCKeySource GetKeySource(void) const
NTV2EnhancedCSCKeyOutputRange GetKeyOutputRange(void) const
NTV2EnhancedCSCChromaEdgeControl GetChromaEdgeControl(void) const
double GetKeyGain(void) const
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1357
int16_t GetKeyInputOffset(void) const
Defines the import/export macros for producing DLLs or LIBs.
virtual ~CNTV2EnhancedCSC()
const CNTV2CSCMatrix & Matrix(void) const
NTV2EnhancedCSCKeyOutputRange
NTV2EnhancedCSCChromaFilterSelect
uint16_t GetKeyOutputOffset(void) const
NTV2EnhancedCSCChromaEdgeControl
#define AJAExport
Definition: export.h:33
NTV2EnhancedCSCChromaFilterSelect GetChromaFilterSelect(void) const
NTV2EnhancedCSCKeySource
NTV2EnhancedCSCPixelFormat
This class supports the color space conversion matrix described below.
Definition: ntv2cscmatrix.h:98
Declares the CNTV2Card class.
CNTV2CSCMatrix & Matrix(void)
This class controls the enhanced color space converter.