I am using nvenc to code H.265. But there is no paramter in “nvencodeAPI.h” to tell the encoder to use CABAC. Can nvenc use CABAC to code H.265? How to enable CABAC?
HEVC is only using CABAC. They already migrated to SCC though, screen content coding. Ice Lake supports that.
I tried to use nvenc to code HEVC. But the encoder used CAVLC instead of CABAC. I used both HP preset and HQ preset. But the result is same. Only CAVLC is used. I used BSAnalyzer to parse the stream and it showed that the cabac_init_flag is false. In “nvEncodeAPI.h”, there is a config named NV_ENC_H264_ENTROPY_CODING_MODE to use CABAC when coding H.264. But there is no similiar config for HEVC.
HEVC does not support CAVLC. Only CABAC and SCC are supported.
“In HEVC, CABAC is used in all profiles of the standard.”