Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



Loading...
Searching...
No Matches
PvH264AccessUnit.h
1// *****************************************************************************
2//
3// Copyright (c) 2010, Pleora Technologies Inc., All rights reserved.
4//
5// *****************************************************************************
6
7#ifndef __PVH264ACCESSUNIT_H__
8#define __PVH264ACCESSUNIT_H__
9
10#include <PvBufferLib.h>
11#include <PvPixelType.h>
12
13
14namespace PvBufferLib
15{
16 class H264AccessUnit;
17 class Buffer;
18}
19
31class PV_BUFFER_API IPvH264AccessUnit
32{
33public:
34
35 virtual ~IPvH264AccessUnit() {}
36
42 virtual uint32_t GetSize() const = 0;
43
52 virtual uint32_t GetNALDataSize() const = 0;
53
62 virtual const uint8_t *GetNALDataPtr() const = 0;
63
69 virtual uint32_t GetNALCount() const = 0;
70
82 virtual PvResult GetNALPtr( uint32_t aIndex, const uint8_t **aPtr, uint32_t &aLength ) const = 0;
83
88 virtual uint64_t GetDuration() const = 0;
89
94 virtual bool HasSPS() const = 0;
95
101 virtual uint32_t GetWidth() const = 0;
102
108 virtual uint32_t GetHeight() const = 0;
109
115 virtual uint32_t GetOffsetTop() const = 0;
116
122 virtual uint32_t GetOffsetLeft() const = 0;
123
129 virtual uint32_t GetOffsetBottom() const = 0;
130
136 virtual uint32_t GetOffsetRight() const = 0;
137
150 virtual PvResult Alloc( uint64_t aPayloadLength, uint32_t aMaximumChunkLength = 0 ) = 0;
151
157 virtual void Free() = 0;
158
162 virtual void Reset() = 0;
163
173 virtual PvResult AddNAL( const uint8_t *aPtr, uint32_t aLength ) = 0;
174
187 virtual PvResult CopyNALData( const uint8_t *aPtr, uint32_t aLength, uint32_t aWidth, uint32_t aHeight ) = 0;
188};
189
190
191#endif
Generic, read-only H264 access unit interface.
Definition PvH264AccessUnit.h:32
virtual bool HasSPS() const =0
Indicates if this access unit has SPS NALs.
virtual uint32_t GetOffsetBottom() const =0
Bottom offset of the image represented by this access unit.
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 uint64_t GetDuration() const =0
Returns the duration of this access unit in 100ns units.
virtual void Reset()=0
Resets the access unit.
virtual uint32_t GetHeight() const =0
Height 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 uint32_t GetOffsetLeft() const =0
Left offset of the image represented by this access unit.
virtual uint32_t GetOffsetTop() const =0
Top offset of the image represented by this access unit.
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.
virtual uint32_t GetOffsetRight() const =0
Right offset of the image represented by this access unit.
Result information.
Definition PvResult.h:30

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