audio_codec_ra.h

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

H
77
字号
/*******************************************************************
 * 
 *  Copyright C 2005 by Amlogic, Inc. All Rights Reserved.
 *
 *  Description: 
 *
 *  Author: Amlogic Software
 *  Created: Thu Nov 10 23:51:31 2005
 *
 *******************************************************************/
#ifndef _AUDIO_CODEC_RA_H
#define _AUDIO_CODEC_RA_H

#include "ioapi.h"
#include "rm/rm_parse.h"
#include "rm/ra_depack.h"
#include "rm/ra_decode.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(radec);
DECLARE_DEVICE_DRIVER_OPEN(radec);
DECLARE_DEVICE_DRIVER_CLOSE(radec);
DECLARE_DEVICE_DRIVER_READ(radec);
DECLARE_DEVICE_DRIVER_WRITE(radec);
DECLARE_DEVICE_DRIVER_IOCTL(radec);

#define DEVICE_TABLE_AUDIO_RADEC \
    {                               \
        audio_device_radec_init,   \
        audio_device_radec_open,   \
        audio_device_radec_close,  \
        audio_device_radec_read,   \
        audio_device_radec_write,  \
        audio_device_radec_ioctl,  \
    }

typedef struct {
    unsigned    codec_4cc;
    void       *format_info;
    unsigned    pcm_scale;
} _audio_codec_config_radec_t;

typedef struct
{
    ra_decode*          pDecode;
    ra_format_info*     pRaInfo;
    BYTE*               pOutBuf;
    UINT32              ulOutBufSize;
    UINT32				ulTotalSample;
    UINT32				ulTotalSamplePlayed;
    UINT32              ulStatus;
} ra_decoder_info_t;

#define RADEC_IDLE  0
#define RADEC_INIT  1
#define RADEC_PLAY  2
#define RADEC_PAUSE 3

extern void write_to_16bit_linear_format(unsigned int addr, short *table, unsigned size);
extern void read_from_16bit_linear_format(unsigned int addr, short *table, unsigned size);
extern void write_to_24bit_linear_format(unsigned int addr, int *table, unsigned size, int guardbit, int shift_flag);
extern void read_from_24bit_linear_format(unsigned int src, int *dst, unsigned size);

#endif

⌨️ 快捷键说明

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