26.07.2021, 08:59
By the way it was another ticket for ProRes 12 bit reader support. Maybe info from that ticket may help somehow https://trac.ffmpeg.org/ticket/7163
One more interesting test result. If i render with Hybrid to ProRes 444 MKV (instead of original MOV container) and put that rendered MKV file back to Hybrid - i got black screen when apply Levels even if UseRGB is unchecked.
Also if i use ProRes444 file, apply Levels with any settings and render to ProRes 444 - i got MOV file that is simply black.
One more interesting test result. If i render with Hybrid to ProRes 444 MKV (instead of original MOV container) and put that rendered MKV file back to Hybrid - i got black screen when apply Levels even if UseRGB is unchecked.
Also if i use ProRes444 file, apply Levels with any settings and render to ProRes 444 - i got MOV file that is simply black.
# Imports
import vapoursynth as vs
# getting Vapoursynth core
core = vs.core
# source: '/Users/aaa/Desktop/resolve prores444-hybrid.mkv'
# current color space: YUV444P16, bit depth: 12, resolution: 1440x1080, fps: 25, color matrix: 709, yuv luminance scale: limited, scanorder: progressive
# Loading /Users/aaa/Desktop/resolve prores444-hybrid.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="/Users/aaa/Desktop/resolve prores444-hybrid.mkv", format="YUV444P16", cache=0, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# Color Adjustment
clip = core.std.Levels(clip=clip, min_in=1584, max_in=3552, min_out=256, max_out=3760, planes=[0])
# set output frame rate to 25.000fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Output
clip.set_output()