In the following dataset, ./current is a binary without this PR and #700, ./mulbits is without this PR but with #700 and ./betterbps is including this PR. Testdata is the same as for #700: an upsampled set of short samples. Results are most pronounced for -5p on 24-bit material, see emphasis.
Pls, fix max value by bits count to:
FLAC__uint64 max_abs_sample_value = (((FLAC__uint64)1) << subframe_bps) - 1;
Without types: (1 << subframe_bps) - 1
This takes #700 one step further
In the following dataset,
./current
is a binary without this PR and #700,./mulbits
is without this PR but with #700 and./betterbps
is including this PR. Testdata is the same as for #700: an upsampled set of short samples. Results are most pronounced for-5p
on 24-bit material, see emphasis../betterbps -5 -j2 -c ../Rarewares-16bit.flac
./mulbits -5 -j2 -c ../Rarewares-16bit.flac
./current -5 -j2 -c ../Rarewares-16bit.flac
./betterbps -5p -j2 -c ../Rarewares-16bit.flac
./mulbits -5p -j2 -c ../Rarewares-16bit.flac
./current -5p -j2 -c ../Rarewares-16bit.flac
./betterbps -8 -j2 -c ../Rarewares-16bit.flac
./mulbits -8 -j2 -c ../Rarewares-16bit.flac
./current -8 -j2 -c ../Rarewares-16bit.flac
./betterbps -8p -j2 -c ../Rarewares-16bit.flac
./mulbits -8p -j2 -c ../Rarewares-16bit.flac
./current -8p -j2 -c ../Rarewares-16bit.flac
./betterbps -5 -j2 -c ../Rarewares-24bit.flac
./mulbits -5 -j2 -c ../Rarewares-24bit.flac
./current -5 -j2 -c ../Rarewares-24bit.flac
./betterbps -5p -j2 -c ../Rarewares-24bit.flac
./mulbits -5p -j2 -c ../Rarewares-24bit.flac
./current -5p -j2 -c ../Rarewares-24bit.flac
./betterbps -8 -j2 -c ../Rarewares-24bit.flac
./mulbits -8 -j2 -c ../Rarewares-24bit.flac
./current -8 -j2 -c ../Rarewares-24bit.flac
./betterbps -8p -j2 -c ../Rarewares-24bit.flac
./mulbits -8p -j2 -c ../Rarewares-24bit.flac
./current -8p -j2 -c ../Rarewares-24bit.flac