Hi On Thu, Jan 18, 2007 at 07:19:23PM -0800, Roman Shaposhnik wrote: > Hi > > On Fri, 2007-01-19 at 03:48 +0100, Michael Niedermayer wrote: > > Hi > > > > On Thu, Jan 18, 2007 at 04:41:21PM -0800, Roman Shaposhnik wrote: > > [...] > > > > > > > the extra if() also should disapear for av_fifo_read() if its inlined > > > > and the body of the while loop will be executed just once normally > > > > and rarely twice, but never more often then twice > > > > > > > > do you know of any specific places in libav* where there are so many > > > > calls to av_fifo_*read() that this could matter? > > > > > > Nope. All I care about is av_fifo_peek() ;-) > > > > attached patch removes it and makes your code about 35% faster ;) > > Well, I had it coming ;-) i knew you would like my suggestion ;) > > Now, the only problem I have with your approach is that you're > exposing the guts of a Fifo implementation and that doesn't seem > right to my OO-self. After all, that's what av_fifo_peek() > was introduced for anyway. the problem i have (and had) with av_fifo_peek() is that it doesnt solve the fifo-guts dependance it just hides it which IMHO is worse people could use av_fifo_peek() and expect to have no dependance on the fifo guts but they do, at the ABI level > > > and i suspect it can be made even faster, of course this is not possible > > with a av_fifo_peek like system > > You're right. However, I suspect that the most dramatic way of > speeding it up would be to iterate over the fifo itself and shuffle > at the frame level. We might also benefit from a precomputed reversed > shuffling table (but most probably it wouldn't really matter since > it all fits into the cache anyway). I think it'll be the best > of both worlds -- one wouldn't have to expose the guts yet the speed > up will be there as well. > > Thoughts ? iam happy with every solution which gets rid of fifo implementation dependant code in fifo.h (and of course i strongly prefer solutions implemented by others then myself as iam lazy ...) [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws. -- Plato -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070119/870a51c2/attachment.pgp>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4