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 BCB2F4064F for ; Thu, 27 Jan 2022 05:37:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D89B868B1F3; Thu, 27 Jan 2022 07:37:16 +0200 (EET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9CB9268A43A for ; Thu, 27 Jan 2022 07:37:09 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643261834; x=1674797834; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=QO8Lot7QmxSVmJI95GdoDH/B1F7foJCcPDXXBpHWTNg=; b=bJWWizYk3NyB4mke6uOtSzvGtKPSPLpm6EwdtRVoV8jYvmjxhqe0HnEe hFsWK/96ssx56ruU2RQ54H89rUj6jn+Jxddg1cMB4/hTpFfWXiuuLsgCE O0YG+/hwUvmHWs+crpVdKyVeEpdBwS6pMLrYqQ01wOVKZfsJQZgQJvXYY sEMIAwR58UQIb++7mgPV5t9fmc+vEci3Id/bRxzKPvpCL/0ABDkyrCKXk N959+1SVJNQfJSkuqG67ide7nUCQEd/cq43kJhgZ2QLdLs7mcDA9sRxVQ QNbc+3AlbCc67GLPcebdFxUb79SPMJSYwP0j5XHCPkaF3lyhpxOe8y/yo w==; X-IronPort-AV: E=McAfee;i="6200,9189,10239"; a="234130095" X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="234130095" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jan 2022 21:37:04 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="628562809" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 26 Jan 2022 21:37:04 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 26 Jan 2022 21:37:04 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 26 Jan 2022 21:37:03 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Wed, 26 Jan 2022 21:37:03 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Wed, 26 Jan 2022 21:37:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cn0zAxZRkoHVdMoXzJ3QKgcsj5HAyQEh2BJzqwudH3fGZe3zzsnJsEjA62zOKJYlO1ca9CtmCGCDjek1beGKAxg3WbRCZOcoPgnDQ4F1r8PR7jXlaYcwIrxV/5xQ+qDUh1p/ISMoVzG4qGbm8uAKbLx7HBXB1omc+PTKhLKW+3j6RSotz4FHNr0vF1CPU+gdxxO1BzXpcccuoLFjq58A9IIprquSlMLaJ2i0M0ytUsQNZzgT1xTiVfgTUF0faA8SjRc/sWUBpQOL64MWE751ZRFMKcHg44Tn39kgL1MO8xDgVhx/11v9fqe8M7EK6uDFB99cPpnVMnmUR8ma6CaLzg== 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=QO8Lot7QmxSVmJI95GdoDH/B1F7foJCcPDXXBpHWTNg=; b=nI6fxCI2x8lzldR3fRyd4e1H6FoAbjmFbyrmgkaTer6j0eekDZFcvPXr+/75G33555EkhyNKDNk7O009zWBCuq7cFOe6VuTF5GUJdpSmy7NPWF8xxfscTuwM7oJKfwVnm9x8jXEuse3yFy7rgDxI+Xhe8j4Aqhh8yX7YKqDntAI5BvfWS3zHQmd/rFmh347DPG3KutJH/uxLODnIChCiE/U5L6/h/WnJR270oLDac8vqxlpWzbAYbrUgNd9UNOGVAL0cm4+WR9un7UkJNPha88PlLw/hw2OSLX1NZI4tNxHB9BMsUbFhRvpkM/1OD3Axug0xa7iprHDOW5xV4zvLbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by BN6PR11MB1362.namprd11.prod.outlook.com (2603:10b6:404:3c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.13; Thu, 27 Jan 2022 05:37:01 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::d436:c6ab:6e71:8843%5]) with mapi id 15.20.4888.020; Thu, 27 Jan 2022 05:37:01 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel][PATCH v2 1/3] lavc/qsv: allow to add more parameter buffers to QSV frame Thread-Index: AQHYEPwQ/POod4fhKEeN/fdR5iYXUqx2XdiA Date: Thu, 27 Jan 2022 05:37:01 +0000 Message-ID: <026c35d78d592604e3eb4f75ae07815e372bedba.camel@intel.com> References: <20220124082455.30931-1-haihao.xiang@intel.com> In-Reply-To: <20220124082455.30931-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: 65675486-edce-43fa-ebdd-08d9e1570b58 x-ms-traffictypediagnostic: BN6PR11MB1362: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: XWqhaamU2qlAno7+ayJeVDkZW8gdDSyWURFjuHRkvj/6Q/h7OlBpb0XyqU96c4qZyIS+EWqF4G50yhU5zvVLZkBt2BXu4UnRTY5F0ix1Q+BGCsxMKu7yk6G6etcG0nFXTCVS1WcAzS3TZY0gdDCrGHUlD0DEuGU6zXtdkCr358oj9+VV4aj0XnR5s4pdroQ+CNul2EHevdU81ioTShUDz8aPS1xpY18LoBnBEV/rW0nBejyQeU0jNMWreYcIuK0BI8qljzUoFL8P1j2l6VCt/p07/IBSSu95Clq8emkjni3wK7cpgwPnrkIhDk9j9HQFfd5dD2vO6+rGrQDPrBoFkeofsHH2uhXl+6W0v7zRZ+2CTjJf668+Hl0/zXD01DWIPon2X9pbeP1+TIRH9Fxh5KnWf/er2LANcJraE4s35+ExvKcE+6YFccUX47lX/AFR5vrtkVZu9Ue3QwMPLh2NXqWrfGxAVYoJY/p0aqP+XaMz0V4BOGjLEMPgHofEIuWpes/Fdd4Gcgh4bHACIQvSyrg/whtc1Zy416DjqB4i66DSWZHtdHg7SzovRgXImKwc2dF8NTL+mVenSuWdQNMywq30CktwOg6SlWL2OfuDfp2wk7VeQx6Ka4uLiAuV5Cb/Di33C6HLtw619JALz6i908aW/bRuxrvDZrurXceE22hTuNIjaWPDa3w6mlFuEPxvdV1aTIRbQBIct8IHeVhUkrpxynABsyLrTb7sMv3Ep3Q= 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)(83380400001)(38070700005)(8936002)(316002)(8676002)(6486002)(64756008)(5660300002)(6512007)(2906002)(66446008)(26005)(6916009)(66556008)(186003)(38100700002)(122000001)(66946007)(82960400001)(2616005)(36756003)(76116006)(71200400001)(6506007)(86362001)(508600001)(66476007)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WCs2MUlnem9wdklzZzQ5NTVVbExDVDRpUGpSa2thY0VYUFJsREtGQVYzTmtR?= =?utf-8?B?S1VHYXZLRjEvdEJKbFp5YUw0WksyWkllZWJPc0g5NWtaTjlMVlA2S3EzNkR0?= =?utf-8?B?NXQ4bis1ODJtQUZ2Z3NIRW9zWTBLSHh0dG00Y0R6VklVVXRGaXNyNWdXc1lD?= =?utf-8?B?cmc4NHgyUnhZQzZhbnFhbXVwa1pyeEJyQmlQYVJvMFBQTmxMMFc0cUdNMjMw?= =?utf-8?B?cTVsc3ZINGtqOHF2WTB6L0RSM1FtUnVwODlRYXBZTXpsd2htVVFmUU5yTVNZ?= =?utf-8?B?cXplRmJ2MlVSaFQ3U0lBc0cwTDFNTE41d2tEelBROEd0Qmd0UUlwSnlER1lr?= =?utf-8?B?Vnlhdmkva2VQN0pLTXNpRmo4YWZiOG9hUDRSbnBiWk5QdFVrQUFmZEtoUXZv?= =?utf-8?B?RXF4SktLUDl4R0dxWXAzWitoTzV1S1crUjg2RTQ5dFFUNXoySzZkZUZtbmE0?= =?utf-8?B?eURxZkUyNFFlMm5OMEdxK3R6Ny9FWE5ET3UwUVA3dzRLZHRzbkF4bkFZSnpL?= =?utf-8?B?OUl0alo2YzN1bjFzb2VMSWU4NkU4VHhNVlR5Y2FWeGlrbzBwdmpiWnhYVFlR?= =?utf-8?B?bGFIYVU1VnU0S2tSWWNBTkdwQkdCMFh6YzhpVmlIQXArOTVoRVZlNU5GTkY1?= =?utf-8?B?K2hrWGJ4empIUGhoUG9MZndGUk0zZFpkWnlOcGRIUTlSRkFTa3RhVkQ3cHBI?= =?utf-8?B?L0srQkk0VHFJRXVIQml0SURCWmJONk1RMm16L2MzQkxocEhJd2pncnowT05w?= =?utf-8?B?MGJEMUZNeVdyVFBZVFB6TVY3ZnUvWFdIUmo5TXNsZkluUnU2dENpS1FnWXFN?= =?utf-8?B?RHNWWGU5cFVNYkhzdWxTNFg3YXZPUnF0cmIzNmh1K2FzQ3hHQWZidUlIaGhN?= =?utf-8?B?d3llSnF6RHBza0tyQ1BNU0xlV2FDYUNVVmJrSC9VSWZwd2k1Y1E3Y3ZTM1Bs?= =?utf-8?B?MG4zY2lkTDU3aEUxRm9hOTJGYmZEOWVYNTNqRzBsRmFnVTdrWHcrc0F6dVBG?= =?utf-8?B?ZmdiK2FmQTJLRGcraHhUQlkxSyt1c0R3VVNXZnczRWFSR0RwZi9XZnZqRVN2?= =?utf-8?B?SHFxWk5nUm9YZTJ3WUtxZUVKK2JtcUNBdThlRUg0YWNaemc0eU9EUTRVaXZw?= =?utf-8?B?N3NPVXF4QVMzYUlkaTR6NStPL09Pc09FQ2hkMk5ua2JzVkRYR2V3ZWhQNGNH?= =?utf-8?B?bVRSS1FEWHVEbVBpV3lWbDJkZDVVeXExWEFaVFBNSXVHbGE1MENaeWdEaUJV?= =?utf-8?B?MHZoRWF6WUFSdU05akhiM1Q5WVE3dEpCU1BRQW1BVXlhczNmd3dod29ZaGJQ?= =?utf-8?B?WWFxY3lmVzRtRWRyL1REUlVza2NPSVEzNW0vYmdJMDR0Um1Sei9uQzcxbkFQ?= =?utf-8?B?dHpwM0lHYTJkQmxHOTZtbHpXTDh6NHlSS0t6Z2NPaVdKcjJQY1RRczNHRkNo?= =?utf-8?B?cGV5NFdaYW16YVNVK3p5VVAxZnY1MnFFZ1RGU0tqNkpoRXVGYkVXYlROeXRn?= =?utf-8?B?amNMUHo2MW1KZElqV2l1Zk9rc2lVa3BPUnVGdndYTFYwQWhyb1M2ODRpOGlN?= =?utf-8?B?ZytleEMycGVpMXlzOVVVek9nTEU5cnVBU2I4QlByNmRLdlBDWmdEb2ZYd2tN?= =?utf-8?B?anFVWXYrOHhheEE1L2lVUU9ySTR1MUJURFdmRGJUYkdFUFdiZnVKNjVCV3Rl?= =?utf-8?B?L1FjVThpUkg2RzNEM1Fkc1dmVzFycDBkeHNjMUxEZUFIekduV2Z0S1kzMGdy?= =?utf-8?B?Z2s3bUZYMURLaFEwQnh0Ym44dktZVXhaL1FmamhhTGNRajdVVFA2aHBZS1Y1?= =?utf-8?B?dCtQTVRBUlVSNDZZelNCRllZRGgzWVZLVWtkb2VURFUvZVN5Zlg1ZTExcENE?= =?utf-8?B?QlltVk11UWswZGlidDRNRlpVUGJvRTFCcklNMlp0d05UbWNaS0tpVXpSaGtQ?= =?utf-8?B?VjNXbUZwd3NqSFBwOG12TXlET0JkRWY1djl5QlRQaE4xRlJrc2o1a09WT0Fa?= =?utf-8?B?akNaVHgybDVHcTk4YkZmSzBoWmgvNUlac1Y3Q0tzcEpRanBKS0ZmMURlTVNj?= =?utf-8?B?YnZBWGNOVTJyUFo2cXo1L0I5QVhnemIwTG9RY1daZ0NnWUthQlV5czFucTE4?= =?utf-8?B?SnFYaDQzM1pLTWVsdlRhS1RPZm4wZ2NlQmx5dWxDcGZJeU1ldGp5TnNVTnd0?= =?utf-8?Q?dfniJw2DZ4wEhHbwsjQ9NCg=3D?= Content-ID: <413EFD76F1E5AC4FAF32A640F1102822@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: 65675486-edce-43fa-ebdd-08d9e1570b58 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 05:37:01.7636 (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: q0mO+jni683IIuugljtg5Rj3cboUuWWu+5Hecjm4W49R/xMLkKoFWaB8Z4vQnkIw1FdaSx23k/krFhNe77FAmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1362 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2 1/3] 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 Mon, 2022-01-24 at 16:24 +0800, Xiang, Haihao wrote: > From: Haihao Xiang > > Signed-off-by: Haihao Xiang > --- > v2: rebased the patchset against the latest FFmpeg and added code to > make sure the corresponding extra parameter buffer is added for AV1 > only. > > 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 9d08485c92..1a432dbd82 100644 > --- a/libavcodec/qsv.c > +++ b/libavcodec/qsv.c > @@ -828,3 +828,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 fe9d5319c4..6a38e87d23 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; > > mfxPayload *payloads[QSV_MAX_ENC_PAYLOAD]; ///< used for enc_ctrl.Payload > > @@ -138,4 +141,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 d9e0fef1f1..783d252002 100644 > --- a/libavcodec/qsvdec.c > +++ b/libavcodec/qsvdec.c > @@ -423,11 +423,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 -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".