| 707 | } |
| 708 | |
| 709 | static void free_common(AVRefStructOpaque unused, void *obj) |
| 710 | { |
| 711 | FFVulkanDecodeShared *ctx = obj; |
| 712 | FFVulkanContext *s = &ctx->s; |
| 713 | |
| 714 | /* Wait on and free execution pool */ |
| 715 | ff_vk_exec_pool_free(&ctx->s, &ctx->exec_pool); |
| 716 | |
| 717 | /* This also frees all references from this pool */ |
| 718 | av_frame_free(&ctx->common.layered_frame); |
| 719 | |
| 720 | av_buffer_pool_uninit(&ctx->buf_pool); |
| 721 | |
| 722 | ff_vk_video_common_uninit(s, &ctx->common); |
| 723 | |
| 724 | if (ctx->sd_ctx_free) |
| 725 | ctx->sd_ctx_free(ctx); |
| 726 | |
| 727 | ff_vk_uninit(s); |
| 728 | } |
| 729 | |
| 730 | static int vulkan_decode_bootstrap(AVCodecContext *avctx, AVBufferRef *frames_ref) |
| 731 | { |
nothing calls this directly
no test coverage detected