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 EA1C440C16 for ; Wed, 29 Dec 2021 05:46:39 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C0E2168AE47; Wed, 29 Dec 2021 07:46:36 +0200 (EET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4348868AB2E for ; Wed, 29 Dec 2021 07:46:29 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1640756794; x=1672292794; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=6x2sO4YKnAvA/pHa/XHIZQOvdwoUK07i1sc4DJDzgDA=; b=PY4jr0TUnwTr/ZZQCw8gYvH+1JtmAq893M8pYj/kGFbkMJjvXbT787iP EmRySwjcEbbaqzZzXRDqySvQoA4gOA2CCNyfFQkl0jqSsC63hzODVOKBP ARNsz/p2Oj55tJFg7uPa1DCM6SDd0SIHO+H5n5FZRp2WuJE1FdJE/YPQl j2bO3YB4U7cC3sSYtjW3N4syl7LWUygm5VP8enYTbDFXeyBllNkb0AkIo pWYFjbm0nBaN14XvPq+4eEtz291eOWuOuXvWxuGvbv206ajSpcaghxMM2 qIFRWLcgnGA/+KzM+i1QVUR1PC12QbuE0cA6NuQ2twmuGRretCptZAG2n A==; X-IronPort-AV: E=McAfee;i="6200,9189,10211"; a="241422065" X-IronPort-AV: E=Sophos;i="5.88,244,1635231600"; d="scan'208";a="241422065" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Dec 2021 21:46:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,244,1635231600"; d="scan'208";a="572508963" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga008.fm.intel.com with ESMTP; 28 Dec 2021 21:46:26 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 28 Dec 2021 21:46:26 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Tue, 28 Dec 2021 21:46:26 -0800 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.47) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 28 Dec 2021 21:46:26 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O+bGhK/4m5+AU0RHHypsk432Prv1EKIXdJfncsUTw9k1uE4pFnaez3Xp+nBdsZIXShnW3joSu1SVPigc7PQ7mzDpeUs+gHHc0NQ3ydEQKtimwJfsetRjOJFaZNpx8xmlRwhKtANaxDYPJwP1nx26DJLZ/HD1HnWSXnCRkRAQI+A9jhPe4FBGhM/xFu5v0fuKh+0ZWHeVpfqYcEWWiqKcD6E2QDORCr/bENG65V/aNxHRwMTXvFgb2VgkT1tNL2j540lAJklJBFFlDzJh0W6GwRPsiA0ZRIGztvnR23vScbxYRN22CIRPqz8M1EtNQawPaWwJ4EulcUzqbt3p+DHnZw== 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=6x2sO4YKnAvA/pHa/XHIZQOvdwoUK07i1sc4DJDzgDA=; b=T5R/NShcJsAYxMqWAPfhMp7ljs7DcZJc+st/PZ9oFUUJRbKXBk6C2xpktvAqWoaoXRyMDJiXQZ8G2uFHAyYGJlP+vU8ZuYe3jQCbm/2UibGxqp+94U86lpuQbpFfURYm5OXJNtEuqxhS0OZMB9jy8A12v7F/hcnSxMPpU0e9ibTKMU6M3+HFSRrCthuM/clFTekWuwGoA8Q2UCEX6fVt4Gqxn/1wNvM34NXXjISdF9twmcJsvA/fOlRK8Ro5Wr+3L9UyDFMYzcVCPIVUKXxn4DnQWk0YeTaK5k2KItmQoUmTX3DMVEVnKtxHwShXFdo9Utkvx5I/ANsATScl/1qxoQ== 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 BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by BN6PR1101MB2180.namprd11.prod.outlook.com (2603:10b6:405:58::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.13; Wed, 29 Dec 2021 05:46:24 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::bcfc:ceef:cd03:dd16]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::bcfc:ceef:cd03:dd16%3]) with mapi id 15.20.4823.023; Wed, 29 Dec 2021 05:46:24 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH 1/2] lavc/qsv: allow to add more parameter buffers to QSV frame Thread-Index: AQHXH5D2xocXaGx0YE2YVzqU182Pr6xKr68A Date: Wed, 29 Dec 2021 05:46:24 +0000 Message-ID: <33b7e661c5e50ca415f861288bead90695da3708.camel@intel.com> References: <20210323030007.590540-1-haihao.xiang@intel.com> In-Reply-To: <20210323030007.590540-1-haihao.xiang@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 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: 70c9392d-7c86-42bd-fa66-08d9ca8e8cf4 x-ms-traffictypediagnostic: BN6PR1101MB2180:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gPOy4+itE04P/EfXCezDbj/NgN2tUv5Jx3z/9AFRHEHiTGa093+JECuMFUwS+XnCZ8WATN7au4ilPcq6aW3i5M4lo/TdqDT+L8QRyl6xeCDtL5wx72yZawJ68VyexO8TweAIuEVThkQu4qfXlaFMHJAZaDGMgqje1Ry/sVJjq0t/ZQSRGmukeqGHmfH9Omb8i76Jb00GzvLsZ+ZUUly8r5weLOi4iQkwyzWEUFXsIMxjG8Ifg3D4dcMNTyIXb6Sd2BDCENJFd6jUEqj/k8NEiMejRrzxH9H9NC4EjA9RLMEd4xEibVC39arMqCjOIFCVtOx8UFkhhL1jQ3dF+hE4I1DrY3RQTE+0CK0IVdVAgQY6oVMCN4L2nQWjNHbADKMtq9jqF+pvdjGvkI6IqwO1WYyda51vFjNAZFOdTa6zRFDx7ebtFTvS9cav2WCsTZ3J9LsOv5dQS4nXE+I+gEe7jSfRd8Hc32XFVcPvnU+MDGdqleV7aSA1bnlxI9PyzoiESPSV+6wVxgu9P9gE+NmthhU+SC13fqeHk4BApgGOjAnCdm/T+WdUXasAbtGOS3qGyF4WAjKWM0jvftgpB8VzpFgAyRcxVLAcyFXbLQ5v1V1Zkv0njD6R1Bvyx9FOgh296LiYOoY+EBVl593d6sLubhTe/s+KO+YqHd7BOsTl7sSK6kxpL9qgsfEQ73c5Pxqxt7AeJNRQ0k7fNO+iE0Fnu2WwHozPhOooYulD2/ATYeM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(186003)(122000001)(82960400001)(26005)(76116006)(36756003)(316002)(83380400001)(86362001)(38070700005)(91956017)(2906002)(66946007)(5660300002)(66476007)(64756008)(66556008)(66446008)(6916009)(6486002)(6506007)(38100700002)(2616005)(6512007)(508600001)(8936002)(71200400001)(8676002)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MUNjTURtbnFuZm1EZ1E1Q1VhclY4SWtjazNneDVDRmx5aWp3MC9zKzBkZklG?= =?utf-8?B?OXdvd1J1NytiYUUxYktubmljbmNoSFlEZVRJeEJPeCsvRklVUDRxOXVEN1Yv?= =?utf-8?B?d1lDbjAzQys1VTlpUm1CSFgrdzRwYW9CUWdJTVFvNGw0bEpnaFplZkJlbWNX?= =?utf-8?B?UUMzT1FCdDBXSDBWMVdEZzlUOWQ2aFdqdjd3K016anJTWExTNDMwTmxHTGcy?= =?utf-8?B?MzJSVVZRYTNCMXVRRmNFRitEZFhLd2traHpyblI0QncyNXdDZko3Y2ZuTXNo?= =?utf-8?B?aU42VWdpdEloNDR2ZGpmcUVGVFJsUFgxNG80eHg5U0pPNEdFQnBZcTVrR0lJ?= =?utf-8?B?d2FJVU5ZRWNrYnNzR2N5RkdOVDVmaVNXTldqRmJXZzkwS0czd0kwOFpablls?= =?utf-8?B?V1pUdmhyT3hHRm9UNFFnRGc2RllTc1FHZWdlTm53MDBVZkp0Q0IxbTZCOFpX?= =?utf-8?B?VkNla0hFK2tOOE9rbXlhRE1ZVFRMdHowckczZUxtdGVVM3RZUTIxUUJHQXdI?= =?utf-8?B?alJkS0Q0OUJlK3lnTEVPMEt2Y1ZsV1A0MXZiWGMxVmMyajhVZXVlMWYvUUd5?= =?utf-8?B?TWhmVkNtcDVML1BRcWt2U2RBM1NyelJCengxcXhoajBVTWdxMnNiMzdObzNS?= =?utf-8?B?QkVMelc0dFpIVVAzc0NZNmx5d25ub0tpVGFkalZ4WjZacHlvK1ozOWFzS0po?= =?utf-8?B?Skwxb1owRERpTFpKMVJhV29rVTY4czlEelcwM2thNlBIOEtEbGpDdzlNMFVr?= =?utf-8?B?VjV1Y1pLRS8yempNTWxGekR5YksrbGprM0NRQy9hU1R2Q0JlZnREN01tcnlM?= =?utf-8?B?TkZmelBvTkdIckRDUUhZc244R0tMamZlSkNyRTR4VkZGYXpiQmlaZ1ZnTG1l?= =?utf-8?B?ajRYZ01URFNweHNzL2Ziank2SnA1WXJrVWxtRHRJVXNaaVpHenQ0elVrQ2l1?= =?utf-8?B?S2dWNXY4Z21iQUd1VUdvSTVvUW9GWFdtYnJNTlBIaW9OYldkL0o3Y2Z0YWE5?= =?utf-8?B?aXgrOEVhQU5JcGNhc0VlOHkzVE1Ucm15NHBhbVlwbW1yR0FFeXk5MmkzdjVB?= =?utf-8?B?VnlmcDQwVVQ0VXNsaE9WZHRoblJNVkFnSnUxaGhzM1Q1UGs2Q3V3b1VEa3Fk?= =?utf-8?B?TnZUZzhITFB1NmlQK08raFpkVW1TSmFMRFZwK2hrNEFCS3JIU3IrRTJ4VGNy?= =?utf-8?B?dm1SemdxcDlLWXkrQmw5TFlkUmNPb2VkRVNKMEtnSmkwelJTZFltWmZ0dzFH?= =?utf-8?B?VUROREdua3hlbldUNmliV2NxNlRiMEZWSW9Ic3ZUUVBIMUZDSmJuZWhsY2Er?= =?utf-8?B?dGc0bTdiYjVBTjQrb0pYUFZkYVRmcytNTytkdFlwUU5zMUU1Y2RSY3Qwbkdv?= =?utf-8?B?VTBVT1Y4NmlaWUFjZU5DRmpvQU1UdGVIaDZUK2hPNDJZUWxPQ1FCSmRzWFVa?= =?utf-8?B?RVJmMU91d1Y0aUxKMkswRjdDMncrSVZ3ZlUrKzVLc1YySlQ2UDkyMkJxUE9Q?= =?utf-8?B?YndmYWVHdWRUdndTeG5IVEd4WlpJZVVyY3pxWjR5TVlyRE5wTmVJN255Uits?= =?utf-8?B?ZUNTd3doUEFIN2Rhb3NtNkErYjVnclN0QWE5OHA4MGJXTjJSRUlNazR3RjZK?= =?utf-8?B?TWpNVUgzZ3c4L0tsbktjQWJSRFRNcVVCRE1IdTN6QlBwV3NkUFE0NThsanMw?= =?utf-8?B?VzJ0ckkydVo5OUVZWEo0RVA5b1F6c1Vnckk4cDZnM1BrcGkwNmtDRml6ZkM2?= =?utf-8?B?OHBxSWRneC9YUEQ2RHN5dzQ4R1doeGIwZ1hPQkFoZW1SSmJDa083ZWIzc3h3?= =?utf-8?B?U3crU2ZuSFBpdk0vb2lmTEZBcjl5R2h6aUZUNVN4UnBlTVlLbU1wMGlnTHlN?= =?utf-8?B?eUNRK1hreENFc0hsNDNMOCtKL1Y0SG5kc1RNVDNSQmRVaFFIOFhBM2FiN016?= =?utf-8?B?VSsyZE5xTmhDb3NiYmNGWlltU1g5eDlXeXdwQjVLOXdhbTJmY0o3WDdJSEFI?= =?utf-8?B?OVVMMjRKazYySmxuWnVOM0xtL0J5a1FZaFl1MU5uYmJrYmtRQVBabXhaL1NO?= =?utf-8?B?UDZrUURwdDlCZFBDL1Z5RVdZOTNYL1hpeEsyL09HS2pDQjdOOHQxRnUzM2xF?= =?utf-8?B?QnYwQlVhMEl0TWwvUDVkVitoUnZhNzJobkRFbFFBNWQ0blNQaWdLRUo0eUNQ?= =?utf-8?Q?cew+KDxg3xOHUMm2hwa8X/5sXhXTnBZLVot58I6qIRXx?= Content-ID: <6CE98C2638D7214084B942D31835DB01@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70c9392d-7c86-42bd-fa66-08d9ca8e8cf4 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Dec 2021 05:46:24.7729 (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: qgCljNR93bL7rZlFwJAlGxbY2Y+Q6ezNv2QrsksObA7NpDj6VkIXoP99DeSCf8TBLRXRZU5kq/J2UuaOfeP38w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR1101MB2180 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/qsv: allow to add more parameter buffers to QSV frame 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, 2021-03-23 at 11:00 +0800, Haihao Xiang wrote: > --- > libavcodec/qsv.c | 27 +++++++++++++++++++++++++++ > libavcodec/qsv_internal.h | 8 +++++++- > libavcodec/qsvdec.c | 8 +++++--- > 3 files changed, 39 insertions(+), 4 deletions(-) > > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c > index 6e3154e1a3..879e109092 100644 > --- a/libavcodec/qsv.c > +++ b/libavcodec/qsv.c > @@ -821,3 +821,30 @@ int ff_qsv_close_internal_session(QSVSession *qs) > #endif > return 0; > } > + > +void ff_qsv_frame_add_ext_param (AVCodecContext *avctx, QSVFrame *frame, > + mfxExtBuffer * param) > +{ > + int i; > + > + for (i = 0; i < frame->num_ext_params; i++) { > + mfxExtBuffer *ext_buffer = frame->ext_param[i]; > + > + if (ext_buffer->BufferId == param->BufferId) { > + av_log(avctx, AV_LOG_WARNING, "A buffer with the same type has > been " > + "added\n"); > + return; > + } > + } > + > + if (frame->num_ext_params < QSV_MAX_FRAME_EXT_PARAMS) { > + frame->ext_param[frame->num_ext_params] = param; > + frame->num_ext_params++; > + frame->surface.Data.NumExtParam = frame->num_ext_params; > + } else { > + av_log(avctx, AV_LOG_WARNING, "Ignore this extra buffer because do > not " > + "have enough space\n"); > + } > + > + > +} > diff --git a/libavcodec/qsv_internal.h b/libavcodec/qsv_internal.h > index 6b2fbbe252..1d94d429e8 100644 > --- a/libavcodec/qsv_internal.h > +++ b/libavcodec/qsv_internal.h > @@ -52,6 +52,8 @@ > > #define QSV_MAX_ENC_PAYLOAD 2 // # of mfxEncodeCtrl payloads supported > > +#define QSV_MAX_FRAME_EXT_PARAMS 4 > + > #define QSV_VERSION_ATLEAST(MAJOR, MINOR) \ > (MFX_VERSION_MAJOR > (MAJOR) || \ > MFX_VERSION_MAJOR == (MAJOR) && MFX_VERSION_MINOR >= (MINOR)) > @@ -74,7 +76,8 @@ typedef struct QSVFrame { > mfxFrameSurface1 surface; > mfxEncodeCtrl enc_ctrl; > mfxExtDecodedFrameInfo dec_info; > - mfxExtBuffer *ext_param; > + mfxExtBuffer *ext_param[QSV_MAX_FRAME_EXT_PARAMS]; > + int num_ext_params; > > int queued; > int used; > @@ -142,4 +145,7 @@ int ff_qsv_init_session_frames(AVCodecContext *avctx, > mfxSession *session, > > int ff_qsv_find_surface_idx(QSVFramesContext *ctx, QSVFrame *frame); > > +void ff_qsv_frame_add_ext_param(AVCodecContext *avctx, QSVFrame *frame, > + mfxExtBuffer *param); > + > #endif /* AVCODEC_QSV_INTERNAL_H */ > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c > index 5f2e641373..55cf9f35c5 100644 > --- a/libavcodec/qsvdec.c > +++ b/libavcodec/qsvdec.c > @@ -366,11 +366,13 @@ static int alloc_frame(AVCodecContext *avctx, QSVContext > *q, QSVFrame *frame) > > frame->surface.Data.MemId = &q->frames_ctx.mids[ret]; > } > - frame->surface.Data.ExtParam = &frame->ext_param; > - frame->surface.Data.NumExtParam = 1; > - frame->ext_param = (mfxExtBuffer*)&frame->dec_info; > + > + frame->surface.Data.ExtParam = frame->ext_param; > + frame->surface.Data.NumExtParam = 0; > + frame->num_ext_params = 0; > frame->dec_info.Header.BufferId = MFX_EXTBUFF_DECODED_FRAME_INFO; > frame->dec_info.Header.BufferSz = sizeof(frame->dec_info); > + ff_qsv_frame_add_ext_param(avctx, frame, (mfxExtBuffer *)&frame- > >dec_info); > > frame->used = 1; Will apply if no objection, -Haihao > _______________________________________________ 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".