mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/vaapi_encode: extract a free funtion to base layer
Signed-off-by: Tong Wu <tong1.wu@intel.com>
This commit is contained in:
parent
6403ad77e3
commit
fc25b7866a
|
@ -745,6 +745,17 @@ fail:
|
|||
return err;
|
||||
}
|
||||
|
||||
int ff_hw_base_encode_free(FFHWBaseEncodePicture *pic)
|
||||
{
|
||||
av_frame_free(&pic->input_image);
|
||||
av_frame_free(&pic->recon_image);
|
||||
|
||||
av_buffer_unref(&pic->opaque_ref);
|
||||
av_freep(&pic->priv_data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ff_hw_base_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
FFHWBaseEncodeContext *ctx = avctx->priv_data;
|
||||
|
|
|
@ -224,6 +224,8 @@ int ff_hw_base_init_gop_structure(AVCodecContext *avctx, uint32_t ref_l0, uint32
|
|||
|
||||
int ff_hw_base_get_recon_format(AVCodecContext *avctx, const void *hwconfig, enum AVPixelFormat *fmt);
|
||||
|
||||
int ff_hw_base_encode_free(FFHWBaseEncodePicture *pic);
|
||||
|
||||
int ff_hw_base_encode_init(AVCodecContext *avctx);
|
||||
|
||||
int ff_hw_base_encode_close(AVCodecContext *avctx);
|
||||
|
|
|
@ -878,17 +878,13 @@ static int vaapi_encode_free(AVCodecContext *avctx,
|
|||
av_freep(&pic->slices[i].codec_slice_params);
|
||||
}
|
||||
|
||||
av_frame_free(&base_pic->input_image);
|
||||
av_frame_free(&base_pic->recon_image);
|
||||
|
||||
av_buffer_unref(&base_pic->opaque_ref);
|
||||
ff_hw_base_encode_free(base_pic);
|
||||
|
||||
av_freep(&pic->param_buffers);
|
||||
av_freep(&pic->slices);
|
||||
// Output buffer should already be destroyed.
|
||||
av_assert0(pic->output_buffer == VA_INVALID_ID);
|
||||
|
||||
av_freep(&base_pic->priv_data);
|
||||
av_freep(&pic->codec_picture_params);
|
||||
av_freep(&pic->roi);
|
||||
|
||||
|
|
Loading…
Reference in New Issue