dav1d(1)

πŸ’– dav1d β€” like, the manual page, bestie πŸ’–

okay so this is dav1d(1), from the General Commands Manual, and honestly? she's an icon. let's get into it 🫢


✨ NAME ✨

dav1d β€” a fast and small AV1 video stream decoder. yes, both. fast and small. she contains multitudes πŸ’…


🌸 SYNOPSIS 🌸

dav1d [options]

that's it. that's the whole vibe. you give her options, she gives you decoded video. iconic behaviour, no notes.


πŸ¦‹ DESCRIPTION πŸ¦‹

dav1d is an AOMedia Video 1 (AV1) decoder, cross-platform, and she is focused β€” like, laser-focused β€” on speed and correctness. not one or the other. both. main character energy fr fr.

here's everything she supports, and bestie, it's a lot:

  • Support for all features of the AV1 bitstream. all of them. every single one. πŸ‘‘
  • Support for all bitdepth β€” 8, 10 and 12bits ✨
  • Support for all chroma subsamplings β€” 4:2:0, 4:2:2, 4:4:4 and grayscale 🌈
  • Full acceleration for AVX-2 64bits processors πŸ”₯
  • Partial acceleration for SSSE3 processors
  • Partial acceleration for NEON processors

like… she really said "I'll do all of it" and then did all of it. obsessed.


πŸŽ€ OPTIONS πŸŽ€

one bullet per option, bestie, exactly like the original, no skipping, no summarising, we respect the source material in this house πŸ’–

  • -i, --input=$file β€” the input file. required, so like… don't forget her, she's not optional, she's the whole point πŸ™ˆ
  • -o, --output=$file β€” the output file.
  • --demuxer=$name β€” force the demuxer type. your choices are 'ivf' or 'annexb'. default? she detects it from the extension, she's smart like that πŸ’…
  • --muxer=$name β€” force the muxer type. options are 'md5', 'yuv', 'yuv4mpeg2' or 'null'. default: detect from extension, again, she just knows ✨
  • -q, --quiet β€” disable status messages. for when you want her to stop texting you updates 🫢
  • -l, --limit=$num β€” stop decoding after $num frames. she'll know when to stop, she has boundaries πŸ’…
  • -s, --skip=$num β€” skip decoding of the first $num frames. not me ignoring the first bit, lowkey relatable 😭
  • -v, --version β€” print version and exit. quick lil hello, then she's gone.
  • --framethreads=$num β€” number of frame threads (default: 1).
  • --tilethreads=$num β€” number of tile threads (default: 1).
  • --filmgrain β€” enable film grain application (default: 1, except if muxer is md5). the ✨aesthetic✨ grain stays on unless you're doing md5, in which case, nope.
  • --oppoint=$num β€” select an operating point of a scalable AV1 bitstream, range 0 - 32.
  • --alllayers=$num β€” output all spatial layers of a scalable AV1 bitstream (default: 1). all the layers. like an onion but make it video πŸ§…
  • --verify=$md5 β€” verify decoded md5. implies --muxer md5, no output. so heads up, she's checking, not writing πŸ‘€
  • --cpumask=$mask β€” restrict permitted CPU instruction sets. values are 0, 'sse2', 'ssse3', 'sse41', 'avx2' or 'avx512'. default: -1. vibe check your CPU before you go wild πŸ’€

🌟 SEE ALSO 🌟

go look, bestie, the source is right there and it's giving open source excellence πŸ’œ


and that's the whole page!! every flag, every default, every value, untouched and unbothered, just with ✨flavour✨

signing off from version 0.1.0, dated December 2018 β€” yeah she's been serving since 2018, a true veteran of the codec game πŸ‘‘πŸ’– mwah, bye!! πŸŽ€πŸ¦‹