I have a fair idea about how VLC works, and I completely agree with Daniel.

VLC has a huge codebase and lots of carefully designed, complicated
modules, every one with it's specific function. Types of modules
include access modules, demuxers, decoders, filters, video outputs,
among others [1]. Each module runs on it's own thread and there are
various communication mechanisms. And most of the important code is
not even in VLC, it's in specialized libraries that do all kinds of
stuff.

I want to point out that, if you want to make a fully fledged video
player out of IV, that approach is doomed from the start - there's too
much to do.

If you want to create a mechanism that rapidly shows images (that are
frames for a video), it is possible, but it may prove very difficult
to make it work at a normal framerate.

[1] www.enjoythearchitecture.com/vlc-architecture

2012/3/23 Daniel Wexler <[email protected]>:
> Use FBOs and textures. Don't use PBOs.  PBOs are deprecated.  I suggest
> writing playback code that will work on both desktop OpenGL and mobile
> OpenGL-ES.
>
> Writing a good video playback engine is harder than you think.   Making it
> work consistently at 24 or 30fps is NOT easy, even if you avoid the even
> trickier side of memory management and just load the data into CPU memory
> (many systems use complex caching and multithreaded read-ahead).  Some users
> will prefer showing all frames, and dropping frame rate, while others will
> want consistent playback speed and dropped frames.  Both are hard.
>
> Do not underestimate the size or complexity of this project.
>
>
> On Thu, Mar 22, 2012 at 7:24 PM, Panks <[email protected]> wrote:
>>
>>
>>
>> On Fri, Mar 23, 2012 at 7:48 AM, Panks <[email protected]> wrote:
>>>
>>> Sorry for not contacting for few days, was busy with exams (finally go
>>> over).
>>> So as we dealing with images around 2048x1556 then I think generating a
>>> video won't make sense.
>>> and as Larry said he hoping fairly minor change to OIIO's existing iv to
>>> make it play a sequence at frame rate with some basic controls,
>>> then what Mikael suggest seems fine to me, to use a timer and update the
>>> images based on counter/given fps. In the process I can use some tools/ part
>>> of code from djv if required for making the playback fast. I'm not that
>>> familier with djv, so will go through its code once today.
>>>
>>> Secondly, I need to submit proposal for this project, so that if someone
>>> has time then he can review it and as I'll make progress in this project I
>>> can keep adding that to the proposal. So where can I put/post my proposal.
>>> Is there any wiki or website or should I wait for the google application
>>> period to start?
>>>
>>> Thank you,
>>>
>>> --
>>> Pankaj
>>> UG Student | Dept. of Computer Science and Engineering
>>> IIT Madras, Chennai, India
>>>
>>
>> I went through iv code today, as it already uses qtimer for 'slide show',
>> so if I implement the opengl part and use of double PBO, then giving iv a
>> playback capability won't be a big deal. We can add play, pause and forward
>> button easily later on. :)
>>
>> Thank you
>>
>>
>> --
>> Pankaj
>> UG Student | Dept. of Computer Science and Engineering
>> IIT Madras, Chennai, India
>>
>>
>> _______________________________________________
>> Oiio-dev mailing list
>> [email protected]
>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>>
>
>
> _______________________________________________
> Oiio-dev mailing list
> [email protected]
> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
>
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to