Venom Multimedia Formats and Utilities
Go to file
Vilyaem f9d95fee81 update readme 2024-05-13 08:36:14 -04:00
bin First 2024-05-13 08:28:48 -04:00
examples First 2024-05-13 08:28:48 -04:00
programs First 2024-05-13 08:28:48 -04:00
scripts First 2024-05-13 08:28:48 -04:00
.gitignore First 2024-05-13 08:28:48 -04:00
README.md update readme 2024-05-13 08:36:14 -04:00
c.sh First 2024-05-13 08:28:48 -04:00

README.md

VNM

Venom (vnm, virtual nano media) is an experimental image, audio, and video file format.

It's suppposed to be extremely simple and suckless. Images are 16 color and run length encoded, It's like 'farbfeld' driven to its end conclusion. The default color palette is that of TempleOS'.

Venom is the best set of multimedia formats in the world.


IMAGES

Magic number letter "V" (86)

uint8 width and height as a single value (must be power of two), this is multiplied by 8, max resulting resolution is 1024x1024 So to get 1024x1024 this value is 128, to get 512x512 you do 64.

row by row uint8 (color) and uint8 (run length)


AUDIO

Audio is always 8000hz Magic number letter "A" (65) uint8 list of samples.


VIDEO

Video is at the top, audio at the bottom, Video is 30FPS. Width and height is unchanging.

Sequence of "V" images The audio "A" sequence


TOS COLOR PALETTE

This will be default for all the programs.

  1. #000000 (Black) 0,0,0
  2. #0000AA (Blue) 0,0,170
  3. #00AA00 (Green) 0,170,0
  4. #00AAAA (Cyan) 0,170,170
  5. #AA0000 (Red) 170,0,0
  6. #AA00AA (Magenta) 170,0,170
  7. #AA5500 (Brown) 170,79,0
  8. #AAAAAA (Light Gray) 170,170,170
  9. #555555 (Dark Gray) 79,79,79
  10. #5555FF (Light Blue) 79,79,255
  11. #55FF55 (Light Green) 79,255,79
  12. #55FFFF (Light Cyan) 79,255,255
  13. #FF5555 (Light Red) 255,79,79
  14. #FF55FF (Light Magenta) 255,79,255
  15. #FFFF55 (Yellow) 255,255,79
  16. #FFFFFF (White) 255,255,255

Why?

Multimedia sucks. You may notice that all the files are completely composed of eight bit integers, this allows for multimedia files to be easily modified by UNIX utilities in interesting interactions, or be generated very easily. I can see the feasibility of getting a VNM file to glitch out, but I don't really care, and it has never happened in practice. Ive discovered that 16 color isnt a such a hardship, it's quite liberating, especially with proper dithering images can look indistinguishable and 'cooler'. The palettes of the programs can also just be modified to best suite a set of images. VNM is also perfect for embedded assets in ROMs.


PROGRAMS

ff2vnm - Convert farbfeld images to vnm images

vnmstat - Program that identifies, validates, and makes stats for a vnm file

vnmnoise - Example program that generates an unoptimized noisy image

vnmbeat - Example program that generates a sound file

vnmcarr - Convert VNM files into C arrays

VNM is so simple, you can just use your core utils to work with it.

Combining images into a video: cat baby.vnm recursion.vnm > slideshow.vnm

Splitting video into images and audio: csplit -z slideshow.vnm /V/ '{*}'


SCRIPTS

png2vnm.sh - Convert PNG to VNM given png2ff

vid2vnm.sh - Convert video to VNM

PHILANTHROPY

official VNM donation fund

Monero (XMR): 48Sxa8J6518gqp4WeGtQ4rLe6SctPrEnnCqm6v6ydjLwRPi9Uh9gvVuUsU2AEDw75meTHCNY8KfU6Txysom4Bn5qPKMJ75w

Wownero (WOW): WW2L2yC6DMg7GArAH3nqXPA6UBoRogf64GodceqA32SeZQpx27xd6rqN82e36KE48a8SAMSoXDB5WawAgVEFKfkw1Q5KSGfX9

If you have philanthropic interest in VNM, contact Vilyaem.


LICENSE

CHRISTIAN FREE SOFTWARE LICENSE CFSL

This software is free and open source charity ware, users are asked to donate to the Eastern Orthodox Church by any means.

Redistribution of this project in source and/or binary forms with/without modification, are permitted provided that the following conditions are met:

  1. Redistributions must retain this notice, the conditions, and the disclaimer.
  2. Redistributions must retain credit to the author, and signage to where the original work can be found.
  3. Redistributions cannot become a part of, in anyway shape or form, part of proprietary software, or software that is clearly out of line with Christian values.
  4. Redistributions must remain free, both in price, and what users may do with the software, the software must remain public and easily accessible.

DISCLAIMER

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.