Skip to content

TheTS-labs/pixel_fuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixelFuse

A CLI tool that coverts basically any file into ✨grayscaled gif mess✨ and vice-versa

Encode

PLEASE NOTE: all file content will be placed in RAM

Run pixel_fuse encode Cargo.toml Cargo.toml.gif to get something like that:

Or run it against random file* to get that:

*Random file generated by the command: head -c 64M /dev/urandom > random

Decode

Run pixel_fuse decode Cargo.toml.gif Cargo.toml.decoded

During GIF creation, the first frame contains metadata such as file name (not used), frame hash (no meta frame), remaining pixels used to fill the last frame, PixelFuse version and number of frames for the progress bar during decoding

After decoding a hash will be calculated to check the integrity of the file, so if the hash matches you can be sure that everything is the same as it was before encoding.

Permormance*

Encode and decode runs at ~900 frames per second, the size of the GIF increased by ~0.4 GiB (1.1 GiB > 1.5 GiB)

*Ran on:

  • OS: NixOS 23.11.20240229.068d4db (Tapir) x86_64
  • Host: HP 81F0
  • Kernel: 6.1.79
  • CPU: Intel i3-5005U (4) @ 1.900GHz
  • File: head -c 1G /dev/urandom > random
  • Output GIF: 100x100 px

About

Encode file as a GIF and decode it back

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages