int lame_get_ReplayGain_decode( const lame_global_flags* gfp ) { if (lame_get_decode_on_the_fly(gfp) > 0 && lame_get_findReplayGain(gfp) > 0) return 1; else return 0; }
static void print_trailing_info(lame_global_flags * gf) { if (lame_get_bWriteVbrTag(gf)) console_printf("done\n"); if (lame_get_findReplayGain(gf)) { int RadioGain = lame_get_RadioGain(gf); console_printf("ReplayGain: %s%.1fdB\n", RadioGain > 0 ? "+" : "", ((float) RadioGain) / 10.0); if (RadioGain > 0x1FE || RadioGain < -0x1FE) error_printf ("WARNING: ReplayGain exceeds the -51dB to +51dB range. Such a result is too\n" " high to be stored in the header.\n"); } /* if (the user requested printing info about clipping) and (decoding on the fly has actually been performed) */ if (print_clipping_info && lame_get_decode_on_the_fly(gf)) { float noclipGainChange = (float) lame_get_noclipGainChange(gf) / 10.0f; float noclipScale = lame_get_noclipScale(gf); if (noclipGainChange > 0.0) { /* clipping occurs */ console_printf ("WARNING: clipping occurs at the current gain. Set your decoder to decrease\n" " the gain by at least %.1fdB or encode again ", noclipGainChange); /* advice the user on the scale factor */ if (noclipScale > 0) { console_printf("using --scale %.2f\n", noclipScale); console_printf(" or less (the value under --scale is approximate).\n"); } else { /* the user specified his own scale factor. We could suggest * the scale factor of (32767.0/gfp->PeakSample)*(gfp->scale) * but it's usually very inaccurate. So we'd rather advice him to * disable scaling first and see our suggestion on the scale factor then. */ console_printf("using --scale <arg>\n" " (For a suggestion on the optimal value of <arg> encode\n" " with --scale 1 first)\n"); } } else { /* no clipping */ if (noclipGainChange > -0.1) console_printf ("\nThe waveform does not clip and is less than 0.1dB away from full scale.\n"); else console_printf ("\nThe waveform does not clip and is at least %.1fdB away from full scale.\n", -noclipGainChange); } } }
int lame_get_findPeakSample( const lame_global_flags* gfp ) { return lame_get_decode_on_the_fly(gfp); }