AJA NTV2 SDK
17.5.0.1492
NTV2 SDK 17.5.0.1492
|
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 const bool | Direction_TopToBottom = true |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static const bool | Direction_TopDown = true |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static const bool | Direction_Normal = true |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning. More... | |
static const bool | Direction_BottomToTop = false |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning. More... | |
static const bool | Direction_BottomUp = false |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning. More... | |
static const bool | Direction_Flipped = false |
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 5802 of file ntv2publicinterface.h.
|
inline |
Constructs me as empty/invalid.
Definition at line 5807 of file ntv2publicinterface.h.
bool NTV2SegmentedXferInfo::containsElementAtOffset | ( | const ULWord | inElementOffset | ) | const |
[in] | inElementOffset | Specifies the element offset of interest. |
Definition at line 1566 of file ntv2publicinterface.cpp.
|
inline |
Definition at line 5850 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 1536 of file ntv2publicinterface.cpp.
|
inline |
Definition at line 5844 of file ntv2publicinterface.h.
bool NTV2SegmentedXferInfo::operator!= | ( | const NTV2SegmentedXferInfo & | inRHS | ) | const |
[in] | inRHS | Specifies the NTV2SegmentedXferInfo to compare with me. |
Definition at line 1589 of file ntv2publicinterface.cpp.
|
inline |
[in] | inRHS | Specifies the NTV2SegmentedXferInfo to compare with me. |
Definition at line 5886 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 1511 of file ntv2publicinterface.cpp.
NTV2SegmentedXferInfo & NTV2SegmentedXferInfo::reset | ( | void | ) |
Resets me to an invalid (all zero) state.
Definition at line 1609 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 5995 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 6007 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 5972 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 5980 of file ntv2publicinterface.h.
|
inline |
Sets my destination pitch.
[in] | inPitch | The new number of elements between each destination row. |
Definition at line 5987 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 6015 of file ntv2publicinterface.h.
|
inline |
Sets my segment count.
[in] | inNumSegments | My new segment count. |
Definition at line 5910 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 5902 of file ntv2publicinterface.h.
|
inline |
Sets my segment length.
[in] | inNumElements | My new segment length, in elements. |
Definition at line 5918 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 5952 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 5964 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 5927 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 5935 of file ntv2publicinterface.h.
|
inline |
Sets my source pitch.
[in] | inPitch | The new number of elements between each source row. |
Definition at line 5943 of file ntv2publicinterface.h.
NTV2SegmentedXferInfo & NTV2SegmentedXferInfo::swapSourceAndDestination | ( | void | ) |
Swaps my source and destination offsets, pitches and scan directions.
Definition at line 1622 of file ntv2publicinterface.cpp.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 6041 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 6042 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for bottom-to-top scanning.
Definition at line 6043 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 6040 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 6039 of file ntv2publicinterface.h.
|
static |
Use this in setDestDirection or setSourceDirection for top-to-bottom scanning.
Definition at line 6038 of file ntv2publicinterface.h.