pcmtran.h

来自「基于mips架构的ATI-XILLEON 226的mp3解码程序」· C头文件 代码 · 共 87 行

H
87
字号
#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 + =
减小字号Ctrl + -
显示快捷键?