📄 ad_resource.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 + -