Playing video...or a series of bitmaps

Started by
0 comments, last by TheGecko 23 years, 11 months ago
OK I''ve been working on a video player that uses my own file format (don''t ask,long story) and it''s working (somewhat) The problem is this: (1) How do I synchronise the video to play at 30fps? (2)How does the Windows media player (for example) play an AVI file without continuously loading from the hard drive? This problem has been bugging me for some time now! Does it load 5 frames at a time or something and then plays them? (3) The answer to #2 might answer this one too but here goes,when I tried to play my video from a CD,it was INCREDIBLY SLOW!How do other video codecs out there speed their videos up? I''m thinking that part of the problem is that there is no compression.My player has to load raw data every frame instead of compressed data (which would be faster) Any body else have any ideas? ----------------- www.DigitalSV.com
Advertisement
Hi TheGecko,
By the way you do it, it''s really normal that your HD and/or CD-ROM is always in a ''busy'' state. I''ll assume that you try to do a playback in 320x240x16bits, so it''s 150Ko that you must read and write to the video buffer for only 1 frame. So it''s 4.39Megs for each second of playback, assuming you try to play it at 30fps.

That''s why new codec use very efficient compression algorithm. That''s freeing the global data needed to be load for the playback. After that, they use vector quantitizers (sorry for my bad english), and others trick to got the less update do to.

(ie: lets say you try to play a movie of a bouncing ball on a black background, dont try to update all the screen (why show black on black), it''s will load your ''bus'' and, video memory its slow when data come from ''ram''... but simply update the position of your little bouncing ball that move around the screen).

And for asking your 1st question, you must show its frame at 1/30 second, so you use a double buffer and you display the front buffer on the screen for 1/30 second than flip to the back-buffer where you were writing the next frame, display it for another 1/30 seconds and so on...

Hope it''s will help you, not discourage you.

LowRad,

Good programmers always reach their goal, by solving problems involved by their goal...

Good Luck !! q

This topic is closed to new replies.

Advertisement