📄 buffer.h
字号:
/////////////////////////////////////////////
//
//mem.h
//
/////////////////////////////////////////////
#ifndef __IPCAM_MEM_H__
#define __IPCAM_MEM_H__
#define VIDEO_BUFFER_COUNT 15
#define SEQUENCE_LARGE_NUMBER_FIRST 65500
#define SEQUENCE_SMALL_NUMBER_LAST 30
typedef enum
{
CSR_LESS = -1,
CSR_EQUAL = 0,
CSR_GREATER = 1
} COMPARE_SEQ_RET;
//encoded buffer header
typedef struct _EBHeader
{
struct _EBHeader *prev;
struct _EBHeader *next;
Uint32 size; /* real encoded data size */
Uint32 time; /* the time from CLK_getltime indicate when the frame is generated*/
Uint16 sequence; /* sequence no. */
Uint8 reference; /* reference count */
Uint8 frameType; /* ENCODED_VIDEO_FRAME_TYPE */
} EBHeader;
/**/
typedef struct _MemBlock
{
Uint8 *pMem;
Uint8 *pCurrent;
Uint32 size;
} MemBlock;
COMPARE_SEQ_RET CompareSequence(Uint16 _seq1, Uint16 _seq2);
EBHeader* GetVideoLastIFrame(Uint8 _ch);
EBHeader* GetVideoNextAvailableBuffer(Uint8 _ch, Uint16 _seq);
EBHeader* GetVideoCurrentFreeBuffer(Uint8 _ch);
int GetEncodedVideoBufferContentSize();
int GetEncodedVideoBufferHeaderSize();
void ClearVideoBuffer(Uint8 _ch);
void FinalizeEncodedBuffer(Uint8 _ch);
void InitEncodedVideoBuffer(Uint8 _ch, VIDEO_RESOLUTION _vdRes);
Bool Codec_InitMem();
Bool Codec_CloseMem();
void* Codec_ISRAMemAlloc(Uint8 _ch, Uint32 _size, Uint16 _alignment);
void Codec_ISRAMemFree(Uint8 _ch, Ptr _pMem, Uint32 _size);
void* Codec_SDRAMemAlloc(Uint8 _ch, Uint32 _size, Uint16 _alignment);
void Codec_SDRAMemFree(Uint8 _ch, Ptr _pMem, Uint32 _size);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -