AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Functions
a
b
c
e
f
g
h
i
j
k
l
m
o
p
r
s
t
u
v
w
Variables
Typedefs
a
b
c
d
e
f
g
h
i
j
k
m
n
o
p
r
s
t
u
v
Enumerations
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
_
a
b
c
d
e
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
Enumerator
b
c
e
g
k
n
r
v
Related Functions
:
a
b
c
d
j
o
s
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
c
e
f
g
h
i
k
l
m
n
p
r
s
t
u
v
w
Typedefs
_
a
b
c
d
f
h
i
l
m
n
o
p
q
r
s
t
u
w
Enumerations
_
a
b
c
d
e
f
h
i
j
k
m
n
p
q
r
s
t
u
v
x
Enumerator
a
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
ancillarydata_hdr_sdr.cpp
Go to the documentation of this file.
1
/* SPDX-License-Identifier: MIT */
8
#include "
ancillarydata_hdr_sdr.h
"
9
#include <ios>
10
#include <iomanip>
11
12
using namespace
std
;
13
14
15
#define AJAAncillaryData_HDR_SDR_PayloadSize 0x1D
16
17
18
AJAAncillaryData_HDR_SDR::AJAAncillaryData_HDR_SDR
()
19
:
AJAAncillaryData
()
20
{
21
Init
();
22
}
23
24
25
AJAAncillaryData_HDR_SDR::AJAAncillaryData_HDR_SDR
(
const
AJAAncillaryData_HDR_SDR
& inClone)
26
:
AJAAncillaryData
()
27
{
28
Init
();
29
*
this
= inClone;
30
}
31
32
33
AJAAncillaryData_HDR_SDR::AJAAncillaryData_HDR_SDR
(
const
AJAAncillaryData_HDR_SDR
* pInClone)
34
:
AJAAncillaryData
()
35
{
36
Init
();
37
if
(pInClone)
38
*
this
= *pInClone;
39
}
40
41
42
AJAAncillaryData_HDR_SDR::AJAAncillaryData_HDR_SDR
(
const
AJAAncillaryData
* pInData)
43
:
AJAAncillaryData
(pInData)
44
{
45
Init
();
46
}
47
48
49
AJAAncillaryData_HDR_SDR::~AJAAncillaryData_HDR_SDR
()
50
{
51
}
52
53
54
void
AJAAncillaryData_HDR_SDR::Init
(
void
)
55
{
56
m_ancType
=
AJAAncDataType_HDR_SDR
;
57
m_coding
=
AJAAncDataCoding_Digital
;
58
m_DID
=
AJAAncillaryData_HDR_SDR_DID
;
59
m_SID
=
AJAAncillaryData_HDR_SDR_SID
;
60
m_location
.
SetDataLink
(
AJAAncDataLink_A
).
SetDataChannel
(
AJAAncDataChannel_Y
).
SetHorizontalOffset
(
AJAAncDataHorizOffset_AnyVanc
).
SetLineNumber
(16);
61
uint8_t payload[29] = {0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
62
SetPayloadData
(payload, 29);
63
}
64
65
66
void
AJAAncillaryData_HDR_SDR::Clear
(
void
)
67
{
68
AJAAncillaryData::Clear
();
69
Init
();
70
}
71
72
73
AJAAncillaryData_HDR_SDR
&
AJAAncillaryData_HDR_SDR::operator =
(
const
AJAAncillaryData_HDR_SDR
& rhs)
74
{
75
// Ignore self-assignment
76
if
(
this
!= &rhs)
77
{
78
// Copy the base class members
79
AJAAncillaryData::operator=
(rhs);
80
}
81
return
*
this
;
82
}
83
84
85
AJAStatus
AJAAncillaryData_HDR_SDR::ParsePayloadData
(
void
)
86
{
87
// The size is specific to Canon
88
if
(GetDC() !=
AJAAncillaryData_HDR_SDR_PayloadSize
)
89
{
90
// Load default values
91
Init
();
92
m_rcvDataValid
=
false
;
93
return
AJA_STATUS_FAIL
;
94
}
95
96
m_rcvDataValid
=
true
;
97
return
AJA_STATUS_SUCCESS
;
98
}
99
100
101
AJAAncDataType
AJAAncillaryData_HDR_SDR::RecognizeThisAncillaryData
(
const
AJAAncillaryData
* pInAncData)
102
{
103
if
(pInAncData->GetDataCoding() ==
AJAAncDataCoding_Digital
)
104
if
(pInAncData->GetDID() ==
AJAAncillaryData_HDR_SDR_DID
)
105
if
(pInAncData->GetSID() ==
AJAAncillaryData_HDR_SDR_SID
)
106
if
(pInAncData->GetDC() ==
AJAAncillaryData_HDR_SDR_PayloadSize
)
107
return
AJAAncDataType_HDR_SDR
;
108
return
AJAAncDataType_Unknown
;
109
}
110
111
112
ostream &
AJAAncillaryData_HDR_SDR::Print
(ostream & debugStream,
const
bool
bShowDetail)
const
113
{
114
AJAAncillaryData::Print
(debugStream, bShowDetail);
115
debugStream << endl;
116
return
debugStream;
117
}
AJAAncillaryData_HDR_SDR_SID
const uint8_t AJAAncillaryData_HDR_SDR_SID
Definition:
ancillarydata_hdr_sdr.h:15
AJAAncillaryData_HDR_SDR::operator=
virtual AJAAncillaryData_HDR_SDR & operator=(const AJAAncillaryData_HDR_SDR &inRHS)
Assignment operator – replaces my contents with the right-hand-side value.
Definition:
ancillarydata_hdr_sdr.cpp:73
AJAAncillaryData::m_DID
uint8_t m_DID
Official SMPTE ancillary packet ID (w/o parity)
Definition:
ancillarydata.h:1152
AJAAncillaryData_HDR_SDR::~AJAAncillaryData_HDR_SDR
virtual ~AJAAncillaryData_HDR_SDR()
My destructor.
Definition:
ancillarydata_hdr_sdr.cpp:49
AJAAncillaryData_HDR_SDR::AJAAncillaryData_HDR_SDR
AJAAncillaryData_HDR_SDR()
My default constructor.
Definition:
ancillarydata_hdr_sdr.cpp:18
AJAAncDataType_Unknown
@ AJAAncDataType_Unknown
Includes data that is valid, but we don't recognize.
Definition:
ancillarydata.h:46
AJA_STATUS_SUCCESS
@ AJA_STATUS_SUCCESS
Definition:
types.h:381
AJAAncillaryData::m_location
AJAAncDataLoc m_location
Location of the ancillary data in the video stream (Y or C, HANC or VANC, etc.)
Definition:
ancillarydata.h:1155
AJAAncDataLoc::SetLineNumber
AJAAncDataLoc & SetLineNumber(const uint16_t inLineNum)
Sets my anc data line number value.
Definition:
ancillarydata.h:393
AJAAncDataType
AJAAncDataType
Identifies the ancillary data types that are known to this module.
Definition:
ancillarydata.h:44
AJAAncillaryData_HDR_SDR::Clear
virtual void Clear(void)
Frees my allocated memory, if any, and resets my members to their default values.
Definition:
ancillarydata_hdr_sdr.cpp:66
AJAAncillaryData_HDR_SDR_PayloadSize
#define AJAAncillaryData_HDR_SDR_PayloadSize
Definition:
ancillarydata_hdr_sdr.cpp:15
AJAStatus
AJAStatus
Definition:
types.h:378
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:1409
AJA_STATUS_FAIL
@ AJA_STATUS_FAIL
Definition:
types.h:382
AJAAncDataHorizOffset_AnyVanc
#define AJAAncDataHorizOffset_AnyVanc
VANC – Packet placed/found in any legal area of raster line after SAV, but before EAV.
Definition:
ancillarydata.h:212
AJAAncillaryData
I am the principal class that stores a single SMPTE-291 SDI ancillary data packet OR the digitized co...
Definition:
ancillarydata.h:552
AJAAncDataChannel_Y
@ AJAAncDataChannel_Y
The ancillary data is associated with the luminance (Y) channel of the video stream.
Definition:
ancillarydata.h:133
AJAAncillaryData_HDR_SDR::Init
void Init(void)
Definition:
ancillarydata_hdr_sdr.cpp:54
AJAAncillaryData_HDR_SDR::ParsePayloadData
virtual AJAStatus ParsePayloadData(void)
Parses out (interprets) the "local" ancillary data from my payload data.
Definition:
ancillarydata_hdr_sdr.cpp:85
AJAAncillaryData::m_coding
AJAAncDataCoding m_coding
Analog or digital data.
Definition:
ancillarydata.h:1156
AJAAncillaryData::SetPayloadData
virtual AJAStatus SetPayloadData(const uint8_t *pInData, const uint32_t inByteCount)
Copy data from external memory into my local payload memory.
Definition:
ancillarydata.cpp:354
AJAAncillaryData_HDR_SDR
This class handles "5251" Frame Status Information packets.
Definition:
ancillarydata_hdr_sdr.h:21
AJAAncillaryData::m_rcvDataValid
bool m_rcvDataValid
This is set true (or not) by ParsePayloadData()
Definition:
ancillarydata.h:1158
AJAAncDataLoc::SetHorizontalOffset
AJAAncDataLoc & SetHorizontalOffset(uint16_t inHOffset)
Specifies the horizontal packet position in the raster.
Definition:
ancillarydata.h:408
AJAAncDataType_HDR_SDR
@ AJAAncDataType_HDR_SDR
Definition:
ancillarydata.h:57
AJAAncillaryData_HDR_SDR_DID
const uint8_t AJAAncillaryData_HDR_SDR_DID
Definition:
ancillarydata_hdr_sdr.h:14
AJAAncillaryData::m_SID
uint8_t m_SID
Official SMPTE secondary ID (or DBN - w/o parity)
Definition:
ancillarydata.h:1153
AJAAncillaryData_HDR_SDR::RecognizeThisAncillaryData
static AJAAncDataType RecognizeThisAncillaryData(const AJAAncillaryData *pInAncData)
Definition:
ancillarydata_hdr_sdr.cpp:101
AJAAncillaryData::Clear
virtual void Clear(void)
Frees my allocated memory, if any, and resets my members to their default values.
Definition:
ancillarydata.cpp:159
AJAAncillaryData_HDR_SDR::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_hdr_sdr.cpp:112
AJAAncillaryData::operator=
AJAAncillaryData & operator=(const AJAAncillaryData &inRHS)
Definition:
ancillarydata.cpp:1576
std
Definition:
json.hpp:5362
AJAAncDataLoc::SetDataLink
AJAAncDataLoc & SetDataLink(const AJAAncDataLink inLink)
Sets my data link value to the given value (if valid).
Definition:
ancillarydata.h:354
AJAAncDataCoding_Digital
@ AJAAncDataCoding_Digital
The ancillary data is in the form of a SMPTE-291 Ancillary Packet.
Definition:
ancillarydata.h:476
AJAAncDataLoc::SetDataChannel
AJAAncDataLoc & SetDataChannel(const AJAAncDataChannel inChannel)
Sets my data video stream value to the given value (if valid).
Definition:
ancillarydata.h:368
ancillarydata_hdr_sdr.h
Declares the AJAAncillaryData_HDR_SDR class.
AJAAncillaryData::m_ancType
AJAAncDataType m_ancType
One of a known set of ancillary data types (or "Custom" if not identified)
Definition:
ancillarydata.h:1159
AJAAncDataLink_A
@ AJAAncDataLink_A
The ancillary data is associated with Link A of the video stream.
Definition:
ancillarydata.h:81
libajantv2
ajaanc
src
ancillarydata_hdr_sdr.cpp
Generated on Tue Dec 3 2024 10:25:57 for AJA NTV2 SDK by
1.8.17