static void destroy_cropscale(void * priv) { cropscale_priv_t * vp; vp = priv; gavl_video_scaler_destroy(vp->scaler); gavl_video_options_destroy(vp->global_opt); if(vp->out_src) gavl_video_source_destroy(vp->out_src); free(vp); }
void gavl_video_deinterlacer_destroy(gavl_video_deinterlacer_t * d) { gavl_video_frame_destroy(d->src_field); gavl_video_frame_destroy(d->dst_field); if(d->scaler) gavl_video_scaler_destroy(d->scaler); free(d); }
static void video_converter_cleanup(gavl_video_converter_t* cnv) { gavl_video_convert_context_t * ctx; while(cnv->first_context) { ctx = cnv->first_context->next; if(cnv->first_context->scaler) gavl_video_scaler_destroy(cnv->first_context->scaler); if(cnv->first_context->output_frame && cnv->first_context->next) gavl_video_frame_destroy(cnv->first_context->output_frame); free(cnv->first_context); cnv->first_context = ctx; } cnv->last_context = NULL; cnv->num_contexts = 0; }
livido_deinit_f deinit_instance( livido_port_t *my_instance ) { scale0tilt_instance_t *inst = NULL; livido_property_get( my_instance, "PLUGIN_private", 0, &inst ); gavl_video_scaler_destroy(inst->video_scaler); gavl_video_frame_null( inst->frame_src ); gavl_video_frame_destroy( inst->frame_src ); gavl_video_frame_null( inst->frame_dst ); gavl_video_frame_destroy( inst->frame_dst ); gavl_video_frame_null( inst->temp ); gavl_video_frame_destroy( inst->temp ); gavl_video_frame_null( inst->temp_alpha ); gavl_video_frame_destroy( inst->temp_alpha ); free(inst); livido_property_set( my_instance, "PLUGIN_private", LIVIDO_ATOM_TYPE_VOIDPTR, 0, NULL ); return LIVIDO_NO_ERROR; }