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

📄 jpeglib.h

📁 基于Linux的ffmepg decoder
💻 H
📖 第 1 页 / 共 4 页
字号:
//---------------------------------------------////extern unsigned int *DMA_COMMAND_system;extern unsigned int *outbitstr;extern void * pfnDmaMalloc;extern void * pfnDmaFree;//pwhsu++: 20040107//pwhsu++:20040107typedef struct{  unsigned int *SMaddr;  unsigned int *LMaddr;  unsigned int BlkWidth;  unsigned int Control;  unsigned int CCA;  unsigned int Status;  unsigned int CCA2;  unsigned int GRPC;  unsigned int GRPS;}MDMA;#ifdef USE_INTERNAL_CPU  typedef struct {	unsigned char* curdata[3];	  //input YUV image pointer								  //from external CPU	unsigned int image_height;	 //image height 								 //from external CPU	unsigned int YUVsampling;	 //input image format 								 //from external CPU	unsigned int MCUnum;		 //total MCU number in this image 								 //from external CPU	unsigned int total_iMCU_rows;	//total MCU rows 									//from external CPU	unsigned int MCUs_per_row;		//MCU numbers per row									//from external CPU	unsigned int v_sampf0;			//vertical sampling factor of comp 1									//from external CPU		int comps_in_scan;   //number of components in one scan								  //from external CPU		unsigned int comp_width[3];	  //component width per component							      //from external CPU	unsigned int mcu_height[3];	  //mcu height per component								  //from external CPU		unsigned int MCU_sample_width[3];   //MCU sample width of each component										//from external CPU	unsigned int restart_interval;		//restart interval 										//from external CPU	unsigned int next_scanline;	unsigned int cMCUrow;	unsigned int mcu_ctr;	unsigned int bitslen;				//total bitstream length	unsigned int jpgenc_done;			//a signal for communication	unsigned int monitor_encode;		unsigned char *outbitstr; // to pass the beginning address of bitstream buffer in order to	                          // let internal CPU to calculate the length of bitstream  } JPG_ENC_VAR;extern volatile JPG_ENC_VAR *pjevar; #endifextern unsigned int mcctrl;			//pwhsu++:20040109extern unsigned int *pbufaddr;		//pwhsu++:20040109#define AHB_interface//#define FPGA_demotypedef enum {	JCS_yuv420,		//0	JCS_yuv422,	    //1	JCS_yuv211,		//2	JCS_yuv333,		//3	JCS_yuv222,		//4	JCS_yuv111		//5} JCS_YUV;extern JCS_YUV MCU_comb;//yuv420 =0//yuv422 =1//yuv211 =2//yuv333 =3//yuv222 =4//yuv111 =5extern unsigned int YUVsampling ;extern unsigned int img_qual ;		//usually set 75 < qual <100, if qual<50 the quality of image is very poolextern unsigned int rst_interval ;	//default value is 0extern unsigned int img_width ;extern unsigned int img_height ;extern unsigned int comp_num;extern unsigned int qtbl_no;extern unsigned int hufftbl_no;extern unsigned int comp_width[3];extern unsigned int mcu_height[3];//pwhsu++:20040119extern int h_sampf[3];extern int v_sampf[3];extern int cMCUrow;#define INTC  ((volatile INTC_TYPE *)       (0x98800000))#define PMU  ((volatile struct PMUTYPE *) (0x98100000))#ifndef FIE8120_TARGET  #define Internal_CPU#endif//#define NFunc211extern unsigned int BASE_ADDRESS;////  #ifdef AHB_interface//	#ifdef Internal_CPU//		//#define BASE_ADDRESS		0x90710000//		#define BASE_ADDRESS		0x90e10000//	#else//		#define BASE_ADDRESS		0x90700000//	#endif//  #else//	#define BASE_ADDRESS		0x1000000//  #endif////#ifdef AHB_interface  #ifdef Internal_CPU    #define MDMA1 ((volatile MDMA *)(0x20400 + BASE_ADDRESS))		#define MECTL		(0x20000 + BASE_ADDRESS)	#define minSAD		(0x2000c + BASE_ADDRESS)	#define CMDADDR		(0x20010 + BASE_ADDRESS)	#define MECADDR		(0x20014 + BASE_ADDRESS)	#define HOFFSET     (0x20018 + BASE_ADDRESS)	#define ACDCPAR		(0x20040 + BASE_ADDRESS)    #define VADR  		(0x20044 + BASE_ADDRESS)	#define CURDEV      (0x20048 + BASE_ADDRESS)	#define MBIDX		(0x20054 + BASE_ADDRESS) 	#define MCIADDR     (0x20058 + BASE_ADDRESS)	#define VOP0		(0x20060 + BASE_ADDRESS)	#define VOP1        (0x20064 + BASE_ADDRESS)	#define MVD0        (0x20068 + BASE_ADDRESS)	#define TOADR       (0x20070 + BASE_ADDRESS)	#define INCTL       (0x2007c + BASE_ADDRESS)				#define MCUBR	    (0x20008 + BASE_ADDRESS)	#define MCCTL       (0x2001c + BASE_ADDRESS)	#define MCCADDR	    (0x20020 + BASE_ADDRESS)    #define CPSTS	    (0x20028 + BASE_ADDRESS)	#define MCUTIR      (0x2002c + BASE_ADDRESS)	#define PYDCR       (0x20030 + BASE_ADDRESS)	#define PUVDCR	    (0x20034 + BASE_ADDRESS)	#define QAR         (0x20038 + BASE_ADDRESS)	#define CKR         (0x2003c + BASE_ADDRESS)	#define VADR		(0x20044 + BASE_ADDRESS)	#define BADR 		(0x2004c + BASE_ADDRESS)	#define BALR        (0x20050 + BASE_ADDRESS)	#define VLDCTL	    (0x2005c + BASE_ADDRESS)	#define VLASTWORD   (0x2006c + BASE_ADDRESS)	#define VLDSTS      (0x20074 + BASE_ADDRESS)	#define ABADR       (0x20078 + BASE_ADDRESS)      #else    #define MDMA1 ((volatile MDMA *)(0x10400 + BASE_ADDRESS))    	#define MECTL		(0x10000 + BASE_ADDRESS)	#define minSAD		(0x1000c + BASE_ADDRESS)	#define CMDADDR		(0x10010 + BASE_ADDRESS)	#define MECADDR		(0x10014 + BASE_ADDRESS)	#define HOFFSET     (0x10018 + BASE_ADDRESS)	#define ACDCPAR		(0x10040 + BASE_ADDRESS)    #define VADR  		(0x10044 + BASE_ADDRESS)	#define CURDEV      (0x10048 + BASE_ADDRESS)	#define MBIDX		(0x10054 + BASE_ADDRESS) 	#define MCIADDR     (0x10058 + BASE_ADDRESS)	#define VOP0		(0x10060 + BASE_ADDRESS)	#define VOP1        (0x10064 + BASE_ADDRESS)	#define MVD0        (0x10068 + BASE_ADDRESS)	#define TOADR       (0x10070 + BASE_ADDRESS)	#define INCTL       (0x1007c + BASE_ADDRESS)				#define MCUBR	    (0x10008 + BASE_ADDRESS)	#define MCCTL       (0x1001c + BASE_ADDRESS)	#define MCCADDR	    (0x10020 + BASE_ADDRESS)    #define CPSTS	    (0x10028 + BASE_ADDRESS)	#define MCUTIR      (0x1002c + BASE_ADDRESS)	#define PYDCR       (0x10030 + BASE_ADDRESS)	#define PUVDCR	    (0x10034 + BASE_ADDRESS)	#define QAR         (0x10038 + BASE_ADDRESS)	#define CKR         (0x1003c + BASE_ADDRESS)	#define VADR		(0x10044 + BASE_ADDRESS)	#define BADR 		(0x1004c + BASE_ADDRESS)	#define BALR        (0x10050 + BASE_ADDRESS)	#define VLDCTL	    (0x1005c + BASE_ADDRESS)	#define VLASTWORD   (0x1006c + BASE_ADDRESS)	#define VLDSTS      (0x10074 + BASE_ADDRESS)	#define ABADR       (0x10078 + BASE_ADDRESS)  #endif        #define SET_MCUBR(v)		*(volatile unsigned long*)MCUBR=v;    #define SET_MCCTL(v)		*(volatile unsigned long*)MCCTL=v;    #define SET_MCCADDR(v)		*(volatile unsigned long*)MCCADDR=v;    #define SET_CPSTS(v)		*(volatile unsigned long*)CPSTS=v;    #define SET_MCUTIR(v)		*(volatile unsigned long*)MCUTIR=v;    #define SET_PYDCR(v)		*(volatile unsigned long*)PYDCR=v;    #define SET_PUVDCR(v)		*(volatile unsigned long*)PUVDCR=v;    #define SET_QAR(v)		    *(volatile unsigned long*)QAR=v;    #define SET_CKR(v)		    *(volatile unsigned long*)CKR=v;    #define SET_VADR(v)		    *(volatile unsigned long*)VADR=v;    #define SET_BADR(v)		    *(volatile unsigned long*)BADR=v;    #define SET_BALR(v)		    *(volatile unsigned long*)BALR=v;    #define SET_VLDCTL(v)		*(volatile unsigned long*)VLDCTL=v;    #define SET_ABADR(v)		*(volatile unsigned long*)ABADR=v;        #define SET_INCTL(v)		*(volatile unsigned long*)INCTL=v;        #define READ_VADR(v)        v=*(volatile unsigned long*)VADR;    #define READ_BADR(v)        v=*(volatile unsigned long*)BADR;    #define READ_CPSTS(v)       v=*(volatile unsigned long*)CPSTS;    #define READ_BALR(v)        v=*(volatile unsigned long*)BALR;    #define READ_VLASTWORD(v)   v=*(volatile unsigned long*)VLASTWORD;    #define READ_VLDSTS(v)      v=*(volatile unsigned long*)VLDSTS;    #define READ_ABADR(v)       v=*(volatile unsigned long*)ABADR;    #define READ_INCTL(v)       v=*(volatile unsigned long*)INCTL;	#define VPE 		0x90180000	extern unsigned int outfsize;		//extern unsigned char* cury;//extern unsigned char* curu;//extern unsigned char* curv;	extern unsigned char* curdata[3];extern unsigned int sreg;extern unsigned int dmactrl;extern unsigned int CCATmp0;extern unsigned int CCATmp1;/* write n bits to bitstream */static void __inlineBitstreamPutBits(unsigned int value,unsigned int size){	//__asm {		SET_BADR(value)		SET_BALR(size)	//}}extern unsigned int vldreg;	  //pwhsu++:20040218extern unsigned int lmadr;	//pwhsu++:20040219extern unsigned int smadr;	//pwhsu++:20040219extern unsigned int bitslen; //pwhsu++:20040219	  //pwhsu++:20040909#define mDMA3bOffset(value) (((unsigned int)(value))&0xf << 28)			//local mem 4d block offset#define mDMAenb(value)		(((unsigned int)(value))&0x1 << 23)			//DMA start data transfer#define mDMAchain(value)	(((unsigned int)(value))&0x1 << 21)			//DMA enable chain transfer#define mDMALmtype(value)	(((unsigned int)(value))&0x3 << 18)			//DMA local mem data type#define	mDMASmtype(value)	(((unsigned int)(value))&0x3 << 16)			//DMA sys mem data type#define	mDMATransLen(vlaue)	((unsigned int)(value))&0xfff				//DMA transfer length#define mDMA3bWidth(value)	(((unsigned int)(value))&0xf  << 28)			//local mem 4d block width#define mDMA2bOffset(value)	(((unsigned int)(value))&0xff << 20)			//local mem 3d block offset#define mDMA2bWidth(value)	(((unsigned int)(value))&0xf  << 16)			//local mem 3d block width#define	mDMALmaddr(value)	((unsigned int)(value))							//local mem base addr#define	mDMAIncrIdx(value)	((unsigned int)(vlaue))&0x3						//local mem incr index#define mDMAbOffset(value)	(((unsigned int)(value))&0xff  <<24)				//local mem 2d block offset#define mDMAbWidth(value)	(((unsigned int)(value))&0xf <<20)				//local mem 2d block width#define mDMASOffset(value)	(((unsigned int)(value)) <<6)					//sys mem block offset#define mDMASWidth(value)	((unsigned int)(value))&0x3f					//sys mem block width#define	DMA_DATA_SEQ	0#define	DMA_DATA_2D		1#define	DMA_DATA_3D		2#define	DMA_DATA_4D		3#define	DMA_COM_SYS		0#define	DMA_COM_LOC		2		#define TRUE			1#define FALSE			0#define	DMA_TRAN_4B		0x40#define	DMA_TRAN_3B		0x30#define	DMA_TRAN_2B		0x20#define	DMA_TRAN_1B		0x10/* Routine signature for application-supplied marker processing methods. * Need not pass marker code since it is stored in cinfo->unread_marker. */typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo));

⌨️ 快捷键说明

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