NVENC HEVC 无损和 losslesshp 预设之间有什么区别?

NVENC HEVC 无损和 losslesshp 预设之间有什么区别?

有两种 NVENC HEVC 无损预设:

ffmpeg -hide_banner -h encoder=hevc_nvenc
  -preset            <int>        E..V.... Set the encoding preset (from 0 to 11) (default medium)
     default                      E..V.... 
     slow                         E..V.... hq 2 passes
     medium                       E..V.... hq 1 pass
     fast                         E..V.... hp 1 pass
     hp                           E..V.... 
     hq                           E..V.... 
     bd                           E..V.... 
     ll                           E..V.... low latency
     llhq                         E..V.... low latency hq
     llhp                         E..V.... low latency hp
     lossless                     E..V.... lossless
     losslesshp                   E..V.... lossless hp

lossless你能向我解释一下和之间有什么区别吗losslesshp

答案1

似乎没有不同根据nvenc lossless 和 lossless-hp 预设之间有什么区别?这是 2017 年 11 月发布的;情况可能已经发生变化,因此有必要查看源代码。

ffmpeg/libavcodec/nvenc.c

PRESET(LOSSLESS_DEFAULT,    NVENC_LOSSLESS),
PRESET(LOSSLESS_HP,         NVENC_LOSSLESS)

Video_Codec_SDK_9.1.23/Samples/NvCodec/NvEncoder/NvEncoder.cpp

if (pIntializeParams->presetGUID != NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID
        && pIntializeParams->presetGUID != NV_ENC_PRESET_LOSSLESS_HP_GUID)
    {
        pIntializeParams->encodeConfig->rcParams.constQP = { 28, 31, 25 };
    }

因此,就回答而言仍然没有区别。

如果真的一样的话,我不知道它为什么会存在。我的猜测是,最初的意图是创建一个尚未实现的“高性能”变体。

相关内容