int cl_destroy_dequant(){ printf("Freeing dequant decoder resources\n"); VP8_CL_RELEASE_KERNEL(cl_data.vp8_dequant_dc_idct_add_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_dequant_idct_add_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_dequantize_b_kernel); if (cl_data.dequant_program) clReleaseProgram(cl_data.dequant_program); cl_data.dequant_program = NULL; return CL_SUCCESS; }
void cl_destroy_loop_filter(){ cl_free_loop_mem(); if (lfi_mem != NULL){ clReleaseMemObject(lfi_mem); lfi_mem = NULL; } VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_all_edges_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_horizontal_edges_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_vertical_edges_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_simple_all_edges_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_simple_horizontal_edges_kernel); VP8_CL_RELEASE_KERNEL(cl_data.vp8_loop_filter_simple_vertical_edges_kernel); if (cl_data.loop_filter_program) clReleaseProgram(cl_data.loop_filter_program); cl_data.loop_filter_program = NULL; }