d**d 发帖数: 389 | 1 原来MPEG里面的CRC32竟然用的不是标准的CRC32. | t****t 发帖数: 6806 | 2 啥叫"标准"的CRC32...CRC本质上就是个除法器, 理论上说任意polynomial都可以用,
效果有好有坏罢了.
【在 d**d 的大作中提到】 : 原来MPEG里面的CRC32竟然用的不是标准的CRC32.
| x****u 发帖数: 44466 | 3 涉及到算法,不找现成的库是罪过的。
【在 d**d 的大作中提到】 : 原来MPEG里面的CRC32竟然用的不是标准的CRC32.
| d**d 发帖数: 389 | 4 MPEG用的polynomial跟其他的CRC32都是一样的,都是0x04C11DB7,只是他在13818-1里
面根本没提要不要reflect,并且他的XOR-out是零,而不是-1,害得我google了半天都
找到一个地方表明了这个东西。
【在 t****t 的大作中提到】 : 啥叫"标准"的CRC32...CRC本质上就是个除法器, 理论上说任意polynomial都可以用, : 效果有好有坏罢了.
| t****t 发帖数: 6806 | 5 被你说得好奇我去看了一眼, 这13818-1不是说得挺明白的么. 它要求连CRC32在内, 最
后的计算结果是0, 这就已经包含了所有的信息啊. xor-out如果没有提, 那当然就是0,
怎么能生套一个xor-out呢.
而且0x04c11db7也不是唯一常见的CRC32, 比如说SSE指令里的CRC用的就是0x11EDC6F41.
【在 d**d 的大作中提到】 : MPEG用的polynomial跟其他的CRC32都是一样的,都是0x04C11DB7,只是他在13818-1里 : 面根本没提要不要reflect,并且他的XOR-out是零,而不是-1,害得我google了半天都 : 找到一个地方表明了这个东西。
| d**d 发帖数: 389 | 6 你老人家太牛了。
所有的CRC32都是要求数据加上最后的CRC32,最后的计算结果都是0吧。
呵呵。
anyway,总算是解决了。
0,
0x11EDC6F41.
【在 t****t 的大作中提到】 : 被你说得好奇我去看了一眼, 这13818-1不是说得挺明白的么. 它要求连CRC32在内, 最 : 后的计算结果是0, 这就已经包含了所有的信息啊. xor-out如果没有提, 那当然就是0, : 怎么能生套一个xor-out呢. : 而且0x04c11db7也不是唯一常见的CRC32, 比如说SSE指令里的CRC用的就是0x11EDC6F41.
| t****t 发帖数: 6806 | 7 of course not---if xor-out is non-zero, you don't get 0 at the end. in any
case, crc has quite a few options and most protocol/standard do not describe
crc as a checklist of combinations, they rather describe crc algorithm in
detail to avoid confusion.
【在 d**d 的大作中提到】 : 你老人家太牛了。 : 所有的CRC32都是要求数据加上最后的CRC32,最后的计算结果都是0吧。 : 呵呵。 : anyway,总算是解决了。 : : 0, : 0x11EDC6F41.
|
|