AJA NTV2 SDK
17.5.0.1242
NTV2 SDK 17.5.0.1242
|
Describes a segmented data transfer (copy or move) from a source memory location to a destination location, with independent pitch and direction attributes for source and destination. The simplest transfer, of course, has a single segment. More...
#include <ntv2publicinterface.h>
Public Member Functions | |
NTV2SegmentedXferInfo () | |
Constructs me as empty/invalid. More... | |
Inquiry | |
ULWord | getSourceEndOffset (void) const |
ULWord | getDestEndOffset (void) const |
std::ostream & | Print (std::ostream &inStrm, const bool inDumpSegments=false) const |
Writes a human-readable description of me into a given output stream. More... | |
std::string | getSourceCode (const bool inInclDecl=true) const |
bool | containsElementAtOffset (const ULWord inElementOffset) const |
bool | operator!= (const NTV2SegmentedXferInfo &inRHS) const |
bool | operator== (const NTV2SegmentedXferInfo &inRHS) const |
Changing | |
NTV2SegmentedXferInfo & | reset (void) |
Resets me to an invalid (all zero) state. More... | |
NTV2SegmentedXferInfo & | setSegmentInfo (const ULWord inNumSegs, const ULWord inSegLength) |
Sets both my segment count and length. More... | |
NTV2SegmentedXferInfo & | setSegmentCount (const ULWord inNumSegments) |
Sets my segment count. More... | |
NTV2SegmentedXferInfo & | setSegmentLength (const ULWord inNumElements) |
Sets my segment length. More... | |
NTV2SegmentedXferInfo & | setSourceInfo (const ULWord inOffset, const ULWord inPitch) |
A convenience function that sets both my source offset and pitch. More... | |
NTV2SegmentedXferInfo & | setSourceOffset (const ULWord inOffset) |
Sets my source offset. More... | |
NTV2SegmentedXferInfo & | setSourcePitch (const ULWord inPitch) |
Sets my source pitch. More... | |
NTV2SegmentedXferInfo & | setSourceDirection (const bool inTopDown) |
Sets the scan direction for the source. More... | |
NTV2SegmentedXferInfo & | setSourceFlipped (const bool inFlipped=Direction_Flipped) |
Sets the scan direction for the source. More... | |
NTV2SegmentedXferInfo & | setDestInfo (const ULWord inOffset, const ULWord inPitch) |
A convenience function that sets both my destination offset and pitch. More... | |
NTV2SegmentedXferInfo & | setDestOffset (const ULWord inOffset) |
Sets my destination offset. More... | |
NTV2SegmentedXferInfo & | setDestPitch (const ULWord inPitch) |
Sets my destination pitch. More... | |
NTV2SegmentedXferInfo & | setDestDirection (const bool inTopDown) |
Sets the scan direction for the destination. More... | |
NTV2SegmentedXferInfo & | setDestFlipped (const bool inFlipped=Direction_Flipped) |
Sets the scan direction for the destination. More... | |
NTV2SegmentedXferInfo & | setElementLength (const ULWord inBytesPerElement) |
Sets my element length. More... | |
NTV2SegmentedXferInfo & | swapSourceAndDestination (void) |
Swaps my source and destination offsets, pitches and scan directions. More... | |
Static Public Attributes | |
Scan Direction Constants | |
static bool | Direction_TopToBottom |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static bool | Direction_TopDown |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static bool | Direction_Normal |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static bool | Direction_BottomToTop |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning. More... | |
static bool | Direction_BottomUp |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning. More... | |
static bool | Direction_Flipped |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning. More... | |
Describes a segmented data transfer (copy or move) from a source memory location to a destination location, with independent pitch and direction attributes for source and destination. The simplest transfer, of course, has a single segment.
A segmented transfer is described by these attributes:
Definition at line 5728 of file ntv2publicinterface.h.
|
inline |
Constructs me as empty/invalid.
Definition at line 5733 of file ntv2publicinterface.h.
bool NTV2SegmentedXferInfo::containsElementAtOffset | ( | const ULWord | inElementOffset | ) | const |
[in] | inElementOffset | Specifies the element offset of interest. |
Definition at line 1446 of file ntv2publicinterface.cpp.
|
inline |
Definition at line 5776 of file ntv2publicinterface.h.
string NTV2SegmentedXferInfo::getSourceCode | ( | const bool | inInclDecl = true | ) | const |
[in] | inInclDecl | If true, the default, include a declaration statement in the source code. |
Definition at line 1416 of file ntv2publicinterface.cpp.
|
inline |
Definition at line 5770 of file ntv2publicinterface.h.
bool NTV2SegmentedXferInfo::operator!= | ( | const NTV2SegmentedXferInfo & | inRHS | ) | const |
[in] | inRHS | Specifies the NTV2SegmentedXferInfo to compare with me. |
Definition at line 1469 of file ntv2publicinterface.cpp.
|
inline |
[in] | inRHS | Specifies the NTV2SegmentedXferInfo to compare with me. |
Definition at line 5812 of file ntv2publicinterface.h.
ostream & NTV2SegmentedXferInfo::Print | ( | std::ostream & | inStrm, |
const bool | inDumpSegments = false |
||
) | const |
Writes a human-readable description of me into a given output stream.
inStrm | A non-constant reference to the output stream that will receive the description. | |
[in] | inDumpSegments | If true, also dumps a description of each segment. Defaults to false. |
Definition at line 1391 of file ntv2publicinterface.cpp.
NTV2SegmentedXferInfo & NTV2SegmentedXferInfo::reset | ( | void | ) |
Resets me to an invalid (all zero) state.
Definition at line 1489 of file ntv2publicinterface.cpp.
|
inline |
Sets the scan direction for the destination.
[in] | inTopDown | Specify Direction_TopToBottom, Direction_TopDown or Direction_Normal to traverse the destination segments top-to-bottom; otherwise specify Direction_BottomToTop, Direction_BottomUp or Direction_Flipped for bottom-to-top. |
Definition at line 5921 of file ntv2publicinterface.h.
|
inline |
Sets the scan direction for the destination.
[in] | inFlipped | Optionally specifies if my scan direction is flipped (i.e. bottom-to-top) instead of top-to-bottom. Defaults to Direction_Flipped (i.e. bottom-to-top). |
Definition at line 5933 of file ntv2publicinterface.h.
|
inline |
A convenience function that sets both my destination offset and pitch.
[in] | inOffset | The new offset, in elements, to the start of the first destination segment. |
[in] | inPitch | The new number of elements between each destination row. |
Definition at line 5898 of file ntv2publicinterface.h.
|
inline |
Sets my destination offset.
[in] | inOffset | The new offset, in elements, to the start of the first destination segment. |
Definition at line 5906 of file ntv2publicinterface.h.
|
inline |
Sets my destination pitch.
[in] | inPitch | The new number of elements between each destination row. |
Definition at line 5913 of file ntv2publicinterface.h.
|
inline |
Sets my element length.
[in] | inBytesPerElement | The new element size, in bytes. Must be a power of two (1, 2, 4, or 8). |
Definition at line 5941 of file ntv2publicinterface.h.
|
inline |
Sets my segment count.
[in] | inNumSegments | My new segment count. |
Definition at line 5836 of file ntv2publicinterface.h.
|
inline |
Sets both my segment count and length.
[in] | inNumSegs | My new segment count. |
[in] | inSegLength | My new segment length, in elements. |
Definition at line 5828 of file ntv2publicinterface.h.
|
inline |
Sets my segment length.
[in] | inNumElements | My new segment length, in elements. |
Definition at line 5844 of file ntv2publicinterface.h.
|
inline |
Sets the scan direction for the source.
[in] | inTopDown | Specify Direction_TopToBottom, Direction_TopDown or Direction_Normal to traverse the source segments top-to-bottom; otherwise specify Direction_BottomToTop, Direction_BottomUp or Direction_Flipped for bottom-to-top. |
Definition at line 5878 of file ntv2publicinterface.h.
|
inline |
Sets the scan direction for the source.
[in] | inFlipped | Optionally specifies if my scan direction is flipped (i.e. bottom-to-top) instead of top-to-bottom. Defaults to Direction_Flipped (i.e. bottom-to-top). |
Definition at line 5890 of file ntv2publicinterface.h.
|
inline |
A convenience function that sets both my source offset and pitch.
[in] | inOffset | The new offset, in elements, to the start of the first source segment. |
[in] | inPitch | The new number of elements between each source row. |
Definition at line 5853 of file ntv2publicinterface.h.
|
inline |
Sets my source offset.
[in] | inOffset | The new offset, in elements, to the start of the first source segment. |
Definition at line 5861 of file ntv2publicinterface.h.
|
inline |
Sets my source pitch.
[in] | inPitch | The new number of elements between each source row. |
Definition at line 5869 of file ntv2publicinterface.h.
NTV2SegmentedXferInfo & NTV2SegmentedXferInfo::swapSourceAndDestination | ( | void | ) |
Swaps my source and destination offsets, pitches and scan directions.
Definition at line 1502 of file ntv2publicinterface.cpp.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 5967 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 5968 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 5969 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 5966 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 5965 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 5964 of file ntv2publicinterface.h.