⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 local_mem.h

📁 基于Linux的ffmepg decoder
💻 H
字号:
#ifndef __LOCAL_MEM_H
	#define __LOCAL_MEM_H

	extern unsigned int BASE_ADDRESS;
	//--------------- Bank0 ---------------------//
	// storing the qcoeff and vlc output in MCU
	//unsigned short *qcoef_b0 = (unsigned short *) (0x0+BASE_ADDRESS);	//0000 -- 0500 (10 bolcks)
	#define QCOEF_B0		(0x0+BASE_ADDRESS)
	#define QCOEF_B0_OFF		(0x0)

	// DMA_command
	//unsigned int *DMA_COMMAND_local = (unsigned int *) (0x500+BASE_ADDRESS);		//0500 -- 0700
	#define DMA_COMMAND_local	((unsigned int *) (0x500+BASE_ADDRESS))		//0500 -- 0700
	#define DMA_COMMAND_local_OFF	(0x500)		//0500 -- 0700

	// vlc output
	//unsigned int *Vlcout = (unsigned int *) (0xc00+BASE_ADDRESS);
	#define VLCOUT_OFF	(0xc00)

	//--------------- Bank1 ---------------------//
	// storing the pointer of each block in MCU (double buffer)
	#if 1
	#define cur_b0  (0x4000)		//4000 -- 4280
	#define cur_b1  (0x4040)		//4000 -- 4280
	#define cur_b2  (0x4080)		//4000 -- 4280
	#define cur_b3  (0x40c0)		//4000 -- 4280
	#define cur_b4  (0x4100)		//4000 -- 4280
	#define cur_b5  (0x4140)		//4000 -- 4280
	#define cur_b6  (0x4180)		//4000 -- 4280
	#define cur_b7  (0x41c0)		//4000 -- 4280
	#define cur_b8  (0x4200)		//4000 -- 4280
	#define cur_b9  (0x4240)		//4000 -- 4280
	#define stride_MCU  0x280
	#define stride_blk 0x40
	//--------------- Qtable ---------------------//
	// storing the qval and invqval in local mem (31k~32k)
	#define qtbl0   ((unsigned int *) (0x7c00+BASE_ADDRESS))			//7c00 -- 7cff
	#define qtbl1   ((unsigned int *) (0x7d00+BASE_ADDRESS))			//7d00 -- 7dff		
	#define qtbl2   ((unsigned int *) (0x7e00+BASE_ADDRESS))			//7e00 -- 7eff
	#define qtbl3   ((unsigned int *) (0x7f00+BASE_ADDRESS))			//7f00 -- 7fff

	//--------------- Bank2,3 ---------------------//
	// storing the huffman table in local mem (32k~36k)
	#define huftbl0_ac  ((unsigned int *) (0x8000+BASE_ADDRESS))		//8000 -- 8400
	#define huftbl1_ac  ((unsigned int *) (0x8400+BASE_ADDRESS))		//8400 -- 8800
	#define huftbl0_dc  ((unsigned int *) (0x8800+BASE_ADDRESS))		//8800 -- 8c00
	#define huftbl1_dc  ((unsigned int *) (0x8c00+BASE_ADDRESS))		//8c00 -- 9000
	#else
	unsigned char *cur_b0 = (unsigned char *) (0x4000+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b1 = (unsigned char *) (0x4040+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b2 = (unsigned char *) (0x4080+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b3 = (unsigned char *) (0x40c0+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b4 = (unsigned char *) (0x4100+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b5 = (unsigned char *) (0x4140+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b6 = (unsigned char *) (0x4180+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b7 = (unsigned char *) (0x41c0+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b8 = (unsigned char *) (0x4200+BASE_ADDRESS);		//4000 -- 4280
	unsigned char *cur_b9 = (unsigned char *) (0x4240+BASE_ADDRESS);		//4000 -- 4280
	const int stride_MCU = 0x280;
	const int stride_blk = 0x40;
	//--------------- Qtable ---------------------//
	// storing the qval and invqval in local mem (31k~32k)
	unsigned int *qtbl0   = (unsigned int *) (0x7c00+BASE_ADDRESS);			//7c00 -- 7cff
	unsigned int *qtbl1   = (unsigned int *) (0x7d00+BASE_ADDRESS);			//7d00 -- 7dff		
	unsigned int *qtbl2   = (unsigned int *) (0x7e00+BASE_ADDRESS);			//7e00 -- 7eff
	unsigned int *qtbl3   = (unsigned int *) (0x7f00+BASE_ADDRESS);			//7f00 -- 7fff

	//--------------- Bank2,3 ---------------------//
	// storing the huffman table in local mem (32k~36k)
	unsigned int *huftbl0_ac  = (unsigned int *) (0x8000+BASE_ADDRESS);		//8000 -- 8400
	unsigned int *huftbl1_ac  = (unsigned int *) (0x8400+BASE_ADDRESS);		//8400 -- 8800
	unsigned int *huftbl0_dc  = (unsigned int *) (0x8800+BASE_ADDRESS);		//8800 -- 8c00
	unsigned int *huftbl1_dc  = (unsigned int *) (0x8c00+BASE_ADDRESS);		//8c00 -- 9000
	#endif
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -