Lines Matching refs:gfc

93 init_xrpow_core_init(lame_internal_flags * const gfc)
95 gfc->init_xrpow_core = init_xrpow_core_c;
98 if (gfc->CPU_features.SSE)
99 gfc->init_xrpow_core = init_xrpow_core_sse;
103 gfc->init_xrpow_core = init_xrpow_core_sse;
111 init_xrpow(lame_internal_flags * gfc, gr_info * const cod_info, FLOAT xrpow[576])
127 gfc->init_xrpow_core(cod_info, xrpow, upper, &sum);
133 if (gfc->sv_qnt.substep_shaping & 2)
137 gfc->sv_qnt.pseudohalf[i] = j;
160 psfb21_analogsilence(lame_internal_flags const *gfc, gr_info * const cod_info)
162 ATH_t const *const ATH = gfc->ATH;
169 int const start = gfc->scalefac_band.psfb21[gsfb];
170 int const end = gfc->scalefac_band.psfb21[gsfb + 1];
175 if (gfc->sv_qnt.longfact[21] > 1e-12f)
176 ath21 *= gfc->sv_qnt.longfact[21];
196 int const start = gfc->scalefac_band.s[12] * 3 +
197 (gfc->scalefac_band.s[13] - gfc->scalefac_band.s[12]) * block +
198 (gfc->scalefac_band.psfb12[gsfb] - gfc->scalefac_band.psfb12[0]);
200 start + (gfc->scalefac_band.psfb12[gsfb + 1] - gfc->scalefac_band.psfb12[gsfb]);
205 if (gfc->sv_qnt.shortfact[12] > 1e-12f)
206 ath12 *= gfc->sv_qnt.shortfact[12];
227 init_outer_loop(lame_internal_flags const *gfc, gr_info * const cod_info)
229 SessionConfig_t const *const cfg = &gfc->cfg;
260 cod_info->psy_lmax = gfc->sv_qnt.sfb21_extra ? SBMAX_l : SBPSY_l;
267 = gfc->scalefac_band.l[sfb + 1] - gfc->scalefac_band.l[sfb];
293 + 3 * ((gfc->sv_qnt.sfb21_extra ? SBMAX_s : SBPSY_s) - cod_info->sfb_smin);
306 ix = &cod_info->xr[gfc->scalefac_band.l[cod_info->sfb_lmax]];
309 int const start = gfc->scalefac_band.s[sfb];
310 int const end = gfc->scalefac_band.s[sfb + 1];
322 = gfc->scalefac_band.s[sfb + 1] - gfc->scalefac_band.s[sfb];
344 psfb21_analogsilence(gfc, cod_info);
368 bin_search_StepSize(lame_internal_flags * const gfc, gr_info * const cod_info,
372 int CurrentStep = gfc->sv_qnt.CurrentStep[ch];
374 int const start = gfc->sv_qnt.OldValue[ch];
382 nBits = count_bits(gfc, xrpow, cod_info, 0);
423 nBits = count_bits(gfc, xrpow, cod_info, 0);
425 gfc->sv_qnt.CurrentStep[ch] = (start - cod_info->global_gain >= 4) ? 4 : 2;
426 gfc->sv_qnt.OldValue[ch] = cod_info->global_gain;
455 trancate_smallspectrums(lame_internal_flags const *gfc,
462 if ((!(gfc->sv_qnt.substep_shaping & 4) && gi->block_type == SHORT_TYPE)
463 || gfc->sv_qnt.substep_shaping & 0x80)
525 gi->part2_3_length = noquant_count_bits(gfc, gi, 0);
721 amp_scalefac_bands(lame_internal_flags * gfc,
724 SessionConfig_t const *const cfg = &gfc->cfg;
781 if (gfc->sv_qnt.substep_shaping & 2) {
782 gfc->sv_qnt.pseudohalf[sfb] = !gfc->sv_qnt.pseudohalf[sfb];
783 if (!gfc->sv_qnt.pseudohalf[sfb] && cfg->noise_shaping_amp == 2)
848 inc_subblock_gain(const lame_internal_flags * const gfc, gr_info * const cod_info, FLOAT xrpow[576])
883 j = gfc->scalefac_band.l[cod_info->sfb_lmax];
941 balance_noise(lame_internal_flags * gfc,
944 SessionConfig_t const *const cfg = &gfc->cfg;
947 amp_scalefac_bands(gfc, cod_info, distort, xrpow, bRefine);
962 status = scale_bitcount(gfc, cod_info);
971 memset(&gfc->sv_qnt.pseudohalf[0], 0, sizeof(gfc->sv_qnt.pseudohalf));
978 status = inc_subblock_gain(gfc, cod_info, xrpow)
985 status = scale_bitcount(gfc, cod_info);
1011 outer_loop(lame_internal_flags * gfc, gr_info * const cod_info, const FLOAT * const l3_xmin, /* allowed distortion */
1015 SessionConfig_t const *const cfg = &gfc->cfg;
1029 (void) bin_search_StepSize(gfc, cod_info, targ_bits, ch, xrpow);
1061 if (gfc->sv_qnt.substep_shaping & 2) {
1077 if (gfc->sv_qnt.sfb21_extra) {
1087 if (balance_noise(gfc, &cod_info_w, distort, xrpow, bRefine) == 0)
1104 = count_bits(gfc, xrpow, &cod_info_w, &prev_noise)) > huff_bits
1114 = count_bits(gfc, xrpow, &cod_info_w, &prev_noise)) > best_part2_3_length
1193 else if (gfc->sv_qnt.substep_shaping & 1)
1194 trancate_smallspectrums(gfc, cod_info, l3_xmin, xrpow);
1214 iteration_finish_one(lame_internal_flags * gfc, int gr, int ch)
1216 SessionConfig_t const *const cfg = &gfc->cfg;
1217 III_side_info_t *const l3_side = &gfc->l3_side;
1222 best_scalefac_store(gfc, gr, ch, l3_side);
1227 best_huffman_divide(gfc, cod_info);
1231 ResvAdjust(gfc, cod_info);
1245 VBR_encode_granule(lame_internal_flags * gfc, gr_info * const cod_info, const FLOAT * const l3_xmin, /* allowed distortion of the scalefactor */
1255 int const sfb21_extra = gfc->sv_qnt.sfb21_extra;
1268 gfc->sv_qnt.sfb21_extra = 0;
1270 gfc->sv_qnt.sfb21_extra = sfb21_extra;
1272 over = outer_loop(gfc, cod_info, l3_xmin, xrpow, ch, this_bits);
1312 gfc->sv_qnt.sfb21_extra = sfb21_extra;
1341 get_framebits(lame_internal_flags * gfc, int frameBits[15])
1343 SessionConfig_t const *const cfg = &gfc->cfg;
1344 EncResult_t *const eov = &gfc->ov_enc;
1351 bitsPerFrame = getframebits(gfc);
1356 bitsPerFrame = getframebits(gfc);
1360 frameBits[i] = ResvFrameBegin(gfc, &bitsPerFrame);
1390 VBR_old_prepare(lame_internal_flags * gfc,
1396 SessionConfig_t const *const cfg = &gfc->cfg;
1397 EncResult_t *const eov = &gfc->ov_enc;
1405 avg = ResvFrameBegin(gfc, &avg) / cfg->mode_gr;
1407 get_framebits(gfc, frameBits);
1410 mxb = on_pe(gfc, pe, max_bits[gr], avg, gr, 0);
1411 if (gfc->ov_enc.mode_ext == MPG_MD_MS_LR) {
1412 ms_convert(&gfc->l3_side, gr);
1416 gr_info *const cod_info = &gfc->l3_side.tt[gr][ch];
1420 masking_lower_db = gfc->sv_qnt.mask_adjust - adjust;
1424 masking_lower_db = gfc->sv_qnt.mask_adjust_short - adjust;
1426 gfc->sv_qnt.masking_lower = pow(10.0, masking_lower_db * 0.1);
1428 init_outer_loop(gfc, cod_info);
1429 bands[gr][ch] = calc_xmin(gfc, &ratio[gr][ch], cod_info, l3_xmin[gr][ch]);
1454 bitpressure_strategy(lame_internal_flags const *gfc,
1457 SessionConfig_t const *const cfg = &gfc->cfg;
1461 gr_info const *const gi = &gfc->l3_side.tt[gr][ch];
1491 VBR_old_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
1494 SessionConfig_t const *const cfg = &gfc->cfg;
1495 EncResult_t *const eov = &gfc->ov_enc;
1506 III_side_info_t *const l3_side = &gfc->l3_side;
1508 analog_silence = VBR_old_prepare(gfc, pe, ms_ener_ratio, ratio,
1526 ret = init_xrpow(gfc, cod_info, xrpow);
1534 VBR_encode_granule(gfc, cod_info, l3_xmin[gr][ch], xrpow,
1539 if (gfc->sv_qnt.substep_shaping & 1) {
1540 trancate_smallspectrums(gfc, &l3_side->tt[gr][ch], l3_xmin[gr][ch], xrpow);
1562 bits = ResvFrameBegin(gfc, &mean_bits);
1567 bitpressure_strategy(gfc, l3_xmin, (const int (*)[2])min_bits, max_bits);
1574 iteration_finish_one(gfc, gr, ch);
1577 ResvFrameEnd(gfc, mean_bits);
1583 VBR_new_prepare(lame_internal_flags * gfc,
1588 SessionConfig_t const *const cfg = &gfc->cfg;
1589 EncResult_t *const eov = &gfc->ov_enc;
1598 (void) ResvFrameBegin(gfc, &avg);
1599 *max_resv = gfc->sv_enc.ResvMax;
1601 get_framebits(gfc, frameBits);
1606 maximum_framebits = ResvFrameBegin(gfc, &avg);
1608 *max_resv = gfc->sv_enc.ResvMax;
1612 (void) on_pe(gfc, pe, max_bits[gr], avg, gr, 0);
1613 if (gfc->ov_enc.mode_ext == MPG_MD_MS_LR) {
1614 ms_convert(&gfc->l3_side, gr);
1617 gr_info *const cod_info = &gfc->l3_side.tt[gr][ch];
1619 gfc->sv_qnt.masking_lower = pow(10.0, gfc->sv_qnt.mask_adjust * 0.1);
1621 init_outer_loop(gfc, cod_info);
1622 if (0 != calc_xmin(gfc, &ratio[gr][ch], cod_info, l3_xmin[gr][ch]))
1646 VBR_new_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
1649 SessionConfig_t const *const cfg = &gfc->cfg;
1650 EncResult_t *const eov = &gfc->ov_enc;
1658 III_side_info_t *const l3_side = &gfc->l3_side;
1668 analog_silence = VBR_new_prepare(gfc, pe, ratio, l3_xmin, frameBits, max_bits, &pad);
1676 if (0 == init_xrpow(gfc, cod_info, xrpow[gr][ch])) {
1685 used_bits = VBR_encode_frame(gfc, const_xrpow, const_l3_xmin, const_max_bits);
1724 int fff = getFramesize_kbps(gfc, used_bits);
1725 int hhh = getFramesize_kbps(gfc, MAX_BITS_PER_GRANULE * cfg->mode_gr);
1735 fullframebits = ResvFrameBegin(gfc, &mean_bits);
1740 ResvAdjust(gfc, cod_info);
1743 ResvFrameEnd(gfc, mean_bits);
1748 ERRORF(gfc, "INTERNAL ERROR IN VBR NEW CODE, please send bug report\n");
1768 calc_target_bits(lame_internal_flags * gfc,
1774 SessionConfig_t const *const cfg = &gfc->cfg;
1775 EncResult_t *const eov = &gfc->ov_enc;
1776 III_side_info_t const *const l3_side = &gfc->l3_side;
1783 max_frame_bits = ResvFrameBegin(gfc, &mean_bits);
1786 mean_bits = getframebits(gfc) - cfg->sideinfo_len * 8;
1790 if (gfc->sv_qnt.substep_shaping & 1)
1858 if (gfc->ov_enc.mode_ext == MPG_MD_MS_LR)
1920 ABR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
1923 SessionConfig_t const *const cfg = &gfc->cfg;
1924 EncResult_t *const eov = &gfc->ov_enc;
1932 III_side_info_t *const l3_side = &gfc->l3_side;
1936 calc_target_bits(gfc, pe, ms_ener_ratio, targ_bits, &analog_silence_bits, &max_frame_bits);
1942 if (gfc->ov_enc.mode_ext == MPG_MD_MS_LR) {
1943 ms_convert(&gfc->l3_side, gr);
1952 masking_lower_db = gfc->sv_qnt.mask_adjust - adjust;
1957 masking_lower_db = gfc->sv_qnt.mask_adjust_short - adjust;
1959 gfc->sv_qnt.masking_lower = pow(10.0, masking_lower_db * 0.1);
1964 init_outer_loop(gfc, cod_info);
1965 if (init_xrpow(gfc, cod_info, xrpow)) {
1970 ath_over = calc_xmin(gfc, &ratio[gr][ch], cod_info, l3_xmin);
1974 (void) outer_loop(gfc, cod_info, l3_xmin, xrpow, ch, targ_bits[gr][ch]);
1976 iteration_finish_one(gfc, gr, ch);
1986 if (ResvFrameBegin(gfc, &mean_bits) >= 0)
1991 ResvFrameEnd(gfc, mean_bits);
2010 CBR_iteration_loop(lame_internal_flags * gfc, const FLOAT pe[2][2],
2013 SessionConfig_t const *const cfg = &gfc->cfg;
2019 III_side_info_t *const l3_side = &gfc->l3_side;
2022 (void) ResvFrameBegin(gfc, &mean_bits);
2029 max_bits = on_pe(gfc, pe, targ_bits, mean_bits, gr, gr);
2031 if (gfc->ov_enc.mode_ext == MPG_MD_MS_LR) {
2032 ms_convert(&gfc->l3_side, gr);
2043 masking_lower_db = gfc->sv_qnt.mask_adjust - adjust;
2048 masking_lower_db = gfc->sv_qnt.mask_adjust_short - adjust;
2050 gfc->sv_qnt.masking_lower = pow(10.0, masking_lower_db * 0.1);
2054 init_outer_loop(gfc, cod_info);
2055 if (init_xrpow(gfc, cod_info, xrpow)) {
2060 (void) calc_xmin(gfc, &ratio[gr][ch], cod_info, l3_xmin);
2061 (void) outer_loop(gfc, cod_info, l3_xmin, xrpow, ch, targ_bits[ch]);
2064 iteration_finish_one(gfc, gr, ch);
2070 ResvFrameEnd(gfc, mean_bits);