Skip to content
Brendan G Bohannon edited this page Oct 18, 2017 · 14 revisions

Welcome to the bgbtech_misc wiki!

Mostly still familiarizing myself with all this.

BTIC1x Family Codecs:

  • BTIC1G
    • Older/Simpler byte-oriented low-complexity incremental codec.
    • Main use case is streaming video from robots.
      • It is more intended for low complexity rather than bitrate or quality.
      • It is mostly intended for incremental video streaming from ARM-based robot controllers.
  • BTIC1H
    • Intended as a reasonably low-complexity codec for fast encode/decode.
    • It isn't intended for the best possible bitrate or image quality.
      • It was originally mostly intended as a replacement for BTIC1G in the same basic use-case.
      • However, the design seems to also work passably for screen-capture and other things.
  • BTIC4B
    • Similar in premise to BTIC1H, but uses 8x8 blocks.
    • This reduces per-block overhead, allowing for higher speeds.
    • General effects on Q/bpp have yet to be determined.
BTAC Audio Codecs
  • BTAC1C
    • Modified MS-IMA-ADPCM
    • Generally fairly effective.
  • BTAC2B
    • Possible fancier design.
Data Compression:
  • BTLZA / BTLZH
    • An extended form of Deflate supporting larger windows and matches.
    • It is a backwards-compatible binary superset of Deflate.
    • It was intended as a compromise between Deflate and LZMA.
      • Speed closer to Deflate, but compression closer to LZMA.
      • Thus far mostly used in Huffman only mode (BTLZH).
      • Conceptually, which term is used depends on whether or not AC is used.
  • FeLZ32
    • Speed oriented DWORD-based LZ77 format.
    • In my tests, gains faster speeds than LZ4 at the expense of slightly worse compression.
    • The cost to compression depends a bit on payload, generally with binary formats faring better.
    • Intended mostly for use-cases where encode/decode needs to happen quickly.
Clone this wiki locally