From the above debug log, I found below difference:
in HDR mode:
CRenderManager::Configure - change configuration. 3840x1608. display: 3839x1608. framerate: 24.00.
...
Display resolution ADJUST : 3840x2160 @ 24.000000 - Full Screen (26) (weight: 0.000)
in Dolby Vision mode:
CRenderManager::Configure - change configuration. 3840x2160. display: 3840x1608. framerate: 24.00.
...
Display resolution ADJUST : 3840x2160 @ 24.000000 - Full Screen (26) (weight: 0.000)
I tried to search the 'CRenderManager' as key word and find the log function:
Code:
CLog::Log(LOGDEBUG,
"CRenderManager::Configure - change configuration. {}x{}. display: {}x{}. framerate: "
"{:4.2f}.",
picture.iWidth, picture.iHeight, picture.iDisplayWidth, picture.iDisplayHeight, fps);
So in Dolby Vision mode, it seems the picture height is not cropped for some reasons.
I have no idea about c++ and video processing programming, so I could not found more useful information although I searched other key words like 'rpu' and 'dovi' in the code.
Currently, I use Vimu Media Player as a workaround for such videos.