-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Text overlay shifts levels slightly #1517
Comments
I have not reproduced this. I am using version 24.09. I place a limited color range video on V1. I added Speed: Forward Only with keyframes set to 0 speed in order to have a still frame to be able to more easily compare before and after a text clip on V2. The Video Zoom scope is locked onto the same pixel outside of the text filter. Selecting a pixel within the region of the Text: Simple filter does not make a difference. I also did an export and compared the frame before the text and the first frame with text. |
Thanks for taking a look. Shotcut.shift.mp4 |
Update: Out_of_gamut_for.Shotcut.report.mp4 |
That makes sense because these effects are done using 8-bit integer RGBA, which is in full range. When converting limited color range YUV to full range integer RGB, it will truncate. You must override the YUV clip to full color range to preserve it. This is not something that will be fixed as it is basically requires a massive rewrite including possibly libraries we do not control, or adding functions to adjust RGB from and to sRGB (sRGB is always full range and many media assets use that). That’s not going to happen. This problem might not occur with GPU Effects, however, because it operates in 16-bit floating point RGBA, which can accommodate the excursions. But I would need to check what it does when converting back to YUV. |
Shotcut 24.01.28
The fading out of the title in the attached sample makes the luma shift by 1 or 2 steps down, see the waveform monitor.
Or better: the addition of the title shifts the luma 1 or 2 steps up. Changing opacity and/or the RGB value of the text (254,254,254) doesn't have an effect. Am I missing something?
The text is added on a separate video track.
Edit: It looks like the appearance/disappearance of the text would trigger a change between limited range<->full range.
(The video is limited range).
Level.shift.mp4
The text was updated successfully, but these errors were encountered: