[beast/devel: 3/28] BSE: FLAC handle: Adjusted data scaling to work for 24 bit flac, too.
- From: Tim Janik <timj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [beast/devel: 3/28] BSE: FLAC handle: Adjusted data scaling to work for 24 bit flac, too.
- Date: Sat, 4 May 2013 03:52:29 +0000 (UTC)
commit 3ccfe006d3dd496a7932be6c89ca44cc6afdd515
Author: Stefan Westerfeld <stefan space twc de>
Date: Tue Aug 17 13:44:02 2010 +0200
BSE: FLAC handle: Adjusted data scaling to work for 24 bit flac, too.
bse/bsedatahandle-flac.cc | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/bse/bsedatahandle-flac.cc b/bse/bsedatahandle-flac.cc
index 43f2c01..65ccf49 100644
--- a/bse/bsedatahandle-flac.cc
+++ b/bse/bsedatahandle-flac.cc
@@ -50,8 +50,11 @@ private:
DataHandleFlac *dh = static_cast<DataHandleFlac *> (client_data);
dh->m_buffer_start = frame->header.number.sample_number;
dh->m_buffer.clear();
+
+ // scale with 1/32768 for 16 bit, 1/(2^23) for 24 bit
+ double scale = 2.0 / (1 << frame->header.bits_per_sample);
for (int i = 0; i < frame->header.blocksize; i++)
- dh->m_buffer.push_back (buffer[0][i] * (1 / 32768.0));
+ dh->m_buffer.push_back (buffer[0][i] * scale);
return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]