OpenCV Mat to NvBufSurface (to use in NvBufSurfTransform)

just making clear - I get:

nvbufsurface: Wrong buffer index (0)
Err in Synccpu

from running:

// ---------------------------------
NvBufSurface* src;
NvBufSurface* dst;
NvBufSurfTransformParams* params;

// read img
Mat in1 = imread(“FRAME_23.jpg”);

// Move to devicemem
NvBufSurfaceCreateParams create_params;
create_params.gpuId = 0;
create_params.width = 1024;
create_params.height = 768;
create_params.size = 0;
create_params.colorFormat = NVBUF_COLOR_FORMAT_BGR;
create_params.layout = NVBUF_LAYOUT_PITCH; // ?
create_params.memType = NVBUF_MEM_DEFAULT;

if (NvBufSurfaceCreate (&src, 1, &create_params) != 0) {
printf (“Error: in Create\n”);
}
NvBufSurfaceMemSet (src, 0, 0, 0);

if (NvBufSurfaceMap (src, 0, 0, NVBUF_MAP_READ_WRITE) != 0){
printf(“Err in Map\n”);
}
if (NvBufSurfaceSyncForCpu (src, 0, 0) !=0) {
printf(“Err in Synccpu”);
}
memcpy(src->surfaceList[0].mappedAddr.addr[0],in1.ptr(), 1024 * 768 * 3);
// ---------------------------------