Mailing List archive

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

[linux-dvb] Re: PES question



Felix Domke writes:
 > > Unfortunately, this allowed by the Specs, but only for video PES that
 > > are in a TS stream. The PES can also be longer than 0xFFFF, which
 > > would normally the maximum.
 > So the only way to go is to ignore the PES-headers (skip them according to
 > their header-length), manually extracting the PTS and create new,  usable
 > PES-packets?

Yes, if the length is >65535 you will have to re-pack them. Otherwise
you only have to insetrt the correct length.

 > how does normal hardware decide what belongs to the ES and what not? i
 > cannot believe that they search for startcodes ;).. or is it impossible to
 > extract the ES without decoding EACH packet?

During normal TV watching the hardware has access to the TS packets with the 
appropriate flags. You just cannot get them out of the firmware for 
recording. 
The PES filters implemented on the card itself (which of course cannot be
used for recording when watching the picture at the same time and have
to be treated differently) also do not give you PUSI flags, etc. 
Guess why implementing TS_TAPs for the new API was such fun ...

Now, if you have the PUSI flags you know where the PES begin and yes, the
hardware will have to parse it. I don't think it is any more
complicated or much different to decoding the ES itself.
In case of the DVB-s card the ARM also has to extract the ES and feed
it to the hardware for playback.

 > or have you any other hint for me?

Marcus has implemented all kinds of filters for these kinds of
problems. Take a look at the filter sources in the mpegtools and the driver.


 > and a last question: what's the sence of allowing the size to be zero? in my
 > eyes, it breakes the whole encoding scheme...

Well, ask the MPEG people :-)
The only reason I can think about right now is that you can already start
transmitting a PES without having to know how long it will be or if
it will be longer than the normally allowed maximum PES size.
For video with variable bitrate this is probably very convenient. 


Ralph


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



Home | Main Index | Thread Index