Hi,

On Sat, Jan 2, 2016 at 3:23 PM, Ganesh Ajjanagadde <gajja...@mit.edu> wrote:

> On Fri, Jan 1, 2016 at 8:07 AM, Ganesh Ajjanagadde <gajja...@mit.edu>
> wrote:
> > Hi all,
> >
> > Motivated by a remark by Ronald:
> > https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/186200.html,
> > this is a request for comment on disabling compile time tablegen for
> > cbrt if the total cycle count < 200000. Note that cbrt tables are only
> > used in aacdec.
>
> To start some effort towards a more principled understanding of the
> costs of runtime table initialization, I did some benchmarks.
> Note: I am not familiar with avcodec, so I don't know if this reflects
> correctly the static vs dynamic cost.
> file: ~/samples/aac/al04_44.mp4
> stream_loop: 100
> number of calls of avcodec_decode_audio4: 35956
> cost per call (avcodec_decode_audio4):
>  834030 decicycles in decode_audio4,       1 runs,      0 skips
>  556200 decicycles in decode_audio4,       2 runs,      0 skips
> [...]
>  177365 decicycles in decode_audio4,   16384 runs,      0 skips
>  177059 decicycles in decode_audio4,   32768 runs,      0 skips
> decoding cost: 17706*35956 = 636,636,936 cycles
> duration: 832.55 seconds
> cost per second of audio: 764,683 cycles
> cost of table init: 200,000 cycles
> fraction: 0.26
>
> So in a clip of n seconds duration, the relative overhead of dynamic
> initialization of these cbrt tables is 0.26/n. For a more concrete
> number, say a clip is of 180 seconds duration, then the overhead is
> 0.26/180 = 0.15%.


What if I only want to play the first 3 second of 1000 clips by calling
ffmpeg.exe in a shell script? E.g. for fingerprinting. The number of use
cases you cover needs to be more than just playback, ffmpeg can do much
more than just that.

Ronald
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to