Lines Matching refs:state
106 static char adpcm_encoder(int sl, snd_pcm_adpcm_state_t * state)
118 diff = sl - state->pred_val;
134 step = StepSize[state->step_idx];
147 state->pred_val += sign ? -pred_diff : pred_diff;
149 if (state->pred_val > 32767) {
150 state->pred_val = 32767;
151 } else if (state->pred_val < -32768) {
152 state->pred_val = -32768;
156 state->step_idx += IndexAdjust[adjust_idx];
158 if (state->step_idx < 0) {
159 state->step_idx = 0;
160 } else if (state->step_idx > 88) {
161 state->step_idx = 88;
167 static int adpcm_decoder(unsigned char code, snd_pcm_adpcm_state_t * state)
184 step = StepSize[state->step_idx];
193 state->pred_val += (sign) ? -pred_diff : pred_diff;
196 if (state->pred_val > 32767) {
197 state->pred_val = 32767;
198 } else if (state->pred_val < -32768) {
199 state->pred_val = -32768;
203 state->step_idx += IndexAdjust[code];
205 if (state->step_idx < 0) {
206 state->step_idx = 0;
207 } else if (state->step_idx > 88) {
208 state->step_idx = 88;
210 return (state->pred_val);