sz3 / libcimbar

Optimized implementation for color-icon-matrix barcodes
https://cimbar.org
Mozilla Public License 2.0
4.22k stars 306 forks source link

On files bigger then 33MBs #77

Open lnee94 opened 1 year ago

lnee94 commented 1 year ago

First, the problem would be telling if a group of cimbars are linked that could be done by having the first byte be the control byte this could look something like this 10000000 and have a second byte for a index number if the indexed bit is one this model assumes that each cimbar is not mixed with each other, so cimbar 1 can't have images from cimbar 2. Second, using a file container. The most popular is zip which just so happens to have a split function zip in.zip --out new.zip -s 33m this will output a zip file with a bunch of z01 z02... files so having a index number is nessisery. (note to resembel run zip -F new.zip --out out) Note there should be a mode where you can make a cimbar as long as you want, but you have to order them your self. The index number plus zip would set the max size to, 8448MB with muiltable files with names and the ability to encrypt the files.

sz3 commented 1 year ago

Something like that should work, yeah. Right now we don't transfer any information that could be used to correlate across files, but (1) it's possible to embed the information in the payload itself, or (2) we could modify the protocol as you're suggesting. (3) another option is to use the "skippable frame" functionality of zstd to attach some metadata to the transfer.

I was wary of including a filename field in cimbar initially, but I think it may be reasonable for future versions, and it might be useful for this.