[matroska-devel] Re: How UCI and Matroska could interact

Pamel paul at msn.com
Thu Jan 23 18:03:07 CET 2003


"Steve Lhomme" <steve.lhomme at free.fr> wrote
> En réponse   Cyrius <suiryc at yahoo.com>:
>
> > Can't UCI handle that ?
> > IIRC you feed UCI with data (for the codec) and the
> > codec will tell UCI if some data was decoded (and so
> > returned).
> > In your case you would just tell UCI you didn't
> > decoded any data until you have your 2 keyframes.
> > Of course the multithreading you use in your codec
> > will be useful here (so that you can decode the data
> > while serving the previously decoded frames to UCI).
>
> That could be enough for playback. But this is unacceptable to capture
just one
> frame in a file. While old technologies (read AVI, VfW) don't allow this
(see
> all the problems of getting captures of B frames in DivX/XviD to compare
them),
> newer ones should. That's why for each frame (not possible for the ones in
a
> lace) it should be possible to know all the references needed to decode.
At the
> container level (matroska) and at the codec level (UCI).

This could work pretty easily if UCI Buffered all of the timecodes when a
codec gave it a null frame.  Then the codec could output the block when
ready with what buffered frame the block would be at, and indicate all other
frames afterwards only need to pull from that one keyframe.  Then Matroska
stores the keyframe block and stores the list of timecodes that refer to
that block.


Pamel



http://matroska.org



More information about the Matroska-devel mailing list