📄 jpeg.h
字号:
#ifndef __JPEG_H__
#define __JPEG_H__
typedef enum
{
JPEG_420, JPEG_422, JPEG_444, JPEG_411, JPEG_400
} JPEG_TYPE;
typedef enum
{
OK_ENC_OR_DEC, ERR_ENC_OR_DEC, OK_HD_PARSING, ERR_HD_PARSING
} JPEG_STATUS;
// Check whether the processing is done normally for the one step decoding.
typedef enum
{
HEADER, BODY, HEADER_N_BODY
} JPEG_DEC_MODE;
typedef struct
{
u32 m_uJpgHSz, m_uJpgVSz;
u32 m_uJpgConReg;
bool m_bIsHeaderParsed;
} JPEG;
void JPEG_Init(void);
void JPEG_StartParsingHeader(u32 uJpgAddr);
void JPEG_StartDecodingBody(u32 uRawAddr, bool bIsIncremental);
void JPEG_StartDecodingOneFrame(u32 uJpgAddr, u32 uRawAddr, bool bIsIncremental);
void JPEG_GetDecodedWidthAndHeight(u32* hsz, u32* vsz);
void JPEG_StartEncodingOneFrame(
u16 usHSz, u16 usVSz, u32 uSrcAddr, CSPACE eRawType,
u32 uDestAddr, JPEG_TYPE eJpgType
);
void JPEG_StartEncodingOtf(u16 usHSz, u16 usVSz, CSPACE eRawType, u32 uDstAddr); // On-The-Fly Encoding
//+daedoo
void JPEG_StartEncodingMotionJPEG(
u16 usHSz, u16 usVSz, u32 uSrcAddr, CSPACE eRawType,
u32 uDestAddr, JPEG_TYPE eJpgType
);
void JPEG_ReadAndClearStatus(JPEG_STATUS* eStatus);
void JPEG_GetJpegType(JPEG_TYPE* eMode);
void JPEG_GetJpegType1(char * pType);
void JPEG_StartDecodingMotion(u32 uSrc, u32 uDst, u32 uMJpegMaxSize);
void JPEG_InitIpForMotionEncoding(u16 hSize, u16 vSize, u32 src, CSPACE eRawType,
u32 dest, JPEG_TYPE eJpgType, u32 uMJpegMaxSize);
void JPEG_SetNextFrameStartAddr(u32 uAddr);
void JPEG_DisableMotionEncoding(void);
void JPEG_DisableMotionDecoding(void);
void JPEG_CheckDone(u32* uResult);
void JPEG_CheckSyntaxError(u32* uResult);
void JPEG_CheckReadHeader(u32* uResult);
void JPEG_Reset(void);
void JPEG_GetEncodedStreamLen(u32* uSize);
//private:
void JPEG_InitRegsForEncoding( u32 uHSz, u32 uVsz, u32 uSrcAddr, CSPACE eRawType,
u32 uDstAddr, JPEG_TYPE eJpgType, bool bIsOnTheFly, bool bIsMotion);
void JPEG_InitRegsForDecoding1( u32 uSrcAddr, u32 uDstAddr,
bool bIsHeaderOnly, bool bIncremental, bool bIsMotion);
void JPEG_InitRegsForDecoding( u32 uSrcAddr, u32 uDstAddr,
JPEG_DEC_MODE eMode, bool bIncremental, bool bIsMotion);
void JPEG_GetIntStatus(u32* uIntStatus);
//+daedoo
void JPEG_Wait_Done(void);
#endif // __JPEG_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -