Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



IPvH264AccessUnit Class Referenceabstract

Generic, read-only H264 access unit interface. More...

Public Member Functions

virtual uint32_t GetSize () const =0
 Returns the total buffer size, including chunk and/or unused space. More...
 
virtual uint32_t GetNALDataSize () const =0
 Returns the total raw NAL data size. More...
 
virtual const uint8_t * GetNALDataPtr () const =0
 Returns a pointer to the raw NAL data buffer. More...
 
virtual uint32_t GetNALCount () const =0
 Returns how many NALs are currently stored in the access unit. More...
 
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. More...
 
virtual uint32_t GetWidth () const =0
 Width of the image represented by this access unit. More...
 
virtual uint32_t GetHeight () const =0
 Width of the image represented by this access unit. More...
 
virtual PvResult Alloc (uint64_t aPayloadLength, uint32_t aMaximumChunkLength=0)=0
 Allocates memory for this access unit. More...
 
virtual void Free ()=0
 Frees (de-allocates) the buffer's internal memory. More...
 
virtual PvResult AddNAL (const uint8_t *aPtr, uint32_t aLength)=0
 Copies a NAL to this access unit. More...
 
virtual PvResult CopyNALData (const uint8_t *aPtr, uint32_t aLength, uint32_t aWidth, uint32_t aHeight)=0
 Copies NAL data to the buffer. More...
 

Detailed Description

Generic, read-only H264 access unit interface.

A PvBuffer represents a generic buffer with no specific payload type. If the payload type is H264 access unitdata, the user can obtain a pointer to a IPvH264AccessUnit buffer interface through PvBuffer::GetH264AccessUnit.

This IPvH264AccessUnit pointer is owned by the PvBuffer and does not need to be released after use. It is valid as long as the PvBuffer exists.

Member Function Documentation

PvResult IPvH264AccessUnit::AddNAL ( const uint8_t *  aPtr,
uint32_t  aLength 
)
pure virtual

Copies a NAL to this access unit.

Parameters
[in]aPtrPointer to the NAL to copy.
[in]aLengthLength of the NAL to copy.
Returns
Includes:
PvResult IPvH264AccessUnit::Alloc ( uint64_t  aPayloadLength,
uint32_t  aMaximumChunkLength = 0 
)
pure virtual

Allocates memory for this access unit.

Allocs an access unit of specific payload length

Parameters
[in]aPayloadLengthThe raw payload length of the H264 Access Unit data, in bytes. See GetNALDataSize.
[in]aMaximumChunkLengthMaximum size in bytes to store chunks ( must include extra 64 bits by chunks for headers ).
Returns
Includes:
PvResult IPvH264AccessUnit::CopyNALData ( const uint8_t *  aPtr,
uint32_t  aLength,
uint32_t  aWidth,
uint32_t  aHeight 
)
pure virtual

Copies NAL data to the buffer.

Parameters
[in]aPtrPointer to the NAL data.
[in]aLengthData length in bytes.
[in]aWidthWidth of the compressed video stream.
[in]aHeightHeight of the compressed video stream.
Returns
Includes:
void IPvH264AccessUnit::Free ( )
pure virtual

Frees (de-allocates) the buffer's internal memory.

See also
Alloc
uint32_t IPvH264AccessUnit::GetHeight ( ) const
pure virtual

Width of the image represented by this access unit.

Returns
Width or zero if not set.
uint32_t IPvH264AccessUnit::GetNALCount ( ) const
pure virtual

Returns how many NALs are currently stored in the access unit.

Returns
NAL count.
uint8_t * IPvH264AccessUnit::GetNALDataPtr ( ) const
pure virtual

Returns a pointer to the raw NAL data buffer.

All NALs of the access unit are stored contiguously. Use GetNALCount, GetNALPtr to access individual NALs.

Returns
Pointer to the first NAL.
uint32_t IPvH264AccessUnit::GetNALDataSize ( ) const
pure virtual

Returns the total raw NAL data size.

All NALs of the access unit are stored contiguously. Use GetNALCount, GetNALPtr to access individual NALs.

Returns
NAL data size in bytes.
PvResult IPvH264AccessUnit::GetNALPtr ( uint32_t  aIndex,
const uint8_t **  aPtr,
uint32_t &  aLength 
) const
pure virtual

Returns a pointer to a NAL stored in this access unit.

Parameters
[in]aIndexZero-based index of the NAL.
[out]aPtrPointer to the NAL.
[out]aLengthNAL length in bytes.
Returns
Includes:
uint32_t IPvH264AccessUnit::GetSize ( ) const
pure virtual

Returns the total buffer size, including chunk and/or unused space.

Returns
Buffer size in bytes.
uint32_t IPvH264AccessUnit::GetWidth ( ) const
pure virtual

Width of the image represented by this access unit.

Returns
Width or zero if not set.

The documentation for this class was generated from the following files:

Copyright (c) 2002-2021 Pleora Technologies Inc.
www.pleora.com