From patchwork Mon May 20 02:05:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, Fei W" X-Patchwork-Id: 49049 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp4163860pzb; Sun, 19 May 2024 19:05:49 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXxutpQ5H9vt80BJ3CXfj7EaWew+/nCp6oaNDsYAjEEykFzYJsu7+uYAFwYRYDGIldLfmi18QaBXhvuitSwkuEBmSPaEMPEUA3EsA== X-Google-Smtp-Source: AGHT+IGUAz/RgPGDjfKfFu9KKYn3VWDj27AjxKhWZWM1DVaMzlAVQZMe42ykgudZwouA4MKLlSK6 X-Received: by 2002:a2e:9601:0:b0:2e7:1e4a:31e0 with SMTP id 38308e7fff4ca-2e71e4a328emr23139601fa.18.1716170749651; Sun, 19 May 2024 19:05:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1716170749; cv=none; d=google.com; s=arc-20160816; b=vSOwJc0Iu54He79hSnoNy65vumuCNL3fa5asjzhJ+vgOlRZ60JliraaCFyJdrf3xTW x/K1d8bwLOQdwsvOMNGX50CLazOLK9SYDJOjG88SMBo4kQBfJ2PshQJMw+rbRx7hQNeI ig75S/7uttCkK58JVZLGGbJdK2APd7uormptN2DOZiKsPunq+op7+PfJG1Vxh6LOpmw7 1GOhYaW7vO4Xh6MV2m8wLAVKpSz+6nGAMOHPFGSBZYPB435Wvnba/tpcutjicmmb5qsL n6eT6FRers/ur/LZwtD4okE76lfy8sS4g+FiJ3/esayBwFNbxHB+GKySK1pONhZR0pNI S1aQ== 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=SDY6eXvkj5/atzLRpe8At/83W4o0VKZiHi7XKxjFYZA=; fh=i4ESP4ZRFDcfYfwXKWpOXjc2YhmIGuOsCfZUnwNO0gc=; b=Hj06+9ysgqMPShQDlN7aZqOz26S6ZoK9uCwsc6ExTUnrmSxyFTLOpn1GZtVAYGBbO4 VSPpxAw+A2+mV0uiilc1K6C4Lrx+E2BEJg6PJxAN1uK7vya2npvTuYX+JVMmvMZTjNY1 32FfO6SStRCqpFUuLclAUI/qb+0TvC6XvHRUT9gv6PhAdOBGSqARWxCcnGszoMrGT165 1thc+h6Ra9lQYMNN4ZcQBEamX1YJwVERmK/ZBqytNhaJwfvBa7ZPVwnqjOnrkbmQfrUt oM3jm1KLFGN97jeip2fAsOxFygDEKp/bGWSZ1UJTwk97TrXpgay5exCkzuLnn4evG7Cq H/Ow==; 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=K9R+T3cz; 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-a5a8caf757dsi623914366b.988.2024.05.19.19.05.48; Sun, 19 May 2024 19:05:49 -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=K9R+T3cz; 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 4917368D084; Mon, 20 May 2024 05:05:45 +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.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F81768C682 for ; Mon, 20 May 2024 05:05:38 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716170743; x=1747706743; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=5M2JMTJOSqyvEv2AXWWeyuqqSD9II5CLm/wWMHsmp1o=; b=K9R+T3cz/6mF4Gq4p8da6K6HWgBnq8bTZWposggfEtA1FDx9jy/dF1i0 WiTpIeifVDQ5OkAODaXK0FFoZGVZ4Gh3zHpu+60NY3hzyzUknDn5nfPtN efvzCMSm3BQvMXyVtTgJZPTtELEmM2c5LknB48bgxoGsGUOl/MLllC7Ra H1cJGtQPxDMksJS/4og8tZ01wDCX+I2n+Zm2GTc/CzjzMnAGOowHzNvSS yIV6sNY92Bwkwsp/xN406nIhSyQAhlasrzelhTpLlNpyDydWALCgy1sht 9bWFsPm6/mtn5NyHvc4USz2Y9XmGQM6AQGNFUumyynYZKZLBiix4firmq g==; X-CSE-ConnectionGUID: LM/vmVQkSIm6b//gq6+/AQ== X-CSE-MsgGUID: pT3wTRF5Q9KHHAMD/SaO3g== X-IronPort-AV: E=McAfee;i="6600,9927,11077"; a="23421775" X-IronPort-AV: E=Sophos;i="6.08,174,1712646000"; d="scan'208";a="23421775" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2024 19:05:35 -0700 X-CSE-ConnectionGUID: uC3XDutfQXm/caXOWuuDvg== X-CSE-MsgGUID: h4r8eBD4Tx6Xo6IYTnb4Tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,174,1712646000"; d="scan'208";a="32939284" Received: from unknown (HELO t-dg2.sh.intel.com) ([10.239.159.57]) by orviesa008.jf.intel.com with ESMTP; 19 May 2024 19:05:35 -0700 From: fei.w.wang-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Mon, 20 May 2024 10:05:52 +0800 Message-Id: <20240520020553.1155143-1-fei.w.wang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v1 1/2] lavc/qsvdec: Allow decoders to export crop information 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: fei.w.wang@intel.com Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: lPysEmzRwWtP From: Fei Wang Signed-off-by: Fei Wang --- libavcodec/qsvdec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index a51ddace62..12cf630593 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -859,6 +859,10 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q, else frame->flags &= ~AV_FRAME_FLAG_KEY; } + frame->crop_left = outsurf->Info.CropX; + frame->crop_top = outsurf->Info.CropY; + frame->crop_right = outsurf->Info.Width - (outsurf->Info.CropX + outsurf->Info.CropW); + frame->crop_bottom = outsurf->Info.Height - (outsurf->Info.CropY + outsurf->Info.CropH); /* update the surface properties */ if (avctx->pix_fmt == AV_PIX_FMT_QSV) @@ -1148,7 +1152,7 @@ const FFCodec ff_##x##_qsv_decoder = { \ .p.priv_class = &x##_qsv_class, \ .hw_configs = qsv_hw_configs, \ .p.wrapper_name = "qsv", \ - .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE, \ + .caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE | FF_CODEC_CAP_EXPORTS_CROPPING, \ }; \ #define DEFINE_QSV_DECODER(x, X, bsf_name) DEFINE_QSV_DECODER_WITH_OPTION(x, X, bsf_name, options)