581
社区成员
发帖
与我相关
我的任务
分享
short IF(const short a[],const short m_lumaFilter[],short Val[],char Out[]) //m_lumaFilter为滤波器系数
{
short *d_a,*d_c,*d_b,*d_d,*d_e;
cudaError_t cudaStatus;
short asize=Expix*sizeof(short);//待插值大小 104481*2
short m_lumaFiltersize=31*sizeof(short);//滤波器大小
short csize= Nu_IF_Hor*sizeof(short);//水平插值后大小 411008*2
short Valsize=Nu_IF_Ver*sizeof(short);//垂直插值后大小 1597440*2
cudaMalloc((void **)&d_a,asize);
cudaStatus = cudaMalloc((void **)&d_b,m_lumaFiltersize);
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudamalloc d_b failed!");
return 1;
}
cudaStatus =cudaMalloc((void **)&d_c,csize); //fail here!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudamalloc d_c failed!");
return 1;
}
cudaStatus =cudaMalloc((void **)&d_d,Valsize);
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudamalloc d_d failed!");
return 1;
}
cudaStatus =cudaMalloc((void **)&d_e,Valsize);
if (cudaStatus != cudaSuccess) {
fprintf(stderr, "cudamalloc d_e failed!");
return 1;
}