Lines Matching refs:vbr

76 void vbr_init(VBRState *vbr)  in vbr_init()  argument
80 vbr->average_energy=0; in vbr_init()
81 vbr->last_energy=1; in vbr_init()
82 vbr->accum_sum=0; in vbr_init()
83 vbr->energy_alpha=.1; in vbr_init()
84 vbr->soft_pitch=0; in vbr_init()
85 vbr->last_pitch_coef=0; in vbr_init()
86 vbr->last_quality=0; in vbr_init()
88 vbr->noise_accum = .05*pow(MIN_ENERGY, NOISE_POW); in vbr_init()
89 vbr->noise_accum_count=.05; in vbr_init()
90 vbr->noise_level=vbr->noise_accum/vbr->noise_accum_count; in vbr_init()
91 vbr->consec_noise=0; in vbr_init()
95 vbr->last_log_energy[i] = log(MIN_ENERGY); in vbr_init()
124 float vbr_analysis(VBRState *vbr, spx_word16_t *sig, int len, int pitch, float pitch_coef) in vbr_analysis() argument
144 non_st += sqr(log_energy-vbr->last_log_energy[i]); in vbr_analysis()
150 vbr->average_energy = (1-vbr->energy_alpha)*vbr->average_energy + vbr->energy_alpha*ener; in vbr_analysis()
151 vbr->noise_level=vbr->noise_accum/vbr->noise_accum_count; in vbr_analysis()
153 if (vbr->noise_accum_count<.06 && ener>MIN_ENERGY) in vbr_analysis()
154 vbr->noise_accum = .05*pow_ener; in vbr_analysis()
156 if ((voicing<.3 && non_st < .2 && pow_ener < 1.2*vbr->noise_level) in vbr_analysis()
157 || (voicing<.3 && non_st < .05 && pow_ener < 1.5*vbr->noise_level) in vbr_analysis()
158 || (voicing<.4 && non_st < .05 && pow_ener < 1.2*vbr->noise_level) in vbr_analysis()
163 vbr->consec_noise++; in vbr_analysis()
164 if (pow_ener > 3*vbr->noise_level) in vbr_analysis()
165 tmp = 3*vbr->noise_level; in vbr_analysis()
168 if (vbr->consec_noise>=4) in vbr_analysis()
170 vbr->noise_accum = .95*vbr->noise_accum + .05*tmp; in vbr_analysis()
171 vbr->noise_accum_count = .95*vbr->noise_accum_count + .05; in vbr_analysis()
175 vbr->consec_noise=0; in vbr_analysis()
178 if (pow_ener < vbr->noise_level && ener>MIN_ENERGY) in vbr_analysis()
180 vbr->noise_accum = .95*vbr->noise_accum + .05*pow_ener; in vbr_analysis()
181 vbr->noise_accum_count = .95*vbr->noise_accum_count + .05; in vbr_analysis()
194 short_diff = log((ener+1)/(1+vbr->last_energy)); in vbr_analysis()
195 long_diff = log((ener+1)/(1+vbr->average_energy)); in vbr_analysis()
217 vbr->last_energy = ener; in vbr_analysis()
218 vbr->soft_pitch = .6*vbr->soft_pitch + .4*pitch_coef; in vbr_analysis()
219 qual += 2.2*((pitch_coef-.4) + (vbr->soft_pitch-.4)); in vbr_analysis()
221 if (qual < vbr->last_quality) in vbr_analysis()
222 qual = .5*qual + .5*vbr->last_quality; in vbr_analysis()
236 if (vbr->consec_noise>=3) in vbr_analysis()
239 if (vbr->consec_noise) in vbr_analysis()
240 qual -= 1.0 * (log(3.0 + vbr->consec_noise)-log(3)); in vbr_analysis()
246 if (vbr->consec_noise>2) in vbr_analysis()
247 qual-=0.5*(log(3.0 + vbr->consec_noise)-log(3)); in vbr_analysis()
248 if (ener<10000&&vbr->consec_noise>2) in vbr_analysis()
249 qual-=0.5*(log(3.0 + vbr->consec_noise)-log(3)); in vbr_analysis()
259 vbr->last_pitch_coef = pitch_coef; in vbr_analysis()
260 vbr->last_quality = qual; in vbr_analysis()
263 vbr->last_log_energy[i] = vbr->last_log_energy[i-1]; in vbr_analysis()
264 vbr->last_log_energy[0] = log_energy; in vbr_analysis()
271 void vbr_destroy(VBRState *vbr) in vbr_destroy() argument