https://bugs.kde.org/show_bug.cgi?id=478426

--- Comment #19 from Niklāvs Koļesņikovs <89q1r1...@relay.firefox.com> ---
I'm pretty sure that the nice documentation is the computer graphics book that
CImg developers want their users to buy. However, being 2000' academic
software, it does have the Java style API documentation that was all the rage
back in those days. The main link is slightly broken, however by clicking
around a working one can be obtained (this one should lead straight to the
resize function that allows picking the kernel:
https://cimg.eu/reference/structcimg__library_1_1CImg.html#a6a668c8b3f9d756264d1fb31b7a915fc
).

There's also examples ( https://github.com/GreycLab/CImg/tree/master/examples )
to see how the CImg API comes together. That being said, I'm not aware of CImg
having any kind of GPU acceleration and any CPU acceleration or optimization is
likely handled by the optional `-Dcimg_use_openmp -Dcimg_use_lapack` which will
pull in OpenMP and LAPACK respectively. Neither should be as much of a hassle
as OpenCV, so an improvement overall.

When I did play around with C++ graphics on my own time, I always used C
libraries wrapped in custom RAII C++ code. I have not used it myself but there
is Intel's oneAPI (
https://spec.oneapi.io/oneipl/0.6/transform/resize_lanczos.html ) and
specifically its DPC++ language/compiler (
https://intel.github.io/llvm-docs/GetStartedGuide.html ). I would not expect it
to actually use GPU acceleration on the average Linux system right now, however
the same might actually be true with OpenCV as well, because all my searching
indicates it only supports CUDA for GPU acceleration.

Overall, maybe best to just lower the expectations and pick something CPU based
like CImg and open a feature request for KF6 or Qt6 to implement better scaling
methods (and ideally ability to use libplacebo compatible shaders, because
there's quite a large selection of awesome shaders for mpv).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to