Posts: 736
Threads: 70
Joined: Feb 2020
Hello Selur,
It seems that to convert Dolby Vision to SDR in Hybrid there is available only the Vapoursynth filter "ToneMap (Placebo)"
I noted that this filter is very slow, especially in "preview" and in the initial encoding,
This filter should support the GPU, but in input I don't see any option to enable the GPU for this filter.
Do you know if this filter is able to use the GPU ?
As additional observation, if one as defined in "Video Usability Information" to propagate the matrix, transfer, primes from input to output.
In case of conversion these values will be wrong and this option should be disabled.
Dan
Posts: 10.981
Threads: 57
Joined: May 2017
Quote:This filter should support the GPU, but in input I don't see any option to enable the GPU for this filter.
Do you know if this filter is able to use the GPU ?
I don't see any option over at https://github.com/Lypheo/vs-placebo that offers any gpu accelleration.
Quote: As additional observation, if one as defined in "Video Usability Information" to propagate the matrix, transfer, primes from input to output.
In case of conversion these values will be wrong and this option should be disabled.
Yes, when doing HDR -> SDR conversions you should check the VUI settings.
Cu Selur
Posts: 736
Threads: 70
Joined: Feb 2020
this filter is an interface to libplacebo and libplacebo currently supports Vulkan (including MoltenVK), OpenGL, and Direct3D 11. It currently has the following minimum hardware requirements: - Vulkan: Core version 1.2
- OpenGL: GLSL version >= 130 (GL >= 3.0, GL ES >= 3.0)
- Direct3D: Feature level >= 9_1
So I guess that is automatically supported since, as you said, there is not option in the filter regarding the GPU support
Posts: 10.981
Threads: 57
Joined: May 2017
Yes, there is no option to disable or enable gpu support:
placebo.Tonemap(clip clip[, int src_csp, int dst_csp, int dst_prim, float src_max, float src_min, float dst_max, float dst_min, int dynamic_peak_detection, float smoothing_period, float scene_threshold_low, scene_threshold_high, int intent, int gamut_mode, int tone_mapping_function, int tone_mapping_mode, float tone_mapping_param, float tone_mapping_crosstalk, bool use_dovi, bool visualize_lut])
so its probably using whatever it finds.
As a side note: TimeCube also has matrices for dvhe0509.
Cu Selur
Posts: 736
Threads: 70
Joined: Feb 2020
Hello Selur,
I tried the LUT dvhe0509_to_BT709.cube, but for my sample it was unable to properly map the colors.
Mediainfo report the HDR format: Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
The filter Tonemap (Placebo) was the only filter able to to map the colors to SDR but with a quite dark results.
To get a good result I had to apply the following filters
# adjusting color space from YUV420P10 to YUV444P16 for vsToneMapPlacebo
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, range_s="limited")
# color adjustment using ToneMap (Placebo)
clip = core.placebo.Tonemap(clip=clip, src_csp=3, dst_csp=0, src_min=0.0050, src_max=1000.0000, dst_min=0.2023, dst_max=203.0000, dynamic_peak_detection=1, tone_mapping_param=0.000, use_dovi=True)
# adjusting color space from YUV444P16 to RGB48 for vsLevels
clip = core.resize.Bicubic(clip=clip, format=vs.RGB48, matrix_in_s="2020ncl", range_s="limited")
# Color Adjustment using Levels on RGB48 (16 bit)
clip = core.std.Levels(clip=clip, min_in=4096, max_in=60160, min_out=4096, max_out=60160, gamma=1.30)
# adjusting color space from RGB48 to YUV444P16 for vsTweak
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="2020ncl", range_s="limited")
# Color Adjustment
clip = adjust.Tweak(clip=clip, hue=-5.00, sat=1.05, cont=1.01, bright=2560, coring=True)
In the Tweak GUI settings I set the Brightness to " 10", but in the code this value has been changed in " 2560" ( strange), but the code worked, so should not be a problem...
Dan
Posts: 10.981
Threads: 57
Joined: May 2017
About the number change: you enter values 0-255 for 8bit which Hybrid converts to the color depth that is present where you use the filter.
In your case 16bit.
Cu Selur
|