static void picture_pool_Destroy(picture_pool_t *pool) { if (atomic_fetch_sub(&pool->refs, 1) != 1) return; vlc_cond_destroy(&pool->wait); vlc_mutex_destroy(&pool->lock); vlc_free(pool); }
static void PictureDestroy( picture_t *p_picture ) { assert( p_picture && atomic_load( &p_picture->gc.refcount ) == 0 ); vlc_free( p_picture->gc.p_sys ); free( p_picture->p_sys ); free( p_picture ); }
static void Close(vlc_object_t *object) { filter_t *filter = (filter_t *)object; filter_sys_t *sys = filter->p_sys; var_DelCallback(filter, CFG_PREFIX "radius", Callback, NULL); var_DelCallback(filter, CFG_PREFIX "strength", Callback, NULL); vlc_free(sys->cfg.buf); vlc_mutex_destroy(&sys->lock); free(sys); }
/** * Destroys a picture allocated with picture_NewFromFormat() * (and thus AllocatePicture()). */ static void picture_Destroy( picture_t *p_picture ) { vlc_free( p_picture->p[0].p_pixels ); free( p_picture ); }