From patchwork Thu Jun 8 05:47:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xiang, Haihao" X-Patchwork-Id: 42004 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c526:b0:117:ac03:c9de with SMTP id gm38csp130527pzb; Wed, 7 Jun 2023 22:48:24 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7OYgKcjaqXtFLMJslOUkWYxaxm9jnuDAOsUJnf70CxUQF8WVPvmYq4QzrqyN1mKGn9R5A2 X-Received: by 2002:aa7:dc19:0:b0:514:9e91:f54 with SMTP id b25-20020aa7dc19000000b005149e910f54mr5739243edu.26.1686203304550; Wed, 07 Jun 2023 22:48:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686203304; cv=none; d=google.com; s=arc-20160816; b=k1hn95Eeb0Rx8xzVY7/qyVOQtgHpxm1n/Li9xqdS2faAEUBtBtTcUzd1W4dxfQilU+ gm1xGAh6IgT3mjDXOIDlFfx13MP7OSWn7Hu9YRd69+Lv5dqtr2M3IBmPrPF+tn/QKBIY GKZgjUBC0nBUar7/IevRYE7UfPlrEBYN9TBx/HLWt2PZh//JETlFCsHXlmfMHqHtvnA4 Um95FafTjVNaH1dK7QanC8fW32o3yQT3J1uw3UDbcI4RHgJXYYWGZJbNNhgVQZWUDxpw qCQ2YtVUrJ8C/CeO3OKcK+LhDb3+IyiKPB/hC2Os3mZPCglGzVEz8Z/+RYp+WthQTv8u i1wg== 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=eFy9NVM25oDu9M6EFXVU/SjxR7tC4UULUqCPvHb4A8M=; b=QRSFDykFBZSYvvi9oKM0WZ7la0hI82YOzf2Y03jSf6q8Ush8ThOgGBYWcsQpPz9rpH ahQRW+f6hG2ReyU+a3OSBYyaXSCEROSpywYoU4ZHbEOUrV+9w2/5t9gj19B25UyPr70J 5GVED4cIFoB4QSKORWQTvMSwKedmgVrY+B6x35az0D9eDnNZn9mWdALl8hWZQeR3ZMWv D1wISCd1sQ+Or7My6I2AglsLX9gjicdzLKomBxj2A41xRmMwYlejjwaZ3UFkCxVfP9g+ x4qYKqVCOhHbNPJb++qbKXtmm37w2MgzXE02BeJVZdKZN+AJ7qzOhzpdm/p9kV2Tdl6s LfQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=NKzNzkRi; 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 b5-20020aa7c6c5000000b00516a2025a3asi212816eds.488.2023.06.07.22.48.24; Wed, 07 Jun 2023 22:48:24 -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=NKzNzkRi; 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 74D9B68C1A0; Thu, 8 Jun 2023 08:48:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8BFD06806D7 for ; Thu, 8 Jun 2023 08:48:12 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686203297; x=1717739297; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=mzeeq7OiqZTBNjqm+CZTmMkmI+wQVfaDAmNL6Q4jXBw=; b=NKzNzkRiYQN1XjxEZvSGh42Gp0+0DCnisjiDr82Mdinjfkibph7Woc5a 3rBpxsn3mVj0zJcQlCmfF6HbHmOA3WPBGG1yF3tuW4S2Ct5FUQ5ZfqjGh TJ1C1bkHRCP28iCWCIYPzeIdMMyc7zU/GDbOOxka/npZ60zOf3bewJFpw WBD+v9N+Icx4ojureiEdQdvsT3m5WE/6oauE9VzmqDkvXiD/ekKowCwB4 01Je5JMQ6+koHMwpGHgTqbqYEkZwIQuY8zsq9tI5ghVZg5ol3rjJx1fnK B9ewY752p0jxkcMm8zM3UutE7fDEeVF7zVv1q6P+IyeuN4D/KUfo/kcHi g==; X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="385553083" X-IronPort-AV: E=Sophos;i="6.00,226,1681196400"; d="scan'208";a="385553083" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jun 2023 22:48:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="712975518" X-IronPort-AV: E=Sophos;i="6.00,226,1681196400"; d="scan'208";a="712975518" Received: from xhh-tgl64.sh.intel.com ([10.238.2.19]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jun 2023 22:48:08 -0700 From: "Xiang, Haihao" To: ffmpeg-devel@ffmpeg.org Date: Thu, 8 Jun 2023 13:47:56 +0800 Message-Id: <20230608054756.779240-1-haihao.xiang@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] lavc/qsvdec: respect AVCodecContext->{width, height} 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: Haihao Xiang Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: oAgxPUD7ThNW From: Haihao Xiang width and height may be known from the container Signed-off-by: Haihao Xiang --- libavcodec/qsvdec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index da700f25e9..5325030ea1 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -910,6 +910,7 @@ static int qsv_process_data(AVCodecContext *avctx, QSVContext *q, } if (q->reinit_flag || !q->session || !q->initialized) { + int reset_crop = !q->session; mfxFrameAllocRequest request; memset(&request, 0, sizeof(request)); @@ -929,6 +930,11 @@ static int qsv_process_data(AVCodecContext *avctx, QSVContext *q, avctx->coded_width = param.mfx.FrameInfo.Width; avctx->coded_height = param.mfx.FrameInfo.Height; + if (reset_crop && avctx->width && avctx->height) { + param.mfx.FrameInfo.CropW = avctx->width; + param.mfx.FrameInfo.CropH = avctx->height; + } + ret = MFXVideoDECODE_QueryIOSurf(q->session, ¶m, &request); if (ret < 0) return ff_qsv_print_error(avctx, ret, "Error querying IO surface");