#include "xsignalproc_biquad.h" #include "xsignalproc_common.h" #include inline int _xsignalproc_biq_adjust_R05( int ah, unsigned al ) { return (ah>>5); } inline int _xsignalproc_biq_adjust_R02( int ah, unsigned al ) { return (ah>>2); } inline int _xsignalproc_biq_adjust_L01( int ah, unsigned al ) { return (ah<< 1)+(al>>31); } inline int _xsignalproc_biq_adjust_L04( int ah, unsigned al ) { return (ah<< 4)+(al>>28); } inline int _xsignalproc_biq_adjust_L07( int ah, unsigned al ) { return (ah<< 7)+(al>>25); } inline int _xsignalproc_biq_adjust_L10( int ah, unsigned al ) { return (ah<<10)+(al>>22); } inline int _xsignalproc_biq_adjust_L13( int ah, unsigned al ) { return (ah<<13)+(al>>19); } #define _XSIGNALPROC_BIQUAD( adjust ) \ \ register int ah=0; register unsigned int rr, al=0; \ switch( hh[4] ) \ { \ case 0: hh[4] = 1; \ {ah,al} = macs( hh[0], ba[ 2], ah, al ); \ {ah,al} = macs( hh[1], ba[ 1], ah, al ); \ {ah,al} = macs( xx, ba[ 0], ah, al ); hh[0] = xx; \ {ah,al} = macs( hh[2], ba[ 4], ah, al ); \ {ah,al} = macs( hh[3], ba[ 3], ah, al ); hh[2] = rr = adjust(ah,al); break; \ case 1: hh[4] = 0; \ {ah,al} = macs( hh[1], ba[ 2], ah, al ); \ {ah,al} = macs( hh[0], ba[ 1], ah, al ); \ {ah,al} = macs( xx, ba[ 0], ah, al ); hh[1] = xx; \ {ah,al} = macs( hh[3], ba[ 4], ah, al ); \ {ah,al} = macs( hh[2], ba[ 3], ah, al ); hh[3] = rr = adjust(ah,al); break; \ } #define _XSIGNALPROC_BIQUAD( adjust ) \ \ register int ah=0; register unsigned int rr, al=0; \ {ah,al} = macs( xx, ba[0], ah, al ); \ {ah,al} = macs( hh[0], ba[1], ah, al ); \ {ah,al} = macs( hh[1], ba[2], ah, al ); \ {ah,al} = macs( hh[2], ba[3], ah, al ); \ {ah,al} = macs( hh[3], ba[4], ah, al ); \ hh[1] = hh[0]; hh[0] = xx; hh[3] = hh[2]; \ rr = hh[2] = (ah<<4)+(al>>28); int _xsignalproc_biquad_R05( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_R05); return rr; } int _xsignalproc_biquad_R02( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_R02); return rr; } int _xsignalproc_biquad_L01( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_L01); return rr; } int _xsignalproc_biquad_L04( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_L04); return rr; } int _xsignalproc_biquad_L07( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_L07); return rr; } int _xsignalproc_biquad_L10( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_L10); return rr; } int _xsignalproc_biquad_L13( int xx, const int ba[5], int hh[5] ) {_XSIGNALPROC_BIQUAD(_xsignalproc_biq_adjust_L13); return rr; } int xsignalproc_biquad_n01_r31x31c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x31c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x31c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x28c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x28c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x28c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L10( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x25c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x25c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L10( xx, ba, hh ); } int xsignalproc_biquad_n01_r31x25c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L13( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x31c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_R02( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x31c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x31c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x28c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x28c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x28c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x25c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x25c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n01_r28x25c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L10( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x31c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_R05( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x31c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_R02( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x31c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x28c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_R02( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x28c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x28c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x25c31( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L01( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x25c28( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L04( xx, ba, hh ); } int xsignalproc_biquad_n01_r25x25c25( int xx, int const ba[5], int hh[5] ) { return _xsignalproc_biquad_L07( xx, ba, hh ); } int xsignalproc_biquad_n02_r31x31c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x31c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x31c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x28c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x28c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x28c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x25c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x25c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r31x25c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L13( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L13( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x31c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); return _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x31c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x31c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x28c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x28c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x28c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x25c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x25c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r28x25c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x31c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_R05( xx, ba[0], hh[0] ); return _xsignalproc_biquad_R05( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x31c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); return _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x31c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x28c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); return _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x28c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x28c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x25c31( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x25c28( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n02_r25x25c25( int xx, const int ba[2][5], int hh[2][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); return _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); } int xsignalproc_biquad_n03_r31x31c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x31c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x31c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x28c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x28c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x28c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x25c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x25c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r31x25c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L13( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L13( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L13( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x31c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); return _xsignalproc_biquad_R02( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x31c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x31c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x28c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x28c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x28c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x25c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x25c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r28x25c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x31c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_R05( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R05( xx, ba[1], hh[1] ); return _xsignalproc_biquad_R05( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x31c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); return _xsignalproc_biquad_R02( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x31c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x28c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x28c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x25c31( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x25c28( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n03_r25x25c25( int xx, const int ba[3][5], int hh[3][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); return _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); } int xsignalproc_biquad_n04_r31x31c31( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L01( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x31c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L04( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x31c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L07( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x28c31( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L04( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x28c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L07( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x28c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L10( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x25c31( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L07( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x25c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L10( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r31x25c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L13( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L13( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L13( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L13( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x31c31( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_R02( xx, ba[2], hh[2] ); return _xsignalproc_biquad_R02( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x31c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L01( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x31c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L04( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x28c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L04( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x28c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L07( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r28x25c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L10( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L10( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L10( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L10( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x31c31( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_R05( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R05( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_R05( xx, ba[2], hh[2] ); return _xsignalproc_biquad_R05( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x31c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_R02( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_R02( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_R02( xx, ba[2], hh[2] ); return _xsignalproc_biquad_R02( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x31c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L01( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x28c28( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L01( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L01( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L01( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L01( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x28c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L04( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L04( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L04( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L04( xx, ba[3], hh[3] ); } int xsignalproc_biquad_n04_r25x25c25( int xx, const int ba[4][5], int hh[4][5] ) { xx = _xsignalproc_biquad_L07( xx, ba[0], hh[0] ); xx = _xsignalproc_biquad_L07( xx, ba[1], hh[1] ); xx = _xsignalproc_biquad_L07( xx, ba[2], hh[2] ); return _xsignalproc_biquad_L07( xx, ba[3], hh[3] ); }