[FFmpeg-devel] [Issue 664] [PATCH] Fix AAC PNS Scaling

Michael Niedermayer michaelni
Wed Oct 8 04:39:52 CEST 2008


On Tue, Oct 07, 2008 at 09:12:41PM -0400, Alex Converse wrote:
> On Tue, Oct 7, 2008 at 8:55 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Tue, Oct 07, 2008 at 05:23:56PM -0400, Alex Converse wrote:
> >> On Tue, Oct 7, 2008 at 5:01 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> > On Tue, Oct 07, 2008 at 04:40:20PM -0400, Alex Converse wrote:
> >> >> On Tue, Oct 7, 2008 at 4:27 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >> > On Tue, Oct 07, 2008 at 03:23:50PM -0400, Alex Converse wrote:
> >> >> >> On Tue, Oct 7, 2008 at 1:01 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >> >> > On Mon, Oct 06, 2008 at 11:30:56PM -0400, Alex Converse wrote:
> >> >> >> >> On Mon, Oct 6, 2008 at 10:20 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> >> >> >> > On Mon, Oct 06, 2008 at 09:52:51PM -0400, Alex Converse wrote:
> >> >> >> >> >> On Mon, Oct 6, 2008 at 9:39 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > [...]
> >> >> >> I'm using the Carmack-Lomont 1/sqrtf based on the following benchmark:
> >> >> >>
> >> >> >> With math.h sqrtf
> >> >> >> alex at Barcelona:~/Projects/ffmpeg/14496-4$ ../ffmpeg/ffmpeg -i
> >> >> >> mpeg4audio-conformance/compressedMp4/al18_48.mp4 -f null -
> >> >> >> FFmpeg version SVN-r15584, Copyright (c) 2000-2008 Fabrice Bellard, et al.
> >> >> >>   configuration: --enable-gpl
> >> >> >>   libavutil     49.11. 0 / 49.11. 0
> >> >> >>   libavcodec    52. 0. 0 / 52. 0. 0
> >> >> >>   libavformat   52.22. 1 / 52.22. 1
> >> >> >>   libavdevice   52. 1. 0 / 52. 1. 0
> >> >> >>   built on Oct  7 2008 14:26:51, gcc: 4.3.2
> >> >> >> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> >> >> >> 'mpeg4audio-conformance/compressedMp4/al18_48.mp4':
> >> >> >>   Duration: 00:01:00.01, start: 0.000000, bitrate: 67 kb/s
> >> >> >>     Stream #0.0(und): Audio: aac, 48000 Hz, mono, s16
> >> >> >> Output #0, null, to 'pipe:':
> >> >> >>     Stream #0.0(und): Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
> >> >> >> Stream mapping:
> >> >> >>   Stream #0.0 -> #0.0
> >> >> >> Press [q] to stop encoding
> >> >> >> 253170 dezicycles in sqrtf, 1 runs, 0 skips
> >> >> >> 245160 dezicycles in sqrtf, 2 runs, 0 skips
> >> >> >> 240997 dezicycles in sqrtf, 4 runs, 0 skips
> >> >> >> 238050 dezicycles in sqrtf, 8 runs, 0 skips
> >> >> >> 236553 dezicycles in sqrtf, 16 runs, 0 skips
> >> >> >> 235676 dezicycles in sqrtf, 32 runs, 0 skips
> >> >> >> 234884 dezicycles in sqrtf, 64 runs, 0 skips
> >> >> >> 234129 dezicycles in sqrtf, 128 runs, 0 skips
> >> >> >> 234115 dezicycles in sqrtf, 256 runs, 0 skips
> >> >> >> 234366 dezicycles in sqrtf, 512 runs, 0 skips
> >> >> >> 233892 dezicycles in sqrtf, 1024 runs, 0 skips
> >> >> >> 233624 dezicycles in sqrtf, 2047 runs, 1 skips
> >> >> >> size=      -0kB time=59.99 bitrate=  -0.0kbits/s
> >> >> >> video:0kB audio:5624kB global headers:0kB muxing overhead -100.000382%
> >> >> >>
> >> >> >> With Carmack-Lomont
> >> >> >> alex at Barcelona:~/Projects/ffmpeg/14496-4$ ../ffmpeg/ffmpeg -i
> >> >> >> mpeg4audio-conformance/compressedMp4/al18_48.mp4 -f null -
> >> >> >> FFmpeg version SVN-r15584, Copyright (c) 2000-2008 Fabrice Bellard, et al.
> >> >> >>   configuration: --enable-gpl
> >> >> >>   libavutil     49.11. 0 / 49.11. 0
> >> >> >>   libavcodec    52. 0. 0 / 52. 0. 0
> >> >> >>   libavformat   52.22. 1 / 52.22. 1
> >> >> >>   libavdevice   52. 1. 0 / 52. 1. 0
> >> >> >>   built on Oct  7 2008 14:26:51, gcc: 4.3.2
> >> >> >> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> >> >> >> 'mpeg4audio-conformance/compressedMp4/al18_48.mp4':
> >> >> >>   Duration: 00:01:00.01, start: 0.000000, bitrate: 67 kb/s
> >> >> >>     Stream #0.0(und): Audio: aac, 48000 Hz, mono, s16
> >> >> >> Output #0, null, to 'pipe:':
> >> >> >>     Stream #0.0(und): Audio: pcm_s16le, 48000 Hz, mono, s16, 768 kb/s
> >> >> >> Stream mapping:
> >> >> >>   Stream #0.0 -> #0.0
> >> >> >> Press [q] to stop encoding
> >> >> >> 197190 dezicycles in sqrtf, 1 runs, 0 skips
> >> >> >> 190665 dezicycles in sqrtf, 2 runs, 0 skips
> >> >> >> 187807 dezicycles in sqrtf, 4 runs, 0 skips
> >> >> >> 185737 dezicycles in sqrtf, 8 runs, 0 skips
> >> >> >> 184651 dezicycles in sqrtf, 16 runs, 0 skips
> >> >> >> 184255 dezicycles in sqrtf, 32 runs, 0 skips
> >> >> >> 183868 dezicycles in sqrtf, 64 runs, 0 skips
> >> >> >> 183976 dezicycles in sqrtf, 128 runs, 0 skips
> >> >> >> 183913 dezicycles in sqrtf, 256 runs, 0 skips
> >> >> >> 184199 dezicycles in sqrtf, 511 runs, 1 skips
> >> >> >> 184037 dezicycles in sqrtf, 1023 runs, 1 skips
> >> >> >> 183925 dezicycles in sqrtf, 2047 runs, 1 skips
> >> >> >> size=      -0kB time=59.99 bitrate=  -0.0kbits/s
> >> >> >> video:0kB audio:5624kB global headers:0kB muxing overhead -100.000382%
> >> >> >>
> >> >> >> Intel(R) Core(TM)2 CPU 6600  @ 2.40GHz
> >> >> >
> >> >> > please try ff_sqrt() as well
> >
> > [...]
> >> Attached is a version that explicitly uses a int32_t.
> >
> > i will object to this patch until someone posts a speed comparission
> > between it and ff_sqrt.
> >
> > Besides this, you are mis-attributing the code, neither carmack nor
> > lomont are the the original authors of it.
> > lomont himself attributes the code to carmack, his own modification
> > with a different constant isnt used in your patch.
> > and carmack denies being the author at
> > http://www.beyond3d.com/content/articles/8/
> >
> 
> I'm sick of arguing with you about this, and I'm sick of being greeted
> with hostility when I'll I'm trying to do is fix bugs. I clearly don't
> have the stomach for FFMpeg development. Swain or who ever else might
> be interested is welcome to takeover this patch. I'm out of here.

Noone is greeting you with hostility, iam sorry if you consider my
comments hostile, they where not intended to be hostile. Iam simply
reviewing your code ...

you are trying to introduce a new sqrt function, that is a change that
needs to be disussed and advantages and disadvantages weighted against
each other.
And surely is independant of this bug fix. If we do agree to add such
function, it may very well be usefull for other things as well, but then
maybe its not even that usefull for AAC considering its accuracy, i do not
know yet ...

besides i knew the code and knew it had not been written by the 2 people,
so mentioning this (after verifying with google that my memory was correct)
seemed to make sense. I had no intent to be hostile ...

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

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- 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/20081008/1660a987/attachment.pgp>



More information about the ffmpeg-devel mailing list