Skip to content

Feature request: CUDA feature extractor for CAMBI #1567

Description

@teb

Summary
The CUDA-accelerated feature extractors (VIF, ADM, Motion) added via the NVIDIA/Netflix collaboration (VMAF-CUDA, libvmaf 3.0 / FFmpeg 6.1) do not include CAMBI. When a model requiring CAMBI (e.g. a VMAF v1 model) is loaded via libvmaf_cuda, initialization fails with:
libvmaf ERROR could not initialize feature extractor "Cambi_feature_cambi_score"
[Parsed_libvmaf_cuda_N] Failed to configure output pad
This reproduces consistently regardless of pixel format (yuv420p, nv12) or resolution, on a fresh libvmaf build (-Denable_cuda=true, CUDA 13.2, RTX 5070/sm_120). CAMBI works correctly on the identical build/model when run through the CPU (libvmaf) filter instead of libvmaf_cuda, confirming this is a missing CUDA implementation rather than a build or model-loading issue.
Ask
Is a CUDA implementation of CAMBI planned? If not currently planned, is there a technical reason CAMBI is harder to port than VIF/ADM/Motion (e.g. its multiscale/derivative-based approach), or is it simply not yet prioritized?
This matters increasingly since VMAF v1 models require CAMBI, so any pipeline wanting both VMAF v1 accuracy and CUDA-accelerated feature extraction currently has no path forward — you get one or the other.
Environment

libvmaf built from master (July 2026), -Denable_cuda=true
FFmpeg built from git with --enable-libvmaf --enable-ffnvcodec --enable-cuda-nvcc
CUDA Toolkit 13.2, driver 610.74, RTX 5070 (Blackwell, sm_120)
Ubuntu 24.04 in WSL2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions