[FFmpeg-devel] Deterministic Noise Generation option for audio codecs that involve noise generation (RNG)

Michael Niedermayer michaelni at gmx.at
Sat Sep 7 21:07:20 CEST 2013

On Sat, Sep 07, 2013 at 11:30:06AM +0200, Reimar Döffinger wrote:
> On Sat, Sep 07, 2013 at 01:21:16AM -0700, Jonathan Campbell wrote:
> > I had written a hack for FFMPEG 1.0.1 where by setting a flag, if
> > noise bands are present, the codec seeds the RNG with a checksum of
> > the AC-3 or AAC frame and then proceeds to decode as normal. Then,
> > decoding the same AC-3 frames always results in the same PCM output,
> The way I understand this, this means that a file that contains
> the same AC-3 data over and over will then generate a constantly
> repeating noise pattern.

> That sounds like it might be worse than just switching of noise
> generation, at least in some cases.

i doubt a bit that ac3 frames repeat exactly bit by bit unless
they are entirely silent, and then i doubt that significnatly changing
the energy of the bands (noise -> silence) is less noticeable than
repeating noise

> If possible it should at least get a frame number as input, then

the user application could be give the option to set a per frame seed
and that could then be a timestamp or frame number. Not setting it
could then mean use the current "Non deterministic mode" and
another constant could mean use the input bitstream as seed

> it is at least possible to avoid that two consecutive frames generate
> exactly the same noise, though admittedly an application might have a hard
> time always knowing the exact frame number.

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

DNS cache poisoning attacks, popular search engine, Google internet authority
dont be evil, please
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130907/3ff123f6/attachment.asc>

More information about the ffmpeg-devel mailing list