Summary: | SVT-AV1 (libsvtav1) doesn't take the value for CRF/qscale | ||
---|---|---|---|
Product: | [Applications] kdenlive | Reporter: | Eduardo Medina <edu.rm.85> |
Component: | Rendering & Export | Assignee: | Jean-Baptiste Mardelle <jb> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | richardash1981 |
Priority: | NOR | ||
Version First Reported In: | 24.08.0 | ||
Target Milestone: | --- | ||
Platform: | Flatpak | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=507521 | ||
Latest Commit: | https://invent.kde.org/multimedia/kdenlive/-/commit/7c60159827fc10f520de88b1dfedbc0686e99724 | Version Fixed In: | |
Sentry Crash Report: |
Description
Eduardo Medina
2024-09-06 10:51:31 UTC
Sorry, the examples weren't correct. EXAMPLE 1: ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=42 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1 EXAMPLE 2: ab=128k acodec=libopus bf=3 channels=2 cpu-used=8 f=webm g=300 qscale=54 real_time=-1 row-mt=1 strict=experimental threads=15 tile-columns=2 tile-rows=1 vbr=off vcodec=libsvtav1 You can try the default AV1 configuration switching from libaom-av1 to libsvtav1 and you will see that the CRF you set has no effect. The resultant video always has the same size. I have observed the same issue, and it is because the quality set is being passed to the "qscale" option string, where what is needed is to set the "crf" option string. This can be overcome by manually editing the Preset XML file (mine is located at ~/.local/share/kdenlive/export/customprofiles.xml): - in the "args" attribute, replace `qscale=%quality` with `crf=%quality` - add to the profile the XML attribute `qualities="1,63"` kdenlive has to be restarted to re-read the render presets file. After this I can chose different CRF factors and see different size files. However, if I use the graphical render preset editor to change anything, then these changes are lost and I have to add them back in. A possibly relevant merge request was started @ https://invent.kde.org/multimedia/kdenlive/-/merge_requests/691 Git commit d52d9a14fcb15797fc4294562a1f55be193aec49 by Jean-Baptiste Mardelle, on behalf of Richard Ash. Committed on 31/07/2025 at 11:08. Pushed by mardelle into branch 'master'. Add SVT-AV1 to codecs which use `crf` option SVT-AV1 code uses the ffmpeg option `crf` to set set the rate factor for VBR and constrained VBR mode, rather than `qscale`. Preserve custom quality scale when editing presets. M +10 -3 src/dialogs/renderpresetdialog.cpp M +9 -3 src/renderpresets/renderpresetmodel.cpp M +2 -1 src/renderpresets/renderpresetmodel.hpp M +9 -9 tests/rendermodeltest.cpp https://invent.kde.org/multimedia/kdenlive/-/commit/d52d9a14fcb15797fc4294562a1f55be193aec49 Git commit 7c60159827fc10f520de88b1dfedbc0686e99724 by Jean-Baptiste Mardelle, on behalf of Richard Ash. Committed on 31/07/2025 at 14:50. Pushed by mardelle into branch 'release/25.08'. Add SVT-AV1 to codecs which use `crf` option SVT-AV1 code uses the ffmpeg option `crf` to set set the rate factor for VBR and constrained VBR mode, rather than `qscale`. Preserve custom quality scale when editing presets. M +10 -3 src/dialogs/renderpresetdialog.cpp M +9 -3 src/renderpresets/renderpresetmodel.cpp M +2 -1 src/renderpresets/renderpresetmodel.hpp M +9 -9 tests/rendermodeltest.cpp https://invent.kde.org/multimedia/kdenlive/-/commit/7c60159827fc10f520de88b1dfedbc0686e99724 |