From patchwork Tue May 28 15:47:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 49319 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp54141vqu; Tue, 28 May 2024 08:50:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVqIpTlV1oGa+p+sQZyMNFKYL/AvW6L1CCENt1I+OB7TgLcoAetQMAPT6K9dAHZrIV/6v+mk/t729TE+TegDhwrVQSZIlZEcSs4Yg== X-Google-Smtp-Source: AGHT+IHel2qV/gRdfUJNDPKRqNhOPuSJdZK5hNm1CDxx2qWbmaSI9EnO4dxqmBcxLCEmIodbBfbL X-Received: by 2002:ac2:5a09:0:b0:51d:9f10:71b7 with SMTP id 2adb3069b0e04-52965c2f877mr9853202e87.28.1716911447328; Tue, 28 May 2024 08:50:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716911447; cv=none; d=google.com; s=arc-20160816; b=Hm4KSlYRXfpjqyDWtqu26SHriyLPUAKM4qrZcDv+6Md1u6lcuXA9uNVCSdp75eqH89 SCLCPqBlBgGddGITAv/AZxkY3Tyb3vxMq/6Nd1sbUA7Ok3/fvJzojDp73H7XIy42lxa0 3YZOEE1GfN9nwSN8kQGOyB9BdbhnX6+4VAciFfue66Xf5FisgnHD7+/LyJ1luJ9CnUb8 ApjiNa48+laUgJpEvoeW4zmIYUdz8MmZsEFxozUAs6x7EXYvWpJagfsEzvUd2yo5y6QU Zkz2DNarxj/Kc3h2Y0ChJ9iponCwDYQnGiwivKuv6KytNnfdshIqls3lVylai9sdj4I4 ZqxQ== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=6wDb9FdAOrmeh12WGXygL2dT2ehu0bEA5kQ6oJjZeFU=; fh=CX/m9qTuMDwrotqtm4RkAOJT6yXlKL2vcfWDitFPXZs=; b=L1XC7jnz2vTlFM2JFnBILC3Po8rTcCd1EJcpA2cNShez92FgIgst3cYt6IyN59ogUc N2DMD3Zw+CAgIBAxXieb5w7FOi5iL+j4PD2sB7BKNBYl4t9AP+Xqh15GNA8FxsO7nOQe xk4ByLYdloRRnwsWeQOdYYuEA4fjxwTlc3IMWjN0XIqxVkzuoaSPgLGM+7xoIElZpp1d SNC2YV98JyyoVXTWhR75TBAMbLXWMaZy31iqN7vI7L+yDzwoAZGRM9ImTK/nmV+4e4Ft dYq+jF7b3qJVg4EMiNFwdLwhgQwWo9JQB3s/f2dDQ5ECPYC5S3NLFJbh7oedjOrNXqjV +ypQ==; 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=AUaONzwa; 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 a640c23a62f3a-a6389a0b3f6si6383066b.1009.2024.05.28.08.50.46; Tue, 28 May 2024 08:50:47 -0700 (PDT) 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=AUaONzwa; 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 555E468D525; Tue, 28 May 2024 18:50:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A5ED268D515 for ; Tue, 28 May 2024 18:49:57 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716911403; x=1748447403; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UHVhPZdXVYdfV+aAuyW+JXAh2kdiK59l+rKa0N1HpSQ=; b=AUaONzwa3PZbn495Iy1xqorEs+khiCImTzTp027fzpbtGNMnazSGk0kD OQpRkNubkKVoO9YoeRIGRww38nSEeK3E1WJ8l+iwJz9U0G9dg+K2gEeXH 4g2NGNXXygsPdQ8lrbzvm4eiBQpJhBjVX/Olob9PB991lkPujPcFyMn3g caYYrp1XLm+V9lFC3mbml3fLzjkkhQYNc/bDGWMz2awLyX89AYRVZPiBo q+TWRhoXTfb3xSBt83RqBn8eAxQqcgux0BVA+Wc+5j/pJtuHEG518DcAe F+6DkC0LfiD43CBgBCGbVZdMaH3ACFBlhLBidttKdLT7UqTcwAGNSzDMX g==; X-CSE-ConnectionGUID: K0iCeqKMQe6+N9St32vIvw== X-CSE-MsgGUID: u3+dq+BfRBiVfEQ2ki8AJQ== X-IronPort-AV: E=McAfee;i="6600,9927,11085"; a="23821868" X-IronPort-AV: E=Sophos;i="6.08,195,1712646000"; d="scan'208";a="23821868" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 May 2024 08:49:52 -0700 X-CSE-ConnectionGUID: z657PnUCQ8yISPPKI6s/sA== X-CSE-MsgGUID: 70hXVoZRRtOFzolbaha9zA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,195,1712646000"; d="scan'208";a="35731078" Received: from unknown (HELO localhost.localdomain) ([10.239.160.66]) by orviesa007.jf.intel.com with ESMTP; 28 May 2024 08:49:51 -0700 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 May 2024 23:47:56 +0800 Message-ID: <20240528154807.1151-5-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20240528154807.1151-1-tong1.wu@intel.com> References: <20240528154807.1151-1-tong1.wu@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v12 05/15] 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: CyqFTatIFRlD 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 54bdd73902..194422b36d 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;