Lines Matching defs:state
54 ima_oki_adpcm_init (IMA_OKI_ADPCM * state, IMA_OKI_ADPCM_TYPE type)
56 memset (state, 0, sizeof (*state)) ;
59 { state->max_step_index = ARRAY_LEN (ima_steps) - 1 ;
60 state->steps = ima_steps ;
61 state->mask = (~0) ;
64 { state->max_step_index = ARRAY_LEN (oki_steps) - 1 ;
65 state->steps = oki_steps ;
66 state->mask = arith_shift_left (~0, 4) ;
73 adpcm_decode (IMA_OKI_ADPCM * state, int code)
77 s = ((state->steps [state->step_index] * s) >> 3) & state->mask ;
81 s += state->last_output ;
86 grace = (state->steps [state->step_index] >> 3) & state->mask ;
89 state->errors ++ ;
94 state->step_index += step_changes [code & 7] ;
95 state->step_index = SF_MIN (SF_MAX (state->step_index, 0), state->max_step_index) ;
96 state->last_output = s ;
102 adpcm_encode (IMA_OKI_ADPCM * state, int sample)
105 delta = sample - state->last_output ;
112 code = 4 * delta / state->steps [state->step_index] ;
114 adpcm_decode (state, code) ; /* Update encoder state */
121 ima_oki_adpcm_decode_block (IMA_OKI_ADPCM * state)
125 for (k = 0 ; k < state->code_count ; k++)
126 { code = state->codes [k] ;
127 state->pcm [2 * k] = adpcm_decode (state, code >> 4) ;
128 state->pcm [2 * k + 1] = adpcm_decode (state, code) ;
131 state->pcm_count = 2 * k ;
136 ima_oki_adpcm_encode_block (IMA_OKI_ADPCM * state)
146 if (state->pcm_count % 2 == 1)
147 state->pcm [state->pcm_count ++] = 0 ;
149 for (k = 0 ; k < state->pcm_count / 2 ; k++)
150 { code = adpcm_encode (state, state->pcm [2 * k]) << 4 ;
151 code |= adpcm_encode (state, state->pcm [2 * k + 1]) ;
152 state->codes [k] = code ;
155 state->code_count = k ;