fix(encode/windows): resolve NVENC at runtime — AMD/Intel hosts no longer crash at start
The nvenc build linked nvEncodeAPI64.dll's entry points at load time, so a --features nvenc binary hard-crashed on any box without the NVIDIA driver (AMD/Intel). Entry points now come from a runtime LoadLibrary table (encode/windows/nvenc.rs load_api); a missing DLL just falls through the encoder auto-detect to AMF/QSV/software. The generated import lib and all its plumbing (gen-nvenc-importlib.ps1, nvenc.def, PUNKTFUNK_NVENC_LIB_DIR, setup-build-env wiring) are gone. Live-validated on the RTX 4090 box (NVENC session, 7000+ frames). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,11 +9,11 @@ Helper scripts for the Windows host box (the RTX `.173` lab box, repo at
|
||||
powershell -ExecutionPolicy Bypass -File scripts\windows\setup-build-env.ps1
|
||||
```
|
||||
|
||||
Persists (Machine scope) the three vars the NVENC build needs:
|
||||
Persists (Machine scope) the vars the host build needs (NVENC itself needs none — its entry
|
||||
points are runtime-loaded from the driver's `nvEncodeAPI64.dll`):
|
||||
|
||||
| var | value | why |
|
||||
| --- | --- | --- |
|
||||
| `PUNKTFUNK_NVENC_LIB_DIR` | `C:\Users\Public\nvenc` | NVENC import lib (`nvencodeapi.lib`) |
|
||||
| `LIBCLANG_PATH` | `C:\Program Files\LLVM\bin` | bindgen (`libclang.dll`) |
|
||||
| `CMAKE_POLICY_VERSION_MINIMUM` | `3.5` | `audiopus_sys` / cmake crates |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user