Reverse Engineering the GoPro Cineform Codec
Pretty cool, I like these kinds of articles.<p>> An interesting feature where coefficients were pre-aligned to mod-8 widths to presumably allow for SIMD optimisations<p>I have seen protocols implemented in such a way that when described on paper, they look convoluted, especially how they specify alginment "this will have this much padding, this one will be aligned on this boundary. Little endian encoding for integer values...".<p>However I quickly realized they basically picked a particular memory layout in a C struct generated on x86-64 architecture, by a particular compler (gcc 4), and particular OS (Linux).  I imagine at some point someone implemented it like that, then they went back and wrote into a standard.  It would have been nice to at least mention that in the docs footnote ("Encode these as C structs on this combination of arch/compiler/os and cast binary blobs to the struct to serialize/deserialize data in this format)