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

📄 pcmtran.h

📁 基于mips架构的ATI-XILLEON 226的mp3解码程序
💻 H
字号:
#ifndef _PCMTRAN_H_

#define _PCMTRAN_H_



#define PCMTRAN_ERR_GENERAL			-1		/* 一般出错 */

#define PCMTRAN_ERR_SAMCHAN			-2		/* 声道转换出错 */

#define PCMTRAN_ERR_SAMRATE			-3		/* 采样率转换出错 */

#define PCMTRAN_ERR_SAMWIDTH		-4		/* 采样宽度转换出错 */

#define PCMTRAN_OK					0		/* 转换正常 */



#ifdef __cplusplus

extern "C"

{

#endif



/*====================================================*/

/*

	功能:

		打开转换库

	参数:

		source_channels: 		原始流通道数目

		source_smaple_width:	原始流采样宽度

		source_samples_rate:	原始流采样率

		dest_channels:			转换后数据流通道数目

		dest_smaple_width:		转换后数据采样宽度

		dest_samples_rate:		转换后数据采样率

	返回值:

		句柄 (!=0 正确)		

	特别说明:

		

*/

unsigned long pcm_transform_open(int source_channels, int source_smaple_width, int source_samples_rate, int dest_channels, int dest_sample_width, int dest_samples_rate, int max_input_len) ;



/*====================================================*/

/*

	功能:

		关闭转换库

	参数:

		handle:					指定使用的缓冲大小(最少8K)

	返回值:

		== 0 正确,其它 出错

	特别说明:

		

*/

int pcm_transform_close(unsigned long handle) ;



/*====================================================*/

/*

	功能:

		转换数据流

	参数:

		handle:					句柄

		inbuf:					输入缓冲区

		outbuf:					输出缓冲区

		inbuf_len:				输入缓冲区长度

		outbuf_len:				输出缓冲区长度

		input_len:				实际使用输入缓冲区中数据的长度(byte)

		output_len:				输出数据长度(byte)

	返回值:

		==0 正确,> 0 一般出错(如缓冲不够大), < 0 致命出错

	特别说明:

		

*/

int pcm_transform(unsigned long handle, char *inbuf, int inbuf_len, 

	char **outbuf, int *output_len);



/*====================================================*/

/*

	功能:

		打开解码库

	参数:

		handle:					句柄

		source_size:			原数据长度

		dest_size:				目标数据长度		

	返回值:

		== 0 正确,其它 出错

	特别说明:

		

*/

int pcm_transform_getdestsize(unsigned long handle, int source_size, int *dest_size) ;





#ifdef __cplusplus

}

#endif



#endif /* end #ifndef _PCMTRAN_H_ */

⌨️ 快捷键说明

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