From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
To: "ext Brad Midgley" <bmidgley@gmail.com>
Cc: "Luiz Augusto von Dentz" <luiz.dentz@gmail.com>,
jaska.uimonen@nokia.com,
"ext Marcel Holtmann" <marcel@holtmann.org>,
"linux-bluetooth@vger.kernel.org"
<linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH] sbc: fix for overflow bug in quantization code
Date: Mon, 29 Dec 2008 12:22:00 +0200 [thread overview]
Message-ID: <200812291222.00855.siarhei.siamashka@nokia.com> (raw)
In-Reply-To: <200812221337.53781.siarhei.siamashka@nokia.com>
[-- Attachment #1: Type: text/plain, Size: 993 bytes --]
On Monday 22 December 2008 13:37:53 ext Siarhei Siamashka wrote:
[...]
> If we try to use more realistic settings similar to the recommended high
> quality settings from SBC specification (Table 4.7):
> ./sbcenc -j -S -b 51 BigBuckBunny-stereo.au >BigBuckBunny-stereo.sbc
>
> bluez 16-bit fixed point:
> stddev: 43.82 PSNR: 63.48 bytes:114491016/114491308
>
> bluez 32-bit fixed point:
> stddev: 43.78 PSNR: 63.49 bytes:114491016/114491308
>
> reference encoder:
> stddev: 43.37 PSNR: 63.57 bytes:114491016/114491308
[...]
> PS. I still wonder why there is a loss when compared to reference encoder.
> 32-bit fixed point version should be even more precise than single
> precision floating point. Maybe there could be another minor bug in the
> code, or it is just a random deviation and there could be a win for other
> audio files.
Found what's the matter. It's a problem in subbands selection criteria for
joint-stereo. The following patch fixes it.
Best regards,
Siarhei Siamashka
[-- Attachment #2: 0001-Fixed-subbands-selection-for-joint-stereo-in-SBC-enc.patch --]
[-- Type: text/x-diff, Size: 1312 bytes --]
>From c1e98a7130377c126b6cdf93812016eab9151729 Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
Date: Sat, 27 Dec 2008 19:36:14 +0200
Subject: [PATCH] Fixed subbands selection for joint-stereo in SBC encoder
Signed-off-by: Siarhei Siamashka <siarhei.siamashka@nokia.com>
---
sbc/sbc.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/sbc/sbc.c b/sbc/sbc.c
index a3a3ac1..d3dcd9a 100644
--- a/sbc/sbc.c
+++ b/sbc/sbc.c
@@ -1051,15 +1051,15 @@ static int sbc_pack_frame(uint8_t *data, struct sbc_frame *frame, size_t len)
}
/* decide whether to join this subband */
- if ((scalefactor[0][sb] + scalefactor[1][sb]) >
- (scalefactor_j[0] + scalefactor_j[1]) ) {
+ if ((frame->scale_factor[0][sb] +
+ frame->scale_factor[1][sb]) >
+ (scale_factor_j[0] +
+ scale_factor_j[1])) {
/* use joint stereo for this subband */
joint |= 1 << (frame->subbands - 1 - sb);
frame->joint |= 1 << sb;
frame->scale_factor[0][sb] = scale_factor_j[0];
frame->scale_factor[1][sb] = scale_factor_j[1];
- scalefactor[0][sb] = scalefactor_j[0];
- scalefactor[1][sb] = scalefactor_j[1];
for (blk = 0; blk < frame->blocks; blk++) {
frame->sb_sample_f[blk][0][sb] =
sb_sample_j[blk][0];
--
1.5.6.5
next prev parent reply other threads:[~2008-12-29 10:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 20:43 [PATCH] sbc: fix for overflow bug in quantization code Siarhei Siamashka
2008-12-18 22:59 ` Marcel Holtmann
2008-12-19 21:25 ` Siarhei Siamashka
2008-12-19 22:23 ` Luiz Augusto von Dentz
2008-12-19 22:51 ` Brad Midgley
2008-12-22 11:37 ` Siarhei Siamashka
2008-12-22 12:29 ` Marcel Holtmann
2008-12-22 17:50 ` Luiz Augusto von Dentz
2008-12-29 10:22 ` Siarhei Siamashka [this message]
2008-12-29 10:33 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200812291222.00855.siarhei.siamashka@nokia.com \
--to=siarhei.siamashka@nokia.com \
--cc=bmidgley@gmail.com \
--cc=jaska.uimonen@nokia.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox