| 656 | } |
| 657 | |
| 658 | static av_cold void frame_context_free(VVCFrameContext *fc) |
| 659 | { |
| 660 | slices_free(fc); |
| 661 | |
| 662 | av_refstruct_pool_uninit(&fc->tu_pool); |
| 663 | av_refstruct_pool_uninit(&fc->cu_pool); |
| 664 | |
| 665 | for (int i = 0; i < FF_ARRAY_ELEMS(fc->DPB); i++) { |
| 666 | ff_vvc_unref_frame(fc, &fc->DPB[i], ~0); |
| 667 | av_frame_free(&fc->DPB[i].frame); |
| 668 | av_frame_free(&fc->DPB[i].frame_grain); |
| 669 | } |
| 670 | |
| 671 | ff_vvc_frame_thread_free(fc); |
| 672 | pic_arrays_free(fc); |
| 673 | av_frame_free(&fc->output_frame); |
| 674 | ff_vvc_frame_ps_free(&fc->ps); |
| 675 | ff_vvc_sei_reset(&fc->sei); |
| 676 | } |
| 677 | |
| 678 | static av_cold int frame_context_init(VVCFrameContext *fc, AVCodecContext *avctx) |
| 679 | { |
no test coverage detected