+ Reply to Thread
Results 1 to 11 of 11
-
You can add custom export profiles to shotcut - but shotcut for certain is not lossless for 10bit video input because of the processing
Shotcut has an 8bit timeline. A 10bit YUV video will not be properly processed because the 10bit YUV will be truncated to 8bit YUV first. Even an 8bit "lossless" PNG or webp export will have losses compared to a proper workflow because of the loss of precision upstream.
Not sure about kdenlive
To make something go faster, use a lower compression setting if possible, use multiple instances if possible, or get a faster computer. There is no other way -
I get it now. Kdenlive said this:
[Attachment 76315 - Click to enlarge] -
kdenlive apparently support 10bit
https://www.omgubuntu.co.uk/2022/05/open-source-video-editor-kdenlive-gains-10-bit-color-support
But when I tested it, the 10bitYUV conversion to 8bit RGB such as PNG has slight +/- 2 errors - so it probably means you can import/export 10bit , but it's not proper support and will have rounding errors
shotcut and kdenlive use MLT framework , here is the TODO list:
https://www.mltframework.org/changes/todo/
and the 8.x(next) branch in the future
a new image processing framework that:
supports 10-bit input and output (future support for 12-bit desired)
supports HDR (HDR10/PQ, HLG)
maximizes usage of multi-core CPU and GPU
ensures scene-referred linear color image processing
compatible with avfilter, OpenCV, and Qt high bit depth -
-
They are no lossless for the compression step if done properly. (Shotcut should be for webp if you used a custom profile with lossless=1, but I didn't verify)
But results are not lossless for >8bit video input because of the 8bit intermediate step
(As explained in your other threads, integer RGB will always be lossy for YUV video (you can never get back the original YUV values), but there is an "Expected result" for a RGB conversion . The results for kdenlive deviated more than the expected result - likely from the 8bit intermediate step)
You should verify for yourself if something is lossless, and not just the compression.
Even if the compression step is lossless, the program or workflow might have other processing errors upstream or downstream that would make the end result not lossless. Methods to check "lossless" were posted in your other threads .
Even if the export is verified as lossless, it doesn't mean the handling downstream will be lossless by other programs. For example some browsers and programs and PNG's with gAMA and cHRM tags - they will be displayed with different color. Another common example is certain "lossless" formats are not handled as "lossless" by some video editors - they are mishandled and undergo other colorspace . conversions. Another example is errors in conversions such as wrong matrix - you experienced that in your other threadLast edited by poisondeathray; 20th Jan 2024 at 10:47.
-
Yes, because it supports 10bit YUV input properly
But you must still do the other steps like YUV =>RGB conversions properly, possibly with matrix/transfer/primaries/range. There are many potential issues depending on the input video, export format , as already mentioned in your other threads. You've seen firsthand different colors because of wrong processing, wrong switches - ideally ffmpeg would do everything correctly automatically; but a ffmpeg developer would call that "user error". -
> Shotcut has an 8bit timeline. A 10bit YUV video will not be properly processed because the 10bit YUV will be truncated to 8bit YUV first.
That is not correct. As of version 23.05, if you turn on Settings > GPU Effects it can support a 10-bit pipeline. From the release notes:
>End-to-end support for 10-bit! For this to work, on 10-bit sources use only GPU filters. Nothing prevents you from adding CPU filters, but that will introduce an 8-bit down- and up-conversion into the pipeline.
> kdenlive apparently support 10bit
That linked article and others was over-hyped from a MLT release note: "Fixed full range 10-bit video input in avformat producer."
It could always read broadcast limited 10-bit and down-convert to 8-bit, but the key words there are "fixed full range." It took additional work to extend 10-bit to the GPU (OpenGL) effects engine named Movit integrated into MLT: "Added 10-bit video support to movit.convert filter." Movit converts inputs to uses 16-bit float textures with linear color.
You also need to be careful about your export, and for that Shotcut has a category of export presets named "ten_bit".
I do not know why you brought this up when the poster was only asking about WebP output, but someone needs to correct you. -
Similar Threads
-
Webp Lossless: 0 and 1, What's the difference?
By Jay123210599 in forum Newbie / General discussionsReplies: 11Last Post: 18th Jan 2024, 10:46 -
Webp image sequence
By Jay123210599 in forum Newbie / General discussionsReplies: 19Last Post: 15th Jan 2024, 17:13 -
animated webp test
By poisondeathray in forum TestReplies: 17Last Post: 29th Aug 2023, 14:07 -
images to mkv and webp by using ffmpeg into a .bat file
By maudit in forum Video ConversionReplies: 2Last Post: 15th Aug 2023, 02:17 -
Using Shotcut features in Kdenlive
By DeJay in forum LinuxReplies: 2Last Post: 20th Jul 2019, 11:22