CLImage2D::CLImage2D ( SmartPtr<CLContext> &context, const VideoBufferInfo &video_info, cl_mem_flags flags) : CLImage (context) { CLImageDesc cl_desc; if (!video_info_2_cl_image_desc (video_info, cl_desc)) { XCAM_LOG_WARNING ("CLVaImage create va image failed on default videoinfo"); return; } init_image_2d (context, cl_desc, flags); }
CLVaImage::CLVaImage ( SmartPtr<CLContext> &context, SmartPtr<DrmBoBuffer> &bo, uint32_t offset) : CLImage (context) , _bo (bo) { CLImageDesc cl_desc; const VideoBufferInfo & video_info = bo->get_video_info (); if (!video_info_2_cl_image_desc (video_info, cl_desc)) { XCAM_LOG_WARNING ("CLVaImage create va image failed on default videoinfo"); return; } init_va_image (context, bo, cl_desc, offset); }
CLImage2DArray::CLImage2DArray ( SmartPtr<CLContext> &context, const VideoBufferInfo &video_info, cl_mem_flags flags) : CLImage (context) { CLImageDesc cl_desc; XCAM_ASSERT (video_info.components >= 2); if (!video_info_2_cl_image_desc (video_info, cl_desc)) { XCAM_LOG_WARNING ("CLVaImage create va image failed on default videoinfo"); return; } XCAM_ASSERT (cl_desc.array_size >= 2); //special process for BYT platform for slice-pitch //if (video_info.format == V4L2_PIX_FMT_NV12) cl_desc.height = XCAM_ALIGN_UP (cl_desc.height, 16); init_image_2d_array (context, cl_desc, flags); }