taudiocodecliba52.h
来自「从FFMPEG转换而来的H264解码程序,VC下编译..」· C头文件 代码 · 共 44 行
H
44 行
#ifndef _TAUDIOCODECLIBA52_H_
#define _TAUDIOCODECLIBA52_H_
#include "TaudioCodec.h"
namespace liba52
{
#include "liba52/a52.h"
}
class Tdll;
class TaudioCodecLiba52 :public TaudioCodec
{
private:
Tdll *dll;
bool inited;
liba52::a52_state_t* (*a52_init)(uint32_t mm_accel);
liba52::sample_t* (*a52_samples)(liba52::a52_state_t * state);
int (*a52_syncinfo)(uint8_t * buf, int * flags, int * sample_rate, int * bit_rate);
void (*a52_dynrng)(liba52::a52_state_t * state,liba52::sample_t (* call) (liba52::sample_t, void *), void * data);
int (*a52_frame)(liba52::a52_state_t * state, uint8_t * buf, int * flags, liba52::sample_t * level, liba52::sample_t bias);
int (*a52_block)(liba52::a52_state_t * state);
void (*a52_free)(liba52::a52_state_t * state);
liba52::a52_state_t *state;
static struct Tscmap
{
int nchannels;
char ch[6];
int channelMask;
} const scmaps[];
int drc;
protected:
virtual bool init(const CMediaType &mt);
virtual void getInputDescr1(char_t *buf,size_t buflen) const;
public:
TaudioCodecLiba52(IffdshowBase *deci,IdecAudioSink *Isink);
virtual ~TaudioCodecLiba52();
virtual int getType(void) const {return IDFF_MOVIE_LIBA52;}
static const char_t *dllname;
virtual HRESULT decode(TbyteBuffer &src);
virtual bool onSeek(REFERENCE_TIME segmentStart);
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?