static av_cold void program_opencl_uninit(AVFilterContext *avctx) { ProgramOpenCLContext *ctx = avctx->priv; cl_int cle; int i; if (ctx->nb_inputs > 0) { ff_framesync_uninit(&ctx->fs); av_freep(&ctx->frames); for (i = 0; i < avctx->nb_inputs; i++) av_freep(&avctx->input_pads[i].name); } if (ctx->kernel) { cle = clReleaseKernel(ctx->kernel); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "kernel: %d.\n", cle); } if (ctx->command_queue) { cle = clReleaseCommandQueue(ctx->command_queue); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "command queue: %d.\n", cle); } ff_opencl_filter_uninit(avctx); }
static av_cold void convolution_opencl_uninit(AVFilterContext *avctx) { ConvolutionOpenCLContext *ctx = avctx->priv; cl_int cle; int i; for (i = 0; i < 4; i++) { clReleaseMemObject(ctx->matrix[i]); } if (ctx->kernel) { cle = clReleaseKernel(ctx->kernel); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "kernel: %d.\n", cle); } if (ctx->command_queue) { cle = clReleaseCommandQueue(ctx->command_queue); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "command queue: %d.\n", cle); } ff_opencl_filter_uninit(avctx); }
static av_cold void neighbor_opencl_uninit(AVFilterContext *avctx) { NeighborOpenCLContext *ctx = avctx->priv; cl_int cle; clReleaseMemObject(ctx->coord); if (ctx->kernel) { cle = clReleaseKernel(ctx->kernel); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "kernel: %d.\n", cle); } if (ctx->command_queue) { cle = clReleaseCommandQueue(ctx->command_queue); if (cle != CL_SUCCESS) av_log(avctx, AV_LOG_ERROR, "Failed to release " "command queue: %d.\n", cle); } ff_opencl_filter_uninit(avctx); }