VPXDEC(1)
π VPXDEC(1) β the video decoding bestie π
okay so. this is vpxdec, from the General Commands Manual section, and it's the VP8 and VP9 video decoding encoding tool. yes it says "decoding encoding", that's just the name, don't come for me. it decodes. it's giving decoder energy. π
β¨ NAME β¨
vpxdec β VP8 and VP9 video decoding encoding tool π¦
β¨ SYNOPSIS β¨
vpxdec <options> -o dst_filename src_filename
like, options first, then where it goes, then what it is. slay. π
β¨ OPTIONS β¨
okay bestie this is the long part, grab a snack π
--codec=<arg>β which codec to use, you pick it--yv12β spit out raw YV12 frames--i420β spit out raw I420 frames--flipuvβ flip the chroma planes in the output, upside-down chroma moment π--rawvideoβ output raw YUV frames--noblitβ don't process the decoded frames, justβ¦ leave them there--progressβ show progress after each frame decodes, so you can watch it cook π--limit=<arg>β stop decoding after n frames--skip=<arg>β skip the first n input frames--postprocβ postprocess decoded frames--summaryβ show a timing summary at the end-o <arg>,--output=<arg>β output file name pattern (peep the section below for the deets)-t <arg>,--threads=<arg>β max threads to use, go parallel queen--frame-parallelβ frame parallel decode-v,--verboseβ show version string-S,--scaleβ scale output frames uniformly--frame-buffers=<arg>β number of frame buffers to use--md5β compute the MD5 sum of the decoded frame--error-concealmentβ enable decoder error-concealment-k,--keep-goingβ (debug) continue decoding after error. it's literally in the manual that this is debug, so no cap, that's what it says π
π VP8 Postprocessing Options π
these ones are specifically for the VP8 postproc vibes β¨
--noise-level=<arg>β enable VP8 postproc add noise--deblockβ enable VP8 deblocking--demacroblock-level=<arg>β enable VP8 demacroblocking, w/ level--pp-debug-info=<arg>β enable VP8 visible debug info--pp-dbg-ref-frame=<arg>β display only selected reference frame per macro block--pp-dbg-mb-modes=<arg>β display only selected macro block modes--pp-dbg-b-modes=<arg>β display only selected block modes--pp-dbg-mvs=<arg>β draw only selected motion vectors--mfqeβ enable multiframe quality enhancement
π Output File Patterns π
the -o argument specifies the name of the file(s) to write to. so here's the tea: if the argument does not include any escape characters, the output gets written to a single file. periodt.
otherwise, the filename gets calculated by expanding these escape characters:
%wβ frame width%hβ frame height%<n>β frame number, zero padded to n places (1..9)
pattern arguments are only supported in conjunction with the--yv12and--i420options, bestie. and if the-ooption is not specified, the output will be directed tostdout. iykyk π«Ά
π Included decoders π
these come in the box, no extra shopping needed ποΈ
vp8β WebM Project VP8 Decoder v1.6.0vp9β WebM Project VP9 Decoder v1.6.0
okay that's the whole page π this one's from August 2016, and the source/version tag on it is VPXDEC(1) β iconic, historic, and now you know how to decode VP8 and VP9 like a main character. go forth and slay, bestie π
β¨πΈ
π¦ where this page comes from
- debian bookworm: vpx-tools 1.12.0-1+deb12u5 Β· BSD-3-Clause
- debian trixie: vpx-tools 1.15.0-2.1+deb13u1 Β· BSD-3-Clause
- ubuntu jammy: vpx-tools 1.11.0-2ubuntu2 Β· BSD-3-Clause
- ubuntu jammy: vpx-tools 1.11.0-2ubuntu2.5 Β· BSD-3-Clause
- ubuntu noble: vpx-tools 1.14.0-1ubuntu2 Β· BSD-3-Clause
- ubuntu noble: vpx-tools 1.14.0-1ubuntu2.3 Β· BSD-3-Clause
- ubuntu questing: vpx-tools 1.15.0-2.1build1
- ubuntu questing: vpx-tools 1.15.0-2.1ubuntu0.1
- ubuntu resolute: vpx-tools 1.16.0-3 Β· BSD-3-Clause
- ubuntu stonking: vpx-tools 1.16.0-3 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms