AVIFDEC(1)

πŸ’– AVIFDEC β€” the decompress girlie ✨

okay so bestie, welcome to avifdec, part of the General Commands Manual lineup 😌 this is the libavif tool that takes your AVIF files and turns them back into actual images. she's giving reverse-makeover energy and honestly? iconic.


πŸŽ€ NAME πŸŽ€

avifdec β€” decompress an AVIF file to an image file πŸ’…


🌸 SYNOPSIS 🌸

avifdec [options] input.avif output.[jpg|jpeg|png|y4m]

avifdec --info input.avif

like. give her an input, give her an output, optionally whisper some options at her. that's the whole relationship fr fr 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

avifdec decompresses an AVIF file to an image file. no cap, that's the job. the output format can be JPEG, PNG or YUV4MPEG2 (Y4M) β€” she reads the vibe of your output filename and just... knows ✨


πŸ’… OPTIONS πŸ’…

so many little knobs and honestly each one ate:

  • -h, --help β€” show syntax help. your girl explains herself.
  • -V, --version β€” show the version number. for the nosy besties.
  • -j, --jobs J β€” number of jobs (worker threads), or all to potentially use as many cores as possible. (Default: all). she will absolutely use your whole CPU and she's not sorry πŸ”₯
  • -c, --codec C β€” codec to use. possible values depend on the codecs enabled at build time (peep --help or --version for the available codecs). default is auto-selected from the available codecs. the possible values are:
    • aom
    • dav1d
    • libgav1
  • -d, --depth D β€” output depth, either 8 or 16. (PNG only; for y4m, depth is retained, and JPEG is always 8bpc). soz jpeg girlies, 8 is all you get.
  • -q, --quality Q β€” output quality in 0..100. (JPEG only, default: 90).
  • --png-compress L β€” PNG compression level in 0..9 (PNG only; 0=none, 9=max). defaults to libpng's builtin default.
  • -u, --upsampling U β€” chroma upsampling (for 420/422). one of automatic (default), fastest, best, nearest, or bilinear.
  • -r, --raw-color β€” output raw RGB values instead of multiplying by alpha when saving to opaque formats (JPEG only; not applicable to y4m).
  • --index I β€” when decoding an image sequence or progressive image, specify which frame index to decode, where the first frame has index 0, or all to decode all frames. (Default: 0).
  • --progressive β€” enable progressive AVIF processing. if a progressive image is encountered and --progressive is passed, avifdec will use --index to choose which layer to decode (in progressive order).
  • --no-strict β€” disable strict decoding, which disables strict validation checks and errors. living dangerously, love that for you πŸ™ˆ
  • -i, --info β€” decode all frames and display all image information instead of saving to disk. the ~look but don't touch~ option.
  • --icc FILENAME β€” provide an ICC profile payload (implies --ignore-icc).
  • --ignore-icc β€” if the input file contains an embedded ICC profile, ignore it (no-op if absent).
  • --size-limit C β€” maximum image size (in total pixels) that should be tolerated. (Default: 268435456).
  • --dimension-limit C β€” maximum image dimension (width or height) that should be tolerated. set to 0 to ignore. (Default: 32768).
  • -- β€” signal the end of options. everything after this is interpreted as file names. the classic "okay we're done with flags now" divider βœ‹
tiny note bestie: if anything in here is about strict validation or limits, take it seriously β€” those exist to stop cursed files from ruining your day πŸ’€

πŸ“ EXAMPLES πŸ“

decompress an AVIF file to a PNG file:

$ avifdec input.avif output.png

one line. one slay. go off πŸ‘‘


🌈 REPORTING BUGS 🌈

bugs can be reported on GitHub at:

https://github.com/AOMediaCodec/libavif/issues

if she did something weird, tell the devs, not me 😭 they're very nice.


⭐ SEE ALSO ⭐

avifenc(1) β€” the other half of the duo, the one who puts AVIFs together. sibling energy fr.


mwah πŸ’œ this page is from libavif 1.4.2, dated 2022-04-30 β€” so if you're reading this in the future, hi, you're a time traveler, and this manual was still serving. πŸŽ€βœ¨

πŸ“¦ where this page comes from