Skip to content

cuda: add SSIM extraction with CPU-compatible options - #1619

Open
BardieJoensen wants to merge 4 commits into
Netflix:masterfrom
BardieJoensen:cuda-ssim-feature
Open

BardieJoensen wants to merge 4 commits into
Netflix:masterfrom
BardieJoensen:cuda-ssim-feature

Conversation

@BardieJoensen

@BardieJoensen BardieJoensen commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #1553, #1613 and #1660 (CUDA PSNR); only the last commit is SSIM. SSIM-only diff.

Add ssim_cuda for 8/10/12/16-bit input, with scaling, luminance/contrast/structure output and dB options. Reuse the CUDA PSNR resource helpers.

Scores matched CPU results exactly in the tested GCC 13.3/CUDA 13.3 cases. Tests covered scaling boundaries, odd dimensions, identical/inverted frames, callback errors and initialization cleanup. CUDA memcheck/initcheck passed.

Local suites: CPU 23/23; CUDA 30/31, with the existing pinned-picture test crash remaining.

Split from #1563. Depends on the CUDA PSNR contribution.

Skip CUDA extractors in the temporal flush loop to avoid duplicate final
scores. Add a regression across thread counts and short clips.
Retain common cleanup after CPU dispatch and finish all-plane downloads
before CPU reads. Test pool reuse, GPU completion and CPU PSNR/SSIM output.
Add ssim_cuda with scaling, L/C/S and dB options. Reuse the CUDA PSNR resource helpers and test numerical parity, callback errors and initialization cleanup.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant