AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
ntv2captionencoder708.h
Go to the documentation of this file.
1 
7 #ifndef __NTV2_CEA708_ENCODER_
8 #define __NTV2_CEA708_ENCODER_
9 
10 #include "ntv2caption608types.h"
13 
14 #ifdef MSWindows
15  #include "windows.h"
16  #include "stdio.h"
17 #endif
18 
19 typedef UByte * UBytePtr;
20 typedef UWord * UWordPtr;
21 
22 
24 
25 
26 // returns size of Service Block Header (1 byte for standard services, 2 bytes for extended)
27 #define ServiceBlockHeaderSize(svcNum) (svcNum <= 6 ? 1 : 2)
28 
29 
30 // Caption Channel Packets cannot be longer than 256 bytes (and still fit into a SMPTE-334 ANC packet payload)
31 const size_t NTV2_CC708MaxPktSize = 256;
32 const size_t NTV2_CC708MaxAncSize = 512;
33 
34 
35 // CEA-708 constants
36 const size_t NTV2_CC708_MaxCaptionChannelPacketSize = 128; // including Caption Channel Packet Header byte!
37 const size_t NTV2_CC708_MaxServiceBlockSize = 31; // NOT including Service Block Header byte(s)!
38 
39 
40 // CEA-708B Caption Data Packet section IDs
41 enum
42 {
43  NTV2_CC708_CDPHeaderId1 = 0x96, // cdp_identifier (2 bytes)
45  NTV2_CC708_CDPTimecodeId = 0x71, // time_code_section_id
46  NTV2_CC708_CDPDataId = 0x72, // ccdata_id
47  NTV2_CC708_CDPServiceInfoId = 0x73, // ccsvcinfo_id
48  NTV2_CC708_CDPFooterId = 0x74 // cdp_footer
49 };
50 
51 
52 // CEA-708B cdp_frame_rate enums (see CEA-708B, pg 72)
53 enum
54 {
63 };
64 
65 
66 // CEA-708B CDP Header flags (see CEA-708B, pp 72-73)
67 enum
68 {
69  NTV2_CC708CDPHeader_TimeCodePresent = (1 << 7), // set if CDP contains time_code_section
70  NTV2_CC708CDPHeader_CCDataPresent = (1 << 6), // set if CDP contains cc_data section
71  NTV2_CC708CDPHeader_SvcInfoPresent = (1 << 5), // set if CDP contains ccsvcinfo_section
75  NTV2_CC708CDPHeader_CaptionServiceActive = (1 << 1), // set if CDP contains an active caption service
76  NTV2_CC708CDPHeader_Reserved = (1 << 0) // this should always be "on"
77 
78 };
79 
80 
81 // CEA-708 CDP "cc_type" enums
82 enum
83 {
84  NTV2_CC708CCTypeNTSCField1 = 0, // 608 Field 1
85  NTV2_CC708CCTypeNTSCField2 = 1, // 608 Field 2
86  NTV2_CC708CCTypeDTVCCData = 2, // 708 (2nd, 3rd, 4th, etc.)
87  NTV2_CC708CCTypeDTVCCStart = 3 // 708 (1st)
88 };
89 
90 
91 typedef struct NTV2_CC708CDPHeader
92 {
93  UWord cdp_identifier; // 0x9669
94  UByte cdp_length; // length (in words) of entire packet
95  int cdp_frame_rate; // see NTV2_CC708CDPFrameRateXXX enums
96  int cdp_flags; // see NTV2_CC708CDPHeader_xxx enums
97  UWord cdp_hdr_sequence_cntr; // sequence count (must match footer sequence count)
98 
101 
102 
104 {
106  int tc_10hrs;
107  int tc_1hrs;
108  int tc_10min;
109  int tc_1min;
110  int tc_10sec;
111  int tc_1sec;
112  int tc_10fr;
113  int tc_1fr;
116 
117  inline void Zero (void) {time_code_section_id = 0;
119  tc_field_flag = drop_frame_flag = false;}
121 
122 
124 {
125  bool cc_valid;
126  int cc_type;
129 
130  inline void Zero (void) {cc_valid = false; cc_type = 0; cc_data_1 = cc_data_2 = 0;}
132 
133 
135 {
136  UByte ccdata_id; // 0x72
137  int cc_count;
139 
140  void Zero (void);
142 
143 
145 {
152 
153  void Zero (void);
155 
156 
157 typedef struct NTV2_CC708CDPFooter
158 {
159  UWord cdp_ftr_sequence_cntr; // sequence count (must match header sequence count)
161 
162  inline void Zero (void) {cdp_ftr_sequence_cntr = 0; packet_checksum = 0;}
164 
165 
166 
167 typedef struct NTV2_CC708CDP
168 {
174 
177 
178 
179 
180 // CEA-708B Screen Coordinates
181 const int NTV2_CC708ScreenCellWidth4x3 = 160; // max number of "cells" wide in a 4x3 screen format
182 const int NTV2_CC708ScreenCellWidth16x9 = 210; // max number of "cells" wide in a 16x9 screen format
183 const int NTV2_CC708ScreenCellHeight = 75; // max number of "cells" in either screen format
184 
185 
186 enum
187 {
188  NTV2_CC708WindowIDMin = 0, // note: this MUST be zero or a whole lot of loops will break!
191 };
192 
193 
194 
195 // enums/constants for CC708Color struct
196 enum
197 {
200 };
201 
202 
203 typedef enum
204 {
213 
214 
216 
217 
218 AJAExport std::string NTV2_CC708OpacityToString (const NTV2_CC708Opacity inOpacity, const bool inCompact = false);
219 
220 
221 typedef struct AJAExport CC708Color
222 {
223  int red; // NTV2_CC708Color___ (0 - 3)
224  int green; //
225  int blue; //
226  int opacity; // NTV2_CC708Opacity___
227 
228  explicit CC708Color (const int inRed = NTV2_CC708ColorMax,
229  const int inGreen = NTV2_CC708ColorMax,
230  const int inBlue = NTV2_CC708ColorMax,
231  const int inOpacity = NTV2_CC708DefaultOpacity);
232 
233  inline bool IsValid (void) const {return red >= NTV2_CC708ColorMin && red <= NTV2_CC708ColorMax
234  && green >= NTV2_CC708ColorMin && green <= NTV2_CC708ColorMax
235  && blue >= NTV2_CC708ColorMin && blue <= NTV2_CC708ColorMax
236  && opacity >= NTV2_CC708OpacityMin && opacity <= NTV2_CC708OpacityMax;}
237 } CC708Color;
238 
239 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708Color & inData);
240 
241 // Commonly used opaque colors: red green blue
250 
251 
252 
253 // 708 Window Parameters - see CEA-708B, pg 41-42
254 //
255 enum
256 {
259 };
260 
261 const bool NTV2_CC708Visible = true;
262 const bool NTV2_CC708NotVisible = false;
263 
264 
265 enum
266 {
278 };
279 
280 
281 const bool NTV2_CC708AbsolutePos = false;
282 const bool NTV2_CC708RelativePos = true;
283 
284 const bool NTV2_CC708Lock = true;
285 const bool NTV2_CC708NoLock = false;
286 
287 
288 enum
289 {
292 };
293 
294 
295 enum
296 {
299 };
300 
301 
302 typedef struct CC708WindowParms
303 {
304  int priority;
305  int anchorPt;
306  bool relativePos;
307  int anchorV;
308  int anchorH;
309  int rowCount;
310  int colCount;
311  bool rowLock;
312  bool colLock;
313  bool visible;
316 
317  explicit CC708WindowParms ();
318  explicit CC708WindowParms (const UByte inParam1, const UByte inParam2, const UByte inParam3, const UByte inParam4, const UByte inParam5, const UByte inParam6);
319  bool IsValid (void) const;
320  void Clear (void);
321 
323 
324 
325 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708WindowParms & inData);
326 
327 
328 
329 // 708 Window Attributes - see CEA-708B, pg 48-49
330 //
331 enum
332 {
339 };
340 
341 
342 enum
343 {
348 };
349 
350 
351 enum
352 {
359 };
360 
361 
362 const bool NTV2_CC708WordWrap = true;
363 const bool NTV2_CC708NoWordWrap = false;
364 
365 
366 enum
367 {
373 };
374 
375 
376 enum
377 {
384 };
385 
386 
387 enum
388 {
397 };
398 
399 
400 typedef struct CC708WindowAttr
401 {
402  int justify; // NTV2_CC708Justify___
403  int printDir; // NTV2_CC708PrintDir___
404  int scrollDir; // NTV2_CC708ScrollDir___
405  bool wordWrap; // NTV2_CC708NoWordWrap/NTV2_CC708WordWrap
406  int displayEffect; // NTV2_CC708DispEffect___
407  int effectDir; // NTV2_CC708EffectDir___
409  int borderType; // NTV2_CC708BorderType___
412 
413  explicit CC708WindowAttr ();
414  explicit CC708WindowAttr (const UByte inParam1, const UByte inParam2, const UByte inParam3, const UByte inParam4);
415  bool IsValid (void) const;
416  void Clear (void);
417 
419 
420 
421 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708WindowAttr & inData);
422 
423 
424 // 708 Pen Attributes - see CEA-708B, pg 50-51
425 //
426 enum
427 {
433 };
434 
435 
436 enum
437 {
448 };
449 
450 
451 enum
452 {
471 };
472 
473 
474 enum
475 {
481 };
482 
483 
484 const bool NTV2_CC708Italics (true);
485 const bool NTV2_CC708NoItalics (false);
486 
487 const bool NTV2_CC708Underline (true);
488 const bool NTV2_CC708NoUnderline (false);
489 
490 
491 enum
492 {
501 };
502 
503 
504 typedef struct CC708PenAttr
505 {
506  int penSize; // NTV2_CC708PenSize___
507  int fontStyle; // NTV2_CC708FontStyle___
508  int textTag; // NTV2_CC708TextTag___
509  int offset; // NTV2_CC708PenOffset___
510  bool italics; // NTV2_CC708NoItalics/NTV2_CC708Italics
511  bool underline; // NTV2_CC708NoUnderline/NTV2_CC708Underline
512  int edgeType; // NTV2_CC708PenEdgeType___
513 
514  explicit CC708PenAttr ();
515  explicit CC708PenAttr (const UByte inParam1, const UByte inParam2);
516  inline bool IsValid (void) const {return penSize >= NTV2_CC708PenSizeMin && penSize <= NTV2_CC708PenSizeMax
521  void Clear (void);
522 } CC708PenAttr;
523 
524 
525 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708PenAttr & inData);
526 
527 
528 // 708 Pen Color - see CEA-708B, pg 52
529 //
530 typedef struct CC708PenColor
531 {
532  CC708Color fg; // pen foreground color/opacity
533  CC708Color bg; // pen background color/opacity
534  CC708Color edge; // pen edge color (opacity ignored)
535 
536  explicit CC708PenColor ();
537  explicit CC708PenColor (const UByte inParam1, const UByte inParam2, const UByte inParam3);
538  inline bool IsValid (void) const {return fg.IsValid () && bg.IsValid () && edge.IsValid ();}
539  void Clear (void);
540 
541 } CC708PenColor;
542 
543 
544 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708PenColor & inData);
545 
546 
547 // 708 Pen Location - see CEA-708B pg 53
548 //
549 typedef struct CC708PenLocation
550 {
551  int row;
552  int column;
553 
554  explicit CC708PenLocation (const int inRow = 0, const int inColumn = 0);
555  inline bool IsValid (void) const {return row >= 0 && row <= 14 && column >= 0 && column <= 41;}
556  inline void Reset (void) {row = column = 0;}
557 
559 
560 
561 AJAExport std::ostream & operator << (std::ostream & inOutStream, const CC708PenLocation & inData);
562 
563 
584 
585 
587 {
588  // CLASS METHODS
589  public:
597  static bool Create (CNTV2CaptionEncoder708Ptr & outEncoder);
598 
599 
600  // INSTANCE METHODS
601  public:
602  virtual ~CNTV2CaptionEncoder708 ();
603 
604  virtual void Reset (void);
605 
606  // These methods build 708 messages in my mPacketData private buffer...
607  virtual void InitCaptionChannelPacket ();
608  virtual bool SetCaptionChannelPacket (const UBytePtr pInData, const size_t numBytes);
609  virtual inline UBytePtr GetCaptionChannelPacket (void) {return mPacketData;}
610  virtual inline const UByte * GetCaptionChannelPacket (void) const {return mPacketData;}
611  virtual inline size_t GetCaptionChannelPacketSize (void) const {return mPacketDataSize;}
612  virtual bool SetCaptionChannelPacketSize (size_t packetSize);
613 
614  virtual bool MakeCaptionChannelPacketHeader (const size_t index, size_t packetSize, size_t & outNewIndex);
615  virtual bool MakeNullServiceBlockHeader (size_t index, size_t & outNewIndex);
616  virtual bool MakeServiceBlockHeader (const size_t index, int serviceNum, const size_t blockSize, size_t & outNewIndex);
617  virtual bool MakeServiceBlockHeader (const size_t index, int serviceNum, const size_t blockSize);
618  virtual bool MakeServiceBlockCharData (const size_t index, UByte data, size_t & outNewIndex);
619 
620  virtual bool MakeDefineWindowCommand (const size_t index, int windowID, const CC708WindowParms & inParms, size_t & outNewIndex);
621  virtual bool MakeClearWindowsCommand (const size_t index, UByte windowMap, size_t & outNewIndex);
622  virtual bool MakeDeleteWindowsCommand (const size_t index, UByte windowMap, size_t & outNewIndex);
623  virtual bool MakeDisplayWindowsCommand (const size_t index, UByte windowMap, size_t & outNewIndex);
624  virtual bool MakeHideWindowsCommand (const size_t index, UByte windowMap, size_t & outNewIndex);
625  virtual bool MakeToggleWindowsCommand (const size_t index, UByte windowMap, size_t & outNewIndex);
626  virtual bool MakeSetCurrentWindowCommand (const size_t index, const int windowID, size_t & outNewIndex);
627  virtual bool MakeSetWindowAttributesCommand (const size_t index, const CC708WindowAttr & inAttr, size_t & outNewIndex);
628 
629  virtual bool MakeSetPenAttributesCommand (const size_t index, const CC708PenAttr & inAttr, size_t & outNewIndex);
630  virtual bool MakeSetPenColorCommand (const size_t index, const CC708PenColor & inColor, size_t & outNewIndex);
631  virtual bool MakeSetPenLocationCommand (const size_t index, const CC708PenLocation & inLoc, size_t & outNewIndex);
632 
633  virtual bool MakeDelayCommand (const size_t index, const UByte delay, size_t & outNewIndex);
634  virtual bool MakeDelayCancelCommand (const size_t index, size_t & outNewIndex);
635  virtual bool MakeResetCommand (const size_t index, size_t & outNewIndex);
636 
637 
638  // These methods build SMPTE 334 messages in my mAnc334Data private buffer...
639 
644  virtual bool Clear608CaptionData (void);
645 
652  virtual bool Set608CaptionData (const CaptionData & inCC608Data);
661  virtual bool Set608CaptionData (const NTV2Line21Field inField, const UByte inChar1, const UByte inChar2, const bool inGotData);
662 
673  virtual bool MakeSMPTE334AncPacket (const NTV2FrameRate inFrameRate, const NTV2Line21Field inVideoField);
674 
686  virtual bool MakeSMPTE334AncPacket (const NTV2FrameRate inFrameRate, const NTV2Line21Field inVideoField, UWordPtr & outAncPacketData, size_t & outSize);
687 
697  virtual bool MakeSMPTE334AncPacketFromCDP (const UBytePtr pInCDP, const size_t inCDPLength, UWordPtr & outAncPacketData, size_t & outSize);
698 
706  virtual bool MakeSMPTE334AncPacketFromCDP (const UBytePtr pInCDP, const size_t inCDPLength);
707 
708  virtual bool SetServiceInfoActive (int svcIndex, bool bActive);
709  virtual bool CopyAllServiceInfo (const NTV2_CC708ServiceData & inSrcSvcData);
710 
724  virtual bool InsertSMPTE334AncPacketInVideoFrame (void * pFrameBuffer,
725  const NTV2VideoFormat inVideoFormat,
726  const NTV2FrameBufferFormat inPixelFormat,
727  const ULWord inVancLineNumber,
728  const ULWord inWordOffset = 1) const;
729 
730  // DEBUG methods
731  virtual NTV2CaptionLogMask SetLogMask (const NTV2CaptionLogMask inLogMask);
732  virtual inline void Set608TestIDMode (const bool inEnableTestIDMode) { mFlip608Characters = inEnableTestIDMode; }
733 
734  virtual UWordSequence GetSMPTE334DataVector (void) const;
735  virtual const UWord * GetSMPTE334Data (void) const {return mAnc334Data;}
736  virtual size_t GetSMPTE334Size (void) const {return mAnc334Size;}
737 
738 
739  // Private Instance Methods
740  private:
741  virtual bool InsertSMPTE334AncHeader (size_t & inOutAncIndex, const UByte inDataCount);
742  virtual bool InsertSMPTE334AncFooter (size_t & inOutAncIndex, const size_t inAncStartIndex);
743  virtual bool InsertCDPHeader (size_t & inOutAncIndex, const NTV2FrameRate inFrameRate, const int cdpSeqNum);
744  virtual bool InsertCDPFooter (size_t & inOutAncIndex, const size_t cdpStartIndex, const int cdpSeqNum);
745  virtual bool InsertCDPData (size_t & inOutAncIndex, const NTV2FrameRate inFrameRate, const NTV2Line21Field inVideoField);
746  virtual bool InsertCDPDataTriplet (size_t & inOutAncIndex, const bool ccValid, const int ccType, const UByte data1, const UByte data2);
747  virtual bool InsertCDPServiceInfo (size_t & inOutAncIndex);
748 
749  explicit CNTV2CaptionEncoder708 ();
750  explicit CNTV2CaptionEncoder708 (const CNTV2CaptionEncoder708 & inEncoderToCopy);
751  virtual inline CNTV2CaptionEncoder708 & operator = (const CNTV2CaptionEncoder708 & inEncoderToCopy) {(void) inEncoderToCopy; return *this;}
752 
753 
754  // Private Class Methods
755  private:
756  static bool ConvertFrameRate (const NTV2FrameRate inNTV2FrameRate, size_t & outConverted, size_t & outNumCCPackets, size_t & outNum608Triplets);
757  static UByte CC608OddParity (UByte c);
758 
759 
760  // Instance Data
761  private:
762  CaptionData m608CaptionData;
763  UByte mPacketData [NTV2_CC708MaxPktSize];
764  size_t mPacketDataSize;
765  int mPacketSequenceNum;
766  UWord mAnc334Data [NTV2_CC708MaxAncSize];
767  size_t mAnc334Size;
768  UWord mCDPSequenceNum;
769  CNTV2Caption708ServiceInfo mServiceInfo;
770  int mNumServiceInfoPerCDP;
771  bool mFlip608Characters;
772 
773 }; // CNTV2CaptionEncoder708
774 
775 #endif // __NTV2_CEA708_ENCODER_
NTV2_CC708DispEffectWipe
@ NTV2_CC708DispEffectWipe
Definition: ntv2captionencoder708.h:371
NTV2_CC708ScrollDirRtoL
@ NTV2_CC708ScrollDirRtoL
Definition: ntv2captionencoder708.h:355
NTV2_CC708CDPHeader_CCDataPresent
@ NTV2_CC708CDPHeader_CCDataPresent
Definition: ntv2captionencoder708.h:70
CC708WindowAttr::justify
int justify
Definition: ntv2captionencoder708.h:402
NTV2_CC708FontStyleMax
@ NTV2_CC708FontStyleMax
Definition: ntv2captionencoder708.h:447
NTV2_CC708CDPTimecodeSection::tc_1fr
int tc_1fr
Definition: ntv2captionencoder708.h:113
NTV2_CC708CDPHeader::cdp_frame_rate
int cdp_frame_rate
Definition: ntv2captionencoder708.h:95
NTV2_CC708CDPTimecodeSection::tc_10fr
int tc_10fr
Definition: ntv2captionencoder708.h:112
CC708WindowAttr::displayEffect
int displayEffect
Definition: ntv2captionencoder708.h:406
NTV2_CC708MaxAncSize
const size_t NTV2_CC708MaxAncSize
Definition: ntv2captionencoder708.h:32
NTV2_CC708BorderTypeMax
@ NTV2_CC708BorderTypeMax
Definition: ntv2captionencoder708.h:396
NTV2_CC708PenEdgeTypeMax
@ NTV2_CC708PenEdgeTypeMax
Definition: ntv2captionencoder708.h:500
CC708WindowParms
Definition: ntv2captionencoder708.h:302
NTV2_CC708WhiteColor
const CC708Color NTV2_CC708WhiteColor
Definition: ntv2captionencoder708.h:242
NTV2_CC708DispEffectMin
@ NTV2_CC708DispEffectMin
Definition: ntv2captionencoder708.h:368
NTV2_CC708OpacityMax
@ NTV2_CC708OpacityMax
Definition: ntv2captionencoder708.h:211
NTV2_CC708BorderTypeUniform
@ NTV2_CC708BorderTypeUniform
Definition: ntv2captionencoder708.h:393
NTV2_CC708CDPTimecodeSection::drop_frame_flag
bool drop_frame_flag
Definition: ntv2captionencoder708.h:115
ntv2caption608types.h
Declares several data types used with 608/SD captioning.
NTV2_CC708PenSizeMin
@ NTV2_CC708PenSizeMin
Definition: ntv2captionencoder708.h:428
NTV2_CC708_MaxServiceBlockSize
const size_t NTV2_CC708_MaxServiceBlockSize
Definition: ntv2captionencoder708.h:37
NTV2_CC708TextTagDialog
@ NTV2_CC708TextTagDialog
Definition: ntv2captionencoder708.h:454
NTV2_CC708PenEdgeTypeNone
@ NTV2_CC708PenEdgeTypeNone
Definition: ntv2captionencoder708.h:494
NTV2_CC708DispEffectSnap
@ NTV2_CC708DispEffectSnap
Definition: ntv2captionencoder708.h:369
NTV2_CC708TextTagExpletive
@ NTV2_CC708TextTagExpletive
Definition: ntv2captionencoder708.h:465
CC708PenLocation::Reset
void Reset(void)
Definition: ntv2captionencoder708.h:556
CC708WindowAttr::wordWrap
bool wordWrap
Definition: ntv2captionencoder708.h:405
NTV2_CC708TextTagElectronic
@ NTV2_CC708TextTagElectronic
Definition: ntv2captionencoder708.h:456
CC708WindowParms::priority
int priority
Definition: ntv2captionencoder708.h:304
NTV2_CC708CDPFrameRate23p98
@ NTV2_CC708CDPFrameRate23p98
Definition: ntv2captionencoder708.h:55
NTV2_CC708CDPDataSectionPtr
struct NTV2_CC708CDPDataSection * NTV2_CC708CDPDataSectionPtr
CC708Color::opacity
int opacity
Definition: ntv2captionencoder708.h:226
CC708PenAttr::textTag
int textTag
Definition: ntv2captionencoder708.h:508
NTV2_CC708CDPHeader
Definition: ntv2captionencoder708.h:91
NTV2_CC708TextTagTextNoDisplay
@ NTV2_CC708TextTagTextNoDisplay
Definition: ntv2captionencoder708.h:469
NTV2_CC708CDPHeaderPtr
struct NTV2_CC708CDPHeader * NTV2_CC708CDPHeaderPtr
NTV2_CC708CDPHeader_Reserved
@ NTV2_CC708CDPHeader_Reserved
Definition: ntv2captionencoder708.h:76
NTV2_CC708CDPServiceInfoSection::svc_info_change
bool svc_info_change
Definition: ntv2captionencoder708.h:148
NTV2_CC708PenOffsetSuperscript
@ NTV2_CC708PenOffsetSuperscript
Definition: ntv2captionencoder708.h:479
NTV2_CC708CCTypeNTSCField2
@ NTV2_CC708CCTypeNTSCField2
Definition: ntv2captionencoder708.h:85
CC708PenAttr::IsValid
bool IsValid(void) const
Definition: ntv2captionencoder708.h:516
CC708PenColor::bg
CC708Color bg
Definition: ntv2captionencoder708.h:533
AJARefPtr< CNTV2CaptionEncoder708 >
NTV2_CC708_MaxCaptionChannelPacketSize
const size_t NTV2_CC708_MaxCaptionChannelPacketSize
Definition: ntv2captionencoder708.h:36
NTV2_CC708CDPTimecodeSection::Zero
void Zero(void)
Definition: ntv2captionencoder708.h:117
CC708Color::IsValid
bool IsValid(void) const
Definition: ntv2captionencoder708.h:233
CC708WindowAttr::fillColor
CC708Color fillColor
Definition: ntv2captionencoder708.h:410
NTV2_CC708CDPServiceInfoSection::Zero
void Zero(void)
CC708PenAttr::edgeType
int edgeType
Definition: ntv2captionencoder708.h:512
NTV2_CC708CDPTimecodeSection
Definition: ntv2captionencoder708.h:103
ntv2caption708serviceinfo.h
Declares the CNTV2Caption708ServiceInfo class.
NTV2_CC708TextTagMax
@ NTV2_CC708TextTagMax
Definition: ntv2captionencoder708.h:470
NTV2_CC708PrintDirLtoR
@ NTV2_CC708PrintDirLtoR
Definition: ntv2captionencoder708.h:345
CC708WindowParms::CC708WindowParms
CC708WindowParms()
NTV2_CC708PenStyleID enums.
NTV2_CC708CDPDataTriplet::cc_valid
bool cc_valid
Definition: ntv2captionencoder708.h:125
NTV2_CC708MagentaColor
const CC708Color NTV2_CC708MagentaColor(NTV2_CC708ColorMax, NTV2_CC708ColorMin, NTV2_CC708ColorMax)
NTV2_CC708CDPHeader_CaptionServiceActive
@ NTV2_CC708CDPHeader_CaptionServiceActive
Definition: ntv2captionencoder708.h:75
NTV2_CC708TextTagLyrics
@ NTV2_CC708TextTagLyrics
Definition: ntv2captionencoder708.h:462
CC708PenColor::Clear
void Clear(void)
NTV2_CC708BorderTypeShdwLeft
@ NTV2_CC708BorderTypeShdwLeft
Definition: ntv2captionencoder708.h:394
NTV2_CC708CDPFrameRate30
@ NTV2_CC708CDPFrameRate30
Definition: ntv2captionencoder708.h:59
NTV2_CC708CDP::Zero
void Zero(void)
Definition: ntv2captionencoder708.h:175
NTV2_CC708EffectDirRtoL
@ NTV2_CC708EffectDirRtoL
Definition: ntv2captionencoder708.h:380
NTV2_CC708CDPPtr
struct NTV2_CC708CDP * NTV2_CC708CDPPtr
CC708PenAttr
struct CC708PenAttr CC708PenAttr
NTV2_CC708CDPDataSection::ccdata_id
UByte ccdata_id
Definition: ntv2captionencoder708.h:136
NTV2_CC708ScrollDirTtoB
@ NTV2_CC708ScrollDirTtoB
Definition: ntv2captionencoder708.h:356
NTV2_CC708CDPTimecodeSection::tc_1hrs
int tc_1hrs
Definition: ntv2captionencoder708.h:107
CC708WindowParms::anchorPt
int anchorPt
NTV2_CC708WindowPriority enums.
Definition: ntv2captionencoder708.h:305
CNTV2CaptionEncoder708::Set608TestIDMode
virtual void Set608TestIDMode(const bool inEnableTestIDMode)
Definition: ntv2captionencoder708.h:732
NTV2_CC708RelativePos
const bool NTV2_CC708RelativePos
Definition: ntv2captionencoder708.h:282
CC708PenColor::fg
CC708Color fg
Definition: ntv2captionencoder708.h:532
NTV2_CC708WindowAnchorPointLowerMiddle
@ NTV2_CC708WindowAnchorPointLowerMiddle
Definition: ntv2captionencoder708.h:275
NTV2_CC708CDPHeader::cdp_identifier
UWord cdp_identifier
Definition: ntv2captionencoder708.h:93
CC708Color
struct CC708Color CC708Color
NTV2_CC708CDPFrameRate24
@ NTV2_CC708CDPFrameRate24
Definition: ntv2captionencoder708.h:56
NTV2_CC708CDP::timecode_section
NTV2_CC708CDPTimecodeSection timecode_section
Definition: ntv2captionencoder708.h:170
NTV2_CC708CDPDataSection
Definition: ntv2captionencoder708.h:134
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:210
CC708WindowAttr
Definition: ntv2captionencoder708.h:400
NTV2_CC708CDPHeader_SvcInfoPresent
@ NTV2_CC708CDPHeader_SvcInfoPresent
Definition: ntv2captionencoder708.h:71
NTV2_CC708CDPFrameRate59p94
@ NTV2_CC708CDPFrameRate59p94
Definition: ntv2captionencoder708.h:61
NTV2_CC708WordWrap
const bool NTV2_CC708WordWrap
Definition: ntv2captionencoder708.h:362
NTV2_CC708PenOffsetSubscript
@ NTV2_CC708PenOffsetSubscript
Definition: ntv2captionencoder708.h:477
NTV2_CC708AbsolutePos
const bool NTV2_CC708AbsolutePos
Definition: ntv2captionencoder708.h:281
NTV2_CC708WindowAnchorPointUpperLeft
@ NTV2_CC708WindowAnchorPointUpperLeft
Definition: ntv2captionencoder708.h:268
NTV2_CC708FontStyleSmallCaps
@ NTV2_CC708FontStyleSmallCaps
Definition: ntv2captionencoder708.h:446
CC708PenColor::CC708PenColor
CC708PenColor()
NTV2_CC708PenEdgeTypeMin
@ NTV2_CC708PenEdgeTypeMin
Definition: ntv2captionencoder708.h:493
CNTV2CaptionEncoder708::GetCaptionChannelPacket
virtual UBytePtr GetCaptionChannelPacket(void)
Definition: ntv2captionencoder708.h:609
NTV2_CC708_CDPServiceInfoId
@ NTV2_CC708_CDPServiceInfoId
Definition: ntv2captionencoder708.h:47
NTV2_CC708WindowIDMin
@ NTV2_CC708WindowIDMin
Definition: ntv2captionencoder708.h:188
NTV2_CC708TextTagVoiceDesc
@ NTV2_CC708TextTagVoiceDesc
Definition: ntv2captionencoder708.h:461
CC708WindowParms::Clear
void Clear(void)
NTV2_CC708OpacityMin
@ NTV2_CC708OpacityMin
Definition: ntv2captionencoder708.h:205
NTV2_CC708TextTagReserved2
@ NTV2_CC708TextTagReserved2
Definition: ntv2captionencoder708.h:467
NTV2_CC708ColorMin
@ NTV2_CC708ColorMin
Definition: ntv2captionencoder708.h:198
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::detail::void
j template void())
Definition: json.hpp:4893
NTV2_CC708MaxPktSize
const size_t NTV2_CC708MaxPktSize
Definition: ntv2captionencoder708.h:31
NTV2_CC708CDPDataSection::cc_data
NTV2_CC708CDPDataTriplet cc_data[32]
Definition: ntv2captionencoder708.h:138
CC708WindowAttr::printDir
int printDir
Definition: ntv2captionencoder708.h:403
NTV2_CC708CDPHeader::cdp_hdr_sequence_cntr
UWord cdp_hdr_sequence_cntr
Definition: ntv2captionencoder708.h:97
NTV2_CC708ScreenCellWidth16x9
const int NTV2_CC708ScreenCellWidth16x9
Definition: ntv2captionencoder708.h:182
CC708PenAttr::penSize
int penSize
Definition: ntv2captionencoder708.h:506
NTV2_CC708EffectDirTtoB
@ NTV2_CC708EffectDirTtoB
Definition: ntv2captionencoder708.h:381
CNTV2Caption708ServiceInfo
I am a container for all of the CEA-708 "Service Information" that a decoder or encoder needs to keep...
Definition: ntv2caption708serviceinfo.h:115
CC708PenAttr::offset
int offset
Definition: ntv2captionencoder708.h:509
NTV2_CC708CDPHeader
struct NTV2_CC708CDPHeader NTV2_CC708CDPHeader
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:399
CNTV2CaptionEncoder708::GetSMPTE334Data
virtual const UWord * GetSMPTE334Data(void) const
Definition: ntv2captionencoder708.h:735
NTV2_CC708WindowStyleIDMax
@ NTV2_CC708WindowStyleIDMax
Definition: ntv2captionencoder708.h:291
NTV2_CC708WindowAnchorPointMin
@ NTV2_CC708WindowAnchorPointMin
Definition: ntv2captionencoder708.h:267
NTV2_CC708CDPTimecodeSection::tc_1sec
int tc_1sec
Definition: ntv2captionencoder708.h:111
NTV2_CC708PenEdgeTypeRightDropShadow
@ NTV2_CC708PenEdgeTypeRightDropShadow
Definition: ntv2captionencoder708.h:499
NTV2_CC708WindowStyleIDMin
@ NTV2_CC708WindowStyleIDMin
Definition: ntv2captionencoder708.h:290
operator<<
std::ostream & operator<<(std::ostream &inOutStream, const CC708Color &inData)
NTV2_CC708PenOffsetMax
@ NTV2_CC708PenOffsetMax
Definition: ntv2captionencoder708.h:480
NTV2_CC708PenEdgeTypeUniform
@ NTV2_CC708PenEdgeTypeUniform
Definition: ntv2captionencoder708.h:497
NTV2_CC708CDP
Definition: ntv2captionencoder708.h:167
NTV2_CC708TextTagReserved1
@ NTV2_CC708TextTagReserved1
Definition: ntv2captionencoder708.h:466
CNTV2CaptionEncoder708::GetSMPTE334Size
virtual size_t GetSMPTE334Size(void) const
Definition: ntv2captionencoder708.h:736
NTV2_CC708BorderTypeNone
@ NTV2_CC708BorderTypeNone
Definition: ntv2captionencoder708.h:390
NTV2_CC708CDPHeader::cdp_flags
int cdp_flags
Definition: ntv2captionencoder708.h:96
NTV2_CC708Underline
const bool NTV2_CC708Underline(true)
CC708WindowAttr::borderType
int borderType
Definition: ntv2captionencoder708.h:409
CC708WindowAttr::Clear
void Clear(void)
NTV2_CC708CDP::ccdata_section
NTV2_CC708CDPDataSection ccdata_section
Definition: ntv2captionencoder708.h:171
NTV2_CC708JustifyFull
@ NTV2_CC708JustifyFull
Definition: ntv2captionencoder708.h:337
NTV2_CC708PenSizeLarge
@ NTV2_CC708PenSizeLarge
Definition: ntv2captionencoder708.h:431
NTV2_CC708PenSizeSmall
@ NTV2_CC708PenSizeSmall
Definition: ntv2captionencoder708.h:429
NTV2_CC708CyanColor
const CC708Color NTV2_CC708CyanColor(NTV2_CC708ColorMin, NTV2_CC708ColorMax, NTV2_CC708ColorMax)
CC708PenColor
Definition: ntv2captionencoder708.h:530
NTV2_CC708ScreenCellHeight
const int NTV2_CC708ScreenCellHeight
Definition: ntv2captionencoder708.h:183
NTV2_CC708CDPHeader_SvcInfoComplete
@ NTV2_CC708CDPHeader_SvcInfoComplete
Definition: ntv2captionencoder708.h:74
NTV2_CC708DispEffectFade
@ NTV2_CC708DispEffectFade
Definition: ntv2captionencoder708.h:370
NTV2_CC708Visible
const bool NTV2_CC708Visible
Definition: ntv2captionencoder708.h:261
NTV2_CC708CDPDataSection::Zero
void Zero(void)
NTV2_CC708FontStylePropSanSerif
@ NTV2_CC708FontStylePropSanSerif
Definition: ntv2captionencoder708.h:443
NTV2_CC708TextTagAudibleTrans
@ NTV2_CC708TextTagAudibleTrans
Definition: ntv2captionencoder708.h:459
NTV2_CC708CCTypeDTVCCStart
@ NTV2_CC708CCTypeDTVCCStart
Definition: ntv2captionencoder708.h:87
ULWord
uint32_t ULWord
Definition: ajatypes.h:255
NTV2_CC708TextTagVoiceover
@ NTV2_CC708TextTagVoiceover
Definition: ntv2captionencoder708.h:458
NTV2_CC708CDPTimecodeSection::tc_10sec
int tc_10sec
Definition: ntv2captionencoder708.h:110
CC708PenLocation::CC708PenLocation
CC708PenLocation(const int inRow=0, const int inColumn=0)
NTV2_CC708PenOffsetNormal
@ NTV2_CC708PenOffsetNormal
Definition: ntv2captionencoder708.h:478
NTV2_CC708_CDPFooterId
@ NTV2_CC708_CDPFooterId
Definition: ntv2captionencoder708.h:48
NTV2_CC708CDP::ccsvcinfo_section
NTV2_CC708CDPServiceInfoSection ccsvcinfo_section
Definition: ntv2captionencoder708.h:172
NTV2_CC708NotVisible
const bool NTV2_CC708NotVisible
Definition: ntv2captionencoder708.h:262
NTV2_CC708BlueColor
const CC708Color NTV2_CC708BlueColor(NTV2_CC708ColorMin, NTV2_CC708ColorMin, NTV2_CC708ColorMax)
NTV2_CC708JustifyLeft
@ NTV2_CC708JustifyLeft
Definition: ntv2captionencoder708.h:334
UWordSequence
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
Definition: ntv2publicinterface.h:42
CC708WindowParms::penStyleID
int penStyleID
NTV2_CC708WindowStyleID enums.
Definition: ntv2captionencoder708.h:315
NTV2_CC708PrintDirMin
@ NTV2_CC708PrintDirMin
Definition: ntv2captionencoder708.h:344
NTV2_CC708CDPTimecodeSection::time_code_section_id
UByte time_code_section_id
Definition: ntv2captionencoder708.h:105
NTV2_CC708ScrollDirMax
@ NTV2_CC708ScrollDirMax
Definition: ntv2captionencoder708.h:358
CC708PenAttr::CC708PenAttr
CC708PenAttr()
Default constructor.
CC708PenAttr::fontStyle
int fontStyle
Definition: ntv2captionencoder708.h:507
NTV2_CC708NoWordWrap
const bool NTV2_CC708NoWordWrap
Definition: ntv2captionencoder708.h:363
CC708PenAttr::italics
bool italics
Definition: ntv2captionencoder708.h:510
NTV2_CC708CDPDataTriplet::cc_type
int cc_type
Definition: ntv2captionencoder708.h:126
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
NTV2_CC708JustifyRight
@ NTV2_CC708JustifyRight
Definition: ntv2captionencoder708.h:335
NTV2_CC708CDPServiceInfoSection::svc_info_complete
bool svc_info_complete
Definition: ntv2captionencoder708.h:149
NTV2_CC708TextTagReserved3
@ NTV2_CC708TextTagReserved3
Definition: ntv2captionencoder708.h:468
NTV2_CC708TextTagMusicScore
@ NTV2_CC708TextTagMusicScore
Definition: ntv2captionencoder708.h:464
NTV2_CC708BorderTypeShdwRight
@ NTV2_CC708BorderTypeShdwRight
Definition: ntv2captionencoder708.h:395
NTV2_CC708CDPServiceInfoSection::svc_info_start
bool svc_info_start
Definition: ntv2captionencoder708.h:147
NTV2_CC708ScrollDirBtoT
@ NTV2_CC708ScrollDirBtoT
Definition: ntv2captionencoder708.h:357
NTV2_CC708CDPServiceInfoSection::svc_count
int svc_count
Definition: ntv2captionencoder708.h:150
NTV2_CC708Opacity
NTV2_CC708Opacity
Definition: ntv2captionencoder708.h:203
NTV2_CC708DefaultOpacity
const int NTV2_CC708DefaultOpacity(NTV2_CC708OpacitySolid)
NTV2_CC708JustifyMax
@ NTV2_CC708JustifyMax
Definition: ntv2captionencoder708.h:338
UWord
uint16_t UWord
Definition: ajatypes.h:253
CC708WindowAttr::effectDir
int effectDir
Definition: ntv2captionencoder708.h:407
NTV2_CC708OpacityToString
std::string NTV2_CC708OpacityToString(const NTV2_CC708Opacity inOpacity, const bool inCompact=false)
CC708WindowParms
struct CC708WindowParms CC708WindowParms
NTV2_CC708CDPFooter
struct NTV2_CC708CDPFooter NTV2_CC708CDPFooter
NTV2_CC708CDPHeader_TimeCodePresent
@ NTV2_CC708CDPHeader_TimeCodePresent
Definition: ntv2captionencoder708.h:69
NTV2_CC708PenSizeStandard
@ NTV2_CC708PenSizeStandard
Definition: ntv2captionencoder708.h:430
NTV2_CC708CDPTimecodeSection::tc_1min
int tc_1min
Definition: ntv2captionencoder708.h:109
NTV2_CC708CDPHeader_SvcInfoStart
@ NTV2_CC708CDPHeader_SvcInfoStart
Definition: ntv2captionencoder708.h:72
NTV2_CC708OpacityOpaque
@ NTV2_CC708OpacityOpaque
Definition: ntv2captionencoder708.h:207
NTV2_CC708JustifyMin
@ NTV2_CC708JustifyMin
Definition: ntv2captionencoder708.h:333
CC708PenAttr
Definition: ntv2captionencoder708.h:504
NTV2_CC708CDPDataTriplet
Definition: ntv2captionencoder708.h:123
CC708PenLocation
struct CC708PenLocation CC708PenLocation
NTV2_CC708CDP
struct NTV2_CC708CDP NTV2_CC708CDP
NTV2_CC708PenEdgeTypeRaised
@ NTV2_CC708PenEdgeTypeRaised
Definition: ntv2captionencoder708.h:495
UBytePtr
UByte * UBytePtr
Definition: ntv2captionencoder708.h:19
NTV2_CC708FontStyleCursive
@ NTV2_CC708FontStyleCursive
Definition: ntv2captionencoder708.h:445
NTV2_CC708CDPFooterPtr
struct NTV2_CC708CDPFooter * NTV2_CC708CDPFooterPtr
NTV2_CC708WindowPriorityMin
@ NTV2_CC708WindowPriorityMin
Definition: ntv2captionencoder708.h:257
CC708WindowParms::relativePos
bool relativePos
NTV2_CC708WindowAnchorPoint enums.
Definition: ntv2captionencoder708.h:306
NTV2_CC708BorderTypeRaised
@ NTV2_CC708BorderTypeRaised
Definition: ntv2captionencoder708.h:391
NTV2_CC708NumWindows
@ NTV2_CC708NumWindows
Definition: ntv2captionencoder708.h:190
NTV2_CC708_CDPHeaderId1
@ NTV2_CC708_CDPHeaderId1
Definition: ntv2captionencoder708.h:43
NTV2_CC708FontStylePropSerif
@ NTV2_CC708FontStylePropSerif
Definition: ntv2captionencoder708.h:441
NTV2_CC708ServiceData
Definition: ntv2caption708serviceinfo.h:90
NTV2_CC708CDPHeader::cdp_length
UByte cdp_length
Definition: ntv2captionencoder708.h:94
NTV2_CC708WindowPriorityMax
@ NTV2_CC708WindowPriorityMax
Definition: ntv2captionencoder708.h:258
NTV2_CC708PrintDirMax
@ NTV2_CC708PrintDirMax
Definition: ntv2captionencoder708.h:347
NTV2_CC708CDPTimecodeSection::tc_10hrs
int tc_10hrs
Definition: ntv2captionencoder708.h:106
CC708PenLocation::row
int row
Definition: ntv2captionencoder708.h:551
NTV2_CC708TextTagSecLanguage
@ NTV2_CC708TextTagSecLanguage
Definition: ntv2captionencoder708.h:457
NTV2_CC708WindowAnchorPointUpperRight
@ NTV2_CC708WindowAnchorPointUpperRight
Definition: ntv2captionencoder708.h:270
CC708WindowAttr::scrollDir
int scrollDir
Definition: ntv2captionencoder708.h:404
NTV2_CC708EffectDirMin
@ NTV2_CC708EffectDirMin
Definition: ntv2captionencoder708.h:378
NTV2_CC708CDPFrameRate60
@ NTV2_CC708CDPFrameRate60
Definition: ntv2captionencoder708.h:62
NTV2_CC708TextTagMin
@ NTV2_CC708TextTagMin
Definition: ntv2captionencoder708.h:453
NTV2_CC708CDPFrameRate29p97
@ NTV2_CC708CDPFrameRate29p97
Definition: ntv2captionencoder708.h:58
NTV2_CC708RedColor
const CC708Color NTV2_CC708RedColor(NTV2_CC708ColorMax, NTV2_CC708ColorMin, NTV2_CC708ColorMin)
CC708Color::red
int red
Definition: ntv2captionencoder708.h:223
NTV2_CC708BorderTypeMin
@ NTV2_CC708BorderTypeMin
Definition: ntv2captionencoder708.h:389
NTV2_CC708PenEdgeTypeDepressed
@ NTV2_CC708PenEdgeTypeDepressed
Definition: ntv2captionencoder708.h:496
NTV2_CC708BorderTypeDepressed
@ NTV2_CC708BorderTypeDepressed
Definition: ntv2captionencoder708.h:392
NTV2_CC708CDPFrameRate50
@ NTV2_CC708CDPFrameRate50
Definition: ntv2captionencoder708.h:60
NTV2_CC708CDPTimecodeSectionPtr
struct NTV2_CC708CDPTimecodeSection * NTV2_CC708CDPTimecodeSectionPtr
CC708WindowAttr::IsValid
bool IsValid(void) const
CC708PenAttr::Clear
void Clear(void)
CC708WindowAttr::CC708WindowAttr
CC708WindowAttr()
NTV2_CC708TextTagSoundEfx
@ NTV2_CC708TextTagSoundEfx
Definition: ntv2captionencoder708.h:463
NTV2_CC708WindowAnchorPointCenterMiddle
@ NTV2_CC708WindowAnchorPointCenterMiddle
Definition: ntv2captionencoder708.h:272
NTV2_CC708WindowAnchorPointLowerRight
@ NTV2_CC708WindowAnchorPointLowerRight
Definition: ntv2captionencoder708.h:276
NTV2_CC708GreenColor
const CC708Color NTV2_CC708GreenColor(NTV2_CC708ColorMin, NTV2_CC708ColorMax, NTV2_CC708ColorMin)
NTV2_CC708NoLock
const bool NTV2_CC708NoLock
Definition: ntv2captionencoder708.h:285
NTV2_CC708CDPServiceInfoSectionPtr
struct NTV2_CC708CDPServiceInfoSection * NTV2_CC708CDPServiceInfoSectionPtr
NTV2_CC708CCTypeNTSCField1
@ NTV2_CC708CCTypeNTSCField1
Definition: ntv2captionencoder708.h:84
CC708WindowParms::visible
bool visible
NTV2_CC708NoLock/NTV2_CC708Lock.
Definition: ntv2captionencoder708.h:313
CC708WindowParms::IsValid
bool IsValid(void) const
NTV2_CC708ColorMax
@ NTV2_CC708ColorMax
Definition: ntv2captionencoder708.h:199
NTV2_CC708WindowIDMax
@ NTV2_CC708WindowIDMax
Definition: ntv2captionencoder708.h:189
CC708WindowParms::colLock
bool colLock
NTV2_CC708NoLock/NTV2_CC708Lock.
Definition: ntv2captionencoder708.h:312
NTV2_CC708OpacitySolid
@ NTV2_CC708OpacitySolid
Definition: ntv2captionencoder708.h:206
NTV2_CC708Lock
const bool NTV2_CC708Lock
Definition: ntv2captionencoder708.h:284
UByte
uint8_t UByte
Definition: ajatypes.h:250
NTV2_CC708CDPTimecodeSection
struct NTV2_CC708CDPTimecodeSection NTV2_CC708CDPTimecodeSection
NTV2_CC708CDPDataTriplet::cc_data_2
UByte cc_data_2
Definition: ntv2captionencoder708.h:128
CC708WindowAttr::effectSpeed
int effectSpeed
Definition: ntv2captionencoder708.h:408
NTV2_CC708WindowAnchorPointCenterRight
@ NTV2_CC708WindowAnchorPointCenterRight
Definition: ntv2captionencoder708.h:273
NTV2_CC708NoUnderline
const bool NTV2_CC708NoUnderline(false)
NTV2_CC708FontStyleUndefined
@ NTV2_CC708FontStyleUndefined
Definition: ntv2captionencoder708.h:439
CC708PenLocation::IsValid
bool IsValid(void) const
Definition: ntv2captionencoder708.h:555
NTV2_CC708FontStyleMonoSansSerif
@ NTV2_CC708FontStyleMonoSansSerif
Definition: ntv2captionencoder708.h:442
NTV2_CC708OpacityFlash
@ NTV2_CC708OpacityFlash
Definition: ntv2captionencoder708.h:208
NTV2_CC708Italics
const bool NTV2_CC708Italics(true)
NTV2_CC708CDPHeader::Zero
void Zero(void)
Definition: ntv2captionencoder708.h:99
NTV2_CC708TextTagSpeaker
@ NTV2_CC708TextTagSpeaker
Definition: ntv2captionencoder708.h:455
CC708WindowParms::colCount
int colCount
number of rows - 1 (e.g. '0' = 1 row)
Definition: ntv2captionencoder708.h:310
CC708Color
Definition: ntv2captionencoder708.h:221
NTV2_CC708ScrollDirLtoR
@ NTV2_CC708ScrollDirLtoR
Definition: ntv2captionencoder708.h:354
NTV2_CC708DispEffectMax
@ NTV2_CC708DispEffectMax
Definition: ntv2captionencoder708.h:372
CC708PenAttr::underline
bool underline
Definition: ntv2captionencoder708.h:511
NTV2_CC708CDPDataTriplet::Zero
void Zero(void)
Definition: ntv2captionencoder708.h:130
NTV2_CC708CDPDataTriplet
struct NTV2_CC708CDPDataTriplet NTV2_CC708CDPDataTriplet
NTV2_CC708WindowAnchorPointMax
@ NTV2_CC708WindowAnchorPointMax
Definition: ntv2captionencoder708.h:277
NTV2_CC708CDPTimecodeSection::tc_field_flag
bool tc_field_flag
Definition: ntv2captionencoder708.h:114
AJAExport
#define AJAExport
Definition: export.h:33
CC708WindowParms::rowCount
int rowCount
0 - 255 (absolute position) or 0 - 99 (relative position)
Definition: ntv2captionencoder708.h:309
NTV2_CC708TextTagSubtitleTrans
@ NTV2_CC708TextTagSubtitleTrans
Definition: ntv2captionencoder708.h:460
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
NTV2_CC708FontStyleMonoSerif
@ NTV2_CC708FontStyleMonoSerif
Definition: ntv2captionencoder708.h:440
NTV2_CC708PenEdgeTypeLeftDropShadow
@ NTV2_CC708PenEdgeTypeLeftDropShadow
Definition: ntv2captionencoder708.h:498
NTV2_CC708OpacityTransparent
@ NTV2_CC708OpacityTransparent
Definition: ntv2captionencoder708.h:210
CC708PenLocation
Definition: ntv2captionencoder708.h:549
NTV2_CC708CDPDataSection
struct NTV2_CC708CDPDataSection NTV2_CC708CDPDataSection
NTV2_CC708EffectDirLtoR
@ NTV2_CC708EffectDirLtoR
Definition: ntv2captionencoder708.h:379
CC708WindowParms::rowLock
bool rowLock
number of columns - 1 (e.g. '0' = 1 column)
Definition: ntv2captionencoder708.h:311
NTV2_CC708FontStyleCasual
@ NTV2_CC708FontStyleCasual
Definition: ntv2captionencoder708.h:444
NTV2_CC708CDPServiceInfoSection::ccsvcinfo_id
UByte ccsvcinfo_id
Definition: ntv2captionencoder708.h:146
NTV2CaptionLogMask
uint64_t NTV2CaptionLogMask
Selectors to control what information is logged.
Definition: ntv2captionlogging.h:38
CC708Color::green
int green
Definition: ntv2captionencoder708.h:224
CC708WindowParms::anchorV
int anchorV
NTV2_CC708AbsolutePos/NTV2_CC708RelativePos.
Definition: ntv2captionencoder708.h:307
NTV2_CC708CDPServiceInfoSection
Definition: ntv2captionencoder708.h:144
NTV2_CC708CDPServiceInfoSection
struct NTV2_CC708CDPServiceInfoSection NTV2_CC708CDPServiceInfoSection
NTV2_CC708CDPHeader_SvcInfoChange
@ NTV2_CC708CDPHeader_SvcInfoChange
Definition: ntv2captionencoder708.h:73
NTV2_CC708_CDPHeaderId2
@ NTV2_CC708_CDPHeaderId2
Definition: ntv2captionencoder708.h:44
CNTV2CaptionEncoder708::GetCaptionChannelPacket
virtual const UByte * GetCaptionChannelPacket(void) const
Definition: ntv2captionencoder708.h:610
CC708WindowAttr
struct CC708WindowAttr CC708WindowAttr
NTV2_CC708NoItalics
const bool NTV2_CC708NoItalics(false)
NTV2_CC708YellowColor
const CC708Color NTV2_CC708YellowColor(NTV2_CC708ColorMax, NTV2_CC708ColorMax, NTV2_CC708ColorMin)
NTV2_CC708WindowAnchorPointLowerLeft
@ NTV2_CC708WindowAnchorPointLowerLeft
Definition: ntv2captionencoder708.h:274
CC708PenColor
struct CC708PenColor CC708PenColor
NTV2_CC708OpacityTranslucent
@ NTV2_CC708OpacityTranslucent
Definition: ntv2captionencoder708.h:209
NTV2_CC708FontStyleMin
@ NTV2_CC708FontStyleMin
Definition: ntv2captionencoder708.h:438
CNTV2CaptionLogConfig
Definition: ntv2captionlogging.h:77
NTV2_CC708WindowAnchorPointCenterLeft
@ NTV2_CC708WindowAnchorPointCenterLeft
Definition: ntv2captionencoder708.h:271
NTV2_CC708JustifyCenter
@ NTV2_CC708JustifyCenter
Definition: ntv2captionencoder708.h:336
NTV2Line21Field
NTV2Line21Field
The two CEA-608 interlace fields.
Definition: ntv2caption608types.h:56
NTV2_CC708WindowAnchorPointUpperMiddle
@ NTV2_CC708WindowAnchorPointUpperMiddle
Definition: ntv2captionencoder708.h:269
CaptionData
This structure encapsulates all possible CEA-608 caption data bytes that may be associated with a giv...
Definition: ntv2caption608types.h:655
CC708WindowAttr::borderColor
CC708Color borderColor
Definition: ntv2captionencoder708.h:411
NTV2_CC708EffectDirMax
@ NTV2_CC708EffectDirMax
Definition: ntv2captionencoder708.h:383
CC708WindowParms::anchorH
int anchorH
0 - 127 (absolute position) or 0 - 99 (relative position)
Definition: ntv2captionencoder708.h:308
NTV2_CC708CDPServiceInfoSection::svc_info
NTV2_CC708ServiceInfo svc_info[16]
Definition: ntv2captionencoder708.h:151
CNTV2CaptionEncoder708::GetCaptionChannelPacketSize
virtual size_t GetCaptionChannelPacketSize(void) const
Definition: ntv2captionencoder708.h:611
NTV2_CC708CDPDataTriplet::cc_data_1
UByte cc_data_1
Definition: ntv2captionencoder708.h:127
CC708PenColor::IsValid
bool IsValid(void) const
Definition: ntv2captionencoder708.h:538
NTV2_CC708PenStyleIDMax
@ NTV2_CC708PenStyleIDMax
Definition: ntv2captionencoder708.h:298
NTV2_CC708CCTypeDTVCCData
@ NTV2_CC708CCTypeDTVCCData
Definition: ntv2captionencoder708.h:86
CNTV2CaptionEncoder708
Definition: ntv2captionencoder708.h:586
NTV2_CC708_CDPDataId
@ NTV2_CC708_CDPDataId
Definition: ntv2captionencoder708.h:46
NTV2_CC708CDP::cdp_footer
NTV2_CC708CDPFooter cdp_footer
Definition: ntv2captionencoder708.h:173
NTV2_CC708CDPTimecodeSection::tc_10min
int tc_10min
Definition: ntv2captionencoder708.h:108
NTV2_CC708PrintDirRtoL
@ NTV2_CC708PrintDirRtoL
Definition: ntv2captionencoder708.h:346
ajarefptr.h
Defines the AJARefPtr template class.
NTV2_CC708PenSizeMax
@ NTV2_CC708PenSizeMax
Definition: ntv2captionencoder708.h:432
NTV2_CC708CDP::cdp_header
NTV2_CC708CDPHeader cdp_header
Definition: ntv2captionencoder708.h:169
CC708WindowParms::windowStyleID
int windowStyleID
NTV2_CC708Visible/NTV2_CC708NotVisible.
Definition: ntv2captionencoder708.h:314
NTV2_CC708CDPDataTripletPtr
struct NTV2_CC708CDPDataTriplet NTV2_CC708CDPDataTripletPtr
CC708PenLocation::column
int column
Definition: ntv2captionencoder708.h:552
NTV2_CC708EffectDirBtoT
@ NTV2_CC708EffectDirBtoT
Definition: ntv2captionencoder708.h:382
NTV2_CC708PenOffsetMin
@ NTV2_CC708PenOffsetMin
Definition: ntv2captionencoder708.h:476
NTV2_CC708CDPDataSection::cc_count
int cc_count
Definition: ntv2captionencoder708.h:137
CC708PenColor::edge
CC708Color edge
Definition: ntv2captionencoder708.h:534
NTV2_CC708ScrollDirMin
@ NTV2_CC708ScrollDirMin
Definition: ntv2captionencoder708.h:353
NTV2_CC708CDPFrameRate25
@ NTV2_CC708CDPFrameRate25
Definition: ntv2captionencoder708.h:57
NTV2_CC708ScreenCellWidth4x3
const int NTV2_CC708ScreenCellWidth4x3
Definition: ntv2captionencoder708.h:181
NTV2_CC708BlackColor
const CC708Color NTV2_CC708BlackColor(NTV2_CC708ColorMin, NTV2_CC708ColorMin, NTV2_CC708ColorMin)
NTV2_CC708PenStyleIDMin
@ NTV2_CC708PenStyleIDMin
Definition: ntv2captionencoder708.h:297
UWordPtr
UWord * UWordPtr
Definition: ntv2captionencoder708.h:20
NTV2_CC708_CDPTimecodeId
@ NTV2_CC708_CDPTimecodeId
Definition: ntv2captionencoder708.h:45
CNTV2CaptionEncoder708Ptr
AJARefPtr< CNTV2CaptionEncoder708 > CNTV2CaptionEncoder708Ptr
Definition: ntv2captionencoder708.h:582
CC708Color::blue
int blue
Definition: ntv2captionencoder708.h:225
NTV2_CC708ServiceInfo
Definition: ntv2caption708serviceinfo.h:67