AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2captiontranslator708to708.h
Go to the documentation of this file.
1 
7 #ifndef __NTV2_CEA708to708_TRANSLATOR_
8 #define __NTV2_CEA708to708_TRANSLATOR_
9 
10 #include "ntv2captiondecoder708.h"
11 #include "ntv2captionencoder708.h"
12 
13 
14 #ifdef MSWindows
15  #include "windows.h"
16 #endif
17 
18 
24 
25 
27 {
28  // Class Methods
29  public:
35  static bool Create (CNTV2CaptionTranslator708to708Ptr & outEncoder);
36 
37 
38  // Instance Methods
39  public:
41 
42  virtual void Reset (void);
43 
44  virtual bool GrabInputSmpte334AndParse (const UByte * pVideo,
45  const NTV2VideoFormat videoFormat,
46  const NTV2FrameBufferFormat pixelFormat,
47  bool & outHasParityErrors);
48 
49  virtual bool CreateSMPTE334Anc (const NTV2FrameRate inOutputFrameRate, const NTV2Line21Field inField, UWordPtr & outAncPacketData, size_t & outSize);
50  virtual bool CreateSMPTE334Anc (const NTV2FrameRate inOutputFrameRate, const NTV2Line21Field inField);
51 
52  virtual bool OutputSMPTE334Anc (void * pFrameBuffer, const NTV2VideoFormat inVideoFormat, const NTV2FrameBufferFormat inPixelFormat, const ULWord inLineNumber = 0);
53 
54  virtual bool CopyDecoderDataToEncoder (NTV2FrameRate outputFrameRate, NTV2Line21Field field);
55 
56  virtual void Set608TestIDMode (bool bTest);
57 
58  virtual NTV2CaptionLogMask SetLogMask (const NTV2CaptionLogMask inLogMask);
59 
60 
61  // Private Instance Methods
62  private:
63  virtual bool Combine708CaptionServiceData (NTV2FrameRate frameRate);
64  virtual unsigned MaxCaptionChannelDataForFrameRate (NTV2FrameRate ntv2Rate);
65  virtual bool AddServiceServiceBlockData (const size_t svcIndex, UByte * pEncodeData, size_t index, const size_t maxIndex, size_t & outEndIndex);
66 
68  explicit CNTV2CaptionTranslator708to708 (const CNTV2CaptionTranslator708to708 & inTranslatorToCopy);
69  virtual CNTV2CaptionTranslator708to708 & operator = (const CNTV2CaptionTranslator708to708 & inTranslatorToCopy);
70 
71 
72  // INSTANCE DATA
73  private:
74  CNTV2CaptionDecoder708Ptr m708Decoder;
75  CNTV2CaptionEncoder708Ptr m708Encoder;
76  //int mDebugPrintOffset; ///< @brief Offset added to debug levels (used in cases where there are multiple instances,
77 };
78 
79 #endif // __NTV2_CEA708to708_TRANSLATOR_
AJARefPtr
I am a reference-counted pointer template class. I am intended to be a proxy for an underlying object...
Definition: ajarefptr.h:89
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:207
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:396
ULWord
uint32_t ULWord
Definition: ajatypes.h:253
CNTV2CaptionTranslator708to708Ptr
AJARefPtr< CNTV2CaptionTranslator708to708 > CNTV2CaptionTranslator708to708Ptr
Definition: ntv2captiontranslator708to708.h:22
CNTV2CaptionLogConfig::SetLogMask
virtual NTV2CaptionLogMask SetLogMask(const NTV2CaptionLogMask inLogMask)
Specifies what, if any, debug information I will write to my log stream.
Definition: ntv2captionlogging.h:187
ntv2captiondecoder708.h
Declares the CNTV2CaptionDecoder708 class.
UByte
uint8_t UByte
Definition: ajatypes.h:248
ntv2captionencoder708.h
Declares the CNTV2CaptionEncoder708 class.
AJAExport
#define AJAExport
Definition: export.h:33
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
NTV2CaptionLogMask
uint64_t NTV2CaptionLogMask
Selectors to control what information is logged.
Definition: ntv2captionlogging.h:38
CNTV2CaptionLogConfig
Definition: ntv2captionlogging.h:77
NTV2Line21Field
NTV2Line21Field
The two CEA-608 interlace fields.
Definition: ntv2caption608types.h:56
CNTV2CaptionTranslator708to708
Definition: ntv2captiontranslator708to708.h:26
UWordPtr
UWord * UWordPtr
Definition: ntv2captionencoder708.h:20