AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
CaptionData Struct Reference

This structure encapsulates all possible CEA-608 caption data bytes that may be associated with a given frame or field. More...

#include <ntv2caption608types.h>

Public Member Functions

 CaptionData ()
 Default constructor. Sets my caption bytes to 0xFF, and "gotFieldData" values to false. More...
 
 CaptionData (const UByte inF1Char1, const UByte inF1Char2)
 Constructs me from a pair of caption bytes (Field 1). More...
 
 CaptionData (const UByte inF1Char1, const UByte inF1Char2, const UByte inF2Char1, const UByte inF2Char2)
 Constructs me from two pairs of caption bytes (Field 1 and Field 2). More...
 
bool HasF1Data (void) const
 
bool HasF2Data (void) const
 
bool HasData (void) const
 
bool IsF1Invalid (void) const
 
bool IsF2Invalid (void) const
 
bool IsError (void) const
 
CaptionDataSetF1Data (const CaptionData &inRHS)
 Copies my F1 data bytes from the given CaptionData instance. More...
 
CaptionDataSetF1Data (const UByte inF1Char1, const UByte inF1Char2)
 Sets my F1 data bytes. More...
 
CaptionDataSetF2Data (const CaptionData &inRHS)
 Copies my F2 data bytes from the given CaptionData instance. More...
 
CaptionDataSetF2Data (const UByte inF2Char1, const UByte inF2Char2)
 Sets my F2 data bytes. More...
 
void Clear (void)
 Sets all of my "got data" fields to "false" and all my character values to 0x80. More...
 
void Zero (void)
 Sets all of my "got data" fields to "false" and all my character values to zero. More...
 
bool operator== (const CaptionData &inRHS) const
 
bool operator< (const CaptionData &inRHS) const
 
bool operator!= (const CaptionData &inRHS) const
 

Public Attributes

bool bGotField1Data
 True if Field 1 bytes have been set; otherwise false. More...
 
UByte f1_char1
 Caption Byte 1 of Field 1. More...
 
UByte f1_char2
 Caption Byte 2 of Field 1. More...
 
bool bGotField2Data
 True if Field 2 bytes have been set; otherwise false. More...
 
UByte f2_char1
 Caption Byte 1 of Field 2. More...
 
UByte f2_char2
 Caption Byte 2 of Field 2. More...
 
bool bGotField3Data
 True if Field 3 bytes have been set. This is used only when translating 30fps video to 24fps and removing 3:2 pulldown. More...
 
UByte f3_char1
 Caption Byte 1 of Field 3. More...
 
UByte f3_char2
 Caption Byte 2 of Field 3. More...
 

Detailed Description

This structure encapsulates all possible CEA-608 caption data bytes that may be associated with a given frame or field.

Note
The "field 3" data bytes is used when translating 30fps video to 24fps and removing 3:2 pulldown.

Definition at line 655 of file ntv2caption608types.h.

Constructor & Destructor Documentation

◆ CaptionData() [1/3]

CaptionData::CaptionData ( )
inlineexplicit

Default constructor. Sets my caption bytes to 0xFF, and "gotFieldData" values to false.

Definition at line 673 of file ntv2caption608types.h.

◆ CaptionData() [2/3]

CaptionData::CaptionData ( const UByte  inF1Char1,
const UByte  inF1Char2 
)
explicit

Constructs me from a pair of caption bytes (Field 1).

◆ CaptionData() [3/3]

CaptionData::CaptionData ( const UByte  inF1Char1,
const UByte  inF1Char2,
const UByte  inF2Char1,
const UByte  inF2Char2 
)
explicit

Constructs me from two pairs of caption bytes (Field 1 and Field 2).

Member Function Documentation

◆ Clear()

void CaptionData::Clear ( void  )
inline

Sets all of my "got data" fields to "false" and all my character values to 0x80.

Definition at line 748 of file ntv2caption608types.h.

◆ HasData()

bool CaptionData::HasData ( void  ) const
inline
Returns
True if either Field 1 or 2 caption bytes were set and their byte values aren't 0x80.

Definition at line 698 of file ntv2caption608types.h.

◆ HasF1Data()

bool CaptionData::HasF1Data ( void  ) const
inline
Returns
True if Field 1 caption bytes were set and their byte values aren't 0x80.

Definition at line 688 of file ntv2caption608types.h.

◆ HasF2Data()

bool CaptionData::HasF2Data ( void  ) const
inline
Returns
True if Field 2 caption bytes were set and their byte values aren't 0x80.

Definition at line 693 of file ntv2caption608types.h.

◆ IsError()

