feat(video): Tune per-codec encoder defaults for quality #5

Merged
David merged 1 commit from feat/video-quality-defaults into main 2026-04-17 21:03:26 +02:00
Owner

Adds a CodecSpec table that injects codec-appropriate flags after
-c:v, plus a per-format audio bitrate. The critical fix is for VP9:
without -b:v 0 -crf N, libvpx-vp9 silently falls back to an ~256 kbps
ABR default that produced poor-quality WebM output. VP8, AV1, x264, and
x265 also get sensible CRF/threading defaults so every allowlisted
codec encodes at a reasonable quality-vs-speed trade-off.

A lockstep test asserts every codec in a format's allowlist has a
matching CodecSpec entry, so future codec additions can't regress to
un-tuned output.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Adds a CodecSpec table that injects codec-appropriate flags after `-c:v`, plus a per-format audio bitrate. The critical fix is for VP9: without `-b:v 0 -crf N`, libvpx-vp9 silently falls back to an ~256 kbps ABR default that produced poor-quality WebM output. VP8, AV1, x264, and x265 also get sensible CRF/threading defaults so every allowlisted codec encodes at a reasonable quality-vs-speed trade-off. A lockstep test asserts every codec in a format's allowlist has a matching CodecSpec entry, so future codec additions can't regress to un-tuned output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(video): Tune per-codec encoder defaults for quality
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
1c269b2e42
Adds a CodecSpec table that injects codec-appropriate flags after
`-c:v`, plus a per-format audio bitrate. The critical fix is for VP9:
without `-b:v 0 -crf N`, libvpx-vp9 silently falls back to an ~256 kbps
ABR default that produced poor-quality WebM output. VP8, AV1, x264, and
x265 also get sensible CRF/threading defaults so every allowlisted
codec encodes at a reasonable quality-vs-speed trade-off.

A lockstep test asserts every codec in a format's allowlist has a
matching CodecSpec entry, so future codec additions can't regress to
un-tuned output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
David merged commit aa062bb702 into main 2026-04-17 21:03:26 +02:00
David deleted branch feat/video-quality-defaults 2026-04-17 21:03:26 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pandoras-box/monkey!5
No description provided.