[MPlayer-dev-eng] DECODING AHEAD - (Initialy Michael's idea)
Michael Niedermayer
michaelni at gmx.at
Mon Feb 25 15:54:09 CET 2002
Hi
On Monday 25 February 2002 08:24, Nick Kurshev wrote:
[...]
> HOWTO: mplayer always should decode into RAM. There should be allocated
> some buffers (8 will be enough, I guess). after decoding of frame
> mplayer should start decoding of the next frame immediatedly, without any
> delays. mplayer shouldn't call libo->draw_slice function from self.
> Fortunately, linux support real-priority timer's callback. (in Win32 such
> thing is called multimedia timer). We can program timer callback
> as 1/vo_fps and our routine will call libvo->draw_slice.
> (FIFO technology).
> If we take hypothetical stream 2048x2048 at 32 then its frame requires 16MB
> in memory, so 10 frame buffer will require "only" 160MB + 20-30MB for
imho, vo-drivers should allocate the buffers, they might even be in video mem
then
perhaps something like
get_surface()/free_surface()
implemented in each vo, and if its not supported then simply returning NULL
(the libvo-core could then use a normal malloc() based buffer)
draw_frame / draw_slice could then be moved into the libvo-core
flip_page(vo2_surface_t *surface) which flips the page if possible or memcpy
it if not
[...]
Michael
PS: the decoding ahead thing was just an idea, i didnt seriously expect it to
be done ...
More information about the MPlayer-dev-eng
mailing list