A bit about old Bink

I don’t think you’ll ever encounter Bink video version ‘b’, known samples were dug out from game data of certain New World Computing games. And looks like they are not supported by official software anymore. But why that can stop us from looking at it?

This information is based on findings by certain FFmpeag deaveloper and me looking at disassembly for similarities with newer Bink version.

The main difference is that this version does not employ Huffman coding at all. All bundle data is stored in raw form, 4-11 bits per entry depending on bundle type. Number of elements in bundle is stored as 13-bit number, newer version uses different number of bits depending on plane width.

Also this Bink used floating-point version of DCT (but constants are the same as in integer version employed by latter codec version).

Coding methods (block types) are in totally different order as well. And 8×8 -> 16×16 scaling block type was not devised in that time either. Bundles contain slightly different data as well — for example, quantisers and number of residue masks are there but pattern run block uses diminishing number of bits to code runs instead of reading it from bundle (indeed, if you have to decode 48 more block elements you need to read 6 bits but when there are mere 7 block elements left 3 bits are enough).

I’ve not looked too close at DCT coefficient/residue coding methods but they seem to resemble those used in newer version of codec.

Short conclusion: while Bink video codec steadily improved, most concepts are remained the same (but there’s a bigger leap between versions ‘b’ and ‘f’ than between ‘f’ and ‘i’, the latter are almost backwards compatible). And maybe we’ll see decoder for it in FFmpeg for completeness sake.

4 Responses to “A bit about old Bink”

  1. VAG says:

    Jfyi, a certain other NWC game is also uses Bink ‘d’.

  2. Kostya says:

    Sample please (or game name, I don’t have enough space to go download all M&Ms).

  3. VAG says:

    Unfortunately, I don’t have any video samples, only the decoder dll. The retail version of the game where they were supposed to be (M&M7) comes with ‘f’ decoder and SMK files only.

    Still, if it can be of any use, I can mail/upload is somewhere.

  4. iWO says:

    I have some old bik samples with dll-s that decompress them, if you need one tell me