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

📄 ad_resource.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
/******************************************************************************
 *   Filename         : AD_Resource.h
 *   Start            : 2004. 11. 15
 *   By               : Hongsik Park
 *   Contact          : hongsik7.park@samsung.com
 *   Description      : 
 ******************************************************************************
 */

#ifndef _AD_RESOURCE_H_
#define _AD_RESOURCE_H_

#define	ID_REGION_CODE		0x1
#define	ID_REGION_DATA		0x2
#define	ID_REGION_XMEM		0x3
#define	ID_REGION_YMEM		0x4

#define	ID_REGION_S0			0x5	/* input	*/
#define	ID_REGION_S1			0x6	/* output */

/* <<< @: 5010-xxx.JaeYoul_Kim 051219 : use 32bit buffer offset value to support over 64KB S0, S1 buf size*/ //jy noaudext
#if	AUD_SUPPORT_DIVX_FEATURE
#define	ID_REGION_S0_DIVX		0x15	/* input	*/
#endif
/* >>> @: 5010-xxx.JaeYoul_Kim 051219 */			

#define	ADBM_TYPE_MAIN_BM	0x1
#define	ADBM_TYPE_SUB_BM		0x2
#define	ADBM_TYPE_EXTRA_BM	0x3

#define	ADBM_INFO_SIZE		0x1
#define	ADBM_INFO_COUNT		0x2

#define	SM_OFFSET_CODEC_PARAM	0x100 // update ADMsys to 0x100 from 0xb0


typedef struct {
	UINT	start;
	UINT	end; /* end will point first address of unused bytes by current codec */
} CODEC_MEM_Range_t;

typedef struct {
	USHORT	b_Valid;		/*	valid flag ( 1: Valid, 0: inValid )*/
	USHORT	num_chunk;
	UINT	size_chunk;	/* Total size = (num_chunk x size_chunk ) */
} IOBUFFER_TYPE_t;


typedef struct {
	UINT			num_BM;	/*number of buffer Manager */
	IOBUFFER_TYPE_t	main_BM;	/* Buffer Manager info for Main stream or Main decoded PCM		*/
	IOBUFFER_TYPE_t	sub_BM;		/* Buffer Manager info for Mpeg Extension stream or spdif stream	*/
	IOBUFFER_TYPE_t	extra_BM;	/* Buffer Manager info for Extra stream ( ex. PCM for Karaoke )	*/
} IOBUFFER_MANAGER_TYPE_t;


/*
	Definitions of Codec Capability Bits ( ADM Codecs )
	
		if SYSTEM CODEC	: 8 bit indicates 8 kinds of POST Codec capability.
		if MAIN CODEC	: 8 bit indicates 8 kinds of Main Codec capability 
			(ex.  Current codec can skip 1-Frame by codec or not ? )

*/

#define	CODEC_CAP_NO_POST			0x00
#define	CODEC_CAP_FADEINOUT			0x01
#define	CODEC_CAP_EQ					0x02
#define	CODEC_CAP_CN					0x04
#define	CODEC_CAP_BM					0x08
#define	CODEC_CAP_TD					0x10
#define	CODEC_CAP_N22					0x20
#define	CODEC_CAP_VBX					0x40
#define	CODEC_CAP_PSCON				0x80


#define	CODEC_CAP_NO_SUPPORT			0x00
#define	CODEC_CAP_SUPPORT_SKIPCMD	0x01
#define	CODEC_CAP_SUPPORT_R1			0x02
#define	CODEC_CAP_SUPPORT_R2			0x04
#define	CODEC_CAP_SUPPORT_R3			0x08
#define	CODEC_CAP_SUPPORT_R4			0x10
#define	CODEC_CAP_R1					0x20
#define	CODEC_CAP_R2					0x40
#define	CODEC_CAP_R3					0x80

/*
	Definitions of Codec CHANNEL Bits ( ADM Codecs )

		Codec Channel build type : 2-ch, 6ch, 8-ch

*/

#define	CODEC_CHANNEL_NOT_FIXED			0x00
#define	CODEC_CHANNEL_SUPPORT_2CH		0x01
#define	CODEC_CHANNEL_SUPPORT_6CH		0x02
#define	CODEC_CHANNEL_SUPPORT_8CH		0x04
#define	CODEC_CHANNEL_SUPPORT_SPDIF		0x08
#define	CODEC_CHANNEL_R1					0x10
#define	CODEC_CHANNEL_R2					0x20
#define	CODEC_CHANNEL_R3					0x40
#define	CODEC_CHANNEL_R4					0x80

/*
	Definitions of Codec BUILD Type Bits ( ADM Codecs )
		Codec Channel build type : 2-ch, 6ch, 8-ch

*/

#define	CODEC_BUILDTYPE_NOT_DEFINED		0x00
#define	CODEC_BUILDTYPE_R1				0x01
#define	CODEC_BUILDTYPE_R2				0x02
#define	CODEC_BUILDTYPE_R3				0x04
#define	CODEC_BUILDTYPE_R4				0x08
#define	CODEC_BUILDTYPE_R5				0x10
#define	CODEC_BUILDTYPE_R6				0x20
#define	CODEC_BUILDTYPE_R7				0x40
#define	CODEC_BUILDTYPE_R8				0x80

