예제 #1
0
void ff_opencl_deshake_uninit(AVFilterContext *ctx)
{
    DeshakeContext *deshake = ctx->priv;
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_inbuf);
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_outbuf);
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_matrix_y);
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_matrix_uv);
    av_opencl_release_kernel(&deshake->opencl_ctx.kernel_env);
    av_opencl_uninit();
}
예제 #2
0
void ff_opencl_deshake_uninit(AVFilterContext *ctx)
{
    DeshakeContext *deshake = ctx->priv;
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_inbuf);
    av_opencl_buffer_release(&deshake->opencl_ctx.cl_outbuf);
    clReleaseKernel(deshake->opencl_ctx.kernel_luma);
    clReleaseKernel(deshake->opencl_ctx.kernel_chroma);
    clReleaseProgram(deshake->opencl_ctx.program);
    deshake->opencl_ctx.command_queue = NULL;
    av_opencl_uninit();
}
void ff_opencl_unsharp_uninit(AVFilterContext *ctx)
{
    UnsharpContext *unsharp = ctx->priv;
    av_opencl_buffer_release(&unsharp->opencl_ctx.cl_inbuf);
    av_opencl_buffer_release(&unsharp->opencl_ctx.cl_outbuf);
    av_opencl_buffer_release(&unsharp->opencl_ctx.cl_luma_mask);
    av_opencl_buffer_release(&unsharp->opencl_ctx.cl_chroma_mask);
    clReleaseKernel(unsharp->opencl_ctx.kernel_default);
    clReleaseKernel(unsharp->opencl_ctx.kernel_luma);
    clReleaseKernel(unsharp->opencl_ctx.kernel_chroma);
    clReleaseProgram(unsharp->opencl_ctx.program);
    unsharp->opencl_ctx.command_queue = NULL;
    av_opencl_uninit();
}