0

ME のみのモードで NVENC を初期化しようとして、奇妙な動作に行き詰まりました。OpenEncodeSessionEx()常に #15 で失敗する -"This indicates that an invalid struct version was used by the client."

パラメータ構造体は次のとおりです。

  NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS session_params = {
    .version = NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER, 
    .deviceType = NV_ENC_DEVICE_TYPE_CUDA,
    .device = ctx,
    .reserved = 0,
    .apiVersion = NVENCAPI_VERSION,
    .reserved1 = 0,
    .reserved2 = NULL
  };
  int ret = encOpenEncodeSessionEx(&session_params, &encoder->enc);

さまざまな C および Golang 環境から呼び出そうとしましたが、何をしてもそのエラーが発生します。NVENC サンプルのエンコーダーがクラッシュしました (segfault)。デコーダーは問題なく動作しますが、エンコーダーは問題ありません。

エラー#15 - を引き起こす正確な条件は何NV_ENC_ERR_INVALID_VERSIONですか?

440.82 ドライバーで Cuda を 10.2 にアップグレードしましたが、うまくいきませんでした。Cuda 10.0 にダウングレードしようとしましたが、同じです。1060tiGPUを使用しています。

誰でも私を助けてください))

4

1 に答える 1