7 #ifndef __PVH264ACCESSUNIT_H__
8 #define __PVH264ACCESSUNIT_H__
10 #include <PvBufferLib.h>
82 virtual PvResult GetNALPtr( uint32_t aIndex,
const uint8_t **aPtr, uint32_t &aLength )
const = 0;
84 virtual uint64_t GetDuration()
const = 0;
86 virtual bool HasSPS()
const = 0;
101 virtual uint32_t GetOffsetTop()
const = 0;
102 virtual uint32_t GetOffsetLeft()
const = 0;
103 virtual uint32_t GetOffsetBottom()
const = 0;
104 virtual uint32_t GetOffsetRight()
const = 0;
118 virtual PvResult Alloc( uint64_t aPayloadLength, uint32_t aMaximumChunkLength = 0 ) = 0;
126 virtual void Reset() = 0;
151 virtual PvResult CopyNALData(
const uint8_t *aPtr, uint32_t aLength, uint32_t aWidth, uint32_t aHeight ) = 0;
Generic, read-only H264 access unit interface.
Definition: PvH264AccessUnit.h:32
virtual void Free()=0
Frees (de-allocates) the buffer's internal memory.
virtual uint32_t GetNALCount() const =0
Returns how many NALs are currently stored in the access unit.
virtual uint32_t GetHeight() const =0
Width of the image represented by this access unit.
virtual const uint8_t * GetNALDataPtr() const =0
Returns a pointer to the raw NAL data buffer.
virtual PvResult Alloc(uint64_t aPayloadLength, uint32_t aMaximumChunkLength=0)=0
Allocates memory for this access unit.
virtual uint32_t GetWidth() const =0
Width of the image represented by this access unit.
virtual PvResult AddNAL(const uint8_t *aPtr, uint32_t aLength)=0
Copies a NAL to this access unit.
virtual uint32_t GetSize() const =0
Returns the total buffer size, including chunk and/or unused space.
virtual PvResult CopyNALData(const uint8_t *aPtr, uint32_t aLength, uint32_t aWidth, uint32_t aHeight)=0
Copies NAL data to the buffer.
virtual uint32_t GetNALDataSize() const =0
Returns the total raw NAL data size.
virtual PvResult GetNALPtr(uint32_t aIndex, const uint8_t **aPtr, uint32_t &aLength) const =0
Returns a pointer to a NAL stored in this access unit.
Result information.
Definition: PvResult.h:30