Color/luma adjustments without RGB conversion

While we’re on the subject, how about a full-range lift control in the Color Grading filter as I have suggested several times in the past?

Thank you Brian, this is exactly what I was looking for and it tells me that I should not be so worried about an RGB conversion, particularly if I limit it to one time around. And yes, all my source material originates from a camera. My priority is with simplifying my overall workflow and stop standing on my head so much to run everything through AVISynth.

Even so, the gamma filter is available in MLT that seems like it would be easy enough to add to Shotcut. :wink:

In any case, I appreciate Shotcut because, from a workflow perspective, it does exactly what I want/need in a simple, uncomplicated way. And it runs on both Windows and Linux. It’s good stuff!

If you’re only trying to make home videos look better, why are you worried about broadcast specs?

I’m a perfectionist. Pragmatism is kicking in more and more as I go along though! At the same time though, I’ve just taken for granted the start-to-finish YUV workflow that AVISynth has always had. It’s only been in trying to move away from it that I have discovered nothing else operates that way.

I’m not familiar with Avisynth at all.

I’m working on an ffmpeg script to bring a camcorder output reasonably close to broadcast specs. Will share later.

If you’re going to go to those lengths you need to pay attention to gamma. I recently posted on this and will try to find that post for you.

As promised, there is some discussion of setting gamma toward the end of this thread:

Unfortunately, Shotcut’s scope lacks the graticule lines needed to do this really right. You need graticule lines at digital 235, digital 111 and digital 16. I cheated by writing my own scope code. Contact me if you are interested in it.

Or, you could make gray patches at 235, 111 and 16 and get Shotcut to make you a split screen between your camera video and the gray patches and try to match them visually. Obviously you would make adjustments to your camera video and not the gray patches.

The YpbPr signal in AVCHD is not constant luminance - some of the Luma signal is transferred in the Chroma and vice versa.

If you adjust Luma, you get a hue shift.

You need to convert to something like 1976 CIE Yu’v’ and linearise the Luma to luminance, then you can make luminance adjustments without shifting hue.

Yes! Showing broadcast range on the histogram is a great idea. (AVISynth does this, btw ;)). The issue with AVISynth is that it’s a scripting language. Which has great value in many respects – you have absolute control over the filters, filter settings, the order of the filters (which requires you know what you’re doing). It does Yadif double framerate deinterlacing and reverse telecine, both of which I have used over the years. It does it all. It just sucks for editing. That’s the big gotcha. There is no traditional timeline view with it. You can cut, apply transitions and effects with it, etc, but it’s all in a scripting language, not visual.

For the YUV histogram piece, there is a script editor that shows a preview screen where you can overlay the YUV histogram. And it shows the full range with markers for broadcast safe. And it has a Levels function along with gamma, brightness, contrast, and white balance functions that all operate in YUV and you can see the effect on the histogram as you apply the filters. It’s all very easy. For most of the filters, you have the option of YUV or RGB – there is a parameter where you set that. So it doesn’t have to be YUV; it just doesn’t have to be RGB either.

AVISynth is much like MLT Framework would be without Shotcut or Kdenlive. Which is what brought me to MLT and to Shotcut. Plus MLT runs natively on Linux! Big plus. There is a successor to AVISynth called VapourSynth that runs on Linux that I am toying around with. I’m not sure if it will work yet though – it has some serious limitations with audio. But it has the same YUV histogram and filters as AVISynth. And it has the same difficulties with editing – no timeline, very simple. I can’t have it all, I guess!

1 Like

st599, that’s interesting. I didn’t know that. I’m just getting started with AVCHD actually, so this is not something I’ve observed yet. But I will watch out for it. This could definitely change things. I’ve been working with DV, HDV, and MJPEG (from old 8mm film scans) up to now.

The Waveform Scope in Shotcut has lines at 0 and 100 IRE which map to digital 16 and 235 respectively. Also, if you run your mouse over the scope, a popup appears that displays the digital value and corresponding IRE value. Why do you need 111?

In Shotcut, if you run your mouse over the luminance histogram, a popup will appear showing the digital value and corresponding IRE for that point in the histogram. I toyed with adding lines at 100 and 0 IRE. But it is difficult to see a histogram bar for a solid white or black image because the IRE line would cover it. I could try playing with transparency.

Where? I have the scope open now and am looking and don’t see anything like that.

That’s why I wrote my own scope program. The traces and graticule on mine are nicely visible and readable.

Here is why I added a graticule line at 111. Let me know if I need to explain this.

View - Scopes - 2019-01-03_13-26-21
Maybe now you can see it. You actually have to move the mouse over the Video Waveform.

1 Like

You might be using an old version. I added it in November:

I’m using version 18.12.23.

I’m talking about the “0” and “100” graticule lines, not the mouse-over popup. I see nothing like that on my copy.

I understand the spreadsheet. But it doesn’t explain why “Shotcut’s scope lacks the graticule lines needed to do this really right.”. I haven’t seen any other video waveform display that has a graticule line at 43 IRE. 0 and 100 are useful for obvious reasons. And some include 7.5 IRE for NTSC pedestal. But I’ve not seen 43. The whole rest of the world must be getting by somehow without it.

Here is the scope I wrote and use. Note the “IRE” designation at the top left of the scope.

Well that’s a mystery, then. It is definitely there. Maybe try downloading the latest portable zip file and running it from there. Or maybe a different computer?

Seriously? If it’s there on one machine but not on another then you’ve got a problem.

I’m running Windows 10 Professional — there is nothing exotic about it. My display resolution is 1280 x 720. The video scope is in its own window so display resolution shouldn’t matter.

When I first select View → Scopes → Video Waveform I get an all-black window. By selecting View → Scopes → Video Histogram with the scope open, the histogram appears behind the scope and the scope traces appear. I can then close the histogram and the scope traces remain but without graticule lines.

Of course, but we are not seeing that and need to reproduce it to attempt a fix. I think he was alleging there might be an install problem. The code for these lines are not in if blocks such that they are excluded under some conditions. Maybe it is a UI toolkit rendering bug with certain sizes or overlaps with other panels, for example. Any insight you or another can provide is appreciated.

I looked a the Video Waveform on both Linux and Windows and I see what Hudson555x shows above. I really like it because it has lines for broadcast safe plus can you mouse over it and see values. You can mouse over the histogram also and see values. That’s really good; very usable.

If it helps, here is a screenshot of the histogram from AVISynth (and Vapoursynth, they are identical). You can see the broadcast safe area. But you cannot mouse over this for values – that’s a nice touch in Shotcut. As you can see, there is a graph for all three YUV channels. But I don’t get much use out of the UV channels apart from centering the samples for white balancing – and there’s a function that just does that without having to look at the histogram anyway. And samples on the UV channels are never anywhere near the limits. Although, based on st599’s comments, perhaps that will be different with AVCHD. This particular histogram is from one of my MJPEG captures from an 8mm film scan.