From patchwork Tue Mar 5 07:57:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 46804 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp243743pzc; Mon, 4 Mar 2024 23:58:56 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCW+LPhNW5s1DDMMo4bxCArDzFMW/xTjG4ravsa+BcJrIL5FqpttrwCUktj2DKC63gUlqLre4uH2SjFznyluI28gazfQuEGy8FUliw== X-Google-Smtp-Source: AGHT+IEL8Jj3aWMf8Hsug8MQEJPlqFYT+3gynUzR8dXz0h1lT0Cbe9UGLk6fVoaxMYRqGVgxwBj4 X-Received: by 2002:a50:cb84:0:b0:566:51fa:3640 with SMTP id k4-20020a50cb84000000b0056651fa3640mr7610556edi.6.1709625536431; Mon, 04 Mar 2024 23:58:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709625536; cv=none; d=google.com; s=arc-20160816; b=0WH4o/+TL3/kibDGDFirYxg9JiZx49PAMhyDv0ptGH+EHELeI9KBjtS2TG3dDf8IyC fqQaMXK1EYGPsoLLk7VEgvIOfnJ/VIMhMJfJHcZE46bh4e6OA3PnBICgaHu1fuhD2KTK 2OetbcTxwn5ihNwtiAB23ynQLf7mwHMq7KfsHNgkM7NSi5aszIazFsnUigB+aOvjEd0o LBobnHGCR2MV3dzZFU84R6HrE+G1CGBOEOKWaMrOFvaVXG/+n0o+ivfjWBNpV8humvN5 MsJT6Xq/3xdd5/xWv0+yUibM0CMyakia3lyn+9RaD/BfrNoOFxOmLZ+e4LXmB2keTLzB hfFw== 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=PHCNoqngv6otIZ33hprjn8kSYzIggu29nT3DA/heSIY=; fh=CX/m9qTuMDwrotqtm4RkAOJT6yXlKL2vcfWDitFPXZs=; b=LcT9th4pjlsayQGDzMmpgnLD+ToQFAm85YYtjlDbC6ctv70hFrqQJxVPhF2CpSgjGX h5s50Qmc1oXg+a3QlWBRarRAnkwHu1g5uHOrd67GteYMSnuHcIEZFovuFdfVoaxDR4g5 lUHEFHvNPMhMmosQOOHiVtKkhlwrB1X/cO0Bm2RE7eVbEV06Mw0BPl3MAqiA8MMDEHBK LnN4jVYoRkCC5CrtTQS8TclhG5e7zhBusllmHmmxXbWekuJCengReU14erVzLba+ccS6 tjRTX35vUJ40WlINrhqUFePv+ZfJJmf5nL8zTZZeQOfkpxxROLXeL65lUremQHNYCZoK VBhA==; 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=I1CVcK5n; 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 ds1-20020a0564021cc100b00566a98bcb1dsi4676777edb.323.2024.03.04.23.58.56; Mon, 04 Mar 2024 23:58:56 -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=I1CVcK5n; 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 4BE2068CD66; Tue, 5 Mar 2024 09:58:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4801568C90C for ; Tue, 5 Mar 2024 09:58:46 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709625532; x=1741161532; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=mkw4fZpHl2JOBNbAmpzj9SyvYpvi6OQaW8paIOdFyWQ=; b=I1CVcK5nBy/BHcGajIOo1l0r62LEoCPeik/xHR5e7vJYv7heT5iRpLnX mH0ojjZQPVnZez+QogfDEIKPyqIOVF95PxiJqZZhnQNrzdOFoYU111EsP tlqnDFNpK9WcNw3XRVhfqoZjsoKbDPyfRkphwCeULefZDlkG8YJ10LY3u hYop8JKfq+sGfgzgVx5rCxjxdxTTSf8BQzDy1NrKPkI2VS4PU8/sgVd3w WaWLpd14lsECJoCCRnbV+/rQSLvakF8q04F84ggLS8u4bami89ugp2W1j LzlITsgE042MvtfXgTkuHWSAjBtCg+RpQyiOfTFRMQEpasrXU0Ig3+9a3 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11003"; a="7981583" X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="7981583" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 23:58:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="9700034" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.66]) by orviesa007.jf.intel.com with ESMTP; 04 Mar 2024 23:58:43 -0800 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Mar 2024 15:57:39 +0800 Message-ID: <20240305075740.1866-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/2] avcodec/vaapi_encode_h264: use is_reference to fill reference_pic_flag 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: 2nkUgefQmStf From: Tong Wu This codec supports FLAG_B_PICTURE_REFERENCES. We need to correctly fill the reference_pic_flag with is_reference variable instead of 0 for B frames. Signed-off-by: Tong Wu --- libavcodec/vaapi_encode_h264.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c index 37df9103ae..4a738215c1 100644 --- a/libavcodec/vaapi_encode_h264.c +++ b/libavcodec/vaapi_encode_h264.c @@ -759,7 +759,7 @@ static int vaapi_encode_h264_init_picture_params(AVCodecContext *avctx, vpic->frame_num = hpic->frame_num; vpic->pic_fields.bits.idr_pic_flag = (pic->type == PICTURE_TYPE_IDR); - vpic->pic_fields.bits.reference_pic_flag = (pic->type != PICTURE_TYPE_B); + vpic->pic_fields.bits.reference_pic_flag = pic->is_reference; return 0; } From patchwork Tue Mar 5 07:57:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 46805 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3944:b0:19e:cdac:8cce with SMTP id ac4csp243793pzc; Mon, 4 Mar 2024 23:59:06 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCX5QLLI0zjBe+6dzpqYawYKDH5vrxJKs2XpLhqSRqd5qccuXnglE+zmeXjjaQgjMlO3gBRZ8EeK+9YhXnucibMTpGftrUeLu3oQOA== X-Google-Smtp-Source: AGHT+IEOKefKtA8QnRrThW3aIAccakJ8gxpeVCgkWaghna2uqcNig7llOJtTHKG4qqEQl7wQHIaC X-Received: by 2002:a17:906:408d:b0:a45:69f5:c3c9 with SMTP id u13-20020a170906408d00b00a4569f5c3c9mr2798679ejj.6.1709625546520; Mon, 04 Mar 2024 23:59:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709625546; cv=none; d=google.com; s=arc-20160816; b=ZwQbo1Mqm1mmTvKY1AeoorMUmJS5dhdhPlahUkc75dyZvqkZRCRn+mHyVUpb3ym5V4 OhNCyhnM7mEM2JmhGXu3pKgtn3jFTS3em5QpTgSdSdWFOfkLvYKMovIBgBg7OA1d/v7T vsLk4WSPxc2HYxojvCzJh4SjJVn+HCG6NRjnniTLQq9WfgVnb5TRxKQSwjylHKzzP2nH /cGiMb5Zf+TyjtYQVUAVzk9Lqpgw0gHf252XLD6lJD8XwEJy2M2hLD1bn1892MIyd2A0 qwtIM6uOuB25+wdHDLD3w7Cz9/UMYwN3nMoi0ncyPNp7Xbqeii7m9poljCV6f13BI6ME BmYw== 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=/j8K6EvzNfOce4Gwn96qDnGjt+K/jqAxkGGSJHfmOR4=; fh=CX/m9qTuMDwrotqtm4RkAOJT6yXlKL2vcfWDitFPXZs=; b=hnTvcQxZYRh7Y6yu1A/kAp19lo0VDlUbckQXqDo4+JRopaE//pG9qJ2AnMHuyLCfpi 0Bh3sEjVugd1pPBdOVlW9I2VzGRcSzD4kZVopSelOlYLFdT/D1F8zHQ3p7pjCZK760UU x8rUNGsUashe5+D5oDys2V15yCN1rttzWgwFYBXDLOpNivlzVG6XbHvSyzgmP/Ks1HQ2 DtQyO0//606cvF8gQuBNcJKhq2b1hZMl8i8yQJgPkR1X1U1u9NhsCsV/OJ4fP07heMYr oKuenuze2SCjn6yNJq3wDa8eXw2ZSmOClplrNwxSsQUYyCZa1JkNayVQA72Izowv+bVy 8GWA==; 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=aT0aTPq2; 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 h19-20020a170906111300b00a448fbb44b5si3726935eja.825.2024.03.04.23.59.06; Mon, 04 Mar 2024 23:59:06 -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=aT0aTPq2; 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 61F7068CDF3; Tue, 5 Mar 2024 09:58:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 323F368CDD1 for ; Tue, 5 Mar 2024 09:58:52 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709625538; x=1741161538; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IZoORRLFU3PE1guzX3jiz4BCAv0q7Dhj42+sqb3avRI=; b=aT0aTPq2RsGu0ULYMBju1Mq5q2QuJ7ZJh4sg2GQHyHoWjP6oBx4Np1hP rbLYnJwnPvCLgd6e+uK1LuAYbKjsTzVMmcAV1ko0O3o1Aa9gjoOiDEarf Lzak16Pr05mSflJLR6GQACs1Vz/WjuTHV3iN+1Q9VMj8THs3PmaXHIReB EcnGsfAwmGHEcsizFC/4xo5DA2PALMm9CoCpXFlKAhvOke2/7SbqlJiZL dv6GkCCVt/uFYfsyBHvjUMolPD6giugigCWCVOgqq4zaU8Notq+0eVsoW zoNTNBetu6AJxDUqplH6gi1fm/DEa9C7QW72ZA9eBOLRxNpdlaUlmBVVA A==; X-IronPort-AV: E=McAfee;i="6600,9927,11003"; a="7981588" X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="7981588" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Mar 2024 23:58:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,205,1705392000"; d="scan'208";a="9700039" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.66]) by orviesa007.jf.intel.com with ESMTP; 04 Mar 2024 23:58:45 -0800 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Mar 2024 15:57:40 +0800 Message-ID: <20240305075740.1866-2-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20240305075740.1866-1-tong1.wu@intel.com> References: <20240305075740.1866-1-tong1.wu@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/2] avcodec/vaapi_encode_h265: use is_reference to fill reference_pic_flag 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: WQwm//X/ntws From: Tong Wu This codec supports FLAG_B_PICTURE_REFERENCES. We need to fill reference_pic_flag with pic->is_reference. Signed-off-by: Tong Wu --- libavcodec/vaapi_encode_h265.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index c4aabbf5ed..bbd5e7d872 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -764,6 +764,7 @@ static int vaapi_encode_h265_init_picture_params(AVCodecContext *avctx, VAAPIEncodePicture *prev = pic->prev; VAAPIEncodeH265Picture *hprev = prev ? prev->priv_data : NULL; VAEncPictureParameterBufferHEVC *vpic = pic->codec_picture_params; + int is_ref = pic->is_reference; int i, j = 0; if (pic->type == PICTURE_TYPE_IDR) { @@ -949,22 +950,22 @@ static int vaapi_encode_h265_init_picture_params(AVCodecContext *avctx, case PICTURE_TYPE_IDR: vpic->pic_fields.bits.idr_pic_flag = 1; vpic->pic_fields.bits.coding_type = 1; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_I: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 1; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_P: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 2; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_B: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 3; - vpic->pic_fields.bits.reference_pic_flag = 0; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; default: av_assert0(0 && "invalid picture type");