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

📄 allpass.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
字号:
// Allpass filter
//
// Written by Jezar at Dreampoint, June 2000
// http://www.dreampoint.co.uk
// This code is public domain

#ifndef _allpass_
#define _allpass_

#include "denormals.h"

class allpass
{
public:
 allpass()
  {
   bufidx = 0;
  }
 void setbuffer(float *buf, int size)
  {
   buffer = buf;
   bufsize = size;
  }
 __forceinline  float process(float input)
  {
   float output;
   float bufout;

   bufout = buffer[bufidx];
   undenormalise(bufout);

   output = -input + bufout;
   buffer[bufidx] = input + (bufout*feedback);

   if(++bufidx>=bufsize) bufidx = 0;

   return output;
  }
 void mute()
  {
   for (int i=0; i<bufsize; i++)
    buffer[i]=0;
  }
 void setfeedback(float val)
  {
   feedback = val;
  }
 float getfeedback()
  {
   return feedback;
  }
private:
 float   feedback;
 float   *buffer;
 int     bufsize;
 int     bufidx;
};

#endif

⌨️ 快捷键说明

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