Lines Matching defs:gfc
80 is_lame_internal_flags_valid(const lame_internal_flags * gfc)
82 if (gfc == NULL)
84 if (gfc->class_id != LAME_ID)
86 if (gfc->lame_init_params_successful <=0)
105 lame_init_params_ppflt(lame_internal_flags * gfc)
107 SessionConfig_t *const cfg = &gfc->cfg;
148 MSGF(gfc, "Warning: highpass filter disabled. " "highpass frequency too small\n");
190 gfc->sv_enc.amp_filter[band] = fc1 * fc2;
367 lame_internal_flags *const gfc = gfp->internal_flags;
368 SessionConfig_t *const cfg = &gfc->cfg;
441 if (gfc->sv_qnt.substep_shaping == 0)
442 gfc->sv_qnt.substep_shaping = 2;
454 if (gfc->sv_qnt.substep_shaping == 0)
455 gfc->sv_qnt.substep_shaping = 2;
467 if (gfc->sv_qnt.substep_shaping == 0)
468 gfc->sv_qnt.substep_shaping = 2;
545 lame_internal_flags *gfc;
551 gfc = gfp->internal_flags;
552 if (gfc == 0)
555 if (is_lame_internal_flags_valid(gfc))
559 gfc->class_id = LAME_ID;
560 gfc->lame_init_params_successful = 0; /* will be set to one, when we get through until the end */
572 cfg = &gfc->cfg;
580 if (gfc->pinfo != NULL)
584 gfc->report_msg = gfp->report.msgf;
585 gfc->report_dbg = gfp->report.debugf;
586 gfc->report_err = gfp->report.errorf;
589 gfc->CPU_features.AMD_3DNow = has_3DNow();
591 gfc->CPU_features.AMD_3DNow = 0;
594 gfc->CPU_features.MMX = has_MMX();
596 gfc->CPU_features.MMX = 0;
599 gfc->CPU_features.SSE = has_SSE();
600 gfc->CPU_features.SSE2 = has_SSE2();
603 gfc->CPU_features.SSE = 0;
604 gfc->CPU_features.SSE2 = 0;
910 lame_init_params_ppflt(gfc);
921 gfc->ov_enc.bitrate_index = 0;
925 gfc->ov_enc.bitrate_index = BitrateIndex(gfp->brate, cfg->version, cfg->samplerate_out);
926 if (gfc->ov_enc.bitrate_index <= 0) {
931 gfc->ov_enc.bitrate_index = 8;
936 gfc->ov_enc.bitrate_index = 1;
939 init_bit_stream_w(gfc);
943 gfc->scalefac_band.l[i] = sfBandIndex[j].l[i];
946 int const size = (gfc->scalefac_band.l[22] - gfc->scalefac_band.l[21]) / PSFB21;
947 int const start = gfc->scalefac_band.l[21] + i * size;
948 gfc->scalefac_band.psfb21[i] = start;
950 gfc->scalefac_band.psfb21[PSFB21] = 576;
953 gfc->scalefac_band.s[i] = sfBandIndex[j].s[i];
956 int const size = (gfc->scalefac_band.s[13] - gfc->scalefac_band.s[12]) / PSFB12;
957 int const start = gfc->scalefac_band.s[12] + i * size;
958 gfc->scalefac_band.psfb12[i] = start;
960 gfc->scalefac_band.psfb12[PSFB12] = 192;
975 gfc->sv_enc.pefirbuf[k] = 700 * cfg->mode_gr * cfg->channels_out;
1011 gfc->sv_qnt.sfb21_extra = 0;
1013 gfc->sv_qnt.sfb21_extra = (cfg->samplerate_out > 44000);
1025 gfc->sv_qnt.sfb21_extra = 0;
1027 gfc->sv_qnt.sfb21_extra = (cfg->samplerate_out > 44000);
1048 gfc->sv_qnt.sfb21_extra = 0;
1066 gfc->sv_qnt.mask_adjust = gfp->maskingadjust;
1067 gfc->sv_qnt.mask_adjust_short = gfp->maskingadjust_short;
1071 gfc->sv_qnt.mask_adjust += gfp->tune_value_a;
1072 gfc->sv_qnt.mask_adjust_short += gfp->tune_value_a;
1120 gfc->sv_qnt.substep_shaping = gfp->substep_shaping;
1135 gfc->ATH->use_adjust = 3;
1137 gfc->ATH->use_adjust = gfp->athaa_type;
1141 gfc->ATH->aa_sensitivity_p = pow(10.0, gfp->athaa_sensitivity / -10.0);
1271 gfc->sv_enc.slot_lag = gfc->sv_enc.frac_SpF = 0;
1273 gfc->sv_enc.slot_lag = gfc->sv_enc.frac_SpF
1278 iteration_init(gfc);
1291 if (InitGainAnalysis(gfc->sv_rpg.rgdata, cfg->samplerate_out) == INIT_GAIN_ANALYSIS_ERROR) {
1302 if (gfc->hip) {
1303 hip_decode_exit(gfc->hip);
1305 gfc->hip = hip_decode_init();
1307 hip_set_errorf(gfc->hip, gfp->report.errorf);
1308 hip_set_debugf(gfc->hip, gfp->report.debugf);
1309 hip_set_msgf(gfc->hip, gfp->report.msgf);
1313 gfc->lame_init_params_successful = 1;
1336 lame_internal_flags const *const gfc = gfp->internal_flags;
1337 SessionConfig_t const *const cfg = &gfc->cfg;
1341 MSGF(gfc, "LAME %s %s (%s)\n", get_lame_version(), get_lame_os_bitness(), get_lame_url());
1344 MSGF(gfc, "warning: alpha versions should be used for testing only\n");
1346 if (gfc->CPU_features.MMX
1347 || gfc->CPU_features.AMD_3DNow || gfc->CPU_features.SSE || gfc->CPU_features.SSE2) {
1351 if (gfc->CPU_features.AMD_3DNow) {
1354 else if (gfc->CPU_features.SSE) {
1364 if (gfc->CPU_features.MMX) {
1371 if (gfc->CPU_features.AMD_3DNow) {
1374 if (gfc->CPU_features.SSE) {
1381 if (gfc->CPU_features.SSE2) {
1384 MSGF(gfc, "CPU features: %s\n", text);
1388 MSGF(gfc, "Autoconverting from stereo to mono. Setting encoding to mono mode.\n");
1392 MSGF(gfc, "Resampling: input %g kHz output %g kHz\n",
1397 MSGF(gfc,
1401 MSGF(gfc,
1406 MSGF(gfc, "polyphase lowpass filter disabled\n");
1410 MSGF(gfc, "Warning: many decoders cannot handle free format bitstreams\n");
1412 MSGF(gfc,
1427 lame_internal_flags const *const gfc = gfp->internal_flags;
1428 SessionConfig_t const *const cfg = &gfc->cfg;
1433 MSGF(gfc, "\nmisc:\n\n");
1435 MSGF(gfc, "\tscaling: %g\n", gfp->scale);
1436 MSGF(gfc, "\tch0 (left) scaling: %g\n", gfp->scale_left);
1437 MSGF(gfc, "\tch1 (right) scaling: %g\n", gfp->scale_right);
1449 MSGF(gfc, "\thuffman search: %s\n", pc);
1450 MSGF(gfc, "\texperimental Y=%d\n", gfp->experimentalY);
1451 MSGF(gfc, "\t...\n");
1455 MSGF(gfc, "\nstream format:\n\n");
1470 MSGF(gfc, "\tMPEG-%s Layer 3\n", pc);
1491 MSGF(gfc, "\t%d channel - %s\n", cfg->channels_out, pc);
1501 MSGF(gfc, "\tpadding: %s\n", pc);
1511 MSGF(gfc, "\tconstant bitrate - CBR %s\n", pc);
1514 MSGF(gfc, "\tvariable bitrate - ABR %s\n", pc);
1517 MSGF(gfc, "\tvariable bitrate - VBR rh %s\n", pc);
1520 MSGF(gfc, "\tvariable bitrate - VBR mt %s\n", pc);
1523 MSGF(gfc, "\tvariable bitrate - VBR mtrh %s\n", pc);
1526 MSGF(gfc, "\t ?? oops, some new one ?? \n");
1530 MSGF(gfc, "\tusing LAME Tag\n");
1531 MSGF(gfc, "\t...\n");
1535 MSGF(gfc, "\npsychoacoustic:\n\n");
1555 MSGF(gfc, "\tusing short blocks: %s\n", pc);
1556 MSGF(gfc, "\tsubblock gain: %d\n", cfg->subblock_gain);
1557 MSGF(gfc, "\tadjust masking: %g dB\n", gfc->sv_qnt.mask_adjust);
1558 MSGF(gfc, "\tadjust masking short: %g dB\n", gfc->sv_qnt.mask_adjust_short);
1559 MSGF(gfc, "\tquantization comparison: %d\n", cfg->quant_comp);
1560 MSGF(gfc, "\t ^ comparison short blocks: %d\n", cfg->quant_comp_short);
1561 MSGF(gfc, "\tnoise shaping: %d\n", cfg->noise_shaping);
1562 MSGF(gfc, "\t ^ amplification: %d\n", cfg->noise_shaping_amp);
1563 MSGF(gfc, "\t ^ stopping: %d\n", cfg->noise_shaping_stop);
1572 MSGF(gfc, "\tATH: %s\n", pc);
1573 MSGF(gfc, "\t ^ type: %d\n", cfg->ATHtype);
1574 MSGF(gfc, "\t ^ shape: %g%s\n", cfg->ATHcurve, " (only for type 4)");
1575 MSGF(gfc, "\t ^ level adjustement: %g dB\n", cfg->ATH_offset_db);
1576 MSGF(gfc, "\t ^ adjust type: %d\n", gfc->ATH->use_adjust);
1577 MSGF(gfc, "\t ^ adjust sensitivity power: %f\n", gfc->ATH->aa_sensitivity_p);
1579 MSGF(gfc, "\texperimental psy tunings by Naoki Shibata\n");
1580 MSGF(gfc, "\t adjust masking bass=%g dB, alto=%g dB, treble=%g dB, sfb21=%g dB\n",
1581 10 * log10(gfc->sv_qnt.longfact[0]),
1582 10 * log10(gfc->sv_qnt.longfact[7]),
1583 10 * log10(gfc->sv_qnt.longfact[14]), 10 * log10(gfc->sv_qnt.longfact[21]));
1586 MSGF(gfc, "\tusing temporal masking effect: %s\n", pc);
1587 MSGF(gfc, "\tinterchannel masking ratio: %g\n", cfg->interChRatio);
1588 MSGF(gfc, "\t...\n");
1592 MSGF(gfc, "\n");
1598 save_gain_values(lame_internal_flags * gfc)
1600 SessionConfig_t const *const cfg = &gfc->cfg;
1601 RpgStateVar_t const *const rsv = &gfc->sv_rpg;
1602 RpgResult_t *const rov = &gfc->ov_rpg;
1629 update_inbuffer_size(lame_internal_flags * gfc, const int nsamples)
1631 EncStateVar_t *const esv = &gfc->sv_enc;
1653 ERRORF(gfc, "Error: can't allocate in_buffer buffer\n");
1675 /*mf_needed = Max(mf_needed, 286 + 576 * (1 + gfc->mode_gr)); */
1705 lame_encode_buffer_sample_t(lame_internal_flags * gfc,
1708 SessionConfig_t const *const cfg = &gfc->cfg;
1709 EncStateVar_t *const esv = &gfc->sv_enc;
1716 if (gfc->class_id != LAME_ID)
1725 mp3out = copy_buffer(gfc, mp3buf, buf_size, 0);
1749 fill_buffer(gfc, mfbuf, &in_buffer_ptr[0], nsamples, &n_in, &n_out);
1754 (gfc->sv_rpg.rgdata, &mfbuf[0][esv->mf_size], &mfbuf[1][esv->mf_size], n_out,
1770 /* lame_encode_flush may have set gfc->mf_sample_to_encode to 0
1793 ret = lame_encode_mp3_frame(gfc, mfbuf[0], mfbuf[1], mp3buf, buf_size);
1822 lame_copy_inbuffer(lame_internal_flags* gfc,
1826 SessionConfig_t const *const cfg = &gfc->cfg;
1827 EncStateVar_t *const esv = &gfc->sv_enc;
1880 lame_internal_flags *const gfc = gfp->internal_flags;
1881 if (is_lame_internal_flags_valid(gfc)) {
1882 SessionConfig_t const *const cfg = &gfc->cfg;
1887 if (update_inbuffer_size(gfc, nsamples) != 0) {
1895 lame_copy_inbuffer(gfc, buffer_l, buffer_r, nsamples, pcm_type, aa, norm);
1901 lame_copy_inbuffer(gfc, buffer_l, buffer_l, nsamples, pcm_type, aa, norm);
1904 return lame_encode_buffer_sample_t(gfc, nsamples, mp3buf, mp3buf_size);
2039 lame_internal_flags *const gfc = gfp->internal_flags;
2040 if (is_lame_internal_flags_valid(gfc)) {
2041 flush_bitstream(gfc);
2045 rc = copy_buffer(gfc, mp3buffer, mp3buffer_size, 1);
2046 save_gain_values(gfc);
2059 lame_internal_flags *const gfc = gfp->internal_flags;
2060 if (gfc != 0) {
2061 gfc->ov_enc.frame_number = 0;
2067 memset(gfc->ov_enc.bitrate_channelmode_hist, 0,
2068 sizeof(gfc->ov_enc.bitrate_channelmode_hist));
2069 memset(gfc->ov_enc.bitrate_blocktype_hist, 0,
2070 sizeof(gfc->ov_enc.bitrate_blocktype_hist));
2072 gfc->ov_rpg.PeakSample = 0.0;
2075 if (gfc->cfg.write_lame_tag)
2117 lame_internal_flags *gfc;
2136 gfc = gfp->internal_flags;
2137 if (!is_lame_internal_flags_valid(gfc)) {
2140 cfg = &gfc->cfg;
2141 esv = &gfc->sv_enc;
2164 gfc->ov_enc.encoder_padding = end_padding;
2168 int const frame_num = gfc->ov_enc.frame_number;
2189 int const new_frames = gfc->ov_enc.frame_number - frame_num;
2207 flush_bitstream(gfc);
2208 imp3 = copy_buffer(gfc, mp3buffer, mp3buffer_size_remaining, 1);
2209 save_gain_values(gfc);
2225 imp3 = copy_buffer(gfc, mp3buffer, mp3buffer_size_remaining, 0);
2234 int const ed = gfc->ov_enc.encoder_delay;
2235 int const ep = gfc->ov_enc.encoder_padding;
2236 int const ns = (gfc->ov_enc.frame_number * pcm_samples_per_frame) - (ed + ep);
2239 MSGF(gfc, "frames=%d\n", gfc->ov_enc.frame_number);
2240 MSGF(gfc, "pcm_samples_per_frame=%d\n", pcm_samples_per_frame);
2241 MSGF(gfc, "encoder delay=%d\n", ed);
2242 MSGF(gfc, "encoder padding=%d\n", ep);
2243 MSGF(gfc, "sample count=%d (%g)\n", ns, cfg->samplerate_in * duration);
2244 MSGF(gfc, "duration=%g sec\n", duration);
2263 lame_internal_flags *const gfc = gfp->internal_flags;
2265 if (NULL == gfc || gfc->class_id != LAME_ID) {
2268 if (NULL != gfc) {
2269 gfc->lame_init_params_successful = 0;
2270 gfc->class_id = 0;
2271 /* this routine will free all malloc'd data in gfc, and then free gfc: */
2272 freegfc(gfc);
2310 lame_internal_flags *gfc;
2315 gfc = gfp->internal_flags;
2316 if (!is_lame_internal_flags_valid(gfc)) {
2319 cfg = &gfc->cfg;
2332 ERRORF(gfc, "Error: could not update LAME tag.\n");
2336 ERRORF(gfc, "Error: could not update LAME tag, file not seekable.\n");
2340 ERRORF(gfc, "Error: could not update LAME tag, file not readable.\n");
2348 lame_init_internal_flags(lame_internal_flags* gfc)
2350 if (NULL == gfc)
2353 gfc->cfg.vbr_min_bitrate_index = 1; /* not 0 ????? */
2354 gfc->cfg.vbr_max_bitrate_index = 13; /* not 14 ????? */
2355 gfc->cfg.decode_on_the_fly = 0;
2356 gfc->cfg.findReplayGain = 0;
2357 gfc->cfg.findPeakSample = 0;
2359 gfc->sv_qnt.OldValue[0] = 180;
2360 gfc->sv_qnt.OldValue[1] = 180;
2361 gfc->sv_qnt.CurrentStep[0] = 4;
2362 gfc->sv_qnt.CurrentStep[1] = 4;
2363 gfc->sv_qnt.masking_lower = 1;
2375 gfc->sv_enc.mf_samples_to_encode = ENCDELAY + POSTDELAY;
2376 gfc->sv_enc.mf_size = ENCDELAY - MDCTDELAY; /* we pad input with this many 0's */
2377 gfc->ov_enc.encoder_padding = 0;
2378 gfc->ov_enc.encoder_delay = ENCDELAY;
2380 gfc->ov_rpg.RadioGain = 0;
2381 gfc->ov_rpg.noclipGainChange = 0;
2382 gfc->ov_rpg.noclipScale = -1.0;
2384 gfc->ATH = lame_calloc(ATH_t, 1);
2385 if (NULL == gfc->ATH)
2388 gfc->sv_rpg.rgdata = lame_calloc(replaygain_t, 1);
2389 if (NULL == gfc->sv_rpg.rgdata) {
2539 lame_internal_flags const *const gfc = gfp->internal_flags;
2540 if (is_lame_internal_flags_valid(gfc)) {
2541 SessionConfig_t const *const cfg = &gfc->cfg;
2561 lame_internal_flags const *const gfc = gfp->internal_flags;
2562 if (is_lame_internal_flags_valid(gfc)) {
2563 SessionConfig_t const *const cfg = &gfc->cfg;
2564 EncResult_t const *const eov = &gfc->ov_enc;
2587 lame_internal_flags const *const gfc = gfp->internal_flags;
2588 if (is_lame_internal_flags_valid(gfc)) {
2589 EncResult_t const *const eov = &gfc->ov_enc;
2605 lame_internal_flags const *const gfc = gfp->internal_flags;
2606 if (is_lame_internal_flags_valid(gfc)) {
2607 SessionConfig_t const *const cfg = &gfc->cfg;
2608 EncResult_t const *const eov = &gfc->ov_enc;
2637 lame_internal_flags const *const gfc = gfp->internal_flags;
2638 if (is_lame_internal_flags_valid(gfc)) {
2639 EncResult_t const *const eov = &gfc->ov_enc;
2655 lame_internal_flags const *const gfc = gfp->internal_flags;
2656 if (is_lame_internal_flags_valid(gfc)) {
2657 SessionConfig_t const *const cfg = &gfc->cfg;
2658 EncResult_t const *const eov = &gfc->ov_enc;