Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Which CRC-code is used in TS of DVB?
Gregor Lawatscheck writes:
> At 23:26 26/05/2003, you wrote:
> >The decoder does not get the TS.
>
> AFAIK there is no CRC in the TS but in the PES header? I haven't checked
> this, so I could be wrong.
No CRC in either.
> Nevertheless:
> http://www.linuxtv.org/mailinglists/linux-dvb/2002/11-2002/msg00176.html is
> interesting, from Oct Nov 2002 where Holger speaks about CRC32 checking
> being broken in the av7110 firmware. Is this still the case and would that
It is not broken, just not implemented.
> explain, why broken streams reliably manage to confuse and crash the decoder?
No.
>
> >There are also other instances between
> >tuner and decoder which handle the TS or demuxed stream and can fail
> >because of a broken stream. And think of a soft-player. It increases
> >CPU-load dramatically if a soft-player has to handle bitstream error.
> >
> >Holger told that CRC32 is implemented in the driver, it just has to be
> >activated.
> >
> >And before you talk about dropping packets, again, please read my
> >explanation of CRC on VDR-ML.
>
> Didn't see it in time - there's a lot of traffic on the vdr list. Yes,
> correcting via CRC32 sounds good -- too good to be true?
>
> Because as Holger writes:
> >It's implemented. Set the DMX_CHECK_CRC flag in the
> dmx_sct_filter_params >struct if you want only receive sections that passed
> the CRC32 check.
>
> Now that sounds like it'll drop sections that didn't pass CRC32, doesn't
> it? I'm not aware CRC32 corrects anything. I personally just fear CRC32
Correct.
> errors, for example in archives etc. To me it's a checksum: According to
> http://www.cyberdyne-software.com/crc32.html CRC = "cyclic redundancy
> check(sum)". What do you do when the checksum fails? "Invert[ing] the wrong
> bits" is certainly beyond me.
>
> If what you write be true - then it'd actually be grand but it's contrary
> to what Holger says about "receiv[ing] sections that passed the CRC32 check":
> >>Smart CRC-codes like CRC32 can detect nearly every bit-error AND it's
> POSITION in the bitstream. This way the decoder can simply invert the
> wrong bits and you get the original, valid bitstream. This is of course
> better than giving a broken bitstream to a hardware and say "Hey, this
> is broken data, just see how you can handle".<< [quote from Rene on vdr ML]
Confused with FECs.
> I actually thought the CRC32 was good exactly for the latter reason - error
> detection - passing it to the decoder with the notice: "hey, by the way,
> this data is broken, handle with care". I'd like to believe otherwise. It'd
> be a great benefit to everyone if CRC32 from a budget card could be used to
> correct bitstream errors. I thought FEC (forward error correction) was for
> error correction of the bitstream - and surely that's done even for the
> budget cards...
Yup, it is part of the demodulator hardware.
(but it can also be done in software if you want, see e.g. GNU radio)
Ralph
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index