[FFmpeg-devel] [PATCH] AMR-WB Decoder

Rob robert.swain
Mon Sep 20 22:27:25 CEST 2010


On 20 September 2010 22:18, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Sun, Sep 19, 2010 at 10:47:23AM +0100, M?ns Rullg?rd wrote:
>> "Ronald S. Bultje" <rsbultje at gmail.com> writes:
>> > 2010/9/18 Marcelo Galv?o P?voa <marspeoplester at gmail.com>:
>> >> On 18 September 2010 22:27, Ronald S. Bultje <rsbultje at gmail.com> wrote:
>> >>> What "random" number generator does the ref decoder use? Is it an algo
>> >>> that you can copy, or is it literally "random()"?
>> >>
>> >> It is simple:
>> >>
>> >> Word16 D_UTIL_random(Word16 *seed)
>> >> {
>> >> ? /*static Word16 seed = 21845;*/
>> >> ? *seed = (Word16)(*seed * 31821L + 13849L);
>> >> ? return(*seed);
>> >> }
>> >
>> > So why don't we use that also
>>
>> Using a better RNG probably gives better output, even if it deviates
>> from the reference.
>
> that is possible but not guranteed, a mathematically better rng might
> very well sound worse than a mathematically less random generator.
> ultimately if we (mostly mentor) consider this important than we should
> do a blind listening test.
> If people prefer one that should be used otherwise the simpler generator/
> bit identical generator should be used

When I was working on SBR for AAC and using noise generation, I
noticed no audible difference whatsoever between the faster
pseudo-random generators we use and the more robust ones so we ended
up using a table and using some very loosely random indexing as I
recall. I vote for whatever is fast.

Regards,
Rob



More information about the ffmpeg-devel mailing list