[FFmpeg-devel] ffvorbis, inverted output

Robert Swain robert.swain
Sun Sep 28 16:17:29 CEST 2008


2008/9/28 Michael Niedermayer <michaelni at gmx.at>:
> On Sun, Sep 28, 2008 at 03:00:39AM +0300, Siarhei Siamashka wrote:
>> On Saturday 27 September 2008, Siarhei Siamashka wrote:
>> > On Sunday 14 September 2008, Michael Niedermayer wrote:
>> > > On Sun, Sep 14, 2008 at 04:50:59AM +0300, Siarhei Siamashka wrote:
>> > > > Hi,
>> > > >
>> > > > I tried to do PSNR comparison of libvorbis/ffvorbis/tremor and noticed
>> > > > that output from ffvorbis is actually inverted (ex. output 0xFFFF in
>> > > > libvorbis corresponds to 0x0001 in ffvorbis and so on) when compared to
>> > > > the output from the other decoders.
>> > > >
>> > > > Should this be fixed?
>> > >
>> > > yes, if all (/most) other vorbis decoders match and we differ from that
>> >
>> > Can these two patches be used as a fix? The first one adds support for
>> > scaled imdct output. The second one inverts output of the decoder (to match
>> > libvorbis and tremor) using negative scale factor.
>> >
>> > As additional bonus, 'copy_normalize' function from vorbis decoder is
>> > simplified. Though I get some inconsistent benchmark results (performance
>> > difference is negligible with one or another variant getting ahead
>> > randomly) and would like someone to confirm that there is no performance
>> > regression.
>> >
>> > Getting scaled imdct output involves sqrt operation and scale factor uses
>> > odd power of two, so there is some difference in PSNR compared to SVN
>> > trunk (taking inversion into account):
>> >
>> > stddev:    0.02 PSNR:127.97 bytes: 22057216/ 22057216
>>
>
>> Oops, an extra patch to ensure tables alignment is also needed. It is
>> attached.
>
> patch ok

Just 03_vorbis_vwin_tables_align.diff or all? I guess you meant just 03.

Rob




More information about the ffmpeg-devel mailing list