3D LUT Processing Using Gstreamer nvivafilter Plugin and NPP Function nppiLUT_Linear_8u_C3R

Hi All,

I need to do 3D LUT processing on the video stream. I’m now looking at nvivafilter with custom cuda based shared object. Is the nvivafilter source code available as I need to add some settings? For 3D LUT processing in this the correct NPP function to be using nppiLUT_Trilinear_8u_AC4IR. Since is a black box what does it do to make the processing fast and efficient? Does it create parallel threads to breakup the task and does it use memory in a fashion where minimum copies are done? Is there better documentation for this function than what exist today or could someone explain the arguments from an image scientist POV and not NVIDIA programmer POV? For the libnvsample_cudaprocess.so tied to nvivafilter there are 2 functions pre and post, are they only called once for the life of the nvivafilterin the pipeline?

Thanks in advance.

Tom

Hi All,

Wanted to clarify that the plugin settings will be changing in realtime so I need the source code for nvivafilter to add settings and get the setting changes to the cuda shared object.

Thanks.

Tom

Hi All,

I changed the NPP function in the initial entry as the prior wasn’t a 3D LUT function.

Tom

Hi All,

Wanted to clarify that the plugin settings will be changing in realtime so I need the source code for nvivafilter to add settings and get the setting changes to the cuda shared object.

Thanks.

Tom

Hi,

Sorry that the nvivafilter is not open sourced.

For nppiLUT_Trilinear_8u_AC4IR, you can find some detail here:
https://docs.nvidia.com/cuda/export/npp/group__image__color___l_u_t___trilinear.html

Thanks.