[FFmpeg-devel] [PATCH] Fix for issue #829 (" ffvorbis?outputs?crackling sound, libvorbis plays fine")

Michael Niedermayer michaelni
Wed May 13 12:33:22 CEST 2009


On Wed, May 13, 2009 at 09:49:19AM +0300, Siarhei Siamashka wrote:
> On Tuesday 12 May 2009, Michael Niedermayer wrote:
> > On Mon, May 11, 2009 at 08:41:40PM +0200, Reimar D?ffinger wrote:
> > > On Mon, May 11, 2009 at 07:17:49PM +0200, Michael Niedermayer wrote:
> > > > On Mon, May 11, 2009 at 11:08:56AM +0300, Siarhei Siamashka wrote:
> > > > > On Monday 11 May 2009, Michael Niedermayer wrote:
> > > > > > On Sun, May 10, 2009 at 12:06:54PM +0300, Siarhei Siamashka wrote:
> > > > >
> > > > > [...]
> > > > >
> > > > > > >  libavcodec/vorbis_dec.c |   10 +++++-----
> > > > > > >  1 files changed, 5 insertions(+), 5 deletions(-)
> > > > > > >
> > > > > > > diff --git a/libavcodec/vorbis_dec.c b/libavcodec/vorbis_dec.c
> > > > > > > index 49d6e8e..f626bce 100644
> > > > > > > --- a/libavcodec/vorbis_dec.c
> > > > > > > +++ b/libavcodec/vorbis_dec.c
> > > > > > > @@ -1039,16 +1039,16 @@ static uint_fast8_t
> > > > > > > vorbis_floor0_decode(vorbis_context *vc, float
> > > > > > > two_cos_w=2.0f*cos(wstep*iter_cond); // needed all times
> > > > > > >
> > > > > > >                  /* similar part for the q and p products */
> > > > > > > -                for(j=0;j<order;j+=2) {
> > > > > > > -                    q *= lsp[j]  -two_cos_w;
> > > > > > > -                    p *= lsp[j+1]-two_cos_w;
> > > > > > > +                for(j=1;j<order;j+=2) {
> > > > > > > +                    q *= lsp[j-1]-two_cos_w;
> > > > > > > +                    p *= lsp[j]  -two_cos_w;
> > > > > >
> > > > > > am i missing something or is all what you change equivalent to
> > > > > > for order-1 vs. for order ?
> > > > >
> > > > > You are not missing anything. This has exactly the same effect. I can
> > > > > change the patch to use 'order-1' if you like it better this way.
> > > >
> > > > if changing a single line does the trick id prefer that
> > >
> > > And also check if
> > >
> > > > for(j=0;j+1<order;j+=2) {
> >
> > thats even better yes
> 
> And this even better patch is attached, hopefully for the final review.
> 
> -- 
> Best regards,
> Siarhei Siamashka

>  vorbis_dec.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> f9747ab9f83ab2fd8fdbaf337858e56be57a6cef  0001-Fix-for-issue-829-ffvorbis-outputs-crackling-soun.patch
> From 00b2cdf54c67b65538a97a5c218b37a804e950c6 Mon Sep 17 00:00:00 2001
> From: Siarhei Siamashka <siarhei.siamashka at gmail.com>
> Date: Tue, 12 May 2009 09:41:46 +0300
> Subject: [PATCH] Fix for issue #829 ("ffvorbis outputs crackling sound, libvorbis plays fine")
> 
> This was off-by-one bug which affects floor0 encoded files. Tracked down
> by valgrind (was reported as the use of uninitialized memory).
> 
> With this patch applied, tiny_psnr now reports the following when ffvorbis
> is compared to libvorbis-1.0beta4 output for 'lsp-test.ogg' sample:
> stddev:    0.76 PSNR: 98.69 bytes:  3498380/  3498452
> 
> Output from libvorbis-1.2 is substantially different:
> stddev:  132.57 PSNR: 53.87 bytes:  3498424/  3498496
> ---
>  libavcodec/vorbis_dec.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)

patch looks ok

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090513/e363c0cc/attachment.pgp>



More information about the ffmpeg-devel mailing list