From patchwork Tue Jan 23 08:19:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 45736 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:120f:b0:199:de12:6fa6 with SMTP id v15csp473179pzf; Tue, 23 Jan 2024 00:20:47 -0800 (PST) X-Google-Smtp-Source: AGHT+IGeYPQGhPYUp+unNGPifczfOnktzgGFUthN3noKOasZ3qyoQeqnzFBO0Rs4uwaxEih4IBCG X-Received: by 2002:a17:906:bcef:b0:a26:90a0:696e with SMTP id op15-20020a170906bcef00b00a2690a0696emr2359716ejb.41.1705998047366; Tue, 23 Jan 2024 00:20:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705998047; cv=none; d=google.com; s=arc-20160816; b=AH1qSj+7xYkp2KdSbMGvtNNSaM9bo7c2WOlc+K2gqlJCA/MYAKWatDz5awMtxwtC+L Q4bUIWC2NaJ/kDLxfxQ5NpIE9DaeqA4dmhhZjm5fobRpCebg9ZpuRWV8u4ufT4JYVWCe pxDTezWJ6nqzk9FPFq/4oSxjRaZaXxgXBWPHH7JjTLCmLRgU4vrE5eUQP2se+ueyuXfa f/LxpDm/fhj1owBqjOCpVGjOr8OESc0BV6FfV7/iFPUES67ERgrZrPk3A5T6MKqUeYEm u69tBbLxtaYKsHRCqnBYpODfMY+H7kGymwgzhgW3gv3u+L/j579gBwQ+EB91bBptiVPp DPHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=uzI+IRkcIMcYhTr7+YMQVvzNxUZqtPWdSsILtTlBp7M=; fh=CX/m9qTuMDwrotqtm4RkAOJT6yXlKL2vcfWDitFPXZs=; b=aycSzP76LD0I/P/q/OEUE+mseF9vIjMnE7IzpVyWpp6c9aFo+4SvJZ1Gbi6QRxj2yc cNcexesesY0b/0xBs2988vNCiv+kz2lLL1mYb56OpYjI5suNPQXUQwwjo3QqPCsWEC+D ZuwpBAMuYJguWykBWZ/WoSfown9EnLO9JHQ8EnKv7/dLQCawhR2aUrqZI2PqOVZr71Xk FdMY2pCR94rtET74sBL6S81vHeUr/iQdHdPWT3GM1OZA8HnZ7vDF/GxnCSKZJTYg/ck0 Scp0iAa96eII2sldaOL3ADTQjzHj0VrcatgI6e1tQDEBBWJDuxW/WDJiqHt5xF+URKv8 kHfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=HgpFiN0L; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r10-20020a170906350a00b00a2af02c94f4si11440469eja.259.2024.01.23.00.20.46; Tue, 23 Jan 2024 00:20:47 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=HgpFiN0L; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8039068BD50; Tue, 23 Jan 2024 10:20:43 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A298A68C905 for ; Tue, 23 Jan 2024 10:20:35 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1705998041; x=1737534041; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=nPX8hDdQDoHgrEuen6hklEx9JFyoZve2MB3Rt7SgoFQ=; b=HgpFiN0LosTnGgo/H6NtYYrNHVMhlLKEeW6lI7Ev5XnTZ8/bSaq5eBJu 48HzRPbyzXSCz+JaXVXPvujPaO9MpnyYXYHjNeLjkEfKqMBOBR4UnJjoh FwsRVqB0KbghjV3Motj1eVkgmyxQLPPKsCIHkWSt/ntliyqW2qk/G+3HE UdeqyedK6OlfzIbiElw7JdNO93IlEAmwFDKyqjWeXOJHgzLHV+9VBcNp9 fC91PMFLGBoPN8xbLA0+58JcwtOTpEfRWyYWDJjKyzYWfD4lvJ9x7Xy3u dFJO2Vug5SiWtGNrmRlKhkmw60ckyJ9pXrx/Vh5YvKK2nvNfufXkwVGnO g==; X-IronPort-AV: E=McAfee;i="6600,9927,10961"; a="14967214" X-IronPort-AV: E=Sophos;i="6.05,213,1701158400"; d="scan'208";a="14967214" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jan 2024 00:20:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,213,1701158400"; d="scan'208";a="1591519" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.66]) by fmviesa004.fm.intel.com with ESMTP; 23 Jan 2024 00:20:32 -0800 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Tue, 23 Jan 2024 16:19:22 +0800 Message-ID: <20240123081932.1574-1-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 1/9] avcodec/vaapi_encode: move pic->input_surface initialization to encode_alloc 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: pze4l4ZTPxNe From: Tong Wu When allocating the VAAPIEncodePicture, pic->input_surface can be initialized right in the place. This movement simplifies the send_frame logic and is the preparation for moving vaapi_encode_send_frame to the base layer. Signed-off-by: Tong Wu --- libavcodec/vaapi_encode.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index 86f4110cd2..38d855fbd4 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -878,7 +878,8 @@ static int vaapi_encode_discard(AVCodecContext *avctx, return 0; } -static VAAPIEncodePicture *vaapi_encode_alloc(AVCodecContext *avctx) +static VAAPIEncodePicture *vaapi_encode_alloc(AVCodecContext *avctx, + const AVFrame *frame) { VAAPIEncodeContext *ctx = avctx->priv_data; VAAPIEncodePicture *pic; @@ -895,7 +896,7 @@ static VAAPIEncodePicture *vaapi_encode_alloc(AVCodecContext *avctx) } } - pic->input_surface = VA_INVALID_ID; + pic->input_surface = (VASurfaceID)(uintptr_t)frame->data[3]; pic->recon_surface = VA_INVALID_ID; pic->output_buffer = VA_INVALID_ID; @@ -1332,7 +1333,7 @@ static int vaapi_encode_send_frame(AVCodecContext *avctx, AVFrame *frame) if (err < 0) return err; - pic = vaapi_encode_alloc(avctx); + pic = vaapi_encode_alloc(avctx, frame); if (!pic) return AVERROR(ENOMEM); @@ -1345,7 +1346,6 @@ static int vaapi_encode_send_frame(AVCodecContext *avctx, AVFrame *frame) if (ctx->input_order == 0 || frame->pict_type == AV_PICTURE_TYPE_I) pic->force_idr = 1; - pic->input_surface = (VASurfaceID)(uintptr_t)frame->data[3]; pic->pts = frame->pts; pic->duration = frame->duration;