From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D4C574A886 for ; Thu, 18 Apr 2024 09:02:10 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 309FF68D452; Thu, 18 Apr 2024 12:01:12 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B9DF868D41D for ; Thu, 18 Apr 2024 12:01:09 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713430870; x=1744966870; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hbBU3X8U+lBANwN1oBcLSgvsZLJC+yGUPfdn8eqeh1Q=; b=E5k5KXliAaS/7VXn0/KpYOsc4gBaw/pDjDtF47mQoYDHakf6u3mmW4WN y4fAsMsM+QFs0o6Mr0ZA5EYKJ03Hl68+X09ycHG5e7wTXhepwaqF0tfiT 54glPJYPyE6Zqaz1exXJS3k2eAxML0zHHbf9y1U8aIXPMZYM/iIxpXohe doCC33omyyjBMiMkjDlYz5tFGc6pdU5IND7i+Fpl3HC2IuzWy6uNCYgz8 hgoFY6qYwZC6ry8zBk9oJmDQzZ7O6o4ApwvLL7Et1iX373p0GuBeeeAOb 6MXk1x0c8neW5oz8+Gcs2qllWp8xczBXbWGvnoyUiA53v8b336yB0Uqfr w==; X-CSE-ConnectionGUID: LD0UycM1RAm3XYC6YpxSIw== X-CSE-MsgGUID: VD6PKd9+QeSOtlYFL2Q4Ig== X-IronPort-AV: E=McAfee;i="6600,9927,11047"; a="12748343" X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="12748343" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2024 02:00:56 -0700 X-CSE-ConnectionGUID: 50DDhbQ4T6yJrLL/pYN0iw== X-CSE-MsgGUID: ZC2hg/y0RreI7DHjaldeBA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="54127580" Received: from unknown (HELO localhost.localdomain) ([10.239.160.66]) by fmviesa001.fm.intel.com with ESMTP; 18 Apr 2024 02:00:52 -0700 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 16:59:03 +0800 Message-ID: <20240418085910.547-9-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20240418085910.547-1-tong1.wu@intel.com> References: <20240418085910.547-1-tong1.wu@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v8 09/15] avcodec/vaapi_encode: extract a close function for base layer X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Tong Wu Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Tong Wu Signed-off-by: Tong Wu --- libavcodec/hw_base_encode.c | 16 ++++++++++++++++ libavcodec/hw_base_encode.h | 2 ++ libavcodec/vaapi_encode.c | 8 +------- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c index 6e450f9dca..fa954d984d 100644 --- a/libavcodec/hw_base_encode.c +++ b/libavcodec/hw_base_encode.c @@ -685,3 +685,19 @@ int ff_hw_base_encode_init(AVCodecContext *avctx) return 0; } + +int ff_hw_base_encode_close(AVCodecContext *avctx) +{ + HWBaseEncodeContext *ctx = avctx->priv_data; + + av_fifo_freep2(&ctx->encode_fifo); + + av_frame_free(&ctx->frame); + av_packet_free(&ctx->tail_pkt); + + av_buffer_unref(&ctx->device_ref); + av_buffer_unref(&ctx->input_frames_ref); + av_buffer_unref(&ctx->recon_frames_ref); + + return 0; +} diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h index 3eea3ef998..d822175fcf 100644 --- a/libavcodec/hw_base_encode.h +++ b/libavcodec/hw_base_encode.h @@ -209,6 +209,8 @@ int ff_hw_base_init_gop_structure(AVCodecContext *avctx, uint32_t ref_l0, uint32 int ff_hw_base_encode_init(AVCodecContext *avctx); +int ff_hw_base_encode_close(AVCodecContext *avctx); + #define HW_BASE_ENCODE_COMMON_OPTIONS \ { "idr_interval", \ "Distance (in I-frames) between key frames", \ diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index 8640a888b7..41d0d0f2bc 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -2397,16 +2397,10 @@ av_cold int ff_vaapi_encode_close(AVCodecContext *avctx) ctx->va_config = VA_INVALID_ID; } - av_frame_free(&base_ctx->frame); - av_packet_free(&base_ctx->tail_pkt); - av_freep(&ctx->codec_sequence_params); av_freep(&ctx->codec_picture_params); - av_fifo_freep2(&base_ctx->encode_fifo); - av_buffer_unref(&base_ctx->recon_frames_ref); - av_buffer_unref(&base_ctx->input_frames_ref); - av_buffer_unref(&base_ctx->device_ref); + ff_hw_base_encode_close(avctx); return 0; } -- 2.41.0.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".