24 for (
int pos = 0; pos < nbIAndQ - 1; pos += 2)
28 (**it).setReal(xreal);
29 (**it).setImag(yimag);
38 for (
int pos = 0; pos < nbIAndQ - 3; pos += 4)
40 intbuf[0] = buf[pos+2];
41 intbuf[1] = buf[pos+3];
49 (**it).setReal(intbuf[0]);
50 (**it).setImag(intbuf[1]);
60 for (
int pos = 0; pos < nbIAndQ - 7; pos += 8)
62 xreal = (buf[pos+0] - buf[pos+3]);
63 yimag = (buf[pos+1] + buf[pos+2]);
64 (**it).setReal(xreal);
65 (**it).setImag(yimag);
68 xreal = (buf[pos+7] - buf[pos+4]);
69 yimag = (- buf[pos+5] - buf[pos+6]);
70 (**it).setReal(xreal);
71 (**it).setImag(yimag);
80 for (
int pos = 0; pos < nbIAndQ - 7; pos += 8)
82 xreal = (buf[pos+1] - buf[pos+2]);
83 yimag = (- buf[pos+0] - buf[pos+3]);
84 (**it).setReal(xreal);
85 (**it).setImag(yimag);
88 xreal = (buf[pos+6] - buf[pos+5]);
89 yimag = (buf[pos+4] + buf[pos+7]);
90 (**it).setReal(xreal);
91 (**it).setImag(yimag);
100 for (
int pos = 0; pos < nbIAndQ - 7; pos += 8)
102 xreal = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
103 yimag = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
105 (**it).setReal(xreal);
106 (**it).setImag(yimag);
122 for (
int pos = 0; pos < nbIAndQ - 7; pos += 8)
124 xreal = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
125 yimag = (- buf[pos+0] - buf[pos+3] + buf[pos+4] + buf[pos+7]);
127 (**it).setReal(xreal);
128 (**it).setImag(yimag);
136 float xreal[2], yimag[2];
138 for (
int pos = 0; pos < nbIAndQ - 15; pos += 8)
140 xreal[0] = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
141 yimag[0] = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
144 xreal[1] = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
145 yimag[1] = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
149 (**it).setReal(xreal[1]);
150 (**it).setImag(yimag[1]);
158 float xreal[2], yimag[2];
160 for (
int pos = 0; pos < nbIAndQ - 15; pos += 8)
162 xreal[0] = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
163 yimag[0] = (- buf[pos+0] - buf[pos+3] + buf[pos+4] + buf[pos+7]);
166 xreal[1] = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
167 yimag[1] = (- buf[pos+0] - buf[pos+3] + buf[pos+4] + buf[pos+7]);
171 (**it).setReal(xreal[1]);
172 (**it).setImag(yimag[1]);
182 float xreal[4], yimag[4];
184 for (
int pos = 0; pos < nbIAndQ - 31; )
186 for (
int i = 0;
i < 4;
i++)
188 xreal[
i] = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
189 yimag[
i] = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
198 (**it).setReal(xreal[3]);
199 (**it).setImag(yimag[3]);
209 float xreal[4], yimag[4];
211 for (
int pos = 0; pos < nbIAndQ - 31; )
213 for (
int i = 0;
i < 4;
i++)
215 xreal[
i] = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
216 yimag[
i] = (buf[pos+4] + buf[pos+7] - buf[pos+0] - buf[pos+3]);
225 (**it).setReal(xreal[3]);
226 (**it).setImag(yimag[3]);
234 float xreal[8], yimag[8];
236 for (
int pos = 0; pos < nbIAndQ - 63; )
238 for (
int i = 0;
i < 8;
i++)
240 xreal[
i] = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
241 yimag[
i] = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
255 (**it).setReal(xreal[7]);
256 (**it).setImag(yimag[7]);
264 float xreal[8], yimag[8];
266 for (
int pos = 0; pos < nbIAndQ - 63; )
268 for (
int i = 0;
i < 8;
i++)
270 xreal[
i] = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
271 yimag[
i] = (buf[pos+4] + buf[pos+7] - buf[pos+0] - buf[pos+3]);
285 (**it).setReal(xreal[7]);
286 (**it).setImag(yimag[7]);
294 float xreal[16], yimag[16];
296 for (
int pos = 0; pos < nbIAndQ - 127; )
298 for (
int i = 0;
i < 16;
i++)
300 xreal[
i] = (buf[pos+0] - buf[pos+3] + buf[pos+7] - buf[pos+4]);
301 yimag[
i] = (buf[pos+1] - buf[pos+5] + buf[pos+2] - buf[pos+6]);
324 (**it).setReal(xreal[15]);
325 (**it).setImag(yimag[15]);
333 float xreal[16], yimag[16];
335 for (
int pos = 0; pos < nbIAndQ - 127; )
337 for (
int i = 0;
i < 16;
i++)
339 xreal[
i] = (buf[pos+1] - buf[pos+2] - buf[pos+5] + buf[pos+6]);
340 yimag[
i] = (buf[pos+4] + buf[pos+7] - buf[pos+0] - buf[pos+3]);
363 (**it).setReal(xreal[15]);
364 (**it).setImag(yimag[15]);
374 for (
int pos = 0; pos < nbIAndQ - 7; pos += 8)
376 intbuf[0] = buf[pos+2];
377 intbuf[1] = buf[pos+3];
378 intbuf[2] = buf[pos+6];
379 intbuf[3] = buf[pos+7];
398 (**it).setReal(intbuf[2]);
399 (**it).setImag(intbuf[3]);
408 for (
int pos = 0; pos < nbIAndQ - 15; pos += 16)
410 intbuf[0] = buf[pos+2];
411 intbuf[1] = buf[pos+3];
412 intbuf[2] = buf[pos+6];
413 intbuf[3] = buf[pos+7];
414 intbuf[4] = buf[pos+10];
415 intbuf[5] = buf[pos+11];
416 intbuf[6] = buf[pos+14];
417 intbuf[7] = buf[pos+15];
457 (**it).setReal(intbuf[6]);
458 (**it).setImag(intbuf[7]);
467 for (
int pos = 0; pos < nbIAndQ - 31; pos += 32)
469 intbuf[0] = buf[pos+2];
470 intbuf[1] = buf[pos+3];
471 intbuf[2] = buf[pos+6];
472 intbuf[3] = buf[pos+7];
473 intbuf[4] = buf[pos+10];
474 intbuf[5] = buf[pos+11];
475 intbuf[6] = buf[pos+14];
476 intbuf[7] = buf[pos+15];
477 intbuf[8] = buf[pos+18];
478 intbuf[9] = buf[pos+19];
479 intbuf[10] = buf[pos+22];
480 intbuf[11] = buf[pos+23];
481 intbuf[12] = buf[pos+26];
482 intbuf[13] = buf[pos+27];
483 intbuf[14] = buf[pos+30];
484 intbuf[15] = buf[pos+31];
565 (**it).setReal(intbuf[14]);
566 (**it).setImag(intbuf[15]);
575 for (
int pos = 0; pos < nbIAndQ - 63; pos += 64)
577 intbuf[0] = buf[pos+2];
578 intbuf[1] = buf[pos+3];
579 intbuf[2] = buf[pos+6];
580 intbuf[3] = buf[pos+7];
581 intbuf[4] = buf[pos+10];
582 intbuf[5] = buf[pos+11];
583 intbuf[6] = buf[pos+14];
584 intbuf[7] = buf[pos+15];
585 intbuf[8] = buf[pos+18];
586 intbuf[9] = buf[pos+19];
587 intbuf[10] = buf[pos+22];
588 intbuf[11] = buf[pos+23];
589 intbuf[12] = buf[pos+26];
590 intbuf[13] = buf[pos+27];
591 intbuf[14] = buf[pos+30];
592 intbuf[15] = buf[pos+31];
593 intbuf[16] = buf[pos+34];
594 intbuf[17] = buf[pos+35];
595 intbuf[18] = buf[pos+38];
596 intbuf[19] = buf[pos+39];
597 intbuf[20] = buf[pos+42];
598 intbuf[21] = buf[pos+43];
599 intbuf[22] = buf[pos+46];
600 intbuf[23] = buf[pos+47];
601 intbuf[24] = buf[pos+50];
602 intbuf[25] = buf[pos+51];
603 intbuf[26] = buf[pos+54];
604 intbuf[27] = buf[pos+55];
605 intbuf[28] = buf[pos+58];
606 intbuf[29] = buf[pos+59];
607 intbuf[30] = buf[pos+62];
608 intbuf[31] = buf[pos+63];
770 (**it).setReal(intbuf[30]);
771 (**it).setImag(intbuf[31]);
780 for (
int pos = 0; pos < nbIAndQ - 127; pos += 128)
782 intbuf[0] = buf[pos+2];
783 intbuf[1] = buf[pos+3];
784 intbuf[2] = buf[pos+6];
785 intbuf[3] = buf[pos+7];
786 intbuf[4] = buf[pos+10];
787 intbuf[5] = buf[pos+11];
788 intbuf[6] = buf[pos+14];
789 intbuf[7] = buf[pos+15];
790 intbuf[8] = buf[pos+18];
791 intbuf[9] = buf[pos+19];
792 intbuf[10] = buf[pos+22];
793 intbuf[11] = buf[pos+23];
794 intbuf[12] = buf[pos+26];
795 intbuf[13] = buf[pos+27];
796 intbuf[14] = buf[pos+30];
797 intbuf[15] = buf[pos+31];
798 intbuf[16] = buf[pos+34];
799 intbuf[17] = buf[pos+35];
800 intbuf[18] = buf[pos+38];
801 intbuf[19] = buf[pos+39];
802 intbuf[20] = buf[pos+42];
803 intbuf[21] = buf[pos+43];
804 intbuf[22] = buf[pos+46];
805 intbuf[23] = buf[pos+47];
806 intbuf[24] = buf[pos+50];
807 intbuf[25] = buf[pos+51];
808 intbuf[26] = buf[pos+54];
809 intbuf[27] = buf[pos+55];
810 intbuf[28] = buf[pos+58];
811 intbuf[29] = buf[pos+59];
812 intbuf[30] = buf[pos+62];
813 intbuf[31] = buf[pos+63];
815 intbuf[32] = buf[pos+66];
816 intbuf[33] = buf[pos+67];
817 intbuf[34] = buf[pos+70];
818 intbuf[35] = buf[pos+71];
819 intbuf[36] = buf[pos+74];
820 intbuf[37] = buf[pos+75];
821 intbuf[38] = buf[pos+78];
822 intbuf[39] = buf[pos+79];
823 intbuf[40] = buf[pos+82];
824 intbuf[41] = buf[pos+83];
825 intbuf[42] = buf[pos+86];
826 intbuf[43] = buf[pos+87];
827 intbuf[44] = buf[pos+90];
828 intbuf[45] = buf[pos+91];
829 intbuf[46] = buf[pos+94];
830 intbuf[47] = buf[pos+95];
831 intbuf[48] = buf[pos+98];
832 intbuf[49] = buf[pos+99];
833 intbuf[50] = buf[pos+102];
834 intbuf[51] = buf[pos+103];
835 intbuf[52] = buf[pos+106];
836 intbuf[53] = buf[pos+107];
837 intbuf[54] = buf[pos+110];
838 intbuf[55] = buf[pos+111];
839 intbuf[56] = buf[pos+114];
840 intbuf[57] = buf[pos+115];
841 intbuf[58] = buf[pos+118];
842 intbuf[59] = buf[pos+119];
843 intbuf[60] = buf[pos+122];
844 intbuf[61] = buf[pos+123];
845 intbuf[62] = buf[pos+126];
846 intbuf[63] = buf[pos+127];
1169 (**it).setReal(intbuf[62]);
1170 (**it).setImag(intbuf[63]);
void decimate16_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate32_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate64_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator16
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator4
void decimate4_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate8_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate16_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate64_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator32
void decimate4_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator2
void decimate32_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate8_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate2_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate64_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate2_inf(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate4_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate16_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator64
void decimate8_cen(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate32_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void decimate2_sup(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
void myDecimate(float x1, float y1, float *x2, float *y2)
void decimate1(FSampleVector::iterator *it, const float *buf, qint32 nbIAndQ)
IntHalfbandFilterEOF< DECIMATORSFF_HB_FILTER_ORDER > m_decimator8