📄 main.h~
字号:
#ifndef __MAIN_H__
#define __MAIN_H__
#include "std_maiko_io.h"
//#include "include\common\mconfig.h"
//#include "include\common\common.h"
#include "zsp_dmac.h"
#define MAIKO_ZSP_IMEMBASE 0x10020000
#define MAIKO_ZSP_DMEMBASE 0x10040000
#define MAIKO_ZSP_INTERNAL_IMEMBASE 0xDC020000
#define MAIKO_ZSP_INTERNAL_DMEMBASE 0xDC000000
// mailbox used by CPU2ZSP
#define MAIKO_MAILBOXBASE 0x10050000 // 0x8000
#define MAIKO_VIDEO_BUF_BASE 0x10200000
#define MAIKO_VIDEO_BUF_END 0x1027BBFF // MAIKO_VIDEO_BUF_BASE+4*MAXFRAMESIZE
#define MAIKO_QFRAGDATA_BASE 0x1027BC00 // 0x1027BC00 - 0x102B99FF
#define MAIKO_DMATABLE_BASE 0x1005EFC0 //
#define MAIKO_PKTBUFFER_BASE 0xDC000000 // 0x0000 in ZSP
#define MAXFRAMESIZE 0x1EF00 // 352*240*1.5 = 126720
#define MAXPACKETSIZE 24576 // 24K
#define MAXBLOCKNUM 1980
#define PKTBUFFER_LEN 1024
#define LASTFRAMEBUFLEN 48 // 48 blocks, 164 words per blocks
#define ZSP_QFRAGBUF_BASE 0 // 0x0 in ZSP
#define CPU2ZSP_INIT_REQ 0 // request ZSP to initialize decoder
#define CPU2ZSP_DECODE_REQ 1 // request ZSP to decode a frame
#define CPU2ZSP_FIN_REQ 2 // request ZSP to finish and clear up
// request CPU to maintain CodedBlockList
#define ZSP2CPU_CODED_BLOCK_REQ 0
// request CPU to start DMA to copy QFragBuf and store in QFragData
//#define ZSP2CPU_QDATA_REQ 1
// request CPU to copy High frequency tokens
#define ZSP2CPU_HTOKEN_REQ 1
#define ZSP2CPU_RECON_REQ 3 // request CPU to reconstruct frame
#define ZSP2CPU_PKT_DATA 4 // request CPU send theora packet data
typedef struct __attribute__ ((__packed__)) {
char Displayable;
char CodingMethod;
} FRAGINFO;
//#define clamp255(x) ((unsigned char)((((x)<0)-1) & ((x) | -((x)>255))))
extern void CopyCodedBlockInfoIn(UINT16, UINT16);
extern void CopyQfragDataIn(UINT16, UINT16, UINT16, UINT16 *);
extern void CopyMVOffsetIn(UINT16, UINT16, UINT16, UINT16 *);
extern void CopyReconDataOut(UINT16, INT16 *, unsigned char *);
extern void CopyThisFrameIn(INT16, INT16, UINT16, unsigned char *);
//extern void updateThisFrame(UINT16, UINT16, UINT16, char *, char *);
extern void theora_info_init(UINT16, UINT16);
extern void clear_zsp_code(UINT16, UINT16);
extern void load_zsp_code();
//extern void load_zsp_cmd(UINT32, char *, UINT32);
extern void load_packet_data(UINT16);
extern void init_dma_table();
extern void invalidate_d_cache( unsigned char* addr, unsigned long size, int flag );
extern void lunch_dma_ch0(UINT32);
extern void lunch_dma_ch1(UINT32);
extern void wait_dma_ch0_finish();
extern void wait_dma_ch0_available();
extern void wait_dma_ch1_finish();
extern void check_dma_ch1_finish();
#endif //__MAIN_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -