9 #include <PvGenDCLib.h>
17 struct GenDCComponentHeader;
18 struct GenDCPartHeader;
19 struct GenDCContainerHeader;
115 uint16_t PaddingReserved;
116 uint32_t InfoReserved;
117 uint64_t InfoTypeSpecific;
129 uint16_t PaddingReserved;
130 uint32_t InfoReserved;
131 uint64_t InfoTypeSpecific;
144 uint32_t InfoReserved;
158 uint8_t CS_set0_flag : 1;
159 uint8_t CS_set1_flag : 1;
160 uint8_t CS_set2_flag : 1;
161 uint8_t CS_set3_flag : 1;
166 uint16_t SpropInterleavingDepth;
167 uint16_t SpropMaxDonDiff;
168 uint32_t SpropDeintBufReq;
169 uint32_t SpropInitBufTime;
458 virtual const GenDCComponentHeader *
GetHeader()
const = 0;
729 virtual const GenDCContainerHeader *
GetHeader()
const = 0;
PvComponentType
Enumeration representing the data type of a data acquisition component. Component types are associate...
Definition: PvComponentType.h:17
Interface definitions for GenDC parts that decouple from PvBuffer library.
PvGenDCVariableField
Definition: PvGenericDataContainer.h:34
@ PvGenDCVFDataSize
If set as a GenDC variable field, the container data size can shrink during transmission.
Definition: PvGenericDataContainer.h:37
@ PvGenDCVFComponentInvalid
If set as a GenDC variable field, the 'Invalid' flag of certain components can change during transmis...
Definition: PvGenericDataContainer.h:57
@ PvGenDCVFSizeY
If set as a GenDC variable field, the container parts size and padding in the Y axis can change durin...
Definition: PvGenericDataContainer.h:43
@ PvGenDCVFSizeX
If set as a GenDC variable field, the container parts size and padding in the X axis can change durin...
Definition: PvGenericDataContainer.h:40
@ PvGenDCVFRegionOffset
If set as a GenDC variable field, the components offset can change during transmission.
Definition: PvGenericDataContainer.h:46
@ PvGenDCVFComponentCount
If set as a GenDC variable field, the last components may not be transmitted.
Definition: PvGenericDataContainer.h:54
@ PvGenDCVFReserved
If set as a GenDC variable field, the 'Reserved' flag of certain components can change during transmi...
Definition: PvGenericDataContainer.h:60
@ PvGenDCVFFormat
If set as a GenDC variable field, the components format can change during transmission.
Definition: PvGenericDataContainer.h:49
@ PvGenDCVFTimestamp
If set as a GenDC variable field, the components timestamp can change during transmission.
Definition: PvGenericDataContainer.h:52
PvGenDCPartType
Definition: PvGenericDataContainer.h:79
@ PvGenDCPart2DH264
H264 compressed image.
Definition: PvGenericDataContainer.h:93
@ PvGenDCPartMetadataCustom
Custom metadata.
Definition: PvGenericDataContainer.h:95
@ PvGenDCPart2DCustom
Custom 2D image.
Definition: PvGenericDataContainer.h:99
@ PvGenDCPart2DJpeg2000
JPEG 2000 compressed image.
Definition: PvGenericDataContainer.h:91
@ PvGenDCPartUnknown
Does not represent a part type.
Definition: PvGenericDataContainer.h:103
@ PvGenDCPartCustom
Custom part.
Definition: PvGenericDataContainer.h:101
@ PvGenDCPartMetadataGenICamXML
GenICam XML metadata.
Definition: PvGenericDataContainer.h:83
@ PvGenDCPartMetadataGenICamChunk
GenICam chunk metadata.
Definition: PvGenericDataContainer.h:81
@ PvGenDCPart2DJpeg
JPEG compressed image.
Definition: PvGenericDataContainer.h:89
@ PvGenDCPart1D
1 dimensional array data.
Definition: PvGenericDataContainer.h:85
@ PvGenDCPart1DCustom
Custom 1D image.
Definition: PvGenericDataContainer.h:97
@ PvGenDCPart2D
Rectangular uncompressed image (monochrome or none planar).
Definition: PvGenericDataContainer.h:87
Generic chunk data interface for GenDC parts.
Definition: PvGenDCInterfaces.h:132
Generic chunk data writer interface for GenDC parts.
Definition: PvGenDCInterfaces.h:214
Generic image interface for GenDC parts.
Definition: PvGenDCInterfaces.h:33
One component in a GenDC container. A container can be formed by one or more components.
Definition: PvGenericDataContainer.h:446
virtual uint64_t GetPartHeaderOffset(uint32_t aIndex) const =0
Returns the data offset for the part associated with the index.
virtual uint16_t GetRegionID() const =0
Returns the region identifier of this component.
virtual uint32_t GetHeaderSize() const =0
Returns the size of this component's header.
virtual uint32_t GetRegionOffsetY() const =0
Returns the region offset in the Y axis for this component.
virtual uint16_t GetGroupID() const =0
Returns the group identifier of this component. Components sharing a group ID are related together in...
virtual const GenDCComponentHeader * GetHeader() const =0
Returns a const pointer to the underlying GenDC component header.
virtual uint16_t GetSourceID() const =0
Returns the identifier for the source that generated this component.
virtual const IPvGenericDataPart * operator[](uint32_t aIndex) const =0
Indexed part const accessor.
virtual const IPvGenericDataPart * GetPart(uint32_t aIndex) const =0
Indexed part const accessor.
virtual IPvGenericDataPart * operator[](uint32_t aIndex)=0
Indexed part accessor.
virtual uint32_t GetPartCount() const =0
Returns the parts count included by this component.
virtual uint16_t GetFlags() const =0
Return the component's flags.
virtual uint64_t GetTypeID() const =0
Returns the SFNC ComponentIdValue for this component.
virtual PvComponentType GetTypeIDEnum() const =0
Returns the SFNC ComponentIdValue for this component, as an enum.
virtual uint32_t GetRegionOffsetX() const =0
Returns the region offset in the X axis for this component.
virtual IPvGenericDataPart * GetPart(uint32_t aIndex)=0
Indexed part accessor.
virtual uint32_t GetFormat() const =0
Returns the SFNC pixel format for this component.
virtual uint32_t AddPart(PvGenDCPartType aPartType, uint32_t aFlow)=0
Creates a new part in the component.
virtual uint64_t GetTimestamp() const =0
Returns the data creation start timestamp for this component, in nanoseconds.
virtual GenDCComponentHeader * GetMutableHeader()=0
Returns a mutable pointer to the underlying GenDC component header.
Interface used to read from a GenDC container.
Definition: PvGenericDataContainer.h:648
virtual uint64_t GetDataSize() const =0
Gets the container's cumulative data size for all its parts, in bytes.
virtual uint32_t GetComponentCount() const =0
Component count of the GenDC container.
virtual GenDCContainerHeader * GetMutableHeader()=0
Returns a mutable pointer to the underlying GenDC container header.
virtual IPvGenericDataComponent * GetComponent(uint32_t aIndex)=0
Indexed component accessor.
virtual uint64_t GetDescriptorSize() const =0
Gets the container's cumulative headers sizes for all its components and parts, as well as the contai...
virtual const GenDCContainerHeader * GetHeader() const =0
Returns a const pointer to the underlying GenDC container header.
virtual const IPvGenericDataComponent * operator[](uint32_t aIndex) const =0
Indexed component const accessor.
virtual const IPvGenericDataComponent * GetComponent(uint32_t aIndex) const =0
Indexed component const accessor.
virtual bool IsValid() const =0
Indicates if the container is valid. The container is valid if the container descriptor was processed...
virtual IPvGenericDataComponent * operator[](uint32_t aIndex)=0
Indexed component accessor.
virtual uint32_t AddComponent(PvComponentType aComponentType)=0
Creates a new component in the container.
One part in a GenDC component; the smallest unit in a GenDC container.
Definition: PvGenericDataContainer.h:180
virtual const IPvGenDCChunkData * GetGenDCChunkData() const =0
Returns a pointer to an IPvGenDCChunkData interface to the part, if the header type is chunk metadata...
virtual uint32_t GetFormat() const =0
Returns the pixel format value of this part.
virtual PvResult Get1DSpecificFields(PvGenDCPart1DFields &aSpecificFields) const =0
Returns a PvGenDCPart1DFields struct, if the header type is 1D.
virtual const IPvGenDCChunkWriter * GetGenDCChunkWriter() const =0
Returns a pointer to an IPvGenDCChunkWriter interface to the part, if the header type is chunk metada...
virtual uint64_t GetDataSize() const =0
Returns the part's data size in bytes.
virtual const IPvGenDCImage * GetGenDCImage() const =0
Returns a pointer to an IPvGenDCImage interface to the part, if the header type is a 2D image.
virtual PvResult Get2DSpecificFields(PvGenDCPart2DFields &aSpecificFields) const =0
Returns a PvGenDCPart2DFields struct, if the header type is 2D.
virtual uint16_t GetHeaderType() const =0
Returns the exact part's header type value, as an integer.
virtual uint64_t GetReceptionTime() const =0
Retrieves the reception time of the data container.
virtual uint16_t GetFlags() const =0
Returns the flags value for this part.
virtual uint8_t * GetDataPointer()=0
Returns the part's data pointer.
virtual uint64_t GetFlowOffset() const =0
Returns this part's flow offset.
virtual PvGenDCPartType GetHeaderTypeEnum() const =0
Returns the part's header type, as an enum.
virtual PvResult GetMetadataSpecificFields(PvGenDCPartMetadataFields &aMetadataFields) const =0
Retrieves a PvGenDCPartMetadataFields struct, if the header type is metadata.
virtual uint64_t GetDataOffset() const =0
Returns an IPvGenDCPartTypeFields interface for this part.
virtual GenDCPartHeader * GetMutableHeader()=0
Returns a mutable pointer to the underlying GenDC part header.
virtual uint16_t GetFlowID() const =0
Returns this part's flow ID.
virtual const GenDCPartHeader * GetHeader() const =0
Returns a const pointer to the underlying GenDC part header.
virtual const uint8_t * GetDataPointer() const =0
Returns the part's data pointer (const).
virtual PvResult GetH264SpecificFields(PvGenDCPartH264Fields &aSpecificFields) const =0
Returns a PvGenDCPartH264Fields struct, if the header type is H.264 compressed.
virtual uint32_t GetHeaderSize() const =0
Returns the size of this part's header.
Result information.
Definition: PvResult.h:30
Specific part fields for the 1D array type.
Definition: PvGenericDataContainer.h:126
Specific part fields for the 2D uncompressed, JPEG and JPEG2000 types.
Definition: PvGenericDataContainer.h:139
Definition: PvGenericDataContainer.h:156
Specific part fields for the H.264 compressed image type.
Definition: PvGenericDataContainer.h:152