| 272 | } |
| 273 | |
| 274 | static void unsharp_thread_close(hb_filter_private_t *pv) |
| 275 | { |
| 276 | int c, z; |
| 277 | for (c = 0; c < 3; c++) |
| 278 | { |
| 279 | unsharp_plane_context_t * ctx = &pv->plane_ctx[c]; |
| 280 | for (int t = 0; t < pv->threads; t++) |
| 281 | { |
| 282 | unsharp_thread_context_t * tctx = &pv->thread_ctx[t][c]; |
| 283 | for (z = 0; z < 2 * ctx->steps; z++) |
| 284 | { |
| 285 | free(tctx->SC[z]); |
| 286 | tctx->SC[z] = NULL; |
| 287 | } |
| 288 | } |
| 289 | } |
| 290 | free(pv->thread_ctx); |
| 291 | } |
| 292 | |
| 293 | static int unsharp_init_thread(hb_filter_object_t *filter, int threads) |
| 294 | { |
no outgoing calls
no test coverage detected