ReactOS 0.4.16-dev-92-g0c2cdca
synth_ntom.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int MONO_NAME (real *bandPtr, mpg123_handle *fr)
 
int MONO2STEREO_NAME (real *bandPtr, mpg123_handle *fr)
 
int SYNTH_NAME (real *bandPtr, int channel, mpg123_handle *fr, int final)
 

Function Documentation

◆ MONO2STEREO_NAME()

int MONO2STEREO_NAME ( real bandPtr,
mpg123_handle fr 
)

Definition at line 47 of file synth_ntom.h.

48{
49 size_t i;
50 int ret;
51 size_t pnt1 = fr->buffer.fill;
52 unsigned char *samples = fr->buffer.data + pnt1;
53
54 ret = SYNTH_NAME(bandPtr, 0, fr, 1);
55
56 for(i=0;i<((fr->buffer.fill-pnt1)/(2*sizeof(SAMPLE_T)));i++)
57 {
58 ((SAMPLE_T *)samples)[1] = ((SAMPLE_T *)samples)[0];
59 samples+=2*sizeof(SAMPLE_T);
60 }
61
62 return ret;
63}
GLsizei samples
Definition: glext.h:7006
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
struct outbuffer buffer
Definition: frame.h:267
#define SYNTH_NAME
Definition: synth.c:1180
#define SAMPLE_T
Definition: synth.c:24
int ret

◆ MONO_NAME()

int MONO_NAME ( real bandPtr,
mpg123_handle fr 
)

Definition at line 20 of file synth_ntom.h.

21{
22 SAMPLE_T samples_tmp[8*64];
23 SAMPLE_T *tmp1 = samples_tmp;
24 size_t i;
25 int ret;
26
27 size_t pnt = fr->buffer.fill;
28 unsigned char *samples = fr->buffer.data;
29 fr->buffer.data = (unsigned char*) samples_tmp;
30 fr->buffer.fill = 0;
31 ret = SYNTH_NAME(bandPtr, 0, fr, 1);
32 fr->buffer.data = samples;
33
34 samples += pnt;
35 for(i=0;i<(fr->buffer.fill/(2*sizeof(SAMPLE_T)));i++)
36 {
37 *( (SAMPLE_T *)samples) = *tmp1;
38 samples += sizeof(SAMPLE_T);
39 tmp1 += 2;
40 }
41 fr->buffer.fill = pnt + (fr->buffer.fill/2);
42
43 return ret;
44}

◆ SYNTH_NAME()

int SYNTH_NAME ( real bandPtr,
int  channel,
mpg123_handle fr,
int  final 
)

Definition at line 66 of file synth_ntom.h.

