Skip to content

LIZARD 0.3 (alpha)

Pre-release
Pre-release

Choose a tag to compare

@FNWTalon FNWTalon released this 22 Oct 16:33
· 7 commits to main since this release

The third alpha of the Android app. It receives a file shown as a LIZARD code on another screen, and sends one the
same way. It decodes on the GPU through Vulkan where the phone runs it, else on the CPU.

  • Android 10 or later, arm64.
  • Install: download lizard-0.3-alpha.apk and open it; Android asks to allow installs from that source. The app has a
    new ID, dev.fosslabs.lizard, so it installs beside 0.2 rather than over it; uninstall 0.2 to keep one.
  • The format is 0.2's: each reads the other's codes. Several files sent to 0.2 arrive as one .tar. Send from
    fosslabs.dev, which serves this release's sender, or from the desktop sender built from this
    commit.
  • Measured on one phone (Samsung S26 Ultra), by hand, two codes side by side at 60 pictures a second on a stock 1080p
    office monitor: through the phone's 5x telephoto at 9x, from about 3.3 m, 2.4 MB/s median and 2.9 max, logged. Close
    up the rate is as in 0.2, up to about 4 MB/s. The README says what bounds that.
  • Built from d2b41ca. The third-party licenses it carries are in LICENSES.txt.

Since 0.2:

  • Send several files or a folder at once: they go as one tar, and the app unpacks a received one into a folder.
  • Both decoders fit the lens about the camera's optical axis, so wide and zoomed lenses read more of the code: on a
    replay through the main camera at 2.2x, 2.5 times the blocks on the GPU.
  • The GPU decoder takes about half the time a frame: the finder's first round on the coarser levels, the LDPC's
    violated checks counted from a bitmap, the first pass at the picture size below, independent work dispatched side by
    side, and the LDPC's form chosen on each device by timing.
  • The zoom covers each camera's whole range, the telephoto included, and is kept for each lens in each layout.
  • A sender shows a file's compressed size as soon as it is picked.
  • No network permission: the app never uses the network.
  • The live rate counts only the blocks a file takes.
  • Inter and JetBrains Mono as the type; the launcher mark at 70% of its square.
  • The library adds a WebAssembly build for engines without SIMD.

An alpha: the format still changes, and a sender and a receiver need the same release.