On Wed, Jan 02, 2008 at 02:27:43PM +0000, Robert Swain wrote:
> Hello,
> 
> On 02/01/2008, Michael Niedermayer <[EMAIL PROTECTED]> wrote:
> > On Wed, Jan 02, 2008 at 12:49:24PM +0100, Vitor Sessak wrote:
> > > I've thought in a few solutions:
> > >
> > > Solution 1 (the closest to the actual code):
> > >
> > > In the patch in soc svn, a input filter is defined in ffmpeg.c. A
> > > solution would be to move the call to av_read_frame and
> > > avcodec_decode_video to the request_frame method of the input filter, so
> > > it'll decode a video frame from the file each time the filter asks for 
> > > one.
> > >
> > > Problem: Messy, ugly to handle audio and -vcodec copy, makes ffmpeg.c
> > > even more complex than it is already, scare people away of using
> > > libavfilter in other applications.
> >
> > APIs aside, theres an additional problem
> > the source can be from the network or a v4l card and av_read_frame() could
> > just tell you "i dont have a frame yet, go and do something else usefull" 
> > aka
> > EAGAIN (current ffmpeg.c doesnt support it but i think we shouldnt ignore it
> > in the design ...)
> >
> > also its possible to have more than 1 video stream in a file and 
> > av_read_frame
> > might return stuff for the "wrong" stream when asked for the next frame ...
> >
> >
> > >
> > > Solution 2 (threading and queuing):
> > >
> > > Make ffmpeg.c have a thread for audio decoding, another one for video
> > > and another for filtering. The video thread will add frames to a video
> > > queue and the filtering thread will sleep and wait for frames is the
> > > video queue is empty.
> > >
> > > Problem: May introduce bugs, big patch, gives the impression that it is
> > > impossible to use libavfilter in a single-threaded application. There
> > > may also be corner cases where the queues gets too big and uses gigs of 
> > > ram.
> >
> > id like to keep threads optional, not mandatory if possible for core
> > functionality
> 
> Is solution 3 not an option or do you just have no opinion on that at
> the moment?

no opinion, as ive not investigated the effects of the proposed change
fully ...


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle

Attachment: signature.asc
Description: Digital signature

_______________________________________________
FFmpeg-soc mailing list
[email protected]
http://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc

Reply via email to