Hi to all,<br>I'm doing an application to off-line analyze and edit a generic DVB TS. I have a lot og problems with CRC32 calculation on PSI/SI tables.<br>I'm using a fast calculation CRC32:<br><br>poly: 0x04c11db7
<br><br>table: 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, etc.............<br><br>algorithm: <br><br>public long CRC(byte[] by) <br> {<br> ulong ulCRC = 0xFFFFFFFF;<br> long len;
<br> len = by.Length;<br> for(long i = 0; i < len; i++) <br> { <br> <br> <br> ulCRC = (ulCRC >> 8) ^ crcLookup[by[i] ^ (ulCRC & 0xFF) ];
<br> }<br> return Convert.ToInt64( ulCRC ^ 0xFFFFFFFF); <br> } <br><br><br>Anyway the CRC32 value is different from CRC32 value in the last 4 byte of the packet. Which packet bytes I have to use for CRC calculation?
<br>Could you help me please? I'm going crazy for CRC32.....:-(<br>Best regards,<br>Paolo<br><br>