[ogg-dev] CRC calculation performance

Ralph Giles giles at xiph.org
Tue Feb 12 16:23:25 PST 2008

On 3-Feb-08, at 5:02 AM, Rodney Brown wrote:

> I saw the talk Seeking is hard: Ogg design internals by Ralph Giles at
> linux.conf.au MEL8OURNE2008.

Cool, glad you could make it.

> [http://www.cl.cam.ac.uk/Research/SRG/bluebook/21/crc/crc.html ''Fast
> CRC32 in Software'']  Algorithm 4 is used in Linux and info-zip's zip
> and unzip.
> * Kounavis, M. and Berry, F. (2005).
> [http://www.intel.com/technology/comms/perfnet/download/ 
> CRC_generators.pdf ''A Systematic Approach to Building High  
> Performance, Software-based, CRC generators''], Slicing-by-4 and  
> slicing-by-8 algorithms

Thanks for the links. Do you know anything about the patent status of  
these algorithms? I notice Kounavis and Berry have a CRC-related  
patent application from the same year.

> The following gives some idea of the performance improvements  
> available
> on the old slows, but over large buffers, unlike the maximum 256 bytes
> of OGG format (if I'm understanding that correctly).

In Ogg, the packets are divided into segments of 255 bytes or less,  
but the CRC is over the page header and however many segments it  
governs, so up to 64 KB but typically more like 4 KB.


More information about the ogg-dev mailing list