lvqcl wrote:

I noticed that 32-bit flac (from git) compiled with GCC 4.8.3 or 4.9.0
calculates incorrect ReplayGain values. The most common value it produces
is -55.17 dB.

It seems that it's a bug in GCC: it cannot correctly calculate the value
of 'elems * (1. - RMS_PERCENTILE)' in the line

    upper = (Int32_t) ceil (elems * (1. - RMS_PERCENTILE));

Since elems * (1. - RMS_PERCENTILE) == elems * (1. - 0.95) ==
 == elems * 0.05 == elems / 20.0   it is possible to replace ceil(...)
with (elems / 20 + (elems % 20) ? 1 : 0).

Patch attached.

Attachment: rg_analysis.patch
Description: Binary data

_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to