audio_codec_wave.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 70 行

H
70
字号
#ifndef _AUDIO_PCMDEC_H
#define _AUDIO_PCMDEC_H

#include "ioapi.h"

#define DECLARE_DEVICE_DRIVER_INIT(name) \
avfs_device_driver audio_device_##name##_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)
#define DECLARE_DEVICE_DRIVER_OPEN(name) \
avfs_device_driver audio_device_##name##_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)
#define DECLARE_DEVICE_DRIVER_CLOSE(name) \
avfs_device_driver audio_device_##name##_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)
#define DECLARE_DEVICE_DRIVER_IOCTL(name) \
avfs_device_driver audio_device_##name##_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)
#define DECLARE_DEVICE_DRIVER_READ(name) \
avfs_device_driver audio_device_##name##_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)
#define DECLARE_DEVICE_DRIVER_WRITE(name) \
avfs_device_driver audio_device_##name##_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg)

DECLARE_DEVICE_DRIVER_INIT(pcmdec);
DECLARE_DEVICE_DRIVER_OPEN(pcmdec);
DECLARE_DEVICE_DRIVER_CLOSE(pcmdec);
DECLARE_DEVICE_DRIVER_READ(pcmdec);
DECLARE_DEVICE_DRIVER_WRITE(pcmdec);
DECLARE_DEVICE_DRIVER_IOCTL(pcmdec);

#define DEVICE_TABLE_AUDIO_PCMDEC     \
    {                                 \
        audio_device_pcmdec_init,   \
        audio_device_pcmdec_open,   \
        audio_device_pcmdec_close,  \
        audio_device_pcmdec_read,   \
        audio_device_pcmdec_write,  \
        audio_device_pcmdec_ioctl,  \
    }

typedef enum
{	
	
	WAVE_FORMAT_UNKNOWN					= 0x0000,		/* Microsoft Corporation */
	WAVE_FORMAT_PCM	 						= 0x0001, 	/* Microsoft PCM format */
	WAVE_FORMAT_MS_ADPCM				= 0x0002,		/* Microsoft ADPCM */
	WAVE_FORMAT_ALAW						= 0x0006,		/* Microsoft Corporation */
	WAVE_FORMAT_MULAW						= 0x0007,		/* Microsoft Corporation */
	WAVE_FORMAT_IMA_ADPCM				= 0x0011,		/* Intel Corporation */
	
} WAVE_FILE_FORMAT;

typedef struct {
  	unsigned  sr;		// sample rate
	unsigned  bps;		// bit per sample 16 or 24
	unsigned  ch;		// channel
	unsigned  block_align;	// for adpcm
	unsigned  sample_block; // fro adpcm
	WAVE_FILE_FORMAT fmt; // raw, adpcm,imadpcm, alaw, ulaw
} _audio_codec_config_pcmdec_t;

#if defined(AML_ATHENA)
#define MPEG_DOMAIN_BASE 0x1c00000
#else
#define MPEG_DOMAIN_BASE 0x3c00000
#endif


//#define PCMDEC_IDLE  0
//#define PCMDEC_INIT  1
#define PCMDEC_PLAY  2
#define PCMDEC_PAUSE 3

#endif

⌨️ 快捷键说明

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