From patchwork Sun Feb 18 08:45:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 46339 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp669574pzb; Sun, 18 Feb 2024 00:46:42 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWAeY/lknyqmhAmibZ9wxW8RgL4SPcCN3QV5VjhHmzq0dApcn1SauHvmUS4oqiY6yr0IxeeSHbu1Hnm6MeHzKxx2W1sT0UG2gQq/w== X-Google-Smtp-Source: AGHT+IEK+lTOTLRmmpCJER+2TMCVtv/gggXWCv8O5/27ARk4k5QFw34FzsXUq5JgYt2UqLtN6OIz X-Received: by 2002:a17:906:dff9:b0:a3e:8223:289a with SMTP id lc25-20020a170906dff900b00a3e8223289amr217661ejc.31.1708246001937; Sun, 18 Feb 2024 00:46:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708246001; cv=none; d=google.com; s=arc-20160816; b=iH5XiYJgOmGPAf6W7oLqxGcD7hA7WY6VI3Lx8ocmbugKFOf1xjueKMbmIal7efcCug vodn9JLJWFOqXi4RkZ4SRkvMGAihzOpRVsNzrw+o8nHwpEGzy7TMkpJ4Elwf5IEVffcB aFa5qj0979B2C8avyF3ANd42NCPYRpwqgBu0uG/+Rddqljgzb22N3jpjfqjIM4Shpukq yZkmkXLz4ipD4EsNUaKP3ao5QYdUJk3mSyayPtSrcqCbijWn2c6B0MFHigpThn5ya5s2 cGHaSqc2qA+hazsrVRVoUpF+Rt2lxvpZHL1+LyeGHJJ4VZjZhjdN/VemYbAT5HL4LRuJ UHzQ== 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=XNG7qfX/cvLwW1imoEMF6veVzDUGf1oMpHxqp30hkDiEp0Ts5I7LBqCBv6iCXpzMEx 3nMHd+Xk5KSfSzfscmGLthfBfl5gvDHtQCyXioe4nbWZX0ahR9Y3JM07DsodeD1ajBCI BHzcMx7MI7FYdgFGtzvjduidv+d0M/QiiZiEXtQsCTSjxwwmztIrQeEpTFS2lshn47ez dcRFKiO4rbpq5VCRuKWMFdI1yXIfwQSl4a6yQJ3MmtA+GRtUxN+spO03E4Nx8wnr6Ut4 npJqQgPxrDe9R3teChurd2TqaiiwTRmSi2J5ZR9uKeroi/QouRULDQ5N7w6apVEk7/t4 JncQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=j68srJGb; 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 t23-20020a1709063e5700b00a3df1dde5besi1448382eji.1029.2024.02.18.00.46.41; Sun, 18 Feb 2024 00:46:41 -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=j68srJGb; 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 DBB8068D32C; Sun, 18 Feb 2024 10:46:37 +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.17]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC84E68D309 for ; Sun, 18 Feb 2024 10:46:30 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708245996; x=1739781996; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=nPX8hDdQDoHgrEuen6hklEx9JFyoZve2MB3Rt7SgoFQ=; b=j68srJGb9ouF6mpU3HmrTVqkNxhX9AV2wsEwN5m2PC48pY35UQH8Z1n0 zzQCe+1wTaHfar2fNXHbBm8GnCBWTWh+SojVFeJqN8N6hlNtoJGORmpNv ljSRYt841vqbwtdwvEEOqtp/1dgU9X8HIbhXsx9VIVlvRQLjSDU/g4ZPS gJraCFpn3POs9d1KCRWjVeBdtcw26vFaMJG7jecIbhg+vcnui5w2Gv/ZH wLuevLFRpJFe3vIpg2DVCLo8ztUFky8gcWq8w3OSlOlXUFhWS6ef35Frl xfu/QVeP/HwDeKJh8x6Erp5xiiTdYqBoMJQqbwhS1S4j2Wuug6mLJ2OAA A==; X-IronPort-AV: E=McAfee;i="6600,9927,10987"; a="2203517" X-IronPort-AV: E=Sophos;i="6.06,168,1705392000"; d="scan'208";a="2203517" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Feb 2024 00:46:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,168,1705392000"; d="scan'208";a="35264878" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.66]) by fmviesa001.fm.intel.com with ESMTP; 18 Feb 2024 00:46:26 -0800 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Sun, 18 Feb 2024 16:45:20 +0800 Message-ID: <20240218084529.554-1-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v5 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: ux3KJ/OAOort 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;