NPP library filter functions


I am trying to integrate CUDA functionality into my program and do some image processing.

Therefore I am working with the NPP library and the filter functions but I am not exactly sure how to use them.
My input data image is stored in a float array (so 32bit data).
There are 2 different filters, one which supports 8u_C1R, that is 8 bit unsigned chars with 1 channel and another one 8u_C4R for 4 channel input data.

Now I am asking myyself, if and how is it possible to use these filters with my input data.
I saw that there exist conversion functions from 32f to 8u, but I don’t want to lose any data.

I would already help, if I could use this filter functions on a 16bit grey scale image.

Does anyone can help me?


My data is stored in a float, but its actually from a 16 bit grey scale image.

Is there a reason, that e.g. the Histogram functions are supporting 16bit values, but the filter functions are only supporting 8 bit values??
Or is this just missing in the docu?

Finally I decided to convert my input image from 16 bit to 8 bit to be able to use the filter functions.
But I am still wondering, why the filter functions do not provide support for 16bit grey scale images.

I always get a NPP_TEXTURE_BIND_ERROR when I try to use the nppiConvert or nppiFilterbox.
Is this because I have to copy my data on the device?

Can I use the nppiMalloc and nppiCopy functions to do so?? Or do I have to use the CUDA runtime API?