wavepdd.h

来自「WinCE 3.0 BSP, 包含Inter SA1110, Intel_815」· C头文件 代码 · 共 71 行

H
71
字号
/*

  Copyright(c) 1998,1999 SIC/Hitachi,Ltd.

	Module Name:

		wavepdd.h

	Revision History:

		26th April 1999		Released

*/

typedef enum {
	PCM_TYPE_M8,
	PCM_TYPE_M16,
	PCM_TYPE_S8,
	PCM_TYPE_S16
} PCM_TYPE, *PPCM_TYPE;

typedef struct {
	UINT8 sample;              // Unsigned 8-bit sample
} SAMPLE_8_MONO;

typedef struct {
	INT16 sample;              // Signed 16-bit sample
} SAMPLE_16_MONO;

typedef struct {
	UINT8 sample_left;         // Unsigned 8-bit sample
	UINT8 sample_right;        // Unsigned 8-bit sample
} SAMPLE_8_STEREO;

typedef struct {
	INT16 sample_left;         // Signed 16-bit sample
	INT16 sample_right;        // Signed 16-bit sample
} SAMPLE_16_STEREO;

typedef union {
	SAMPLE_8_MONO m8;
	SAMPLE_16_MONO m16;
	SAMPLE_8_STEREO s8;
	SAMPLE_16_STEREO s16;
} PCM_SAMPLE, *PPCM_SAMPLE;

#define divINT16by256(x)              (min(127, (x >> 8)+((x & 0xFF) > 128)))
#define fromPCM16toPCM8(sample)       ((BYTE)(divINT16by256(sample) + 128))
#define fromPCM8toPCM16(sample)       (((INT16)sample - 128) << 8)
#define fromStereoToMono(left, right) ((left + right) >> 1)

#define PAGE_SIZE 0x1000

#define	Monaural			1
#define Stereo				2
#define SixteenBits			16
#define EightBits			8
#define MinPlaybackSpeed	5000
#define MaxPlaybackSpeed	50000
#define Hz44100				44100
#define Hz22050				22050
#define Hz11025				11025

// Function Prototypes

MMRESULT private_WaveGetDevCaps(WAPI_INOUT apidir, PVOID pCaps, UINT wSize);

void PrintBuffer(short* pbuf);
VOID FreeAllocatedVirtualMemory( PUCHAR pVirtualAddr );
PUCHAR GetVirtualAddressOfUncachedMemory( PVOID base, ULONG sz, char* cID );

⌨️ 快捷键说明

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