67{
68 static const int step = 2;
69 SAMPLE_T *samples = (SAMPLE_T *) (fr->buffer.data + fr->buffer.fill);
70
71 real *b0, **buf; /* (*buf)[0x110]; */
72 int clip = 0;
73 int bo1;
74 int ntom;
75#ifndef NO_EQUALIZER
76 if(fr->have_eq_settings) do_equalizer(bandPtr,channel,fr->equalizer);
77#endif
78 if(!channel)
79 {
80 fr->bo--;
81 fr->bo &= 0xf;
82 buf = fr->real_buffs[0];
83 ntom = fr->ntom_val[1] = fr->ntom_val[0];
84 }
85 else
86 {
87 samples++;
88 buf = fr->real_buffs[1];
89 ntom = fr->ntom_val[1];
90 }
91
92 if(fr->bo & 0x1)
93 {
94 b0 = buf[0];
95 bo1 = fr->bo;
96 dct64(buf[1]+((fr->bo+1)&0xf),buf[0]+fr->bo,bandPtr);
97 }
98 else
99 {
100 b0 = buf[1];
101 bo1 = fr->bo+1;
102 dct64(buf[0]+fr->bo,buf[1]+fr->bo+1,bandPtr);
103 }
104
105 {
106 register int j;
107 real *window = fr->decwin + 16 - bo1;
108
109 for (j=16;j;j--,window+=0x10)
110 {
111 real sum;
112
113 ntom += fr->ntom_step;
114 if(ntom < NTOM_MUL)
115 {
116 window += 16;
117 b0 += 16;
118 continue;
119 }
120
121 sum = REAL_MUL_SYNTH(*window++, *b0++);
122 sum -= REAL_MUL_SYNTH(*window++, *b0++);
123 sum += REAL_MUL_SYNTH(*window++, *b0++);
124 sum -= REAL_MUL_SYNTH(*window++, *b0++);
125 sum += REAL_MUL_SYNTH(*window++, *b0++);
126 sum -= REAL_MUL_SYNTH(*window++, *b0++);
127 sum += REAL_MUL_SYNTH(*window++, *b0++);
128 sum -= REAL_MUL_SYNTH(*window++, *b0++);
129 sum += REAL_MUL_SYNTH(*window++, *b0++);
130 sum -= REAL_MUL_SYNTH(*window++, *b0++);
131 sum += REAL_MUL_SYNTH(*window++, *b0++);
132 sum -= REAL_MUL_SYNTH(*window++, *b0++);
133 sum += REAL_MUL_SYNTH(*window++, *b0++);
134 sum -= REAL_MUL_SYNTH(*window++, *b0++);
135 sum += REAL_MUL_SYNTH(*window++, *b0++);
136 sum -= REAL_MUL_SYNTH(*window++, *b0++);
137
138 while(ntom >= NTOM_MUL)
139 {
141 samples += step;
142 ntom -= NTOM_MUL;
143 }
144 }
145
146 ntom += fr->ntom_step;
147 if(ntom >= NTOM_MUL)
148 {
149 real sum;
150 sum = REAL_MUL_SYNTH(window[0x0], b0[0x0]);
151 sum += REAL_MUL_SYNTH(window[0x2], b0[0x2]);
152 sum += REAL_MUL_SYNTH(window[0x4], b0[0x4]);
153 sum += REAL_MUL_SYNTH(window[0x6], b0[0x6]);
154 sum += REAL_MUL_SYNTH(window[0x8], b0[0x8]);
155 sum += REAL_MUL_SYNTH(window[0xA], b0[0xA]);
156 sum += REAL_MUL_SYNTH(window[0xC], b0[0xC]);
157 sum += REAL_MUL_SYNTH(window[0xE], b0[0xE]);
158
159 while(ntom >= NTOM_MUL)
160 {
162 samples += step;
163 ntom -= NTOM_MUL;
164 }
165 }
166
167 b0-=0x10,window-=0x20;
168 window += bo1<<1;
169
170 for (j=15;j;j--,b0-=0x20,window-=0x10)
171 {
172 real sum;
173
174 ntom += fr->ntom_step;
175 if(ntom < NTOM_MUL)
176 {
177 window -= 16;
178 b0 += 16;
179 continue;
180 }
181
182 sum = REAL_MUL_SYNTH(-*(--window), *b0++);
183 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
184 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
185 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
186 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
187 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
188 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
189 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
190 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
191 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
192 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
193 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
194 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
195 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
196 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
197 sum -= REAL_MUL_SYNTH(*(--window), *b0++);
198
199 while(ntom >= NTOM_MUL)
200 {
202 samples += step;
203 ntom -= NTOM_MUL;
204 }
205 }
206 }
207
208 fr->ntom_val[channel] = ntom;
209 if(final) fr->buffer.fill = ((unsigned char *) samples - fr->buffer.data - (channel ? sizeof(SAMPLE_T) : 0));
210
211 return clip;
212}
#define NTOM_MUL
Definition: decode.h:32
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
#define dct64
Definition: intsym.h:142
#define do_equalizer
Definition: intsym.h:175
static IHTMLWindow2 * window
Definition: events.c:77
#define real
#define REAL_MUL_SYNTH(x, y)
static int sum(int x_, int y_)
Definition: ptr2_test.cpp:35
real * real_buffs[2][2]
Definition: frame.h:106
unsigned long ntom_step
Definition: frame.h:150
unsigned long ntom_val[2]
Definition: frame.h:149
real equalizer[2][32]
Definition: frame.h:127
#define WRITE_SAMPLE(samples, sum, clip)
Definition: synth.c:25