проверить CRC32 в разделе PAT транспортного потока - С#

Вопрос в том, как проверить/перегенерировать таблицу crc32 PAT MPEG-TS.

У меня есть массив байтов (Byte[] TS). Все смещения читаются нормально. CRC32 не могу получить. Все алгоритмы не дают правильного результата.


person Andrey Popov    schedule 14.04.2016    source источник
comment
Не могли бы вы показать нам, что вы уже пробовали?   -  person rinukkusu    schedule 14.04.2016
comment
github.com/damieng/DamienGKit/ blob/master/CSharp/ Где DefaultPolynomial = 0xEDB88320; CALL CRC = crc32.ComputeHash(TS);   -  person Andrey Popov    schedule 14.04.2016


Ответы (1)


Модель декодера CRC, указанная в Приложении A стандарта ISO/IEC 13818-1, представляет собой MSB (сначала старший бит). Функция в вашей ссылке использует полином по умолчанию для Zip, который равен LSB (сначала младший значащий бит).

Вы должны использовать 0x04C11DB7 для многочлена вместо обратной формы 0xEDB88320.

См. разделы Спецификация и Стандарты и общее использование в Страница CRC Википедии.

person aergistal    schedule 22.04.2016