From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E6DC2400DF for ; Fri, 18 Feb 2022 01:45:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E9D5768B332; Fri, 18 Feb 2022 03:45:40 +0200 (EET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F1E5568B2D3 for ; Fri, 18 Feb 2022 03:45:33 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1645148739; x=1676684739; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=2MUK7EaMC036DcjG7bgAwp32kVXKUi6TAhQ0zLJHdtQ=; b=LCXRti/yWeNQBOCdxtBL48Ay5oJIoFIe1CIoCjEPOfUeEu15Fi/JPI2y 8V6fQtIscyOZL5GqVZeLeCH/LhHLTQslWdb/QtX1jOEexNnMQb96z7Qu2 +CN8DKK/vElL+o+0ED0Uxh00a5HaVWQ7jVUgOpcVRtyWIVH1ZG93kd1p3 HjwpMIwe0xvSMO1zbxqYHfJTy8Na0McEATxRKmlYzjeZjT8ihH2K8xkcl dU5aySI+BiLu3LIn08xpZ9CLfueXH/ssDtzD23XkX7Y9XLR7a5qjiYYOH mb0NHXe9nfqV/B7BS8FWQ/4WqiytNL074bS/DeI66NHERGKgUDzWBB5Mk w==; X-IronPort-AV: E=McAfee;i="6200,9189,10261"; a="231009927" X-IronPort-AV: E=Sophos;i="5.88,377,1635231600"; d="scan'208";a="231009927" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Feb 2022 17:45:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,377,1635231600"; d="scan'208";a="589969885" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 17 Feb 2022 17:45:30 -0800 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 17 Feb 2022 17:45:30 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 17 Feb 2022 17:45:29 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 17 Feb 2022 17:45:29 -0800 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.49) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 17 Feb 2022 17:45:29 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cVEHai0h6ZpGWjsbc8eqsmgfasGoPvnPvRwuDZGHA9BJSDaTpJKCSYsG2N5RnyFMetm3T+dUlt6N0k5LjgoZveX5ynT3KbBKK+Y78vShzsoq19qr/uFPNF9SDi0rTi3ycnbG9VfU13xaW/zRNkAm2Wz2H6AJfiY4d9putXtY7hMi8oKIBan37qlMIE3IexiVdb4yjpt2K6m9bW8hqbJtiaU8H6KNU3Wy34HQ20+Ss8bsdu2IGzrV76d+CohhQWpnrxeQoovZCQOsHZGxuGftOQb9FWnMRDyhxOm3+hfHTmDu+R6GTWbmfdPlObV0iRbN4H6ISfs7wJGsrgmXQXV8Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YtZiREggluqXVt/c6OFi9wWjPpIQVOneSs0E8uxRd5U=; b=N8IJVav8uPyJPjYr1UWlyNJgh/p9AiG4BKzv9l04qnWqY+rPQD2w/ZtJQ7D3N5P2F4RrHWPE5DaH3CjnboxZ+vEynB82I/5ajXyk9UlAmZMTdXsSfZ5UNlHH0HHR4XqYc52DkRsbcltdUtcGXhfy8zVUMALQJZ4/evs24fS2uvu9jgwajbeD3jEYVNBtkpskuaJCJGmtbyDfvK8Z72vOTViRQOmjPS7vRJtmtHGy3AkJYITg4Mqyh3xWJ/+U1zMb0ptgThC4QrAxFH4Q4JwM/ggIWThlxDqKICigD0edwWq05zzNm2qjAMMgTkXmZIXwoeddcLb4wh3U5FrcTotDag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MN2PR11MB3886.namprd11.prod.outlook.com (2603:10b6:208:137::15) by BL0PR11MB3202.namprd11.prod.outlook.com (2603:10b6:208:65::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Fri, 18 Feb 2022 01:45:27 +0000 Received: from MN2PR11MB3886.namprd11.prod.outlook.com ([fe80::245f:44ba:5cd2:92fb]) by MN2PR11MB3886.namprd11.prod.outlook.com ([fe80::245f:44ba:5cd2:92fb%5]) with mapi id 15.20.4975.017; Fri, 18 Feb 2022 01:45:27 +0000 From: "Chen, Wenbin" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2] libavcodec/qsvenc_hevc: encode RGB format rawvideo Thread-Index: AQHYIjoletgZX+oY80qAywXgGV9GeKyW+32AgAGR41A= Date: Fri, 18 Feb 2022 01:45:27 +0000 Message-ID: References: <20220215070053.653351-1-wenbin.chen@intel.com> <18b30d9b80e2212d617249512b1eee2aaefb06f8.camel@intel.com> In-Reply-To: <18b30d9b80e2212d617249512b1eee2aaefb06f8.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e340103-5f07-434f-86c0-08d9f28056ea x-ms-traffictypediagnostic: BL0PR11MB3202:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dhY4hvh6+F8lT5EsrXMSC5+eutuY3zDullDKRcWwWD3WiWeCtVdif6lZ0ozWfILEHRyQvzvytaEtqgiw3Q4THpEGPwBikmqUe0/w1O+sehjsp28FCNB3pbX2fZvnnPevVdR8hEybVgNFlIn3JSc7f1a3h5OLfIhZxc+2v7OMpLWXEh4hpJMA8Sl45RfQiZiPL7FcAmd7YFMdMONkPLFQZLXuwYe/vcVWym6g0h6Mg97wNhL2U9j4r0WBFut0StxI6pC9Ts86n8Rj4/4/WBar+VqAagc3NkuXdgMwYWZ0cb6t/NwdiHnG3AdgkGRlg9FCU+cNuBhTY5wxthDg3R/jOhECiqOTd/SjadGGLkRjex88z+2cAMcxjUfN1JC+EUYvniZ7X/6kEg6zHo7VgraL9BzleWyJMdBQxCWNNUSJzkIoO2SI8WT8MXp8XpQn14txxgpw2MBfzB7dJbobo+xS6PhN7CVOWQUfuaj6ADZ5xLmapryoXFnLe5crm+GlAmNY+bABKhyKYH+hDyj5FJgKVeBtPgvKnGnVYVi48zO+PBZA2e+oX57cRUdzRIpyGyL8YIKRvf78PHKC+XClwZxthdDyEgwYFGszxNiWq6rvSrUCCoTj5SdiMUkM+ITBCt68aG9+wEL6o0OeChCTw/GjIsUc2qE+BfNoslbXk7FPnraAIYV/xUFvuDSlRVMCSnxAf+gW18dGUmW3x1VQopy9k4oe8U2BXHFw8TkL2oos9KJhN94f9XEp9v6g99bQB9NUZmUXHpISoKPb4PXX7cl9c7N687vGYEyFC1GY/O6Nq4Q= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3886.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(38070700005)(122000001)(83380400001)(64756008)(316002)(966005)(508600001)(38100700002)(6916009)(5660300002)(9686003)(33656002)(2906002)(66946007)(8936002)(66476007)(66556008)(82960400001)(76116006)(52536014)(8676002)(186003)(26005)(86362001)(71200400001)(6506007)(55016003)(7696005)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?3b8QKlPhpWB2sr1iegl2Bcrl1J99KtU8b/1zyWQCOzELqAynoD6dKOtAmd0F?= =?us-ascii?Q?1DQvjO6OpBM2bRbyb4hRH1aJMDSJBJMPA55qmyIRRCSWZpTHcQsQJw8ESabo?= =?us-ascii?Q?vtO04lI1VGYxUuChlBqVvTLKjDONPO83qnC06g/HV4DhyxjzPPj55F5egqaV?= =?us-ascii?Q?83nQJx4FZ5FNazCYof8aXn25YKHaVyp4HnpSks33/57KDI8o+gAKPtuoD15L?= =?us-ascii?Q?C8TsvvlNSTtWvA5HeSTjbmZ9ym169+BNKw3r6cbaCLEihyC43KOq7dgu5x56?= =?us-ascii?Q?Ml6V8MS7pbV9cQ0xpn421DliCPfSB5cwRSr+EUwwyRi4OEVl+k8GuDaJknKH?= =?us-ascii?Q?hiawECY30nnnYU8moTCS0SNOsYKgbEqYQSaDgjdTWcknnvH+KAMRl1khoHEZ?= =?us-ascii?Q?Bv8He7IdL643FRYMEVRozX+INFakous5rgCRHHsbyIMvbOi8j0TsULETzq6G?= =?us-ascii?Q?wHluIXcjxRivltGEYHexmLOB3iT2SiUa64gq04rafqrv3dMK6y4tL5KtCaSZ?= =?us-ascii?Q?/6BKvncfmhC+iM6ZlyytkWB7zNxPeo0r1hhXEOlVupsKgFHoKwvu3pPCxmCy?= =?us-ascii?Q?wvrCS1hNJsjrW7zy+DJrQzIRMq4Pn/MQ+DXS5WIlx6wpudFiowMRmQ4Dwh5N?= =?us-ascii?Q?W+JFrAm/gTS3lIMarLZy9OW8BKaM+hBdNcGMctCNs1Tg9SImFGSpk49Q9Vvh?= =?us-ascii?Q?R0BBPiM+gm2h2DakZf80u0MbRk+1hB3C7us+qJEnxwiS21OLbuiKhLb7tQXp?= =?us-ascii?Q?3ECJsgnwel6TBheeUFP8Anfxe/mAFUzasxoCr8Vux+pCSduG9augAkK8kWYg?= =?us-ascii?Q?ZbyOK7yeFptcSsGx+fU1bHdUZ60Q0B9HV3ny9l5/fM/qIc25CwVomlWxmErX?= =?us-ascii?Q?5koS9E2UzezMo4UWGi33N7YEUntUE44/HGG1p7KvlEDtqHkt2ZZRHGU6AJxk?= =?us-ascii?Q?rAdEibadqqZ8RBNsqTGK1UjmYq4Rp+7oOOK5RiYM24mZ3FpuM5EWfjdlCqMu?= =?us-ascii?Q?TyamqChIQXCs6SNW/BFUcPAzUMZwDBM/BgeDkQaI4oz3sGB5V6J7JC9K4fsn?= =?us-ascii?Q?mysshtkKJp7ZHGhHnoNyR39zMyWrqnMlQxBDimLhVAKnvc8xOfSQUnFJqA4k?= =?us-ascii?Q?zuDqLmNz1vgNjIf97JEQ5K/mTpOCqa/QDgGbDgbGYE3uo270e73Lhvb1/ynf?= =?us-ascii?Q?LgetOihNkXkDtnLmYmZh7q9JhxIq3vMOwgilxuCGUz6auNyXLR69pXZfnFCG?= =?us-ascii?Q?0ksfxR/CFJcb5s0/EfBoywhzqX3eDBUTvOEyidDGBnIBr8VYEZ2TkcREZmuX?= =?us-ascii?Q?SR53K0PMX0f9pFxJpIhRL+qcTrc5lf+8A2u55A/fxoEMFOc62Vz0uZmUQP3N?= =?us-ascii?Q?zl0+2/zMtE6yBpG43vYal9ikk6yvJVQNtnN4a104lexF287oRx0h9vFM9HlF?= =?us-ascii?Q?na4WpEpUq7tiM1RHR9Y+MLHPEF8GYzBfD1coSzuPHph1jaRf8G+68En4Vnih?= =?us-ascii?Q?vsb+a+5IgB/5Z/xXQSkCot21J5GIVHAyRUcUGuUdT8PraRD0Ndx09rKRj8t/?= =?us-ascii?Q?qesc/PrSzPvvERtpc9V1WwU5LsB8SbHDcoxti2BdMJm1F06DPD/xyN9jIBsQ?= =?us-ascii?Q?AoNDk1LARpHUnH9L3DCsmOw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB3886.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e340103-5f07-434f-86c0-08d9f28056ea X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2022 01:45:27.6488 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GNXEcny43Q07fsegfHXRwKW3F3QBR1CnVtaeZ1lOywFQw2I6RpP1NqYtYrOZiXFnIEYmprDlRLyNGw/bzWIo2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3202 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2] libavcodec/qsvenc_hevc: encode RGB format rawvideo 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: > On Tue, 2022-02-15 at 15:00 +0800, Wenbin Chen wrote: > > Add support for hevc_qsv to input RGB format frame. It will > > transform frame to yuv inside MediaSDK instead of using auto > > scale. Now hevc_qsv supports directly encoding BGRA and X2RGB10 > > format. X2RGB10 is only supported in VDENC (-low_power 1). > > The X2RGB10 correspond to the A2RGB20 format in MediaSDK. > > > > Signed-off-by: Wenbin Chen > > --- > > libavcodec/qsv.c | 16 ++++++++++++++++ > > libavcodec/qsvenc.c | 13 +++++++++++++ > > libavcodec/qsvenc_hevc.c | 6 ++++++ > > 3 files changed, 35 insertions(+) > > > > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c > > index 1a432dbd82..b75877e698 100644 > > --- a/libavcodec/qsv.c > > +++ b/libavcodec/qsv.c > > @@ -189,6 +189,12 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t > fourcc) > > case MFX_FOURCC_NV12: return AV_PIX_FMT_NV12; > > case MFX_FOURCC_P010: return AV_PIX_FMT_P010; > > case MFX_FOURCC_P8: return AV_PIX_FMT_PAL8; > > +#if QSV_VERSION_ATLEAST(1, 9) > > + case MFX_FOURCC_A2RGB10: return AV_PIX_FMT_X2RGB10; > > +#endif > > +#if QSV_VERSION_ATLEAST(1, 17) > > + case MFX_FOURCC_RGB4: return AV_PIX_FMT_BGRA; > > +#endif > > #if CONFIG_VAAPI > > case MFX_FOURCC_YUY2: return AV_PIX_FMT_YUYV422; > > #if QSV_VERSION_ATLEAST(1, 27) > > @@ -211,6 +217,16 @@ int ff_qsv_map_pixfmt(enum AVPixelFormat > format, uint32_t > > *fourcc) > > case AV_PIX_FMT_P010: > > *fourcc = MFX_FOURCC_P010; > > return AV_PIX_FMT_P010; > > +#if QSV_VERSION_ATLEAST(1, 9) > > + case AV_PIX_FMT_X2RGB10: > > + *fourcc = MFX_FOURCC_A2RGB10; > > + return AV_PIX_FMT_X2RGB10; > > +#endif > > +#if QSV_VERSION_ATLEAST(1, 17) > > + case AV_PIX_FMT_BGRA: > > + *fourcc = MFX_FOURCC_RGB4; > > + return AV_PIX_FMT_BGRA; > > +#endif > > #if CONFIG_VAAPI > > case AV_PIX_FMT_YUV422P: > > case AV_PIX_FMT_YUYV422: > > diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c > > index 07be4287b7..104133fc59 100644 > > --- a/libavcodec/qsvenc.c > > +++ b/libavcodec/qsvenc.c > > @@ -715,6 +715,11 @@ static int init_video_param(AVCodecContext > *avctx, > > QSVEncContext *q) > > if (ret < 0) > > return AVERROR_BUG; > > > > + if (sw_format == AV_PIX_FMT_X2RGB10 && q->low_power != 1) { > > The SDK may choose a workable mode if low_power is set to auto. > > Thanks > Haihao Thanks for your information. I will update patch. > > > + av_log(avctx, AV_LOG_ERROR, "Only VDENC support encoding > x2rgb10\n"); > > + return AVERROR(EINVAL); > > + } > > + > > q->param.mfx.FrameInfo.CropX = 0; > > q->param.mfx.FrameInfo.CropY = 0; > > q->param.mfx.FrameInfo.CropW = avctx->width; > > @@ -1616,6 +1621,14 @@ static int submit_frame(QSVEncContext *q, > const AVFrame > > *frame, > > qf->surface.Data.V = qf->surface.Data.UV + 2; > > break; > > > > + case AV_PIX_FMT_X2RGB10: > > + case AV_PIX_FMT_BGRA: > > + qf->surface.Data.B = qf->frame->data[0]; > > + qf->surface.Data.G = qf->frame->data[0] + 1; > > + qf->surface.Data.R = qf->frame->data[0] + 2; > > + qf->surface.Data.A = qf->frame->data[0] + 3; > > + break; > > + > > default: > > /* should not reach here */ > > av_assert0(0); > > diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c > > index 5cac141c4d..ade546d4ca 100644 > > --- a/libavcodec/qsvenc_hevc.c > > +++ b/libavcodec/qsvenc_hevc.c > > @@ -304,6 +304,12 @@ const AVCodec ff_hevc_qsv_encoder = { > > .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_NV12, > > AV_PIX_FMT_P010, > > AV_PIX_FMT_QSV, > > +#if QSV_VERSION_ATLEAST(1, 17) > > + AV_PIX_FMT_BGRA, > > +#endif > > +#if QSV_VERSION_ATLEAST(1, 9) > > + AV_PIX_FMT_X2RGB10, > > +#endif > > AV_PIX_FMT_NONE }, > > .priv_class = &class, > > .defaults = qsv_enc_defaults, > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".