VdpStatus vdp_video_surface_destroy(VdpVideoSurface surface) { video_surface_ctx_t *vs = handle_get(surface); if (!vs) return VDP_STATUS_INVALID_HANDLE; if (vs->decoder_private_free) vs->decoder_private_free(vs); yuv_unref(vs->yuv); handle_destroy(surface); return VDP_STATUS_OK; }
VdpStatus vdp_output_surface_destroy(VdpOutputSurface surface) { output_surface_ctx_t *out = handle_get(surface); if (!out) return VDP_STATUS_INVALID_HANDLE; rgba_destroy(&out->rgba); if (out->yuv) yuv_unref(out->yuv); handle_destroy(surface); free(out); return VDP_STATUS_OK; }