我使用NVENC的例子提供了NVENC SDK。我正在手动填充传递给NVENC API的YUV数组(m_pYUV)。如果高度是1080,一切正常,我得到有效的视频。但是,如果我定义的高度大于1080,似乎压缩仍然成功,但视频是无效的。
为什么它不工作,如果高度大于1080?
我刚刚在读NVENC参考手册。这是我第一次接触API,但我去寻找可以查询底层硬件设施功能的函数。
为此,我找到了NvEncGetEncodeCaps()
。它接受一个指向NV_ENC_CAPS_PARAM
结构体的指针。您可以使用它来查询单个功能参数。在这种情况下,值得研究的参数可能是NV_ENC_CAPS_WIDTH_MAX
和NV_ENC_CAPS_HEIGHT_MAX
。