Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: Trick modes in new DVB API



On Friday 06 September 2002 22:04, Fabrizio Sensini (ST) wrote:
> Hello there,
>
> is there anyone who could tell me sth about the injection model for the
> DVB video device in trick mode (especially for backward playback)?
>
> Apparently VDR injects I+B+P blocks several time in reverse order...
> does a generic application need to have knowledge of the internal MPEG
> stream structure?

for "fast forward" trickmode implementation the application does not need any 
internal MPEG stream structure. you simply setup the MPEG decoder to suppress 
certain images or play them multiple times. all work is done in the decoder. 

for backward playback the application (or some middleware layer) needs 
internal details: 
an mpeg video stream is build up of three picture types, 

I: intra coded pictures
P: Predictive coded pictures
B: Bidirectionally-predictive coded pictures.

only I Pictures are coded without a reference to other pictures. they provide 
access points to start decoding. next in stream follow some (bi-directional-) 
predictive coded images. they reference at least to the I-Picture we start 
decode, and enable us to successive rebuild a temporal picture sequence which 
will be presentated at certain time.
(see ISO/IEC 13818-2 for details about MPEG Video, video sequences, ... )

you see, decoding starts at I Pictures, so any backward playback has to start 
at I pictures. then mpeg video defines how to decode a picture sequence for 
increasing time. 
thus for implementing backward playback of any picture in video stream you 
have to find the i-picture start in the video stream, rebuild the video  
sequence and playback them in reverse order. then find the next ipicture 
"upstream" and so on.  this tooks lots of memory and is very slow. 

so, most applications i know only show i-pictures in backwards playback mode.

to implement it with the dvb api, you may setup the mpeg video decoder to show 
only i-pictures and then deliver the part of the stream that contains a 
complete i-picture to it. to find the i-picture locations in the stream 
quickly, most applications generate an i-picture location index (eg. at 
recording time).

hope this helps, 

andreas.
-- 
Dr. Andreas Pöthke                         mailto:poethke@convergence.de
convergence GmbH                         http://www.convergence.de



--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index