📄 myfifo.h
字号:
/****************************************************************************/
/* MODULE: */
/* Myfifo.c */
/****************************************************************************/
/*
* TCC Version 0.0
* Copyright (c) telechips, Inc.
* ALL RIGHTS RESERVED
*/
/****************************************************************************/
#ifndef _MY_FIFO_H_2003_11_22
#define _MY_FIFO_H_2003_11_22
typedef struct _FIFOELEMENT
{
unsigned int uiIsUsing;
unsigned int uiMaxBufSize;
unsigned int uiRealBufSize;
unsigned int* pBuf;
}FIFOELEMENT, *PFIFOELEMENT, **PPFIFOELEMENT;
typedef struct _MYFIFO
{
unsigned int uiReadIdx;
unsigned int uiWriteIdx;
unsigned int uiMaxNumOfElement;
PPFIFOELEMENT ppFIFO;
PPFIFOELEMENT ppFifoBufArray;
}MYFIFO, *PMYFIFO;
#define QuerryActualFiFoSize(uiMaxNumOfElement, uiSizeOfElement) (20 + 2*(uiMaxNumOfElement*4) + (uiMaxNumOfElement) * (16+(uiSizeOfElement))) // sizeof(MYFIFO) + (uiMaxNumOfElement)*(sizeof(FIFOBUF) + uiSizeOfElement)
#ifdef __cplusplus
#define EXTERN extern "C"
#else
#define EXTERN extern
#endif
EXTERN int CreateFIFO(void* handle, unsigned int uiNumOfElement, unsigned int uiSizeOfElement);
//EXTERN int GetFifoElement(void* handle, PPFIFOELEMENT ppBuf);
//EXTERN int PushFifo(void* handle, PFIFOELEMENT pBuf);
//EXTERN int PopFifo(void* handle, PPFIFOELEMENT ppBuf);
#define MAX_MP4_SPDECODER_BUFFER_LENGTH (121*1024)
//Updated yohoj on V2.74 [2005/03/15]
#ifdef _TFT_LCD_TP020A_ //Moonriver_TFT_2005_03_11
// RGB
#define IMG_WIDTH (160)
#define IMG_HEIGHT (128)
#else
// RGB
#define IMG_WIDTH (176)
#define IMG_HEIGHT (220)
#endif
// YUV
//#define IMG_WIDTH (176 + 32)
//#define IMG_HEIGHT (144 + 32)
#define IMG_YUV_WIDTH (176)
#define IMG_YUV_HEIGHT (144)
#define MAX_NUM_OF_DPB_ELEMENT (16) // 4 //(2)
// For RGB
#define MAX_SIZE_OF_DPB_ELEMENT (IMG_WIDTH*IMG_HEIGHT*2 + 8)
// For YUV
//#define MAX_SIZE_OF_DPB_ELEMENT ((IMG_WIDTH*IMG_HEIGHT) + ((IMG_WIDTH*IMG_HEIGHT) >> 1))
#define TERMINATE_MP4_SP_DECODER 101
extern int pGetFifoElement(void* handle, PPFIFOELEMENT ppBuf);
extern int pPushFifo(void* handle, PFIFOELEMENT pBuf);
extern int pPopFifo(void* handle, PPFIFOELEMENT ppBuf);
typedef int (* pfGetFifoElement)(void* handle, PPFIFOELEMENT ppBuf);
typedef int (* pfPushFifo)(void* handle, PFIFOELEMENT pBuf);
typedef int (* pfPopFifo)(void* handle, PPFIFOELEMENT ppBuf);
typedef int (* pfShowFifo)(void* handle, PPFIFOELEMENT ppBuf);
typedef void (*pfFlushFifo)(void* handle);
extern pfGetFifoElement GetFifoElement;
extern pfPushFifo PushFifo;
extern pfPopFifo PopFifo;
extern pfShowFifo ShowFifo;
extern pfFlushFifo FlushFifo;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -