AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
ancillarydata_cea608.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef AJA_ANCILLARYDATA_CEA608_H
9 #define AJA_ANCILLARYDATA_CEA608_H
10 
11 #include "ancillarydatafactory.h"
12 #include "ancillarydata.h"
13 
14 
19 {
20 public:
22 
28 
34 
39  AJAAncillaryData_Cea608 (const AJAAncillaryData * pInData);
40 
41  virtual ~AJAAncillaryData_Cea608 ();
42 
43  virtual void Clear (void);
44 
51 
52 
53  virtual inline AJAAncillaryData_Cea608 * Clone (void) const {return new AJAAncillaryData_Cea608 (this);}
54 
62  virtual AJAStatus SetCEA608Bytes (const uint8_t inByte1, const uint8_t inByte2);
63 
71  virtual AJAStatus GetCEA608Bytes (uint8_t & outByte1, uint8_t & outByte2, bool & outIsValid) const;
72 
73 
81  virtual AJAStatus SetCEA608Characters (const uint8_t inChar1, const uint8_t inChar2);
82 
90  virtual AJAStatus GetCEA608Characters (uint8_t & outChar1, uint8_t & outChar2, bool & outIsValid) const;
91 
97  static uint8_t AddOddParity (const uint8_t inValue);
98 
105  virtual std::ostream & Print (std::ostream & inOutStream, const bool inDetailed = false) const;
106 
111  static AJAAncDataType RecognizeThisAncillaryData (const AJAAncillaryData * pInAncData);
112 
113 protected:
114  void Init (void); // NOT virtual - called by constructors
115 
116  // Note: if you make a change to the local member data, be sure to ALSO make the appropriate
117  // changes in the Init() and operator= methods!
118  uint8_t m_char1; // the 1st character in this field
119  uint8_t m_char2; // the 2nd character in this field
120 
121 }; // AJAAncillaryData_Cea608
122 
123 #endif // AJA_ANCILLARYDATA_CEA608_H
124 
ancillarydata.h
Declares the AJAAncillaryData class.
AJAAncDataType
AJAAncDataType
Identifies the ancillary data types that are known to this module.
Definition: ancillarydata.h:44
ancillarydatafactory.h
Declaration of the AJAAncillaryDataFactory class.
AJAStatus
AJAStatus
Definition: types.h:365
AJAAncillaryData::Print
virtual std::ostream & Print(std::ostream &inOutStream, const bool inDetailed=false) const
Streams a human-readable representation of me to the given output stream.
Definition: ancillarydata.cpp:1306
AJAAncillaryData_Cea608
This is the base class for handling CEA-608 caption data packets.
Definition: ancillarydata_cea608.h:18
AJAAncillaryData
I am the principal class that stores a single SMPTE-291 SDI ancillary data packet OR the digitized co...
Definition: ancillarydata.h:550
AJAAncillaryData::Clear
virtual void Clear(void)
Frees my allocated memory, if any, and resets my members to their default values.
Definition: ancillarydata.cpp:147
AJAAncillaryData::operator=
virtual AJAAncillaryData & operator=(const AJAAncillaryData &inRHS)
Definition: ancillarydata.cpp:1465
AJAExport
#define AJAExport
Definition: export.h:33
AJAAncillaryData::Clone
virtual AJAAncillaryData * Clone(void) const
Definition: ancillarydata.cpp:153
AJAAncillaryData_Cea608::m_char1
uint8_t m_char1
Definition: ancillarydata_cea608.h:118
AJAAncillaryData_Cea608::m_char2
uint8_t m_char2
Definition: ancillarydata_cea608.h:119
AJAAncillaryData::Init
void Init(void)
Definition: ancillarydata.cpp:124