#define	DATA_COMPRESSED					0x1
#define	DATA_UNCOMPRESSED				0x0

#define	DATA_SIZE_NOT_DEFINED			0x0

typedef struct {
	UCHAR	CodecID; 
		/* 
			SYSTEM CODEC id or identification for MAIN CODEC 
		*/
	UCHAR	Capability; 			
		/*
			if SYSTEM CODEC : 8 bit indicates 8 kinds of POST Codec capability.
			if MAIN CODEC : 8 bit indicates 8 kinds of Main Codec capability 
				(ex.  Current codec can skip 1-Frame by codec or not ? )
		*/
	UCHAR	OutputChannelType;		
		/* 
			Codec Channel build type : 2-ch, 6ch, 8-ch
		*/
	UCHAR	SpecificBuildType; 
		/*
			if MPA, MPA_Version_t
		*/

	/* 
		Resource Usage information of this dodec
	*/
	CODEC_MEM_Range_t	CODE_usage;
	CODEC_MEM_Range_t	DATA_usage;		
	CODEC_MEM_Range_t	XMEM_usage;
	CODEC_MEM_Range_t	YMEM_usage;
	CODEC_MEM_Range_t	S0_usage;
	CODEC_MEM_Range_t	S1_usage;
	
	UINT	total_memoryusage;
	
	IOBUFFER_MANAGER_TYPE_t		input;
	IOBUFFER_MANAGER_TYPE_t		output;	


	
	USHORT	*pCodecRepository;
	UCHAR	bflagCodecCompressed;	/* 1: Compressed, 0 : Uncompressed*/
	UINT	szOrgCode;				/* This must be defined when Uncompressed */	
	
	UINT	offset_from_Y_MEM;
	USHORT	*pTableRepository;
	UCHAR	bflagTableCompressed;	/* 1: Compressed, 0 : Uncompressed*/	
	UINT	szOrgTable;				/* This must be defined when Uncompressed */	

/* <<< @: 5010-xxx.JaeYoul_Kim 051219 : use 32bit buffer offset value to support over 64KB S0, S1 buf size*/ //jy noaudext
#if	AUD_SUPPORT_DIVX_FEATURE
	CODEC_MEM_Range_t	divx_S0_usage;
	IOBUFFER_MANAGER_TYPE_t		divx_input;
#endif
/* >>> @: 5010-xxx.JaeYoul_Kim 051219 */			
} CODEC_RESOURCE_USAGE_t;

typedef struct {
/* Common Codec */		
	CODEC_RESOURCE_USAGE_t *pRU_ADMSys;
	CODEC_RESOURCE_USAGE_t *pRU_ADMSys_Another;
	CODEC_RESOURCE_USAGE_t *pRU_ADMSys_ForDTSDec;	
	
/* DVD Codec set */			
	CODEC_RESOURCE_USAGE_t *pRU_ADMAC3;
	CODEC_RESOURCE_USAGE_t *pRU_ADMMPA;
	CODEC_RESOURCE_USAGE_t *pRU_ADMLPCM;
	CODEC_RESOURCE_USAGE_t *pRU_ADMDTS;
	CODEC_RESOURCE_USAGE_t *pRU_ADMDTSDo;	
	
/* MMN Codec set*/
#if AUD_SUPPORT_WMA_DECODER
	CODEC_RESOURCE_USAGE_t *pRU_ADMWMA;	
#endif
	CODEC_RESOURCE_USAGE_t *pRU_ADMMP3;
	CODEC_RESOURCE_USAGE_t *pRU_ADMJPEGDecoder;			
	CODEC_RESOURCE_USAGE_t *pRU_ADMCDDA;	
/* Encoder set */	
	CODEC_RESOURCE_USAGE_t *pRU_ADMJPEGEncoder;
	CODEC_RESOURCE_USAGE_t *pRU_ADMAC3Encoder;

/* DIVX Codec set */
	CODEC_RESOURCE_USAGE_t *pRU_ADMADPCM;
	CODEC_RESOURCE_USAGE_t *pRU_ADMOGG;

/* Other Codec set */	
	CODEC_RESOURCE_USAGE_t *pRU_CalibrationNoise;
} CODEC_SET_t;

extern	CODEC_SET_t		gAudioInstalledCodec;

extern	volatile	VOID		*gpCurMainCodecParam;
extern	volatile	VOID		*gpCurSystemCodecParam;

extern	volatile	UINT	gszCurMainCodecParam;
extern	volatile	UINT	gszCurSystemCodecParam;

extern	volatile	CODEC_RESOURCE_USAGE_t	*gpCurSystemCodec;
extern	volatile	CODEC_RESOURCE_USAGE_t	*gpCurMainCodec;

VOID	_ad_adm_util_initSWModule(VOID);
VOID	_ad_adm_util_downloadCodec(VOID);	
VOID	_ad_adm_util_setmemmap(VOID);
UINT	get_cur_codecinfo_input(UINT bm_type, UINT info_type);
UINT	get_cur_codecinfo_output(UINT bm_type, UINT info_type);

#endif

⌨️ 快捷键说明

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