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 62ED14262A for ; Tue, 22 Nov 2022 19:19:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 861E068BB11; Tue, 22 Nov 2022 21:19:09 +0200 (EET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8F7C568B786 for ; Tue, 22 Nov 2022 21:19:02 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gNy3CBm5ZQla/nQr9W4jiuaC4yt8xPHrAZJQN79ckKSh9m23sHV435Sd3w06tCipGpx6ek6stWyh0rERxgw3GFsoCKiWBrdFDfdhRfEoyoPYWLX8KcVWk9pFnWTWwXHcd0gcL+k8TSCPk26tLrufmhJiEAnig3jlk/pXWyJRIIXbd12U46T4JJgEoUh5ySrzOyvOOF8LgauKjxLj5tq3rmsRJodul4aDY20xzdW6z+Q7JuRY59QkpDoJYt+4xJ6cgHQ89JDNgcgVRS7FDCi5agrLzZIGDjSk+64n98j1SBM1aCyro0Nt+peQkFFaVLNlTI/mELKR1xxQTnHGUz9Knw== 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=6CUfLmnYm4H/W/MpauvWJUahYSPTLeSX9I4LjZbtK2E=; b=JJ5atjSfmF6h43+0WvdRp5B7U2/MwL4ELxPfAPeQhhKGWt/oZGGZog6ldraDk/nYqrbfJDawx6EPGJPwE042RtiLp/DUWnGWbyP+o8KbyOvFDiUFeYFmByoyeVV2qOhuFS+Mf8axCIN1sSLauRNFCE015sl4K3bs7xama6A4Pouyv6UYqgBw5q9EuAwzoJHWRJrxiZfVIYlm02r9nmHGjpLVtB/F7MZJjoruwUho4fYwYtVbywRDfzeqsWVwUgC0+lMwsPvO+sXl/VH9HLDCipAyUNpeSUSOD3AEgpykBu2oIKs8hJap/Srmb3hS8eU6neXLDRxRDvjWZzeQDQDXVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6CUfLmnYm4H/W/MpauvWJUahYSPTLeSX9I4LjZbtK2E=; b=xk/I21oey2w5xCFA8nhQ0vHp5ZqqdXmbd3LJYtVJ14kvPD5R+SlgYJDLxu33mlm2gHZPZOK9Sm2AnTcSgJvJ5XzNxQORGqfPJOEgVvYiqVfe0CnYut8ZJCHeZMAD2ZfgAMb0VzpCuP8FHf7d7dzD5avcxWbwmYBdtn7H6baSB04= Received: from SJ1PR12MB6194.namprd12.prod.outlook.com (2603:10b6:a03:458::12) by BL1PR12MB5333.namprd12.prod.outlook.com (2603:10b6:208:31f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Tue, 22 Nov 2022 19:18:59 +0000 Received: from SJ1PR12MB6194.namprd12.prod.outlook.com ([fe80::29db:10e7:a12d:1439]) by SJ1PR12MB6194.namprd12.prod.outlook.com ([fe80::29db:10e7:a12d:1439%3]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 19:18:59 +0000 Content-Type: multipart/mixed; boundary="_000_SJ1PR12MB61947C7DFBBB9BB4FA5F2F27950D9SJ1PR12MB6194namp_" From: "Dong, Ruijing" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH v2] avcodec/av1_vaapi: add direct film grain mode Thread-Index: AQHY/Iwv0iTeOs4fnUWaqspoWmrKSq5IBYMAgANOYOA= Date: Tue, 22 Nov 2022 19:18:58 +0000 Message-ID: References: <20221118153422.67632-1-ruijing.dong@amd.com> <20221120025914.39732-1-ruijing.dong@amd.com> <4776acec-357b-5c36-1292-7e5204c4759f@jkqxz.net> In-Reply-To: <4776acec-357b-5c36-1292-7e5204c4759f@jkqxz.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=b4e24c98-d4bc-4fef-b83e-14f545316e38; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-11-22T19:13:23Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ1PR12MB6194:EE_|BL1PR12MB5333:EE_ x-ms-office365-filtering-correlation-id: 34088f16-4c54-4b6e-22ff-08daccbe6828 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: =?us-ascii?Q?6lA2qQbMKkFVGcfv6BXXPdAPtt82Y/i8D2srE1cWVGa9+fimN4i/dQXBJygp?= =?us-ascii?Q?rTJsbbZ7uEfZUxv+5pPAtGf1+2kmDpjEpkLhD2BKaGd4RneBqmweDIyWD5T6?= =?us-ascii?Q?OuMe34mXsVCoVBiTk1V/SuHKK7SiMy5MnU1Ieg+KiUfOtb9vW8yNtgnHuqx6?= =?us-ascii?Q?LwTjyqLxnYBvYkowqxFOV89mplSgYzU0YO0vevbjQzfcFhC+nQY0qwt5QIyM?= =?us-ascii?Q?1fMxrZGi07WycS+Y/FJAxfaUzW+If8dAkps8yvyvKmseYDjhbqaJ9M+3KEAy?= =?us-ascii?Q?OMxzwfjIvs2j/bulr+1PkhsOfPHi2CeZIcLCd0ym0Fi7Wxfuj7dzW4xnp7xb?= =?us-ascii?Q?F10W+rcU0ctBGiwUgdHAb8FR9DrjOL6l7eM3W5H6XZFOok5vAhtdT/60ql5G?= =?us-ascii?Q?O81HS2/EPWU7zrezoySapjsD2z688ygkj7DIJd2e8kuLlhqsdIRAq0hC95wh?= =?us-ascii?Q?XW7SyPtELsXUmPAffgxlYicX1Pbw4Ia9KHHH/Dm5MyVaubV0QtI4NPdNpDoS?= =?us-ascii?Q?2tf7DuxMtzXuVFzG6Uq4kk4k+de+ZxrqJ3N56aWmPUWEzrN83ozSxbckyojO?= =?us-ascii?Q?fpXXHirGBgqTbkeThE3Wpew3+iaHsoN6sBEPHwjSgxBIqJBRgyfIUxlaAdrt?= =?us-ascii?Q?hDXPHXXCAKYuEz88TzU9UcHUd4H+aWxdILLhoi2tiBCdrdSNSmTWAJBfSvOE?= =?us-ascii?Q?B4nDVRiwvO0KqdGKGCwZDv7+XTylKfOq0tdhr03j6OCGDlazihmEC3M/pGIV?= =?us-ascii?Q?PCWYUlyt8OEoW2c391eTNUiuoX98rebNekH0/rAuYdOrovBsY9vB28n+Aswz?= =?us-ascii?Q?h0WNG2NIylykVVXRyoKPBYJkooKi0MLGy99clJp7MjVsWUWjdO7i1cMaXdBM?= =?us-ascii?Q?nr51HRj0+Dn+Qfq4B67XKOZVayPuFsNpG0z658Pn2wY5ZYsEXYS7BqUdZEIz?= =?us-ascii?Q?vsPRH1ZDyKeNrZNgV033JS4QIanly6hnUYtYiOkYWcCHYMXAfYhSnYTQXnXg?= =?us-ascii?Q?17oVcrD9O7iGFv+V/Amw1XZOSxXVVDiVnBX00UQku56AwiU=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ1PR12MB6194.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(346002)(39860400002)(136003)(396003)(366004)(376002)(451199015)(66556008)(86362001)(66446008)(52536014)(38070700005)(33656002)(53546011)(41300700001)(76116006)(55016003)(66946007)(5660300002)(66476007)(186003)(8936002)(64756008)(8676002)(966005)(45080400002)(71200400001)(26005)(478600001)(9686003)(316002)(6506007)(6916009)(122000001)(7696005)(38100700002)(66899015)(2906002)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RzitR5b3Oy8n97hG+TyJFq2kROaRAOB31W+F+iipNn3r8Xd1vreofztm+RsD?= =?us-ascii?Q?pBzGyKXxz9pw+EGQ27GCh3Ay5caXd1+tmXJcbmZGNKxhiDGxw7wQflGQ10Ia?= =?us-ascii?Q?uMJgVdJot7fej5Hg8hoCk7cGWqyUlFG0dEFa8X70XvBKGco9qUMY60v6wMUi?= =?us-ascii?Q?zcDAEgWiIBbCI58Mh1tblJkWIx3rqcnvixKLjci331JZzTJQu6xfXPn6HIGG?= =?us-ascii?Q?N/vKWYDhvJwCdG2gvAvBUn/bdAhoyTawMI/TZsNSGIvEFpsbWZmjenIuxYSF?= =?us-ascii?Q?pwK8QuyH2fJu3kweGsVblL8y8ssxzNm8vpcPzllI9R+ap+0B6YiDd7jezqdg?= =?us-ascii?Q?pbmy4s8I/Q/PcCBwROP3q7Vb4d57DCkRcZRqggSRfiWb5PFN3CCRtckYpU0k?= =?us-ascii?Q?GNaKBoND5XjPmnBmhnQ035X+A6ddsI8NzdjV5eplmAS9Uo8WHU7r1VGIVD3i?= =?us-ascii?Q?+YQDXLsvATHEsgfsrdU9v6SCdB9pjHqNmU9xyTb9ibYM/yQTjwXv8q+l0u/7?= =?us-ascii?Q?Oq/noDyIYvztTibsKKUd/0i1PhKH29BguaX0DCe1MpB5XCVsONrAoh77kCs0?= =?us-ascii?Q?sToMucC+6BCym2zwpWq9J8ayTdAT8FEsv5D5J6gqq5J3uV1wQ+KdAgGyskMQ?= =?us-ascii?Q?4sZ3/2Xiq8FVusBXuEoL2fymoSiLG+rjAqljQ4V+ANo913rRQFz05Z9aGfzC?= =?us-ascii?Q?LqwoyozQymFaMk6NmmZLJ2KqIESiD+8dp8Yf9KrkgPTOgwihF62LwxmjPVvl?= =?us-ascii?Q?oh8Xsw/x2b6D1JCW5GkWQr5KEpC6ziGBr4vYvFJLSPwH2KYWv2QlbEAqzLrc?= =?us-ascii?Q?JV19QCTMlIslZfgB5K/2Lf3C8VaPkSnvMHAdn79bbYga/wJFaQY51WY6Nu8q?= =?us-ascii?Q?AQUnyhx8XbI/7Mn2QhnnI3zov/NEer6Cg2OGxGrJa1BuuBmhGfmPLn2Emf/E?= =?us-ascii?Q?RjNQ2TS2mzS1Vtj+LuCS5Sz2ZgpqecDu9sT6YGadHle9GRtqnDel0kdXOudn?= =?us-ascii?Q?vfQdJE+VJZO6jBkEiZ4GDkPbkoPvi13JH7kXa98th04E4EoySiBwlZ7Sw1lQ?= =?us-ascii?Q?f/HGSlCu9QKDeTNkRVjq1Xd0kp2mVogRJiLdynKvBYTmMItvkVerM1ax2qtq?= =?us-ascii?Q?Y5NiOCHhTmyIK7Zbj/5cmN8RbBy8dJS+C/80EKJkTpU7D4l6hxIzhRY2a1nl?= =?us-ascii?Q?jqc6VB7W126USB6xVsBptWfcSz8Mqwg6HYZREY65Cz/13/wcOm7fKuquYuVp?= =?us-ascii?Q?JHrpyPkZIiBlE0nIK2N9DWyNryVnO6T7y4nh3t0Z6Ll47PgK9bcSbsWX5hNv?= =?us-ascii?Q?HUpC5QPiPxPZHHM5DDWkdiOyAvpSU+h1qtPJDktM5K9ewd71hYGc6IvmRIoC?= =?us-ascii?Q?IcJx+Tg9sIZlbvWUI4FVsxQGr8Vm/6Cz062NCy8WlDqHlzob5s6Bax2Y+mdQ?= =?us-ascii?Q?e5w28ZVh7lUGPZt85n4UV75CH+2vrLaMQugg7SDUBeYZqhgtx7sRzhi+wtoQ?= =?us-ascii?Q?8I6HW/6d8UMGxwB8Eu7ySzrN4LMNyul0eXopkHPr3Wpl0JlD1kRhWZyml2vz?= =?us-ascii?Q?4vhoQyP/X2auTuFLD1c=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ1PR12MB6194.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34088f16-4c54-4b6e-22ff-08daccbe6828 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2022 19:18:58.9347 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Nv+W6+wuD51o/ttMEakto8q99/EfpvfHUW9uXW7Of8g2dUmKEXccO2K4DUAu4riB X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5333 Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/av1_vaapi: add direct film grain mode 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --_000_SJ1PR12MB61947C7DFBBB9BB4FA5F2F27950D9SJ1PR12MB6194namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Mark, Sorry for being late to reply to you. Your understanding is correct, and I have sent a new patch [v4] for address= ing the current issue and to use driver quirk mechanism to specify only AMD VAAPI driver has this behavior, = then this could be more specific. For AMD hardware, it allocates GPU memory internally for the DPB management= , the output is always the final one with or without applied film-grain. Thanks for your comments and insights! Ruijing -----Original Message----- From: ffmpeg-devel On Behalf Of Mark Thom= pson Sent: Sunday, November 20, 2022 11:44 AM To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/av1_vaapi: add direct film g= rain mode On 20/11/2022 02:59, Ruijing Dong wrote: > Adding direct film grain mode for av1 decoder, which outputs alongside > film grain. > > AV_HWACCEL_FLAG_DIRECT_FILM_GRAIN is the new flag introduced to enable > this path. > > issue: > By using AMD av1 decoder via VAAPI, when used with film grain content, > the output displays black screen with incorrect frame order. > > The issue being discussed in here: > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgitl > ab.freedesktop.org%2Fmesa%2Fmesa%2F-%2Fissues%2F6903%23note_1613807&am > p;data=3D05%7C01%7Cruijing.dong%40amd.com%7C6f75be6a4f8044fe037d08dacb16 > 8529%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638045595864762041%7 > CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1 > haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DMs7PCNEjOs09JVQd2KB46St5 > w3V8Idbc2shZC80VefI%3D&reserved=3D0 > > example: > This flag can be used in ffmpeg command: > > ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 > -hwaccel_flags 8 > -i input_with_film_gram.obu > output_with_film_grain.yuv > > Signed-off-by: Ruijing Dong > --- > update: add new option direct_film_grain in optons_table.h > > libavcodec/avcodec.h | 17 +++++++++++++++++ > libavcodec/options_table.h | 1 + > libavcodec/vaapi_av1.c | 6 ++++-- > 3 files changed, 22 insertions(+), 2 deletions(-) My understanding of this is as follows, please correct me if any of this is= wrong: * For AV1 with film grain enabled, VAAPI decode is specified with two outpu= t surfaces: one for pre-grain (reference) output and one for post-grain (di= splay) output. * The current driver in Mesa always writes to the pre-grain surface and ign= ores the post-grain surface entirely. * To fix this, you intend to modify the VAAPI code in libavcodec to allow t= he user to manually override the expected VAAPI behaviour and instead assum= e that the post-grain output has been written to the pre-grain surface. Is that right? [rdong]: If it is, could you perhaps explain why this manual option is preferable to= the more obvious solution of Mesa being fixed to write the post-grain outp= ut to the post-grain surface? Thanks, - Mark > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index > 3edd8e2636..9420e7820d 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -2253,6 +2253,23 @@ typedef struct AVHWAccel { > */ > #define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2) > > +/** > + * The film grain synthesis could be seperate from decoding process. > + * The downstream device would apply the film grain parameters seperatel= y. > + * The desired film grain parameters can be found in SEI section in > +H264 > + * or H265 bitstreams. > + * > + * In AV1, film grain is mandatorily specified, av1 decoders like AMD > + * av1 decoder process film grain content internally, and the output > + * includes applied film grain. For the purpose of supporting these > +av1 > + * decoders, this flag needs to be utilized. > + * > + * @warning If the stream has no film grain content, this flag will > + * be ignored in the supported av1 decoders. It is advised > + * that this flag should only be used in av1 decoders > + * that support it. > + */ > +#define AV_HWACCEL_FLAG_DIRECT_FILM_GRAIN (1 << 3) > /** > * @} > */ > diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h > index cd02f5096f..0302f89280 100644 > --- a/libavcodec/options_table.h > +++ b/libavcodec/options_table.h > @@ -399,6 +399,7 @@ static const AVOption avcodec_options[] =3D { > {"ignore_level", "ignore level even if the codec level used is unknown = or higher than the maximum supported level reported by the hardware driver"= , 0, AV_OPT_TYPE_CONST, { .i64 =3D AV_HWACCEL_FLAG_IGNORE_LEVEL }, INT_MIN,= INT_MAX, V | D, "hwaccel_flags" }, > {"allow_high_depth", "allow to output YUV pixel formats with a differen= t chroma sampling than 4:2:0 and/or other than 8 bits per component", 0, AV= _OPT_TYPE_CONST, {.i64 =3D AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH }, INT_MIN, INT= _MAX, V | D, "hwaccel_flags"}, > {"allow_profile_mismatch", "attempt to decode anyway if HW > accelerated decoder's supported profiles do not exactly match the > stream", 0, AV_OPT_TYPE_CONST, {.i64 =3D > AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH }, INT_MIN, INT_MAX, V | D, > "hwaccel_flags"}, > +{"direct_film_grain", "allow decoder to directly apply film grain to > +the output", 0, AV_OPT_TYPE_CONST, {.i64 =3D > +AV_HWACCEL_FLAG_DIRECT_FILM_GRAIN }, INT_MIN, INT_MAX, V | D, > +"hwaccel_flags"}, > {"extra_hw_frames", "Number of extra hardware frames to allocate for th= e user", OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 =3D -1 }, -1, INT= _MAX, V|D }, > {"discard_damaged_percentage", "Percentage of damaged samples to discar= d a frame", OFFSET(discard_damaged_percentage), AV_OPT_TYPE_INT, {.i64 =3D = 95 }, 0, 100, V|D }, > {NULL}, > diff --git a/libavcodec/vaapi_av1.c b/libavcodec/vaapi_av1.c index > d0339b2705..6db910f2bf 100644 > --- a/libavcodec/vaapi_av1.c > +++ b/libavcodec/vaapi_av1.c > @@ -127,6 +127,7 @@ static int vaapi_av1_start_frame(AVCodecContext *avct= x, > int8_t bit_depth_idx; > int err =3D 0; > int apply_grain =3D !(avctx->export_side_data & > AV_CODEC_EXPORT_DATA_FILM_GRAIN) && film_grain->apply_grain; > + int direct_film_grain =3D avctx->hwaccel_flags & > + AV_HWACCEL_FLAG_DIRECT_FILM_GRAIN; > uint8_t remap_lr_type[4] =3D {AV1_RESTORE_NONE, AV1_RESTORE_SWITCHA= BLE, AV1_RESTORE_WIENER, AV1_RESTORE_SGRPROJ}; > uint8_t segmentation_feature_signed[AV1_SEG_LVL_MAX] =3D {1, 1, 1, = 1, 1, 0, 0, 0}; > uint8_t segmentation_feature_max[AV1_SEG_LVL_MAX] =3D {255, > AV1_MAX_LOOP_FILTER, @@ -136,7 +137,7 @@ static int vaapi_av1_start_frame= (AVCodecContext *avctx, > if (bit_depth_idx < 0) > goto fail; > > - if (apply_grain) { > + if (apply_grain && !direct_film_grain) { > if (ctx->tmp_frame->buf[0]) > ff_thread_release_buffer(avctx, ctx->tmp_frame); > err =3D ff_thread_get_buffer(avctx, ctx->tmp_frame, > AV_GET_BUFFER_FLAG_REF); @@ -375,6 +376,7 @@ static int vaapi_av1_end_fra= me(AVCodecContext *avctx) > VAAPIAV1DecContext *ctx =3D avctx->internal->hwaccel_priv_data; > > int apply_grain =3D !(avctx->export_side_data & > AV_CODEC_EXPORT_DATA_FILM_GRAIN) && film_grain->apply_grain; > + int direct_film_grain =3D avctx->hwaccel_flags & > + AV_HWACCEL_FLAG_DIRECT_FILM_GRAIN; > int ret; > ret =3D ff_vaapi_decode_issue(avctx, pic); > if (ret < 0) > @@ -385,7 +387,7 @@ static int vaapi_av1_end_frame(AVCodecContext *avctx) > if (ctx->ref_tab[i].frame->buf[0]) > ff_thread_release_buffer(avctx, > ctx->ref_tab[i].frame); > > - if (apply_grain) { > + if (apply_grain && !direct_film_grain) { > ret =3D av_frame_ref(ctx->ref_tab[i].frame, ctx->tmp_fr= ame); > if (ret < 0) > return ret; > -- > 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fffmpeg.= org%2Fmailman%2Flistinfo%2Fffmpeg-devel&data=3D05%7C01%7Cruijing.dong%4= 0amd.com%7C6f75be6a4f8044fe037d08dacb168529%7C3dd8961fe4884e608e11a82d994e1= 83d%7C0%7C0%7C638045595864762041%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMD= AiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata= =3Dp3ypzkjWCGCqBPCsHLm4rGHI1%2BwwxY0pyK1l8IQkaWs%3D&reserved=3D0 To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org = with subject "unsubscribe". --_000_SJ1PR12MB61947C7DFBBB9BB4FA5F2F27950D9SJ1PR12MB6194namp_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+Il8OAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAAEQ1QjZFM0I1 MjUxNTIyNDJBRTI3QTQwM0Y2MTBDNDg2AAAHAQ2ABAACAAAAAgACAAEFgAMADgAAAOYHCwAWABMA EgA6AAIAbwEBIIADAA4AAADmBwsAFgATABIAOgACAG8BAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABAEwAAABSRTogW0ZGbXBlZy1kZXZlbF0gW1BBVENIIHYyXSBhdmNvZGVj L2F2MV92YWFwaTogYWRkIGRpcmVjdCBmaWxtIGdyYWluIG1vZGUAoxkBA5AGADhPAABrAAAAAgF/ AAEAAABRAAAAPFNKMVBSMTJNQjYxOTQ3QzdERkJCQjlCQjRGQTVGMkYyNzk1MEQ5QFNKMVBSMTJN QjYxOTQubmFtcHJkMTIucHJvZC5vdXRsb29rLmNvbT4AAAAACwAfDgAAAAACAQkQAQAAANMSAADP EgAAiCYAAExaRnX7M2W9YQAKZmJpZAQAAGNjwHBnMTI1MgD+A0PwdGV4dAH3AqQD4wIABGNoCsBz ZXQwIO8HbQKDAFARTTIKgAa0AoCWfQqACMg7CWIxOQ7AvwnDFnIKMhZxAoAVYioJsHMJ8ASQYXQF sg5QA2Bzom8BgCBFeBHBbhgwXQZSdgSQF7YCEHIAwHR9CFBuGjEQIAXABaAbZGSaIANSIBAiF7Jc dgiQ5HdrC4BkNR1TBPAHQA0XcDAKcRfyYmttawZzAZAAICBCTV9C4EVHSU59CvwB8QvwADIgW0FN RCBPZwEgDlAHMSBVEgAh4G5AbHkgLSBHGENsaF1cbAuAZQqBI8RIpmkF0ArAaywjvFMFsEZyIvAa 4SBiZQuAZ84gC2AQIBzAbyAJcAtQqyLwJ0F5CGAuI7xZCGH8IHUdwASQH2EdwCayBABHG9EmEAWQ dCwgKeEg7EkgEdAaMCASAAIwKwBuIBhQB+AKsHQRwCGQdsQ0XSZDYWRkCXAEEOkmsnRoGeBjCHAJ cCvh7wQBClArAydBdRIAI7UtgEJpGjEgcXVpJOAgnweAGZIEAByxJ1BzcAWQHwaQIvACICLhIbJW QUH+UCtQMEUR0AQgLhAqUSaQ/StxaQWwKvAuEQOgNAMFoPx1bBxgJpAxAAWwK6Ex8zsOUCg9RgWx IbIR0WR31QrAZSrwaSvxbAkAHlDjECAEIEdQVTEBNiEi8DsLgBuhbjkxJjQuEkRQ9kIxAABwYRgw B4ACMDTT8TJQdXRwPQAqQgdAOKD+eTPiGeAiEDrRMlEZ4APwvy4QMlAFwD7iPPErAHALUOcIkBxh AxBtLQnAC3EoPb5UGaEfUCZDKAEbwm08Uk89cSshC4AAkGdoQ1AhtSO8UjDAaiaxI7wtRoLqTwUQ Zz5TTS2hPCFGgzs3dgNhOhxwBFAx8Gct1wEAGjADIDxI+i0G4ClwKmMHkEBI9C4FsGc+5yKxH7A0 YWxmIeEksxJAfz+QSRAZIAuQJZUr0UjQU+cpcT3AKvBObxowBtAbsQ8B0CrwAdAhcTExOjR2NDKh QYZvSNxLGSWGdUxiairBSNBSZUjQWwxGRkkYLQBbUEFU4ENIIHYyLQArgAWghQWBLyuAMV92YT/g fmlI0C1hM0Aw0CrBQFMgv0CzNhEBACO8S+EB0C9P8MYvT6NPsDo1OSrwRTW3O6ACICbQdwNgECA6 I7X9S8BBLXAmslbvV/MtFFYA7zNABZEEgSrwdzQQLKE89H89clsBAJBYJ0vAV1goNj4BW6hWX0hX QUNDAEVMX0ZMQUdfQERJUkVDVGOASeJMH9BHUkEgICpCLhI9LDJmC2AqMQIwA2Bkdf9K4C9TCfAB oB5wW6c0Ayxx7mhhzy7EW5hCIvAvoCay/yGyXllVIAcwMuRfAjURL6H/HGA+41dZG+EQIDxxZ0k8 1/8N4QtRPdECYADQMPAE8Qnh7z7UC4AqhRxxYQeAPyEEgf9ob0zxGeAu1CaUDeEuUAQQfxxRV9Eu IAlwW5hEED0Qc6g6Ly860G1P8C5HkM5mSZALgB9QLnBbUirQjzSgQPA88QkAb2suQvEkLz8IcGw9 duMlM/BBJTJGeqFHAHkwW6edAaAuA1AJ4AEAc2sYkK5wS4J6oQeBYXz4LXqhhy7TemB6sDY5MDN6 oAQzblthXzE2MTMwODA3JnKAW6dwOwNOgAGQPTA1JTdDlDAxgVFyRUQuZFsBaCU0MHKAZHmCgVE2 CGY3NSaQNmE0Zq9/0FAgd+B+8DcJkDhOgKxjYn+QW6c4DrA5gVEyMy1wODl/oHfgNDgcODSDsISg F3AxYTiQMmQ5OYbgMTiGIEuBUoglNn/BNDVaMDWgODY0NzYB0DSBkZlbp0NVQiB/QHdugVEAVFdG cGJHWnMGYoYghyB5SldJagBvaU1DNHdMagRBdyHAQWlMQ0oSUYxSVjIKQE16SYWNQkIHYEk2SWsA UBl2Z2FXA/CNUVhWQ+2OsE0KAHpwRIXyHqCIUheRNIABgMBzgONNczcAUENORWpPczAAOUpWUWQy S0IwNDZTdB3gW7Z3MwBWOElkYmMyc6hoWkN/0FYBEEmQkfeRwy2RGhJkgSBzLxAwkdH/HnBbmEHw KlFlsx5QA6A18f9tA1fRSPRC4ynhW5dgmJqU9C1oOKBjSuADIFYzIwDdVjNfSWEOUBngL0lhnsCt BRAvLoEEgUQOkDhbp7ugdZz2X2WyBCCf7y0koLsLgD0hXz7ioXBAcV9AsfptS4BiDHCgDTz0o3xA 4Wh5dXabf1ND8BhQZGotGTBmSpB5U3Faijw9gdpAgsViSEf4S8B1cP+A4VOhVqIsMnyQeMJclaZZ Z3XCrcECIHNfAZEecC7uaKdPoHAjwGJVeFWTsEDFoHV8T+A3ICuznrDv/1WjrcSv17MxT+CzgLSv VaPPnfRV8XmAsvUgNrODrBndoHAzQFIHkRmUZE+BIYDHQ8EbgbYyKCspT4FegdMecLy0LSkjvE1q gSmL/xkwM/Q9YkJCOUEeMCrwmCH/M9AuMXH1cpEGkCsBMkHAOE9bQRnAW5YjtSogN+NW/15wbV5m 5LwBMvVeoypCNnU5bSZ0dydQPPUu8HJm/wDQB5BI0D6iJlJ4YEfAV6TeKAlwd+AugUrgKTzmKxL7 yocZEHTLNnAVzEYoNsUQ/3QyLlYwRVfRR2EsED2VW0D/OQAHkSdBLhLLCMnlQ3SocP82MT3kzZnT hivRXLEi4M9J+ydQIhB4M/Mq8CgBOnMvRP8EYTIiLhIy9MfEA6CxmCcyfzkyB+AuEi+hO1HY4QBw df86407hJhBgYS4DEDAx8RxC/zL0NFUpQUOFECAtYMDBLvD/cpEuEBiA1L489TPCJpBxQt/SEW6B 0m/J1ig9STPi4NHbRuFEED8jvCO1WwsgWwH6XcQtSUxgOQHX4jWU2CL9MfByEdBNQN3iC2JfEdlS /ypR3JSttmfyy7NnAuNmNiP/pHDfIsghBvA9AK3ywCHRQ/8mlNeBZoTSA+D/PQTjdtUf/+a9QfQl DSMQJMLmz1vU2SFvTGBGgHsBKwAvsZ+yomLf+W+ykx2xEDBbpzMJgIvxYjKI0DYuLoewAdBlujeH cDAcYB6RiXA0q3o/+U+ydFuns5H6vwC9QEDjIwBZ0DUzLLnxBBN/IPkDwnR5MfAPQSuwZiBmYG8r 8GLgYxGdM1wQYKAJKjovofkjD0Ej0WLfQUyATE9XX1BST2RRQEVfTUlTTVTjKDlecDw8T1C+JmJI Ky8+KhgQAScHoHQjV1lzef8QoC4gYFA1eRIA6rEnAhyD/16TJrJ4YUrheEANT4JQiwD/BcHBsBDy nnPJQDWyP+LZVP9XWSBhcoEbocghEEXWmBKZ/w9RfBBARBWfmYYtIClxdcJ8U0UrUCKQeLM6cQEY SN/9cP7YDdItMRzRNSaAOQD3E3QSDBdrSZmwxXEq8FdZ/+wUgOEtMLtQMpDIRyrxXmj7X+DooGsI 4TLAF2trShGl/22fLqI6lyr0PLgXa3HB72D/fEE/22FlxSPjo3ngzZE80X8FoazAzZC8ob/xDzJg iCv/a0EXayO2NNKZFmVwlpDSU3eZ0njA6KB6lpAfDw2HQP04oW6/4ulx3bITdeJi1GD/Js88dJkW bVA5QBdrOPcQAX/URHWzNPMthJohI3osIEn/6bJWkWwAbRE4P6Bz4LWZFv+VEBRjrgDc8ZnZI3o9 Dz4Y7y116ZEXWwfIKwiPY39khn0LdDML56BxDRoHggPAXP59Bv/4T/+7tg4B67YNaPjH/ELB8ISQ MmY1kxCDYN/9sH7wUSGGUJ/QMP5//47fTy8BP1QPT8wD0jOHoARS/1jCs3AD0b+RMiC5YCeB3+At xWFPrdQCNV+2BVtdrCA9BswG0CLURF+YMPndMGwiKKBdVdqAXeJm0P/dMK8xNNTa5F7UmgQq4L9A f4rTHdKZAOaA3DK7se4kYfh4aW3gcDqpXtR8EDrl/6kA3aPiYHLQNEEYUdCzXiEmMCigRdFPUEcg VFmCUArAQ09OU1QooHEG0CAuaYlwXDFF3kmoR05PRvBfCrBWRlC9BsB9KKBHwEcgCuBOanVsQVjH IbbxRF4xoQsid2pCXIzbc19h4p5BrdBo514i23XJV1lVa7CdsPDQ/+yQzVGbIB6AyNTRcEvSy+L/ +TC7oBDR0XB3wJgRLeSZofA0OjI6UlC/sU1A32D7f1BiFzgeU+qimuLNkK2AX9BwZl9naGgfCapI aYBI/UbARXdQC1BqX2tvbHhtL+duNBGhu0JfbTzAcUG7oP9vM+MhlgDy48elwuHRscKiv0YAofed IxBj1CAjtSfIIf86x38VKuCqoDXR+TCX4QYA/9zxf8PdoqH3E3R2v3fOoff/eN8KHwsjeu97+aH3 fL99yP+3UF1Arj9vOCXWgNKuQ9zx/xS0GPnuAFVoKQiHz4jfVXf/Rd9G74zfje9Vwo8vfc38YP0T gGFugG5wEMAZ0WzwXjH+TuBw3uB0oUwAn6NlWKA0f9s2GlAQkixV3BJeIQqARvkbUFQon629IZba m4Fnyp4ttzCbQqfAm/p8RG0f/ZEBcxpQ6CBu0BnQMSA84L9/ACgwJoDQcKsBXiJQq2f/wBKq1XME 0kSqVXHRoDOkWO+qX6tnpe94GjkeQJtClqHnUnGo710DTlWLcKlKS99J+yV2YRSwaV8jcS5fWhAB 67f6/DxREDNYwGIQMjcwNf2wNmRi4jlScGYyYragUn//nd+3+VVvvg+/GgPSMbuABFLXwmJZeigB ILf3X1nBQ4D1oCQoINBD+dLFkCgRn7BzB6ACMXR4fco5EigBOJdXcB5SbtRf3XB4O8bf94Wh0ECn kTDJD9BxFLORxMmnkSEoxnMtPt3xQ3HPxKDdcbBBVPAgJonaZ3DBeoBDX0VYUGmwRyCqRAsgQUc5 Kc5gJjYD/5HEzUDL+cq4AcDJ1ZEfp5F/zPVsO85pAcCZL5o+yr5118fF7WAiAHBdwHJXcAVR7Fs0 XCQg0V9G8GegabIZaaBORZay3EhTV0m5CzFBQmnw3SzeEEXdAO5S3S1HkIvBSkpA2V/HxX0tEGev EKuhW8KRcBOgdN8s0F2wGJBecDzgW9wiG1D5ebBMVtfQe/FcJCDx5er/lqHm0uE/4k/jW2Lh5I9c M70EoDV9yNwie/Fp4E+XAH1HMlTfwsIj/ZBZYcLAM7/C/8QPxR/GL8c4tqAoyDvvC5CWkEhqORZn dMA18Rlg/mzKt7z480bL+dEABtnTZPv4LNESIdP/+Qv1aPOCzRMOdK2woCTNQGJ1Zlv8MF303zkV ciBXcHKwE6D/sDDa0H9gNbBdsP8hcjHM5PsooP4sKcq+ORLKRAEIrLA/kWACL/5Z6/pHgKTAX0Le VaSQ38DX5EbwRgPgWHT2N+vgWQI37kLu//AFcmAPsDDw3/Ho/45WQUFQ+kkg0UTxifJR1QgoBtWI /yZQZhDOE/avy0/MX81vzn//z4/Qn9Gv0r/Tz9Tf1e/W/+/YD9kfydXa0HQiziQBBWT3t/QwFMjA c0MwDXAG5XCwvmMD7/oiJTL0q1iDOArA/+5hKjDuvwxPDV8ObwAd/eeH2tABEU3gW2ldLv6//y6/ AJ8Br/JbMD8DrPc8L3r/+F8cajkf+r/7zzI/BLYlNPe4UKAkNFFmMC8H5AL/Pr//L1wo70b/JObp 8F9gJAu2wElGdzIu68AuMUZ1X39LL0w/TQpGdXIgrbDo8C3/buBe8trwhQBzYnNQWmBOH1VfAEBO hC6joGdGdWhBgGBwczovLxJAbR4xuHBzEHIwc1Frcy5/fxFksB2gWuFRsJYgb5BvJmu4gHYwLz/p 8Gw9gVJjJTNBJTJGViHvUVhWIU9S2vBuViFP0hXwV6OQVldO5CatoTsXkj1Bu6AlN0MwMVohcjXa UGpzYS6FUHNwJTSaMIegZFUCWiE2ZgqwgaEANmE0ZjgwvNArcjC7MDe7IDiwUGNiJDE2KkAyOVoh M2QgZDg5NjFyMDQ4LDg0XIBdcGVTEGE4kDJkOTlfIDE4XmB7WiJgZTYqMFzg69CzQDjbp3ALIDJc 4FpiVVOghYAGd1ewWjBUV0ZwYjBHWnNiXmBfYHlKAd+Aam9pTUM0dyBMakF3TRmAaUwIQ0pRZAJW Mmx1CE16SWTyQlRpSdA2SWsxodBXcZBlASZYLTBmYE1uYJAzRF9eMrygYJJoVFljc1mzcAIz23B6 a2pXQ0cAQ3FCUENzSEwobTRyelBJWmAyQgB3d3hZMHB5S8AxbDhJUWtmwFXh3kRZY9rQpCFPEGRZ 8EZ1pUZ1VIVgdW6EIGKv8PcTIKEAQuB2f6C28VOCdED8Ym9PEELgdJHa4YUAM7F1Tqgt2tBxJsBP 8FFJIOdm4PQwhBFiapFBoLBumWQiLkZ1fX31MHVwAB8AQgABAAAAHAAAAEQAbwBuAGcALAAgAFIA dQBpAGoAaQBuAGcAAAAfAGUAAQAAACoAAABSAHUAaQBqAGkAbgBnAC4ARABvAG4AZwBAAGEAbQBk AC4AYwBvAG0AAAAAAB8AZAABAAAACgAAAFMATQBUAFAAAAAAAAIBQQABAAAAaAAAAAAAAACBKx+k vqMQGZ1uAN0BD1QCAAAAgEQAbwBuAGcALAAgAFIAdQBpAGoAaQBuAGcAAABTAE0AVABQAAAAUgB1 AGkAagBpAG4AZwAuAEQAbwBuAGcAQABhAG0AZAAuAGMAbwBtAAAAHwACXQEAAAAqAAAAUgB1AGkA agBpAG4AZwAuAEQAbwBuAGcAQABhAG0AZAAuAGMAbwBtAAAAAAAfAOVfAQAAADIAAABzAGkAcAA6 AHIAdQBpAGoAaQBuAGcALgBkAG8AbgBnAEAAYQBtAGQALgBjAG8AbQAAAAAAHwAaDAEAAAAcAAAA RABvAG4AZwAsACAAUgB1AGkAagBpAG4AZwAAAB8AHwwBAAAAKgAAAFIAdQBpAGoAaQBuAGcALgBE AG8AbgBnAEAAYQBtAGQALgBjAG8AbQAAAAAAHwAeDAEAAAAKAAAAUwBNAFQAUAAAAAAAAgEZDAEA AABoAAAAAAAAAIErH6S+oxAZnW4A3QEPVAIAAACARABvAG4AZwAsACAAUgB1AGkAagBpAG4AZwAA AFMATQBUAFAAAABSAHUAaQBqAGkAbgBnAC4ARABvAG4AZwBAAGEAbQBkAC4AYwBvAG0AAAAfAAFd AQAAACoAAABSAHUAaQBqAGkAbgBnAC4ARABvAG4AZwBAAGEAbQBkAC4AYwBvAG0AAAAAAAsAQDoB AAAAHwAaAAEAAAASAAAASQBQAE0ALgBOAG8AdABlAAAAAAADAPE/CQQAAAsAQDoBAAAAAwD9P+QE AAACAQswAQAAABAAAADVtuO1JRUiQq4npAP2EMSGAwAXAAEAAABAADkAAL0dRaf+2AFAAAgwJJqn Raf+2AEfADcAAQAAAJgAAABSAEUAOgAgAFsARgBGAG0AcABlAGcALQBkAGUAdgBlAGwAXQAgAFsA UABBAFQAQwBIACAAdgAyAF0AIABhAHYAYwBvAGQAZQBjAC8AYQB2ADEAXwB2AGEAYQBwAGkAOgAg AGEAZABkACAAZABpAHIAZQBjAHQAIABmAGkAbABtACAAZwByAGEAaQBuACAAbQBvAGQAZQAAAB8A PQABAAAACgAAAFIARQA6ACAAAAAAAAMA3j+fTgAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwAp AAAAAAALACsAAAAAAAMALgAAAAAAAwA2AAAAAAAfAHAAAQAAAJAAAABbAEYARgBtAHAAZQBnAC0A ZABlAHYAZQBsAF0AIABbAFAAQQBUAEMASAAgAHYAMgBdACAAYQB2AGMAbwBkAGUAYwAvAGEAdgAx AF8AdgBhAGEAcABpADoAIABhAGQAZAAgAGQAaQByAGUAYwB0ACAAZgBpAGwAbQAgAGcAcgBhAGkA bgAgAG0AbwBkAGUAAAACAXEAAQAAACAAAAABAdj8jC/SJN46zh+dRZqqymhaaspKrkgFgwCAA05g 4AsABgwAAAAAHwA1EAEAAACiAAAAPABTAEoAMQBQAFIAMQAyAE0AQgA2ADEAOQA0ADcAQwA3AEQA RgBCAEIAQgA5AEIAQgA0AEYAQQA1AEYAMgBGADIANwA5ADUAMABEADkAQABTAEoAMQBQAFIAMQAy AE0AQgA2ADEAOQA0AC4AbgBhAG0AcAByAGQAMQAyAC4AcAByAG8AZAAuAG8AdQB0AGwAbwBvAGsA LgBjAG8AbQA+AAAAAAAfADkQAQAAABoBAAA8ADIAMAAyADIAMQAxADEAOAAxADUAMwA0ADIAMgAu ADYANwA2ADMAMgAtADEALQByAHUAaQBqAGkAbgBnAC4AZABvAG4AZwBAAGEAbQBkAC4AYwBvAG0A PgAgADwAMgAwADIAMgAxADEAMgAwADAAMgA1ADkAMQA0AC4AMwA5ADcAMwAyAC0AMQAtAHIAdQBp AGoAaQBuAGcALgBkAG8AbgBnAEAAYQBtAGQALgBjAG8AbQA+ACAAPAA0ADcANwA2AGEAYwBlAGMA LQAzADUANwBiAC0ANQBjADMANgAtADEAMgA5ADIALQA3AGUANQAyADAANABjADQANwA1ADkAZgBA AGoAawBxAHgAegAuAG4AZQB0AD4AAAAAAB8AQhABAAAAYgAAADwANAA3ADcANgBhAGMAZQBjAC0A MwA1ADcAYgAtADUAYwAzADYALQAxADIAOQAyAC0ANwBlADUAMgAwADQAYwA0ADcANQA5AGYAQABq AGsAcQB4AHoALgBuAGUAdAA+AAAAAAADAIAQ/////wMAExIAAAAAQAAHMJfDj0Wn/tgBAgEQMAEA AABGAAAAAAAAAMRWCBtky2ZDm+1d5Ky7EFIHAJa7sUrq9JlCocHj7yuyDHkAAACahIkAABcRvBaf prFJvspffO+tV68ABEkVJq8AAAAAAgETMAEAAAAQAAAA0iTeOs4fnUWaqspoWmrKSgIBFDABAAAA DAAAAD8DAAAXzjb4SAAAAAMAWzMBAAAAAwBaNgAAAAADAGg2DQAAAAsA+jYBAAAAHwDZPwEAAAAA AgAASABpACAATQBhAHIAawAsAA0ACgANAAoAUwBvAHIAcgB5ACAAZgBvAHIAIABiAGUAaQBuAGcA IABsAGEAdABlACAAdABvACAAcgBlAHAAbAB5ACAAdABvACAAeQBvAHUALgANAAoADQAKAFkAbwB1 AHIAIAB1AG4AZABlAHIAcwB0AGEAbgBkAGkAbgBnACAAaQBzACAAYwBvAHIAcgBlAGMAdAAsACAA YQBuAGQAIABJACAAaABhAHYAZQAgAHMAZQBuAHQAIABhACAAbgBlAHcAIABwAGEAdABjAGgAIABb AHYANABdACAAZgBvAHIAIABhAGQAZAByAGUAcwBzAGkAbgBnACAAdABoAGUAIABjAHUAcgByAGUA bgB0ACAAaQBzAHMAdQBlACAAYQBuAGQAIAB0AG8AIAB1AHMAZQANAAoAZAByAGkAdgBlAHIAIABx AHUAaQByAGsAIABtAGUAYwBoAGEAbgBpAHMAbQAgAHQAbwAgAHMAcABlAGMAaQBmAHkAIABvAG4A bAB5ACAAQQBNAEQAIABWAEEAQQBQAEkAIABkAHIAaQB2AGUAcgAgAGgAYQBzACAAdABoAGkAcwAg AGIAZQBoAGEAdgBpAG8AcgAsACAAdABoAGUAbgAgAHQAaABpAHMAIABjAG8AdQBsAGQAIABiAGUA AAAfAPg/AQAAABwAAABEAG8AbgBnACwAIABSAHUAaQBqAGkAbgBnAAAAHwD6PwEAAAAcAAAARABv AG4AZwAsACAAUgB1AGkAagBpAG4AZwAAAB8AIkABAAAABgAAAEUAWAAAAAAAHwAjQAEAAAACAQAA LwBPAD0ARQBYAEMASABBAE4ARwBFAEwAQQBCAFMALwBPAFUAPQBFAFgAQwBIAEEATgBHAEUAIABB AEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBEAEkAQgBPAEgA RgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8AQwBOAD0ANgA4 ADYANABDAEIAMgA3AEQAMgA4ADAANABEAEQAOQA4ADkANQAyADcAMgAxADYARAA5ADQANAA1ADYA MABEAC0ARABPAE4ARwAsACAAUgBVAEkASgBJAAAAAAAfACRAAQAAAAYAAABFAFgAAAAAAB8AJUAB AAAAAgEAAC8ATwA9AEUAWABDAEgAQQBOAEcARQBMAEEAQgBTAC8ATwBVAD0ARQBYAEMASABBAE4A RwBFACAAQQBEAE0ASQBOAEkAUwBUAFIAQQBUAEkAVgBFACAARwBSAE8AVQBQACAAKABGAFkARABJ AEIATwBIAEYAMgAzAFMAUABEAEwAVAApAC8AQwBOAD0AUgBFAEMASQBQAEkARQBOAFQAUwAvAEMA TgA9ADYAOAA2ADQAQwBCADIANwBEADIAOAAwADQARABEADkAOAA5ADUAMgA3ADIAMQA2AEQAOQA0 ADQANQA2ADAARAAtAEQATwBOAEcALAAgAFIAVQBJAEoASQAAAAAAHwAwQAEAAAAcAAAARABvAG4A ZwAsACAAUgB1AGkAagBpAG4AZwAAAB8AMUABAAAAHAAAAEQAbwBuAGcALAAgAFIAdQBpAGoAaQBu AGcAAAAfADhAAQAAABwAAABEAG8AbgBnACwAIABSAHUAaQBqAGkAbgBnAAAAHwA5QAEAAAAcAAAA RABvAG4AZwAsACAAUgB1AGkAagBpAG4AZwAAAAMAWUAAAAAAAwBaQAAAAAADADdQAQAAAAMACVkB AAAAHwAKXQEAAAAqAAAAUgB1AGkAagBpAG4AZwAuAEQAbwBuAGcAQABhAG0AZAAuAGMAbwBtAAAA AAAfAAtdAQAAACoAAABSAHUAaQBqAGkAbgBnAC4ARABvAG4AZwBAAGEAbQBkAC4AYwBvAG0AAAAA AAIBFV0BAAAAEgAAAAIfltg9iORgTo4RqC2ZThg9AQAAAgEWXQEAAAASAAAAAh+W2D2I5GBOjhGo LZlOGD0BAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAUhQAAAAAAAAMAAIAIIAYAAAAAAMAAAAAA AABGAAAAABCFAAAAAAAACwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAA4UAAAAAAAADAACACCAGAAAA AADAAAAAAAAARgAAAAABhQAAAAAAAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAaFAAAAAAAAAwAA gAggBgAAAAAAwAAAAAAAAEYBAAAAMgAAAEUAeABjAGgAYQBuAGcAZQBBAHAAcABsAGkAYwBhAHQA aQBvAG4ARgBsAGEAZwBzAAAAAAAgAAAAHwAAgBOP8kH0gxRBpYTu21prC/8BAAAAFgAAAEMAbABp AGUAbgB0AEkAbgBmAG8AAAAAAAEAAAAqAAAAQwBsAGkAZQBuAHQAPQBNAFMARQB4AGMAaABhAG4A ZwBlAFIAUABDAAAAAAACAQCAE4/yQfSDFEGlhO7bWmsL/wEAAAAuAAAASABlAGEAZABlAHIAQgBv AGQAeQBGAHIAYQBnAG0AZQBuAHQATABpAHMAdAAAAAAAAQAAAEoAAAABAAoAAAAEAAAAAgAAABQA AAAAAAAAAAAAAN4BAAAAAAAAFAAAAAAAAADoAgAA6gIAAAAAAAAUAAAAAAAAABQDAAD/////AAAA AAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAKAAAAEkAcwBRAHUAbwB0AGUAZABUAGUAeAB0AEMA aABhAG4AZwBlAGQAAAABAAAAAgEAgBOP8kH0gxRBpYTu21prC/8BAAAAQAAAAEMAbwBuAHYAZQBy AHMAYQB0AGkAbwBuAFQAcgBlAGUAUABhAHIAZQBuAHQAUgBlAGMAbwByAGQASwBlAHkAAAABAAAA LgAAAAAAAADEVggbZMtmQ5vtXeSsuxBSAQAXEbwWn6axSb7KX3zvrVevAAYMIk3lAAAAAB8AAIAf pOszqHouQr57eeGpjlSzAQAAADgAAABDAG8AbgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgA VAByAGEAYwBrAGkAbgBnAEUAeAAAAAEAAAD0AQAASQBJAD0AWwBDAEkARAA9ADMAYQBkAGUAMgA0 AGQAMgAtADEAZgBjAGUALQA0ADUAOQBkAC0AOQBhAGEAYQAtAGMAYQA2ADgANQBhADYAYQBjAGEA NABhADsASQBEAFgASABFAEEARAA9ADAAMQBEADgARgBDADgAQwAyAEYAOwBJAEQAWABDAE8AVQBO AFQAPQAzAF0AOwBTAEIATQBJAEQAPQAyADEAOwBTADEAPQA8ADQANwA3ADYAYQBjAGUAYwAtADMA NQA3AGIALQA1AGMAMwA2AC0AMQAyADkAMgAtADcAZQA1ADIAMAA0AGMANAA3ADUAOQBmAEAAagBr AHEAeAB6AC4AbgBlAHQAPgA7AFIAVABQAD0ARABpAHIAZQBjAHQAQwBoAGkAbABkADsAVABEAE4A PQBSAGUAbQBvAHYAZQBkADsAVABGAFIAPQBQAGEAcgB0AGkAYwBpAHAAYQBuAHQAQwBoAGEAbgBn AGUAZAA7AFYAZQByAHMAaQBvAG4APQBWAGUAcgBzAGkAbwBuACAAMQA1AC4AMgAwACAAKABCAHUA aQBsAGQAIAA1ADgAMwA0AC4AMAApACwAIABTAHQAYQBnAGUAPQBIADEALAAgAFQAQwA7AFUAUAA9 ADUAMAA7AEQAUAA9ADEAAAALAACACCAGAAAAAADAAAAAAAAARgAAAACChQAAAAAAAAMAAIAIIAYA AAAAAMAAAAAAAABGAAAAABiFAAAAAAAACwAAgAggBgAAAAAAwAAAAAAAAEYAAAAADoUAAAAAAAAf AACACCAGAAAAAADAAAAAAAAARgAAAADYhQAAAQAAABIAAABJAFAATQAuAE4AbwB0AGUAAAAAAEAA AIAIIAYAAAAAAMAAAAAAAABGAAAAAL+FAACAE8OXpv7YAQsAAIBQ42MLzJzQEbzbAIBfzM4EAQAA ACYAAABJAHMAUABlAHIAbQBhAG4AZQBuAHQARgBhAGkAbAB1AHIAZQAAAAAAAAAAAAMAAIBQ42ML zJzQEbzbAIBfzM4EAQAAACQAAABJAG4AZABlAHgAaQBuAGcARQByAHIAbwByAEMAbwBkAGUAAAAb AAAAHwAAgFDjYwvMnNARvNsAgF/MzgQBAAAAKgAAAEkAbgBkAGUAeABpAG4AZwBFAHIAcgBvAHIA TQBlAHMAcwBhAGcAZQAAAAAAAQAAAHAAAABJAG4AZABlAHgAaQBuAGcAIABQAGUAbgBkAGkAbgBn ACAAdwBoAGkAbABlACAAQgBpAGcARgB1AG4AbgBlAGwAUABPAEkASQBzAFUAcABUAG8ARABhAHQA ZQAgAGkAcwAgAGYAYQBsAHMAZQAuAAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAHAAAAEgAYQBz AFEAdQBvAHQAZQBkAFQAZQB4AHQAAAABAAAAAgEAgAggBgAAAAAAwAAAAAAAAEYBAAAANgAAAEkA bgBUAHIAYQBuAHMAaQB0AE0AZQBzAHMAYQBnAGUAQwBvAHIAcgBlAGwAYQB0AG8AcgAAAAAAAQAA ABAAAABgoHuNMXteQ4tzdjcmu1X4HwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAGAAAAG0AcwBpAHAA XwBsAGEAYgBlAGwAcwAAAAEAAAAABAAATQBTAEkAUABfAEwAYQBiAGUAbABfADQAMwA0ADIAMwAx ADQAZQAtADAAZABmADQALQA0AGIANQA4AC0AOAA0AGIAZgAtADMAOABiAGUAZAA2ADEANwAwAGEA MABmAF8AQQBjAHQAaQBvAG4ASQBkAD0AYgA0AGUAMgA0AGMAOQA4AC0AZAA0AGIAYwAtADQAZgBl AGYALQBiADgAMwBlAC0AMQA0AGYANQA0ADUAMwAxADYAZQAzADgAOwBNAFMASQBQAF8ATABhAGIA ZQBsAF8ANAAzADQAMgAzADEANABlAC0AMABkAGYANAAtADQAYgA1ADgALQA4ADQAYgBmAC0AMwA4 AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBDAG8AbgB0AGUAbgB0AEIAaQB0AHMAPQAwADsATQBTAEkA UABfAEwAYQBiAGUAbABfADQAMwA0ADIAMwAxADQAZQAtADAAZABmADQALQA0AGIANQA4AC0AOAA0 AGIAZgAtADMAOABiAGUAZAA2ADEANwAwAGEAMABmAF8ARQBuAGEAYgBsAGUAZAA9AHQAcgB1AGUA OwBNAFMASQBQAF8ATABhAGIAZQBsAF8ANAAzADQAMgAzADEANABlAC0AMABkAGYANAAtADQAYgA1 ADgALQA4ADQAYgBmAC0AMwA4AGIAZQBkADYAMQA3ADAAYQAwAGYAXwBNAGUAdABoAG8AZAA9AFMA dABhAG4AZABhAHIAZAA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAw AGQAZgA0AC0ANABiADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAE4A YQBtAGUAPQBHAGUAbgBlAHIAYQBsADsATQBTAEkAUABfAEwAYQBiAGUAbABfADQAMwA0ADIAMwAx ADQAZQAtADAAZABmADQALQA0AGIANQA4AC0AOAA0AGIAZgAtADMAOABiAGUAZAA2ADEANwAwAGEA MABmAF8AUwBlAHQARABhAHQAZQA9ADIAMAAyADIALQAxADEALQAyADIAVAAxADkAOgAxADMAOgAy ADMAWgA7AE0AUwBJAFAAXwBMAGEAYgBlAGwAXwA0ADMANAAyADMAMQA0AGUALQAwAGQAZgA0AC0A NABiADUAOAAtADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgBfAFMAaQB0AGUASQBk AD0AMwBkAGQAOAA5ADYAMQBmAC0AZQA0ADgAOAAtADQAZQA2ADAALQA4AGUAMQAxAC0AYQA4ADIA ZAA5ADkANABlADEAOAAzAGQAOwAAAEgAAIBrxT9AMM3FR4b47enjWgIrAQAAABwAAABNAFMASQBQ AEwAYQBiAGUAbABHAHUAaQBkAAAATjFCQ/QNWEuEvzi+1hcKDwMADTT9PwAAHwAAgIYDAgAAAAAA wAAAAAAAAEYBAAAALgAAAGEAdQB0AGgAZQBuAHQAaQBjAGEAdABpAG8AbgAtAHIAZQBzAHUAbAB0 AHMAAAAAAAEAAACyAAAAZABrAGkAbQA9AG4AbwBuAGUAIAAoAG0AZQBzAHMAYQBnAGUAIABuAG8A dAAgAHMAaQBnAG4AZQBkACkAIABoAGUAYQBkAGUAcgAuAGQAPQBuAG8AbgBlADsAZABtAGEAcgBj AD0AbgBvAG4AZQAgAGEAYwB0AGkAbwBuAD0AbgBvAG4AZQAgAGgAZQBhAGQAZQByAC4AZgByAG8A bQA9AGEAbQBkAC4AYwBvAG0AOwAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAHgAAAGEAYwBj AGUAcAB0AGwAYQBuAGcAdQBhAGcAZQAAAAAAAQAAAAwAAABlAG4ALQBVAFMAAAAfAACAhgMCAAAA AADAAAAAAAAARgEAAAAgAAAAeAAtAG0AcwAtAGgAYQBzAC0AYQB0AHQAYQBjAGgAAAABAAAAAgAA AAAAAAAfAACAa8U/QDDNxUeG+O3p41oCKwEAAAASAAAATQBJAFAATABhAGIAZQBsAAAAAAABAAAA zAEAAFsAewAiAGkAZAAiADoAIgA0ADMANAAyADMAMQA0AGUALQAwAGQAZgA0AC0ANABiADUAOAAt ADgANABiAGYALQAzADgAYgBlAGQANgAxADcAMABhADAAZgAiACwAIgB0AGkAIgA6ACIAMwBkAGQA OAA5ADYAMQBmAC0AZQA0ADgAOAAtADQAZQA2ADAALQA4AGUAMQAxAC0AYQA4ADIAZAA5ADkANABl ADEAOAAzAGQAIgAsACIAcABpACIAOgAiADAAMAAwADAAMAAwADAAMAAtADAAMAAwADAALQAwADAA MAAwAC0AMAAwADAAMAAtADAAMAAwADAAMAAwADAAMAAwADAAMAAwACIALAAiAG4AbQAiADoAIgBH AGUAbgBlAHIAYQBsACIALAAiAGEAYwAiADoAMAAsACIAbwBwACIAOgAxACwAIgBjAHQAIgA6ACIA MgAwADIAMgAtADEAMQAtADIAMgBUADEAOQA6ADEAMwA6ADIAMwBaACIALAAiAG0AdAAiADoAIgAw ADAAMAAxAC0AMAAxAC0AMAAxAFQAMAAwADoAMAAwADoAMAAwACIALAAiAHUAYwAiADoAbgB1AGwA bAB9AF0AAABIAACACCAGAAAAAADAAAAAAAAARgEAAAAiAAAATgBlAHQAdwBvAHIAawBNAGUAcwBz AGEAZwBlAEkAZAAAAAAAFo8INFRMbksi/wjazL5oKB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4A AAB4AC0AbQBzAC0AcAB1AGIAbABpAGMAdAByAGEAZgBmAGkAYwB0AHkAcABlAAAAAAABAAAADAAA AEUAbQBhAGkAbAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADYAAAB4AC0AbQBzAC0AdAByAGEA ZgBmAGkAYwB0AHkAcABlAGQAaQBhAGcAbgBvAHMAdABpAGMAAAAAAAEAAABIAAAAUwBKADEAUABS ADEAMgBNAEIANgAxADkANAA6AEUARQBfAHwAQgBMADEAUABSADEAMgBNAEIANQAzADMAMwA6AEUA RQBfAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAUAAAAHgALQBtAHMALQBvAGYAZgBpAGMAZQAz ADYANQAtAGYAaQBsAHQAZQByAGkAbgBnAC0AYwBvAHIAcgBlAGwAYQB0AGkAbwBuAC0AaQBkAAAA AQAAAEoAAAAzADQAMAA4ADgAZgAxADYALQA0AGMANQA0AC0ANABiADYAZQAtADIAMgBmAGYALQAw ADgAZABhAGMAYwBiAGUANgA4ADIAOAAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgA LQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBzAGUAbgBkAGUAcgBhAGQAYwBoAGUAYwBrAAAAAQAA AAQAAAAxAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOgAAAHgALQBtAHMALQBlAHgAYwBoAGEA bgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQByAGUAbABhAHkAAAAAAAEAAAAEAAAAMAAAAB8AAICG AwIAAAAAAMAAAAAAAABGAQAAACoAAAB4AC0AbQBpAGMAcgBvAHMAbwBmAHQALQBhAG4AdABpAHMA cABhAG0AAAAAAAEAAAAOAAAAQgBDAEwAOgAwADsAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAA AEQAAAB4AC0AbQBpAGMAcgBvAHMAbwBmAHQALQBhAG4AdABpAHMAcABhAG0ALQBtAGUAcwBzAGEA ZwBlAC0AaQBuAGYAbwAAAAEAAABaCAAANgBsAEEAMgBxAFEAYgBNAEsAawBGAFYARwBjAGYAdgA2 AEIAWABYAFAAZABBAFAAdAB0ADgAMgBZAC8AaQA4AEQAMgBzAHIARQAxAGMAVwBWAEcAYQA5ACsA ZgBpAG0ATgA0AGkALwBkAFEAWABCAEoAeQBnAHAAcgBUAEoAcwBiAGIAWgA3AHUARQBmAFoAVQB4 AHYAKwA1AHAAUABBAHQARwBmADEAKwAyAGsAbQBEAHAAagBFAHAAawBMAGgARAAyAEIASwBhAEcA ZAA0AFIAbgBlAEIAcQBtAHcAZQBEAEkAeQBXAEQANQBUADYATwB1AE0AZQAzADQAbQBYAHMAVgBD AG8AVgBCAGkAVABrADEAVgAvAFMAdQBIAEsASwA3AFMAaQBNAHkANQBNAG4AVQAxAEkAZQBnACsA SwBpAFUAZgBPAHQAYgA5AHYAVwA4AHkATgB0AGcAbgBIAHUAcQB4ADYATAB3AFQAagB5AHEATAB4 AG4AWQBCAHYAWQBrAG8AdwBxAHgARgBPAFYAOAA5AG0AcABsAFMAZwBZAHoAVQAwAFkATwAwAHYA ZQB2AGIAagBRAHoAZgBjAEYAaABDACsAbgBRAFkAMABxAHcAdAA1AFEASQB5AE0AMQBmAE0AeABy AFoARwBpADAANwBXAHkAYwBTACsAWQAvAEYASgBBAHgAZgBhAFUAegBXACsASQBmADgAZABBAGsA cABzADgAeQB2AHkAdgBLAG0AcwBlAFkARABqAGgAYgBxAGEASgA5AE0AKwAzAEsARQBBAHkATwBN AHgAegB3AGYAagBJAHYAcwAyAGoALwBiAHUAbAByACsAMQBQAGsAaABzAE8AZgBQAEgAaQAyAEMA ZQBaAEkAYwBMAEMAZAAwAHkAbQAwAEYAaQA3AFcAeABmAHUAagA3AGQAegBXADQAeABuAHAANwB4 AGIARgAxADAAVwArAHIAYwBVADAAYwB0AEIARwBpAHcAVQBnAGQASABBAGIAOABGAFIAOQBEAHIA agBPAEwANgBsADcAZQBNADMAVwA1AEgANgBYAFoARgBPAG8AawA1AHYAQQBoAHQAZABUAC8ANgAw AHEAbAA1AEcATwA4ADEASABTADIALwBFAFAAVwBVADcAegByAGUAegBvAHkAUwBhAHAAagBzAEQA MgB6ADYAOAA4AHkAZwBrAGoANwBEAEkASgBkADIAZQA4AGsAdQBMAGwAaABxAHMAZABJAFIAQQBx ADAAaABDADkANQB3AGgAWABXADcAUwB5AFAAdABFAEwAcwBYAFUAbQBQAEEAZgBmAGcAeABsAFkA aQBjAFgAMQBQAGIAdwA0AEkAYQA5AEsASABIAEgALwBEAG0ANQBNAHkAVgBhAHUAYgBWADAAUQB0 AEkANABOAFAAZABOAHAARABvAFMAMgB0AGYANwBEAHUAeABNAHQAegBYAHUAVgBGAHoARwA2AFUA cQA0AGsAawA0AGsAKwBkAGUAKwBaAHgAcgBxAEoAMwBOADUANgBhAFcAbQBQAFUAVwBFAHoAcgBO ADgAMwBvAHoAUwB4AGIAYwBrAHkAbwBqAE8AZgBwAFgAWABIAGkAcgBHAEIAZwBxAFQAYgBrAGUA VABoAEUAMwBXAHAAZQB3ADMAKwBpAGEASABzAG8ATgA2AHMAQgBFAFAASAB3AGoAUwBnAHgAQgBJ AHEASgBCAFIAZwB5AGYASQBVAHgAbABhAEEAZAByAHQAaABEAFgAUABIAFgAWABDAEEASwBZAHUA RQB6ADgAOABUAHoAVQA5AFUAYwBIAFUAZAA0AEgAKwBhAFcAeABkAEkATABMAGgAbwBpADIAdABp AEIAQwBkAHIAZABTAE4AUwBtAFQAVwBBAEoAQgBmAFMAdgBPAEUAQgA0AG4ARABWAFIAaQB3AHYA TwAwAEsAcQBkAEcASwBHAEMAdwBaAEQAdgA3ACsAWABUAHkAbABLAGYATwBxADAAdABkAGgAcgAw ADMAagA2AE8AQwBHAEQAbABhAHoAaQBoAG0ARQBDADMATQAvAHAARwBJAFYAUABDAFcAWQBVAGwA eQB0ADgATwBFAG8AVwAyAGMAMwA5ADEAZQBUAE4AVQBpAHUAbwBYADkAOAByAGUAYgBOAGUAawBI ADAALwByAEEAdQBZAGQATwByAG8AdgBCAHMAWQA5AHYAQgAyADgAbgArAEEAcwB3AHoAaAAwAFcA TgBHADIATgBJAHkAbAB5AGsAVgBWAFgAUgB5AG8ASwBQAEIAWQBKAGsAbwBvAEsAaQAwAE0ATABH AHkAOQA5AGMAbABKAHAANwBNAGoAVgBzAFcAVQBXAGoAZABPADcAaQAxAGMATQBhAFgAZABCAE0A bgByADUAMQBIAFIAagAwACsARABuACsAUQBmAHEANABCADYANwBYAEsATwBaAFYAYQB5AFAAdQBG AHMATgBwAEcAMAB6ADYANQA4AFAAbgAyAHcAWQA1AFoAWQBzAEUAWABZAFMANwBCAHEAVQBkAFoA RQBJAHoAdgBzAFAAUgBIADEAWgBEAHkASwBlAE4AcgBaAE4AZwBWADAAMwAzAEoAUwA0AFEASQBh AG4AbAB5ADYAaABuAFUAWQB0AFkAaQBPAGsAWQBXAGMAQwBIAFkATQBYAEEAZgBZAGgAUwBuAFkA VABRAFgAbgBYAGcAMQA3AG8AVgBjAHIARAA5AE8ANwBpAEcARgB2ACsAVgAvAEEAbQB3ADEAWABa AE8AUwB4AFgAVgBWAEQAaQBWAG4AQgBYADAAMABVAFEAawB1ADUANgBBAHcAaQBVAD0AAAAAAB8A AICGAwIAAAAAAMAAAAAAAABGAQAAADgAAAB4AC0AZgBvAHIAZQBmAHIAbwBuAHQALQBhAG4AdABp AHMAcABhAG0ALQByAGUAcABvAHIAdAAAAAEAAABMBAAAQwBJAFAAOgAyADUANQAuADIANQA1AC4A MgA1ADUALgAyADUANQA7AEMAVABSAFkAOgA7AEwAQQBOAEcAOgBlAG4AOwBTAEMATAA6ADEAOwBT AFIAVgA6ADsASQBQAFYAOgBOAEwASQA7AFMARgBWADoATgBTAFAATQA7AEgAOgBTAEoAMQBQAFIA MQAyAE0AQgA2ADEAOQA0AC4AbgBhAG0AcAByAGQAMQAyAC4AcAByAG8AZAAuAG8AdQB0AGwAbwBv AGsALgBjAG8AbQA7AFAAVABSADoAOwBDAEEAVAA6AE4ATwBOAEUAOwBTAEYAUwA6ACgAMQAzADIA MwAwADAAMgAyACkAKAA0ADYAMwA2ADAAMAA5ACkAKAAzADQANgAwADAAMgApACgAMwA5ADgANgAw ADQAMAAwADAAMAAyACkAKAAxADMANgAwADAAMwApACgAMwA5ADYAMAAwADMAKQAoADMANgA2ADAA MAA0ACkAKAAzADcANgAwADAAMgApACgANAA1ADEAMQA5ADkAMAAxADUAKQAoADYANgA1ADUANgAw ADAAOAApACgAOAA2ADMANgAyADAAMAAxACkAKAA2ADYANAA0ADYAMAAwADgAKQAoADUAMgA1ADMA NgAwADEANAApACgAMwA4ADAANwAwADcAMAAwADAAMAA1ACkAKAAzADMANgA1ADYAMAAwADIAKQAo ADUAMwA1ADQANgAwADEAMQApACgANAAxADMAMAAwADcAMAAwADAAMAAxACkAKAA3ADYAMQAxADYA MAAwADYAKQAoADUANQAwADEANgAwADAAMwApACgANgA2ADkANAA2ADAAMAA3ACkAKAA1ADYANgAw ADMAMAAwADAAMAAyACkAKAA2ADYANAA3ADYAMAAwADcAKQAoADEAOAA2ADAAMAAzACkAKAA4ADkA MwA2ADAAMAAyACkAKAA2ADQANwA1ADYAMAAwADgAKQAoADgANgA3ADYAMAAwADIAKQAoADkANgA2 ADAAMAA1ACkAKAA0ADUAMAA4ADAANAAwADAAMAAwADIAKQAoADcAMQAyADAAMAA0ADAAMAAwADAA MQApACgAMgA2ADAAMAA1ACkAKAA0ADcAOAA2ADAAMAAwADAAMQApACgAOQA2ADgANgAwADAAMwAp ACgAMwAxADYAMAAwADIAKQAoADYANQAwADYAMAAwADcAKQAoADYAOQAxADYAMAAwADkAKQAoADEA MgAyADAAMAAwADAAMAAxACkAKAA3ADYAOQA2ADAAMAA1ACkAKAAzADgAMQAwADAANwAwADAAMAAw ADIAKQAoADYANgA4ADkAOQAwADEANQApACgAMgA5ADAANgAwADAAMgApACgAOAAzADMAOAAwADQA MAAwADAAMAAxACkAOwBEAEkAUgA6AE8AVQBUADsAUwBGAFAAOgAxADEAMAAxADsAAAAfAACAhgMC AAAAAADAAAAAAAAARgEAAABcAAAAeAAtAG0AcwAtAGUAeABjAGgAYQBuAGcAZQAtAGEAbgB0AGkA cwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtAGMAaAB1AG4AawBjAG8AdQBuAHQAAAAB AAAABAAAADEAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABKAAAAeAAtAG0AcwAtAGUAeABjAGgA YQBuAGcAZQAtAGEAbgB0AGkAcwBwAGEAbQAtAG0AZQBzAHMAYQBnAGUAZABhAHQAYQAtADAAAAAA AAEAAABaDAAAUgB6AGkAdABSADUAYgAzAE8AeQA4AG4AOQA3AGgARwArAFQAeQBKAEYAcQAyAGsA UgBPAGEAUgBBAE8AQgAzADEAVwArAEYAKwBpAGkAcABOAG4AMwByADgAWABkADEAdgByAGUAbwBm AHoAdABtACsAUgBzAEQAcABCAHoARwB5AEsAWAB4AHoAOQBwAHcAKwBFAEcAUQAyADcARwBDAGgA MwBBAHkANQBjAGEAWABkADEAKwB0AG0AWABKAGMAYgBtAFoARwBOAEsAeABoAGkARABHAHgAdwA3 AHcAUQBmAGwARwBRADEAMABJAGEAdQBNAEoAZwBWAGQASgBvAHQANwBmAGUAagA1AEgAZwA4AGgA bwBDAGsANwBjAEcAVwBxAHkAVQBsAEYARwAwAGQARQBGAGEAOABYADcAMABYAHYAQgBLAEcAYwBv ADkAcQBVAE0AWQA2ADAAdgA2AHcATQBVAGkAegBjAEQAQQBFAGcAVwBpAEkAQgBiAEMASQA1ADgA TQBoADEAdABiAGwASgBrAFcASQB4ADMAcgBxAGMAbgB2AGkAeABLAEwAagBjAGkAMwAzADEASgBa AHoAVABKAFEAdQA2AHgAZgBYAFAAbgA2AEgASQBHAEcATgAvAHYASwBXAFkARABoAHYASgB3AEMA ZABHADIAZwB2AEEAdgBCAFUAbgAvAGIAZABBAGgAbwB5AFQAYQB3AE0ASQAvAFQAWgBzAE4AUwBH AEkAdgBFAEYAcABzAGIAVwBaAG0AagBlAG4ASQB1AHgAWQBTAEYAcAB3AEsAOABRAHUAeQBIADIA ZgBKAHUAMwBrAHcAZQBHAHMAVgBiAGwATAA4AHkAOABzAHMAeAB6AE4AbQA4AHYAcABjAFAAegBs AGwASQA5AFIAKwBhAHAAKwAwAEIANgBZAGkARABkADcAagBlAHoAcQBkAGcAcABiAG0AeQA0AHMA OABJAC8AUQAvAFAAYwBDAEIAdwBSAE8AUAAzAHEANwBWAGIANABkADUANwBEAEMAawBSAGMAWgBS AHEAZwBnAFMAUgBmAGkAVwBiADUAUABGAE4AMwBDAEMAUgB0AGMAawBZAHAAVQAwAGsARwBOAGEA SwBCAG8ATgBEADUAWABqAFAAbQBuAEIAbQBoAG4AUQAwADMANQBYACsAQQA2AGQAZABzAEkAOABO AHoAZABqAFYANQBlAHAAbABtAEEAUwA5AFUAbwA4AFcASABVADcAcgAxAFYARwBJAFYARAAzAGkA KwBZAFEARABYAEwAcwB2AEEAVABIAEUAcwBnAGYAcwByAGQAVQA5AHYANgBTAEMAZABCADkAcABq AEgAcQBOAG0AVQA5AHgAeQBUAGIAOQBpAGIAWQBNAC8AeQBRAFQAagB3AFgAdgA4AHEAKwBsADAA dQAvADcATwBxAC8AbgBvAEQAeQBJAFkAdgB6AHQAVABpAGIAcwBLAEsAVQBkAC8AMABpADEAUABo AEsASAAyADkAQgBnAHUAYQBYADAARABDAGUAMQBNAHAAQgA1AFgAQwBWAHMATwBOAHIAQQBvAGgA NwA3AGsAQwBzADAAcwBUAG8ATQB1AGMAQwArADYAQgBDAHkAbQAyAHoAdwBwAFcAcQA5AEoAOABh AHkAVABkAEEAVAA4AEYARQBzAHYANQBEADUASgA2AGcAcQBxADUASgAzAHUAVgAxAHcAUQArAEsA ZABBAGcARwB5AHMAawBNAFEANABzAFoAMwAvADIAWABpAHEAOABGAFYAdQBzAEIAWAB1AEUAbwBM ADIAZgB5AG0AbwBTAGkATABHACsAcgBqAEEAcQBsAGoAUQA0AFYAKwBBAE4AbwA5ADEAMwByAFIA UQBGAHoAMAA1AFoAOQBhAEcAZgB6AEMATABxAHcAbwB5AG8AegBRAHkAbQBGAGEATQBrADYATgBt AG0AWgBMAEoAMgBLAHEASQBFAFMAaQBEACsAOABkAHAAOABZAGYAOQBLAHIAawBnAFAAVABPAGcA dwBpAGgARgA2ADIATAB3AHgAbQBqAFAAVgB2AGwAbwBoADgAWABzAHcALwB4ADIAYgA2AEQAMQBK AEMAVwA1AEcAawBXAFEAcgA1AEsARQBwAEMANgB6AGkARwBCAHIANAB2AFkAdgBGAEoATABTAFAA dwBIADIASwBZAFcAdgAyAFEAbABiAEUAQQBxAHoATAByAGMASgBWADEAOQBRAEMAVABNAGwASQBz AGwAWgBmAGcAQgA1AEsALwAyAEwAZgAzAEMAOABWAGEAUABrAFMAbgB2AE0ASABBAGQAbgA3ADkA YgBiAFkAZwBhAC8AdwBKAEYAYQBRAFkANQAxAFcAWQA2AE4AdQA4AHEAQQBRAFUAbgB5AGgAeAA4 AFgAYgBJAC8ANwBNAG4AMgBRAGgAbgBuAEkAMwB6AG8AdgAvAE4ARQBlAHIANgBDAGcAMgBPAEcA eABHAHIASgBhADEAQgB1AHUAQgBtAGgARwBmAG0AUABMAG4AMgBFAG0AZgAvAEUAUgBqAE4AUQAy AFQAUwAyAG0AegBTADEAVgB0AGoAKwBMAHUAQwBTADUAUwB6ADIAWgBnAHAAcQBlAGMARAB1ADkA cwBUADYAWQBHAGEAZABIAGwAZQA5AEcAUgB0AHEAbgBEAGUAbAAwAGsAZABYAE8AdQBkAG4AdgBm AFEAZABKAEUAKwBWAEoAWgBPADYAagBCAGsARQBpAFoANABHAEQAawBQAGIAawBvAFAAdgBpADEA MwBKAEgANwBrAFgAYQA5ADgAdABoADAANABFADQARQBvAHkAUwBpAEIAdwBsAFoANwBTAHcAMQBs AFEAZgAvAEgARwBTAGwAQwB1ADkAUQBLAEQAZQBUAE4AawBSAFYAagBxADEAWABkADAAawBwADIA bQBWAG8AZwBSAEoAaQBMAGQAeQBuAEsAdgBCAFkAVABtAE0ASQB0AHYAawBWAGUAcgBNADEAYQB4 ADIAcQB0AHEAWQA1AE4AaQBPAEMASABoAFQAbQB5AEkASwA3AFoAYgBqAC8ANQBjAG0ATgA4AFIA YgBCAHkAOABkAEoAUwArAEMALwA4ADAARQBLAEoAawBUAHAAVQA3AEQANABsADYAaAB4AEkAegBo AFIAWQAyAGEAMQBuAGwAagBxAGMANgBWAEIANwBXADEAMgA2AFUAUwBCADYAeABWAHMAQgBwAHQA VwBmAGMAUwB6ADgATQBxAHcAZwA2AEgAWQBaAFIARQBZADYANQBDAHoALwAxADMALwB3AGMATwBt ADcAZgBLAHUAcQB1AFkAdQBWAHAASgBIAHIAcAB5AFAAawBaAEkAaQBCAGwARQAwAG4ASQBLADIA TgA5AEQAVwB5AE4AcgB5AFYAbgBPADYAVAA3AHkANABuAGgAMwB0ADAAWgA2AEwAbAA0ADcAUABn AEsAOQBiAGMAUwBiAHMAVwBYADUAaABOAHYASABVAHAAQwA1AFEAUABpAFAAeABQAFoASABIAE0A NQBEAEQAVwBrAGQAaQBPAHkAQQB2AHAAUwBVACsAaAAxAHEAdABQAEoARABrAHQATQA1AEsAOQBl AHcAZAA3ADEAaABZAEcAYwA2AEkAdgBtAFIASQBvAEMASQBjAEoAeAArAFQAZwA5AHMASQBaAGwA YgB2AFcAVQBJADQARgBWAHMAeABRAEcAcgA4AFYAbQAvADYAQwB6ADAANgAyAE4AQwB5ADgAVwBs AEQAcQBIAGwAegBvAGIANQBzADYAQgBhAHgAMgBZACsAbQBkAFEAZQA1AHcAMgA4AFoAVgBoADcA bABVAEcAUABaAHQAOAA1AG4ANABVAFYANwA1AEMASAArADIAdgByAEwAYQBNAFEAdQBnAGcANwBT AEQAVQBCAGUAWQBaAHEAaABnAHQAeAA3AHMAUgB6AGgAaQArAHcAdABvAFEAOABJADYASABXAC8A NgBkADgAVQBNAEcAeAB3AEIAOABFAHUANwB5AFMAegByAE4ANABMAE0ATgB5AHUAbAAwAGUAWABv AHAAawBIAFAAcgAzAFcAcABsADAASgBsAEQAMQBrAFIAaABXAFoAeQBtAGwAMgB2AHoANAB2AGgA bwBRAHkAUAAvAFgAMgBhAHUAVAB1AEYATABEADEAYwA9AAAAAAA/Uw== --_000_SJ1PR12MB61947C7DFBBB9BB4FA5F2F27950D9SJ1PR12MB6194namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --_000_SJ1PR12MB61947C7DFBBB9BB4FA5F2F27950D9SJ1PR12MB6194namp_--