[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