nv-filters: Fix load of video FX during reset

The video FX must be reloaded whenever any of its settings have changed,
including its the temporal state.

Signed-off-by: pkv <pkv@obsproject.com>
This commit is contained in:
pkv
2025-08-08 01:59:50 +02:00
committed by Ryan Foster
parent ab55bb46ea
commit ea96f87ca1

View File

@@ -412,14 +412,14 @@ static void nvvfx_filter_reset(void *data, calldata_t *calldata)
/* 3. load FX */
if (filter->filter_id != S_FX_BLUR) {
vfxErr = NvVFX_SetU32(filter->handle, NVVFX_MODE, filter->mode);
if (NVCV_SUCCESS != vfxErr)
error("Error loading NVIDIA Video FX %i", vfxErr);
vfxErr = NvVFX_Load(filter->handle);
if (NVCV_SUCCESS != vfxErr)
error("Error loading NVIDIA Video FX %i", vfxErr);
// reallocate state object
vfxErr = NvVFX_AllocateState(filter->handle, &filter->stateObjectHandle);
vfxErr = NvVFX_SetStateObjectHandleArray(filter->handle, NVVFX_STATE, &filter->stateObjectHandle);
vfxErr = NvVFX_Load(filter->handle);
if (NVCV_SUCCESS != vfxErr)
error("Error loading NVIDIA Video FX %i", vfxErr);
}
if (filter->filter_id != S_FX_AIGS) {
vfxErr = NvVFX_SetF32(filter->handle_blur, NVVFX_STRENGTH, filter->strength);