When I set VUI parameters during initialize an encoding session for h264 codec like this:
m_stEncodeConfig.encodeCodecConfig.h264Config.h264VUIParameters.videoSignalTypePresentFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.h264Config.h264VUIParameters.videoFormat = 5;
m_stEncodeConfig.encodeCodecConfig.h264Config.h264VUIParameters.videoFullRangeFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.h264Config.h264VUIParameters.colourDescriptionPresentFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.h264Config.h264VUIParameters.colourMatrix = 9;
It works absolutely well.
But when I try to do the same thing for HEVC codec
m_stEncodeConfig.encodeCodecConfig.hevcConfig.hevcVUIParameters.videoSignalTypePresentFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.hevcConfig.hevcVUIParameters.videoFormat = 5;
m_stEncodeConfig.encodeCodecConfig.hevcConfig.hevcVUIParameters.videoFullRangeFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.hevcConfig.hevcVUIParameters.colourDescriptionPresentFlag |= 1;
m_stEncodeConfig.encodeCodecConfig.hevcConfig.hevcVUIParameters.colourPrimaries = 9;
it doesn’t make any effect for output HEVC stream. There is a SPS block in the stream, but the VUI parameters in it are still initial: videoSignalTypePresentFlag = 0, for example.
We use LINUX X64 (AMD64/EM64T) DISPLAY DRIVER 367.57 and Video Codec SDK is 7.0.1 version and the hardware is GeForce GTX 1060 (Pascal)
We just tried this internally and it worked fine. Can you please check with the latest drivers and SDK 7.1? If it still reproduces, please provide the following additional information for us to help further:
Driver version
SDK version
Application you are using
Exact sequence of steps (with source code) in the application
Preferably, please share an application which reproduces the problem
Exact sequence of steps (with source code) in the application
Please download ZIP archive with sources from Dropbox - File Deleted
Preferably, please share an application which reproduces the problem
In the ZIP archive above you can find README.txt with steps to reproduce the problem.
Here is the screenshot with parsed VUI parameters in the result HEVC file. http://joxi.ru/E2p6onu9G6YGrY
You can see that hevcVUIParameters are not applied.