Log in

View Full Version : [FAQ] Check Filter(s) Bit Depth Directly in Hybrid


shph
20th September 2020, 00:48
Here is quick and easy way to check filter(s) bit depth directly in Hybrid (Same concept will work with plain script in VapourSynth Editor):

1. Download Test Patterns generated in DaVinci Resolve here:
https://www.dropbox.com/sh/bak63hnr7mnpgbj/AAAf-rMK0LvHYTAFjPuQaaxFa?dl=0

2. Import to Hybrid "Test Patterns Resolve 4444 12-bit.mov" or "Ramp Resolve ProRes 4444 12-bit.mov"

3. Move "Color Adjustment" filters group to the bottom of filter chain stack:
https://i.imgur.com/EvMsjfc.jpg

4. Adjust min/max input in Levels to something like 99/122. Make sure that "Planes: all" selected:
https://i.imgur.com/QAtmBlT.jpg

5. Due bug in Hybrid 2020.09.15 you also need to apply "identity.cube" LUT in TimeCube to provide proper RGB input for Levels:
https://i.imgur.com/eAKoCtY.jpg

6. Now zoom-in vsViewer preview with middle mouse click and apply some filter(s). Adjust some random filter settings, check if filter visible in script. If you don't see any changes in gradient steps, it means filter can process 8/10/12/16-bit or 32-bit float internally:
https://i.imgur.com/657tGGT.jpg

7. Try other filter. If you start to see large steps artifacts in gradient, it means filter use 8-bit only internal processing. In most cases 8-bit only filters designed to remove very specific artifacts in DVD/VOB or similar legacy 8-bit sources, so in reality it is not a big problem. Due quality loss it is just don't recommended to apply filters like this to high bit depth video sources.
https://i.imgur.com/Yyj9FnW.jpg

----------

8-bit only filters list (tested with Hybrid UI on macOS 10.14.6):
DeGrain -> MLDegrain
DeGrain -> TemporalDegrain
Artefacts -> DeCrawl -> DotKill
Artefacts -> DeCrawl -> DeDot
Artefacts -> DeRainbow -> BiFrost
Artefacts -> DeRainbow -> SSIQ
Artefacts -> DeCross
Line -> AntiAliasing -> SangNomMod (removed from Hybrid due conflict with SangNom)
Line -> Resizer -> Anime4KCPP

Selur
20th September 2020, 08:21
Without looking at the actual script and just moving the filter to the bottom you can't be sure what's happening, so your method might be flawed.

Using TimeCube will force Hybrid to convert the input to a RGB color space which then has to be converted to whatever the filter you use supports.
No clue why this should work any better then without using TimeCube and let Hybrid to the conversion from the source color space directly.
-> no clue why you are using TimeCube in your method

Also you should always look at the script not just the preview.

Cu Selur

Ps.: This might not be the right place for this kind of post in the forum I think this belongs into the MPEG-4 Encoder GUIs (https://forum.doom9.org/forumdisplay.php?f=78) sub-forum since it's more Hybrid specific than Vapoursynth.
PPs.: Also why 'FAQ', at least I was never asked about this,...

shph
20th September 2020, 08:56
As i described - TimeCube LUT + Levers is just my lame fix for Hybrid 2020.09.15. In newer Hybrid versions problem probably may be fixed and input for Levels adjusted to RGB automatically. I just don't use newer versions due introduced restrictions in UI.