Lines Matching refs:block
51 CeltBlock *block = &f->block[j]; in celt_decode_coarse_energy() local
56 block->energy[i] = 0.0; in celt_decode_coarse_energy()
72 block->energy[i] = FFMAX(-9.0f, block->energy[i]) * alpha + prev[j] + value; in celt_decode_coarse_energy()
87 CeltBlock *block = &f->block[j]; in celt_decode_fine_energy() local
92 block->energy[i] += offset; in celt_decode_fine_energy()
112 f->block[j].energy[i] += offset; in celt_decode_final_energy()
146 static void celt_denormalize(CeltFrame *f, CeltBlock *block, float *data) in celt_denormalize() argument
152 float log_norm = block->energy[i] + ff_celt_mean_energy[i]; in celt_denormalize()
160 static void celt_postfilter_apply_transition(CeltBlock *block, float *data) in celt_postfilter_apply_transition() argument
162 const int T0 = block->pf_period_old; in celt_postfilter_apply_transition()
163 const int T1 = block->pf_period; in celt_postfilter_apply_transition()
172 if (block->pf_gains[0] == 0.0 && in celt_postfilter_apply_transition()
173 block->pf_gains_old[0] == 0.0) in celt_postfilter_apply_transition()
176 g00 = block->pf_gains_old[0]; in celt_postfilter_apply_transition()
177 g01 = block->pf_gains_old[1]; in celt_postfilter_apply_transition()
178 g02 = block->pf_gains_old[2]; in celt_postfilter_apply_transition()
179 g10 = block->pf_gains[0]; in celt_postfilter_apply_transition()
180 g11 = block->pf_gains[1]; in celt_postfilter_apply_transition()
181 g12 = block->pf_gains[2]; in celt_postfilter_apply_transition()
205 static void celt_postfilter(CeltFrame *f, CeltBlock *block) in celt_postfilter() argument
210 celt_postfilter_apply_transition(block, block->buf + 1024); in celt_postfilter()
212 block->pf_period_old = block->pf_period; in celt_postfilter()
213 memcpy(block->pf_gains_old, block->pf_gains, sizeof(block->pf_gains)); in celt_postfilter()
215 block->pf_period = block->pf_period_new; in celt_postfilter()
216 memcpy(block->pf_gains, block->pf_gains_new, sizeof(block->pf_gains)); in celt_postfilter()
219 celt_postfilter_apply_transition(block, block->buf + 1024 + CELT_OVERLAP); in celt_postfilter()
221 if (block->pf_gains[0] > FLT_EPSILON && filter_len > 0) in celt_postfilter()
222 f->opusdsp.postfilter(block->buf + 1024 + 2 * CELT_OVERLAP, in celt_postfilter()
223 block->pf_period, block->pf_gains, in celt_postfilter()
226 block->pf_period_old = block->pf_period; in celt_postfilter()
227 memcpy(block->pf_gains_old, block->pf_gains, sizeof(block->pf_gains)); in celt_postfilter()
230 memmove(block->buf, block->buf + len, (1024 + CELT_OVERLAP / 2) * sizeof(float)); in celt_postfilter()
237 memset(f->block[0].pf_gains_new, 0, sizeof(f->block[0].pf_gains_new)); in parse_postfilter()
238 memset(f->block[1].pf_gains_new, 0, sizeof(f->block[1].pf_gains_new)); in parse_postfilter()
253 CeltBlock *block = &f->block[i]; in parse_postfilter() local
255 block->pf_period_new = FFMAX(period, CELT_POSTFILTER_MINPERIOD); in parse_postfilter()
256 block->pf_gains_new[0] = gain * ff_celt_postfilter_taps[tapset][0]; in parse_postfilter()
257 block->pf_gains_new[1] = gain * ff_celt_postfilter_taps[tapset][1]; in parse_postfilter()
258 block->pf_gains_new[2] = gain * ff_celt_postfilter_taps[tapset][2]; in parse_postfilter()
268 static void process_anticollapse(CeltFrame *f, CeltBlock *block, float *X) in process_anticollapse() argument
287 prev[0] = block->prev_energy[0][i]; in process_anticollapse()
288 prev[1] = block->prev_energy[1][i]; in process_anticollapse()
290 CeltBlock *block1 = &f->block[1]; in process_anticollapse()
295 Ediff = block->energy[i] - FFMIN(prev[0], prev[1]); in process_anticollapse()
306 if (!(block->collapse_masks[i] & 1 << k)) { in process_anticollapse()
360 memset(f->block[i].coeffs, 0, sizeof(f->block[i].coeffs)); in ff_celt_decode_frame()
361 memset(f->block[i].collapse_masks, 0, sizeof(f->block[i].collapse_masks)); in ff_celt_decode_frame()
392 f->block[0].energy[i] = FFMAX(f->block[0].energy[i], f->block[1].energy[i]); in ff_celt_decode_frame()
409 CeltBlock *block = &f->block[i]; in ff_celt_decode_frame() local
412 process_anticollapse(f, block, f->block[i].coeffs); in ff_celt_decode_frame()
414 celt_denormalize(f, block, f->block[i].coeffs); in ff_celt_decode_frame()
419 … f->dsp->vector_fmac_scalar(f->block[0].coeffs, f->block[1].coeffs, 1.0, FFALIGN(frame_size, 16)); in ff_celt_decode_frame()
422 memcpy(f->block[1].coeffs, f->block[0].coeffs, frame_size * sizeof(float)); in ff_celt_decode_frame()
426 CeltBlock *block = &f->block[i]; in ff_celt_decode_frame() local
428 for (j = 0; j < FF_ARRAY_ELEMS(block->energy); j++) in ff_celt_decode_frame()
429 block->energy[j] = CELT_ENERGY_SILENCE; in ff_celt_decode_frame()
431 memset(f->block[0].coeffs, 0, sizeof(f->block[0].coeffs)); in ff_celt_decode_frame()
432 memset(f->block[1].coeffs, 0, sizeof(f->block[1].coeffs)); in ff_celt_decode_frame()
437 CeltBlock *block = &f->block[i]; in ff_celt_decode_frame() local
441 float *dst = block->buf + 1024 + j * f->blocksize; in ff_celt_decode_frame()
443 imdct->imdct_half(imdct, dst + CELT_OVERLAP / 2, f->block[i].coeffs + j, in ff_celt_decode_frame()
450 f->dsp->vector_fmul_scalar(&block->buf[1024], &block->buf[1024], 0.5f, frame_size); in ff_celt_decode_frame()
453 celt_postfilter(f, block); in ff_celt_decode_frame()
456 block->emph_coeff = f->opusdsp.deemphasis(output[i], in ff_celt_decode_frame()
457 &block->buf[1024 - frame_size], in ff_celt_decode_frame()
458 block->emph_coeff, frame_size); in ff_celt_decode_frame()
462 memcpy(f->block[1].energy, f->block[0].energy, sizeof(f->block[0].energy)); in ff_celt_decode_frame()
465 CeltBlock *block = &f->block[i]; in ff_celt_decode_frame() local
468 memcpy(block->prev_energy[1], block->prev_energy[0], sizeof(block->prev_energy[0])); in ff_celt_decode_frame()
469 memcpy(block->prev_energy[0], block->energy, sizeof(block->prev_energy[0])); in ff_celt_decode_frame()
472 block->prev_energy[0][j] = FFMIN(block->prev_energy[0][j], block->energy[j]); in ff_celt_decode_frame()
476 block->prev_energy[0][j] = CELT_ENERGY_SILENCE; in ff_celt_decode_frame()
477 block->energy[j] = 0.0; in ff_celt_decode_frame()
480 block->prev_energy[0][j] = CELT_ENERGY_SILENCE; in ff_celt_decode_frame()
481 block->energy[j] = 0.0; in ff_celt_decode_frame()
498 CeltBlock *block = &f->block[i]; in ff_celt_flush() local
501 block->prev_energy[0][j] = block->prev_energy[1][j] = CELT_ENERGY_SILENCE; in ff_celt_flush()
503 memset(block->energy, 0, sizeof(block->energy)); in ff_celt_flush()
504 memset(block->buf, 0, sizeof(block->buf)); in ff_celt_flush()
506 memset(block->pf_gains, 0, sizeof(block->pf_gains)); in ff_celt_flush()
507 memset(block->pf_gains_old, 0, sizeof(block->pf_gains_old)); in ff_celt_flush()
508 memset(block->pf_gains_new, 0, sizeof(block->pf_gains_new)); in ff_celt_flush()
514 block->emph_coeff = 0.0f / CELT_EMPH_COEFF; in ff_celt_flush()