• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavcodec/

Lines Matching defs:band

103  * information for single band used by 3GPP TS26.403-inspired psychoacoustic model
106 float energy; ///< band energy
121 AacPsyBand band[128]; ///< bands information
139 float barks; ///< Bark value for each spectral band in long frame
507 static float calc_pe_3gpp(AacPsyBand *band)
511 band->pe = 0.0f;
512 band->pe_const = 0.0f;
513 band->active_lines = 0.0f;
514 if (band->energy > band->thr) {
515 a = log2f(band->energy);
516 pe = a - log2f(band->thr);
517 band->active_lines = band->nz_lines;
521 band->active_lines *= PSY_3GPP_C3;
523 band->pe = pe * band->nz_lines;
524 band->pe_const = a * band->nz_lines;
527 return band->pe;
544 static float calc_reduced_thr_3gpp(AacPsyBand *band, float min_snr,
547 float thr = band->thr;
549 if (band->energy > thr) {
560 if (thr > band->energy * min_snr && band->avoid_holes != PSY_3GPP_AH_NONE) {
561 thr = FFMAX(band->thr, band->energy * min_snr);
562 band->avoid_holes = PSY_3GPP_AH_ACTIVE;
577 AacPsyBand *band = &pch->band[w+g];
581 band->energy = 0.0f;
583 band->energy += coefs[start+i] * coefs[start+i];
586 Temp = band->energy > 0 ? sqrtf((float)band_sizes[g] / band->energy) : 0;
587 band->thr = band->energy * 0.001258925f;
588 band->nz_lines = form_factor * sqrtf(Temp);
616 * Calculate band thresholds as suggested in 3GPP TS26.403
637 AacPsyBand *bands = &pch->band[w];
651 AacPsyBand *band = &bands[g];
653 band->thr_quiet = band->thr = FFMAX(band->thr, coeffs[g].ath);
656 band->thr = FFMAX(PSY_3GPP_RPEMIN*band->thr, FFMIN(band->thr,
660 pe += calc_pe_3gpp(band);
661 a += band->pe_const;
662 active_lines += band->active_lines;
665 if (spread_en[w+g] * avoid_hole_thr > band->energy || coeffs[g].min_snr > 1.0f)
666 band->avoid_holes = PSY_3GPP_AH_NONE;
668 band->avoid_holes = PSY_3GPP_AH_INACTIVE;
693 AacPsyBand *band = &pch->band[w+g];
695 band->thr = calc_reduced_thr_3gpp(band, coeffs[g].min_snr, reduction);
697 pe += calc_pe_3gpp(band);
698 a += band->pe_const;
699 active_lines += band->active_lines;
709 AacPsyBand *band = &pch->band[w+g];
711 if (band->avoid_holes != PSY_3GPP_AH_ACTIVE) {
712 pe_no_ah += band->pe;
713 a += band->pe_const;
714 active_lines += band->active_lines;
725 AacPsyBand *band = &pch->band[w+g];
728 band->thr = calc_reduced_thr_3gpp(band, coeffs[g].min_snr, reduction);
729 pe += calc_pe_3gpp(band);
730 band->norm_fac = band->active_lines / band->thr;
731 norm_fac += band->norm_fac;
744 AacPsyBand *band = &pch->band[w+g];
746 if (band->active_lines > 0.5f) {
747 float delta_sfb_pe = band->norm_fac * norm_fac * delta_pe;
748 float thr = band->thr;
750 thr *= exp2f(delta_sfb_pe / band->active_lines);
751 if (thr > coeffs[g].min_snr * band->energy && band->avoid_holes == PSY_3GPP_AH_INACTIVE)
752 thr = FFMAX(band->thr, coeffs[g].min_snr * band->energy);
753 band->thr = thr;
762 AacPsyBand *band = &pch->band[w+g];
763 if (band->avoid_holes != PSY_3GPP_AH_NONE && coeffs[g].min_snr < PSY_SNR_1DB) {
765 band->thr = band->energy * PSY_SNR_1DB;
766 pe += band->active_lines * 1.5f - band->pe;
776 AacPsyBand *band = &pch->band[w+g];
779 psy_band->threshold = band->thr;
780 psy_band->energy = band->energy;
784 memcpy(pch->prev_band, pch->band, sizeof(pch->band));