Main Menu

Colour Management

Started by sark, May 20, 2023, 09:22:17 AM

Previous topic - Next topic


Does Avidemux use different colour management for the main display and the filter preview displays?



There is nothing like color management in Avidemux, but depending on your configuration, filter configuration dialog previews and the main window video display may use different paths (the filter configuration preview dialogs default to OpenGL when OpenGL is enabled, otherwise only unaccelerated "Qt" AKA "RGB" path is available, the main window video display defaults to DXVA2 on Windows, VDPAU on Linux and OpenGL on macOS) which may be treated by the system and also internally differently (Avidemux may try to stretch color range for limited-range pictures, this is video display dependent).


Quote from: eumagga0x2a on May 21, 2023, 07:55:44 PMfilter configuration dialog previews and the main window video display may use different paths (the filter configuration preview dialogs default to OpenGL when OpenGL is enabled, the main window video display defaults to DXVA2 on Windows,).

This is why I previously switched to OpenGL for main display. It did at least match filter previews. The problem was that it only matched at full range (0-255). Both main display and filter previews ignore my NVIDIA settings limited range (16-235).
With main display set to DXVA2, only main display matched limited range.
Is there a reason why filter previews do not mimic main DXVA2 display settings?

I've now partly dealt with my problem by leaving DXVA2 display enabled in Avidemux, with OpenGL enabled for filter previews. My NVIDIA setting are left at full range (0-255). This combination matches the main display to the filter previews in Avidemux.
Next, I go into Windows Colour Management and change the default colour profile from the custom profile I normally use to PAL/SECAM. This gives a brighter preview in both the Avidemux main display and filter previews. This is the closest I can get to matching my home TV display, enabling me to calibrate colour/contrast etc for playback on my TV.

It would be useful if I could get the filter previews in Avidemux to match the limited range of my NVIDIA settings (as is possible with the main display). I guess Avidemux is correcting this for some reason, or simply ignoring it.



PC monitors has full range RGB levels, always had. The "limited range RGB" is a meaningless, broken concept.
Videos usually encoded on YUV color space, where limited or full range concepts are both valid.
In case of a properly working video-to-displaying chain it does not matter, if the video is encoded on limited, or full range, the visual results must be identical (except precision loss).

If your TV set displays incorrectly, my tips are:
- check the corresponding metadata/flag is valid
- if above not working, after you have a fully edited project, before saving append a "Avisynth color filter" filter, experimenting with "Levels" and/or "Clip to .." parameters
Ofc. try the above suggestions with full-range RGB on the PC.


Long story short. I did a lot of testing viewing DVD's on my TV and immediately viewing on my PC for comparison. My monitor clearly has some issues.
To emulate TV playback on my PC, I enabled PAL/SECAM in the colour management settings (sRGB, or Adobe RGB also work), and lowered the angle of my monitor slightly. The latter seems to confirm I have some monitor issues. When I use the test image below, the dark grey Q on black is almost mid grey when my monitor is angled down slightly (likewise on my TV), but goes completely black when the monitor is angled upwards by a similar amount. With direct viewing it is just visible. Highlights are barely affected.
There are also inconstancies. I seem to get it to behave one day, and the next it seems brighter, or darker with the same setup. Of course, this may be graphics card related, but I'm confident it's the monitor.
Have decided to invest in something better.

One thing I'm still curious about. If I load a full range video in Avidemux and set the NVIDIA settings to limited range, OpenGL adjusts black to 16, and white to 235. With DXVA2 enabled, the lower and higher values appear to be discarded, producing a washed out look.
I was trying to to exploit this to match my TV, which with hindsight was bad practice. But, why does DXVA2 differ to OpenGL in this respect. It doesn't happen in MPC-HC?

You cannot view this attachment.