bool CaptionData::IsError ( void  ) const
inline
Returns
True if my Field 1 and 2 caption bytes are all 0xFF.

Definition at line 713 of file ntv2caption608types.h.

◆ IsF1Invalid()

bool CaptionData::IsF1Invalid ( void  ) const
inline
Returns
True if Field 1's caption byte values are both 0xFF.

Definition at line 703 of file ntv2caption608types.h.

◆ IsF2Invalid()

bool CaptionData::IsF2Invalid ( void  ) const
inline
Returns
True if Field 2's caption byte values are both 0xFF.

Definition at line 708 of file ntv2caption608types.h.

◆ operator!=()

bool CaptionData::operator!= ( const CaptionData inRHS) const
inline

Definition at line 763 of file ntv2caption608types.h.

◆ operator<()

bool CaptionData::operator< ( const CaptionData inRHS) const

◆ operator==()

bool CaptionData::operator== ( const CaptionData inRHS) const
Returns
True if I'm equal to the right-hand-side CaptionData.
Parameters
[in]inRHSSpecifies the right-hand-side CaptionData that will be compared to me.
Note
To synthesize the other comparison operators (!=, <=, >, >=), add "#include <utility>", and "using namespace std::rel_ops;" to the code module.

◆ SetF1Data() [1/2]

CaptionData& CaptionData::SetF1Data ( const CaptionData inRHS)
inline

Copies my F1 data bytes from the given CaptionData instance.

Parameters
[in]inRHSThe CaptionData instance supplying the F1 data byte values.
Returns
A non-const reference to me.

Definition at line 720 of file ntv2caption608types.h.

◆ SetF1Data() [2/2]

CaptionData& CaptionData::SetF1Data ( const UByte  inF1Char1,
const UByte  inF1Char2 
)
inline

Sets my F1 data bytes.

Parameters
[in]inF1Char1Specifies the first F1 byte value.
[in]inF1Char2Specifies the second F1 byte value.
Returns
A non-const reference to me.

Definition at line 728 of file ntv2caption608types.h.

◆ SetF2Data() [1/2]

CaptionData& CaptionData::SetF2Data ( const CaptionData inRHS)
inline

Copies my F2 data bytes from the given CaptionData instance.

Parameters
[in]inRHSThe CaptionData instance supplying the F2 data byte values.
Returns
A non-const reference to me.

Definition at line 735 of file ntv2caption608types.h.

◆ SetF2Data() [2/2]

CaptionData& CaptionData::SetF2Data ( const UByte  inF2Char1,
const UByte  inF2Char2 
)
inline

Sets my F2 data bytes.

Parameters
[in]inF2Char1Specifies the first F2 byte value.
[in]inF2Char2Specifies the second F2 byte value.
Returns
A non-const reference to me.

Definition at line 743 of file ntv2caption608types.h.

◆ Zero()

void CaptionData::Zero ( void  )
inline

Sets all of my "got data" fields to "false" and all my character values to zero.

Definition at line 753 of file ntv2caption608types.h.

Member Data Documentation

◆ bGotField1Data

bool CaptionData::bGotField1Data

True if Field 1 bytes have been set; otherwise false.

Definition at line 657 of file ntv2caption608types.h.

◆ bGotField2Data

bool CaptionData::bGotField2Data

True if Field 2 bytes have been set; otherwise false.

Definition at line 661 of file ntv2caption608types.h.

◆ bGotField3Data

bool CaptionData::bGotField3Data

True if Field 3 bytes have been set. This is used only when translating 30fps video to 24fps and removing 3:2 pulldown.

Definition at line 665 of file ntv2caption608types.h.

◆ f1_char1

UByte CaptionData::f1_char1

Caption Byte 1 of Field 1.

Definition at line 658 of file ntv2caption608types.h.

◆ f1_char2

UByte CaptionData::f1_char2

Caption Byte 2 of Field 1.

Definition at line 659 of file ntv2caption608types.h.

◆ f2_char1

UByte CaptionData::f2_char1

Caption Byte 1 of Field 2.

Definition at line 662 of file ntv2caption608types.h.

◆ f2_char2

UByte CaptionData::f2_char2

Caption Byte 2 of Field 2.

Definition at line 663 of file ntv2caption608types.h.

◆ f3_char1

UByte CaptionData::f3_char1

Caption Byte 1 of Field 3.

Definition at line 666 of file ntv2caption608types.h.

◆ f3_char2

UByte CaptionData::f3_char2

Caption Byte 2 of Field 3.

Definition at line 667 of file ntv2caption608types.h.


The documentation for this struct was generated from the following file: