Esempio n. 1
0
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;
}
Esempio n. 2
0
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;
}