Generic, read-only H264 access unit interface.
More...
|
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...
|
|
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.
◆ AddNAL()
PvResult IPvH264AccessUnit::AddNAL |
( |
const uint8_t * |
aPtr, |
|
|
uint32_t |
aLength |
|
) |
| |
|
pure virtual |
Copies a NAL to this access unit.
- Parameters
-
[in] | aPtr | Pointer to the NAL to copy. |
[in] | aLength | Length of the NAL to copy. |
- Returns
- Includes:
◆ Alloc()
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] | aPayloadLength | The raw payload length of the H264 Access Unit data, in bytes. See GetNALDataSize. |
[in] | aMaximumChunkLength | Maximum size in bytes to store chunks ( must include extra 64 bits by chunks for headers ). |
- Returns
- Includes:
◆ CopyNALData()
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] | aPtr | Pointer to the NAL data. |
[in] | aLength | Data length in bytes. |
[in] | aWidth | Width of the compressed video stream. |
[in] | aHeight | Height of the compressed video stream. |
- Returns
- Includes:
◆ Free()
void IPvH264AccessUnit::Free |
( |
| ) |
|
|
pure virtual |
Frees (de-allocates) the buffer's internal memory.
- See also
- Alloc
◆ GetHeight()
uint32_t IPvH264AccessUnit::GetHeight |
( |
| ) |
const |
|
pure virtual |
Width of the image represented by this access unit.
- Returns
- Width or zero if not set.
◆ GetNALCount()
uint32_t IPvH264AccessUnit::GetNALCount |
( |
| ) |
const |
|
pure virtual |
Returns how many NALs are currently stored in the access unit.
- Returns
- NAL count.
◆ GetNALDataPtr()
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.
◆ GetNALDataSize()
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.
◆ GetNALPtr()
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] | aIndex | Zero-based index of the NAL. |
[out] | aPtr | Pointer to the NAL. |
[out] | aLength | NAL length in bytes. |
- Returns
- Includes:
◆ GetSize()
uint32_t IPvH264AccessUnit::GetSize |
( |
| ) |
const |
|
pure virtual |
Returns the total buffer size, including chunk and/or unused space.
- Returns
- Buffer size in bytes.
◆ GetWidth()
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: