Repository navigation
LIZARD 0.3 (alpha)
Pre-release
Pre-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.apkand 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 inLICENSES.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.