cuda-samples
cuda-samples copied to clipboard
cudaMemcpy2DToArray()在32位上复制数据失败
我使用cuda硬解码1920*1080的视频后,图像格式是AV_PIX_FMT_CUDA,linesize[0]和linesize[1]是2048,使用代码将解码后的数据复制到opengl纹理中:
cudaArray_t cudaArray2; cudaGraphicsMapResources(1, &cudaResource2, 0); cudaGraphicsSubResourceGetMappedArray(&cudaArray2, cudaResource2, 0, 0); err = cudaMemcpy2DToArray(cudaArray2, 0, 0, qsCodecCtx->pFrame->data[1], qsCodecCtx->pFrame->linesize[1], qsCodecCtx->pFrame->width, qsCodecCtx->pFrame->height / 2, cudaMemcpyDeviceToDevice); cudaGraphicsUnmapResources(1, &cudaResource2, 0);
cudaMemcpy2DToArray()执行失败,返回无效参数错误。
此段代码在64位上运行正常的。不知道为什么在32位上会失败。