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 456D6458F4 for ; Mon, 27 Mar 2023 15:21:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6E21A68CB0D; Mon, 27 Mar 2023 18:21:43 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2094.outbound.protection.outlook.com [40.107.20.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D182468CB08 for ; Mon, 27 Mar 2023 18:21:36 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gnaCs5sbdX7TLcTekuO+yI3rHQRVPSayU3JxPHYlN2HUET5aaDv2aBADbTuSq2ZKIEeiZIz7lCJg6vASWMqNICb565fmTuHt5fsnRnH7L59trBZuvVHw3IqX70iR3iVnPN6FPD0wKEMj+UmrqOsdoHk4qxZEWSGeOIal2UTRZ0J259wGCc6rI1LQRFgYG00S4BASPSPfAJHc/RwovFaFB0I0AbEb0tq472bLuy5FXnc9VEcaF/LUDNOAhQOKoWuK6HSttOe74pnEcjvGbisT0twEsvavGpmwvmpny7tPx3K/dawPU5CZPpX136/l5d/VMw6ZbnBeEsZORJb+YLYIOA== 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=+GCL/kdMan9HBWnbYGSLFKGQUUVIboEftLBN5a2jNjE=; b=C4Rt/gshg7GbK5a2GnEqHYo4AYzYxNZ5R2SUUoFSFLWygHA/X8oPHIgiDTr2GA76epDQaKrzsMNp6wuEf1w1iXvFdzNHt1bsIlQ43vVQNmiYzwpKOD18N66cxjjzXB1x3bpfX+BLCb4V3sPJdQ2MfzteSd0NN6vOv4R9J3T2XGk0NzPsCiQGwM2neCPTAD9IVRUjHh1iLNH7qUY+pTdOQcz9V7fDGX/IfpCZmGjQWTGOcGcYE8l6vF9pofaTUy51NS4LqJAIQFIREleXEEu0SZwyt014PT3j8rtah3cPY/RvVw6/MAsg1ugQPdpUsFc5wMVVCaUmMI7m2k2ud8D9Qg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=qt.io; dmarc=pass action=none header.from=qt.io; dkim=pass header.d=qt.io; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qt.io; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+GCL/kdMan9HBWnbYGSLFKGQUUVIboEftLBN5a2jNjE=; b=vFP2rtYkBLwAW9mLi1rni/p8YRIRLIT162LIN+yfvHvVJbuBfF8JAkn87St8u+AQom20sGii/8U5eNQO+4Q6cH3hd+JZK4a1ZSWRmIJOI6+rI2e/vbB3hutkZdFtsDvHKkO0YwWN5hrM5quYOCCccadrP05XgeMR8lrt2DuC/CI= Received: from DBAPR02MB6165.eurprd02.prod.outlook.com (2603:10a6:10:18e::8) by AS4PR02MB8646.eurprd02.prod.outlook.com (2603:10a6:20b:58d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Mon, 27 Mar 2023 15:21:34 +0000 Received: from DBAPR02MB6165.eurprd02.prod.outlook.com ([fe80::fcdd:550f:463b:bd2d]) by DBAPR02MB6165.eurprd02.prod.outlook.com ([fe80::fcdd:550f:463b:bd2d%3]) with mapi id 15.20.6222.030; Mon, 27 Mar 2023 15:21:34 +0000 From: Samuel Raposo Vieira Mira To: FFmpeg development discussions and patches Thread-Topic: [PATCH 1/2] avcodec/mediacodec add vp9 encoder using mediacodec Thread-Index: AQHZYL1ZNhOielR72EWVQASPnJ54jA== Date: Mon, 27 Mar 2023 15:21:34 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=qt.io; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DBAPR02MB6165:EE_|AS4PR02MB8646:EE_ x-ms-office365-filtering-correlation-id: 8a117ccd-a13d-42af-96b1-08db2ed6f34a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QFCnPM7JbESWgqCUZVr6MBUAbBR9BpPWrmzVMn9enH3XgpoLc0kpDyZs4PWnVFDjxQ73lnh6WhHLP38uymn8tg86A6Y3Sjpo3AZbabjY8yid4yUmFkSgXdsYPBSgcdKUN6mHAPsLuN8pDCrJnU87Rop4Gav1V+1JHNCWGaMj0aoq8Mn10CelCewCD591zphpeBoRNVesLjegB+QaQbHXyOMqlUVsc0AcdBsbtTdg18ByVsdrtoIlfx8UCkn9+YYr+yiD6QvTEj6nwQsmoqSW1yBVpAHVgjkC0eOQu2R+YzWEWwm+GsKO0GgRbOPQ62fRKocqJJHtavZYQcvFHoD4TKLOiZu/zkYpurDgRpya/qHl/RF253eXHZnNfzsDjBzdWvDQzN4BunmzbgWxLRoe638rot/UGmHMnWK0tgVMyla37AZMiYxVWiAsRl1Yt5hCy5AhO08DY0aHHflxyFRhsxpXh8Pg1/UosMj5TsCZX78XnDUSZl5fdZCHwWat7HzVJU8bwAAhKNdZus/+N/HCwUdeqBDNosJm8f/8orzYglYnNK8XrztFSR+HtD08B71Wi4LuY6a5ivoYoWVBQA2PezFsUKMvVsDwOkSdxyjrJbs3A6q/gz/wRztwooLZhpzmW8gB8yoEflj617LlPyRylQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR02MB6165.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(346002)(396003)(376002)(39850400004)(136003)(366004)(451199021)(91956017)(166002)(52536014)(41300700001)(33656002)(86362001)(99936003)(5660300002)(38100700002)(8936002)(122000001)(66446008)(7696005)(478600001)(71200400001)(76116006)(64756008)(8676002)(66946007)(66556008)(6916009)(2906002)(66476007)(38070700005)(55016003)(19627235002)(6506007)(26005)(186003)(9686003)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?xgtkQFkT9zcOQNO/uJV7kHegaZoMPGxYjKEeW9BeylHvFQZjIbi+js6i2THJ?= =?us-ascii?Q?x3uZqigDi/QLSRK1O1dBjxnAPjMV9kcxny1/emLuaAR5/7NJ5v25Kfzya8Pj?= =?us-ascii?Q?3Xb12orjLxWQdvLUTmy5pL1f1kwmyDWDURSDUkS5gLPbEYshmcznKyKbvJbT?= =?us-ascii?Q?xwZ7clAZUXYVt3qUW5sccqoPS/hSo8hvXtzQqJhtK+CfNCo3msOKAnPLg9KD?= =?us-ascii?Q?q7GDbMZVvWXYE7ZqcJIexw9OTr3xn0lpnLqagZuo3if6lJIK2jHYtHJpJ8ql?= =?us-ascii?Q?W6eCmOP4eOV6e8Nz+xWMnQ53pNuRRuOLjae/ppAmfF1wqs96552+jqzzXOpJ?= =?us-ascii?Q?j9bfIYR+NbVHjqT1fX3nMPPPvXfRYimQ7MV6xTsJpS3OwTwalKvrJ9Ict3ha?= =?us-ascii?Q?6XdRKGeir3y7CcQEtmnvLNoJa0nRLvT+BnPy8Dz0aFYBbcQniwF+8efyPya9?= =?us-ascii?Q?SGEVTdg8pxG8IRm1KUN+vvlFev8F8FFPqqZQVAStawdotrpSxxRs4D4QLaFY?= =?us-ascii?Q?TcGzGcZVx+sWn4eHHKp1yQAMufJXGCzNT73XMSyITI5W/NCX4AarE7Z+/w1S?= =?us-ascii?Q?mJQajjT761P0rGNalET6gq5ziLPPCCr9OoZMBINq+//C7MlS1DDWcAZCXk9l?= =?us-ascii?Q?qYk222FHkQ+kTGyPvgJcUNcq35SnDNb/pwinNtam5FFln/FnBKml79kvkbVS?= =?us-ascii?Q?gHspHSBtQLC9DlSGkmqLK4qBGBncaej90ohS7i6JjDpxMkjBIgkuOVrwLhJd?= =?us-ascii?Q?8CWUiDU3drc/o6OvvP0DWeckP/sGa/yYlgZ60lDSh5iO6+JPw6DQgI/7V/y/?= =?us-ascii?Q?wSQGCoQGKj2SanIZSlC07CgRTIf2p4yNpT4HQVabsAyid8KatL67NS6ErOfA?= =?us-ascii?Q?Y3xfmXu9AmC468CWirXTwkp0A42ivC0UueJ6H5eM/g/4GnK7S2IX6A2BdWXZ?= =?us-ascii?Q?ezk3+z25prVcjiEYvga1Ib6gLYlw2bA6km8Nr+U0gLAha+/BvObEeYbv48dJ?= =?us-ascii?Q?kfmDQ/w89Yn50pZxpnsaYjOeOrO2s+9UVUkHadf1FFc95QqGeC+j8p0ZNvy6?= =?us-ascii?Q?kELHi7iBbDx/iEePG6SJUjPVrEmAJfqM+eCQ3d5gL385NM9fPvtgxII2gWEl?= =?us-ascii?Q?2icDyOcSwthkYRYqYRbFP3RX495MoXu6hRMVRGmjDecf7uF9yX53Fnmrls6R?= =?us-ascii?Q?XY+AytLho4z7qa4lS8pSCcpQIp6mbAVrez/D6UpgbvJIC0trxAWkIRkklTMq?= =?us-ascii?Q?ZpxNg0tK2xbsjcMT5Ut3hXMqcnawH6tXm8h+Qs64Sgsh0nkBIUh2jfmrUJC3?= =?us-ascii?Q?EaLPWzbSbiraO2bQRLu4Q3pXQdguedgTbf9ZPEzbrHuwuN0JoYdLOi3uY0qV?= =?us-ascii?Q?XX5SiAlcNhrylTk1BrInF9twxGDKqHzn4xVd/GfQYIRVAjdG9Xh7ySyGp0Gp?= =?us-ascii?Q?dPwHo9tzu6RTZ0HK3++qcOjuYa86Ao4IY9FcOn5QrLCPmBALMv8a24XKCy2Y?= =?us-ascii?Q?q3kmDNMo9dbpX0BpgaVm2I4d8pomx7F8t+ofKAS/DrUQdsIKUHzPsgCRPm6I?= =?us-ascii?Q?ntRUEs/bdNCcZITD8HHnM+Mco4OjXIc64qMncvPIDVoLeqin5t4M762XAp3n?= =?us-ascii?Q?AQ=3D=3D?= Content-Type: multipart/mixed; boundary="_010_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_" MIME-Version: 1.0 X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBAPR02MB6165.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a117ccd-a13d-42af-96b1-08db2ed6f34a X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2023 15:21:34.2162 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 20d0b167-794d-448a-9d01-aaeccc1124ac X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: z94bot9vMJXu5ZHLbfjpLKobLB6JemPKI+9w5pIbTHNitJtVXxDd9Mc5QMBtXbDOfcUjHmLf4bbYL5lSLydPMA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR02MB8646 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/mediacodec add vp9 encoder using mediacodec 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: --_010_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: multipart/related; boundary="_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_"; type="multipart/alternative" --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable The only encoders avaliable using mediacodec were h264 and hevc. This patch adds the vp9 encoder. Signed-off-by: Samuel Mira > --- configure | 3 ++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/mediacodec_wrapper.c | 24 +++++++++++++ libavcodec/mediacodecenc.c | 61 +++++++++++++++++++++++++++++++++ 5 files changed, 90 insertions(+) diff --git a/configure b/configure index cec001fb16..101bc7b2f1 100755 --- a/configure +++ b/configure @@ -3246,6 +3246,9 @@ vp8_v4l2m2m_decoder_deps=3D"v4l2_m2m vp8_v4l2_m2m" vp8_v4l2m2m_encoder_deps=3D"v4l2_m2m vp8_v4l2_m2m" vp9_cuvid_decoder_deps=3D"cuvid" vp9_mediacodec_decoder_deps=3D"mediacodec" +vp9_mediacodec_decoder_extralibs=3D"-landroid" +vp9_mediacodec_encoder_deps=3D"mediacodec" +vp9_mediacodec_encoder_extralibs=3D"-landroid" vp9_qsv_decoder_select=3D"qsvdec" vp9_rkmpp_decoder_deps=3D"rkmpp" vp9_vaapi_encoder_deps=3D"VAEncPictureParameterBufferVP9" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 408ecd1e31..3d213014c6 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -774,6 +774,7 @@ OBJS-$(CONFIG_VP9_DECODER) +=3D vp9.o vp9da= ta.o vp9dsp.o vp9lpf.o vp9r vp9dsp_8bpp.o vp9dsp_10bpp.o vp9= dsp_12bpp.o OBJS-$(CONFIG_VP9_CUVID_DECODER) +=3D cuviddec.o OBJS-$(CONFIG_VP9_MEDIACODEC_DECODER) +=3D mediacodecdec.o +OBJS-$(CONFIG_VP9_MEDIACODEC_ENCODER) +=3D mediacodecenc.o OBJS-$(CONFIG_VP9_RKMPP_DECODER) +=3D rkmppdec.o OBJS-$(CONFIG_VP9_VAAPI_ENCODER) +=3D vaapi_encode_vp9.o OBJS-$(CONFIG_VP9_QSV_ENCODER) +=3D qsvenc_vp9.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 385ee34803..6333844868 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -882,6 +882,7 @@ extern const FFCodec ff_vp8_v4l2m2m_encoder; extern const FFCodec ff_vp8_vaapi_encoder; extern const FFCodec ff_vp9_cuvid_decoder; extern const FFCodec ff_vp9_mediacodec_decoder; +extern const FFCodec ff_vp9_mediacodec_encoder; extern const FFCodec ff_vp9_qsv_decoder; extern const FFCodec ff_vp9_vaapi_encoder; extern const FFCodec ff_vp9_qsv_encoder; diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrappe= r.c index d1fb640ec2..b13211d435 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -319,10 +319,23 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContex= t(AVCodecContext *avctx) static const int HEVCProfileMain10HDR10 =3D 0x1000; static const int HEVCProfileMain10HDR10Plus =3D 0x2000; + static const int VP9Profile0 =3D 0x01; + static const int VP9Profile1 =3D 0x02; + static const int VP9Profile2 =3D 0x04; + static const int VP9Profile3 =3D 0x08; + static const int VP9Profile2HDR =3D 0x1000; + static const int VP9Profile3HDR =3D 0x2000; + static const int VP9Profile2HDR10Plus =3D 0x4000; + static const int VP9Profile3HDR10Plus =3D 0x8000; + // Unused yet. (void)AVCProfileConstrainedHigh; (void)HEVCProfileMain10HDR10; (void)HEVCProfileMain10HDR10Plus; + (void)VP9Profile2HDR; + (void)VP9Profile3HDR; + (void)VP9Profile2HDR10Plus; + (void)VP9Profile3HDR10Plus; if (avctx->codec_id =3D=3D AV_CODEC_ID_H264) { switch(avctx->profile) { @@ -357,6 +370,17 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext= (AVCodecContext *avctx) case FF_PROFILE_HEVC_MAIN_10: return HEVCProfileMain10; } + } else if (avctx->codec_id =3D=3D AV_CODEC_ID_VP9) { + switch (avctx->profile) { + case FF_PROFILE_VP9_0: + return VP9Profile0; + case FF_PROFILE_VP9_1: + return VP9Profile1; + case FF_PROFILE_VP9_2: + return VP9Profile2; + case FF_PROFILE_VP9_3: + return VP9Profile3; + } } return -1; diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index 2ab56597fe..c7e2beb1ae 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -164,6 +164,9 @@ static av_cold int mediacodec_init(AVCodecContext *avct= x) case AV_CODEC_ID_HEVC: codec_mime =3D "video/hevc"; break; + case AV_CODEC_ID_VP9: + codec_mime =3D "video/x-vnd.on2.vp9"; + break; default: av_assert0(0); } @@ -764,3 +767,61 @@ static const AVOption hevc_options[] =3D { DECLARE_MEDIACODEC_ENCODER(hevc, "H.265", AV_CODEC_ID_HEVC) #endif // CONFIG_HEVC_MEDIACODEC_ENCODER + +#if CONFIG_VP9_MEDIACODEC_ENCODER + +enum MediaCodecVP9Level { + VP9Level1 =3D 0x1, + VP9Level11 =3D 0x2, + VP9Level2 =3D 0x4, + VP9Level21 =3D 0x8, + VP9Level3 =3D 0x10, + VP9Level31 =3D 0x20, + VP9Level4 =3D 0x40, + VP9Level41 =3D 0x80, + VP9Level5 =3D 0x100, + VP9Level51 =3D 0x200, + VP9Level52 =3D 0x400, + VP9Level6 =3D 0x800, + VP9Level61 =3D 0x1000, + VP9Level62 =3D 0x2000, +}; + +static const AVOption vp9_options[] =3D { + COMMON_OPTION + { "level", "Specify tier and level", + OFFSET(level), AV_OPT_TYPE_INT, {.i64 =3D 0}, 0, INT_MAX, = VE, "level" }, + { "1", "Level 1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level1 }, 0, 0, VE, = "level" }, + { "1.1", "Level 1.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level11 }, 0, 0, VE, = "level" }, + { "2", "Level 2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level2 }, 0, 0, VE, = "level" }, + { "2.1", "Level 2.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level21 }, 0, 0, VE, = "level" }, + { "3", "Level 3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level3 }, 0, 0, VE, = "level" }, + { "3.1", "Level 3.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level31 }, 0, 0, VE, = "level" }, + { "4", "Level 4", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level4 }, 0, 0, VE, = "level" }, + { "4.1", "Level 4.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level41 }, 0, 0, VE, = "level" }, + { "5", "Level 5", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level5 }, 0, 0, VE, = "level" }, + { "5.1", "Level 5.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level51 }, 0, 0, VE, = "level" }, + { "5.2", "Level 5.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level52 }, 0, 0, VE, = "level" }, + { "6", "Level 6", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level6 }, 0, 0, VE, = "level" }, + { "6.1", "Level 4.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level61 }, 0, 0, VE, = "level" }, + { "6.2", "Level 6.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP9Level62 }, 0, 0, VE, = "level" }, + { NULL, } +}; + +DECLARE_MEDIACODEC_ENCODER(vp9, "VP9", AV_CODEC_ID_VP9) + +#endif // CONFIG_VP9_MEDIACODEC_ENCODER -- 2.35.2 Samuel Mira Senior Software Developer The Qt Company Tutkijantie 4C FI-90590 Oulu Finland samuel.mira@qt.io www.qt.io [signature_3255782021] [signature_3655584933] [signature_3785140935] [signature_765191051] [signature_2165164460] --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: image/png; name="image001.png" Content-Description: image001.png Content-Disposition: inline; filename="image001.png"; size=6491; creation-date="Mon, 27 Mar 2023 15:04:25 GMT"; modification-date="Mon, 27 Mar 2023 15:04:25 GMT" Content-ID: Content-Transfer-Encoding: base64 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 --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: image/png; name="image002.png" Content-Description: image002.png Content-Disposition: inline; filename="image002.png"; size=697; creation-date="Mon, 27 Mar 2023 15:04:25 GMT"; modification-date="Mon, 27 Mar 2023 15:04:25 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAACMAAAAaCAYAAAA9rOU8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC aUlEQVRIS8WVTWsTQRzGf/Oy201oJVBSSqEtjeBLe9FPUP0QVSiCLVZa8aIXL4KiUPBiFXrQaqE9 VcGz4rF+AT1Z9OIbCClRS2uaNLvZGQ9pYsjFZFLT32V3Z/7DPjzz/GcEdYyPj+tvm+KpUnrKmLh+ qiOI6svo6KhfiNMrWvuTxpTrazqGrjwmZNHklrTnTZq4845U0QCZ4z+XpPL2t8Y2lHQOPXLizCOh 5MxhCwHQUuo520ZYrbWUSiFxHGMB3/Pwfa+xrCm0te0JiaIyRzPDpFI9KKXIZnNkN3NIKRvL/8l+ gFvHWtgrlbg8fZ6rcxfoS/cCsLT8jDvziwRBF0LUmrUpnMVEUUR/X5qZ6XP0pXsxxhCGEcVSqbG0 aZzFFIt7+L7mSE83ADdvL/D8xUt83yORCBqqm6P1jQWMsQwPDXD61BieVwmr52mGBgdIpXqw1q0r Rebk2ZZWVrvn7q1rXJqaqI0bY5FS8HBxhXv3n5BMBC1nxskZgLAcUSgUay6EUUg+v0t28wfWmJaF gIMzUOkkgWVs7Bhrqw/o7k5y/cY8r16/ASrhdhHj5IwQkN8tsLW1XXNmZydPLveLMAydhICjGACl FJ73txm1Vvi+53TYVXFf+R9oW4xSCsB5a+ppW0wURQAYYxpmWsepm6Dy8yDoIjMyiKc1X75+Z3vn d1uZcb4OpJTslULevnuPtZYg6EJrhePhixDKXQyAFIJkMlH7dhMiEFJi4vJjd08PAiGQUmHLZvnz h/UrhyimIiSOo9VPH3tnoY3MtIuUinIUriVVbhbWDRxAa7tQdWS4n4sbGxthdfwPl6rirXiiCpsA AAAASUVORK5CYIIAAA== --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: image/png; name="image003.png" Content-Description: image003.png Content-Disposition: inline; filename="image003.png"; size=875; creation-date="Mon, 27 Mar 2023 15:04:26 GMT"; modification-date="Mon, 27 Mar 2023 15:04:26 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAACMAAAAaCAYAAAA9rOU8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD G0lEQVRIS8WVTWhcVRiGn/N3M5mkk441UlKHSSJaDbhqEaLFxG5UXLuwGxUq0UWFLNy4ELsQQXDl whaFCGKlEKViwR+iVrQoIQY0ZkikVbQiM53MtHaa+b33HBfjhMy1be5oTJ7Nvfd7v3O+9577nXMF 6xgbG9O/5cQbSuknrA3WS1uCaN2MjIx45aB/SmvvkLX++pwtQzcvj8qKzR/XxhyywdavSAsNMLy3 cFwq8/encaGUrUMP3Tn+ulDy8HYbAdBS6qfdNjTrtdDObY4Ray2Nho+UAmMMzjVXWYi1PbIhMhy4 EdZaKpXqWiFoFvN9H98PGBi4hWSyj1JplUqlipQdTd/aTRsTBJbkzh2kUgPMzf+I0RqtFb7v090d 47nJp3jk4XEu/1li+v2PqFZrfPnVLL9e+AOjo5VRyf6hF8PBa1Gr1RhMp3hn6lWstXw3v8DVq2VK pVUmDj/G5LNP0tvbw827ktx/4B723jHMpzNfk81eREc0Ey0LUEpRKFyiXKnywvNHOHDvft49eZqF xSX277s7nM7M52dZWPwJY7ywdF0im5FSUG80yCyd49Y9uzk4PsrB8VHy+SJdsX8WnJ37gXKlQl9i R1i6LpHNWOswWjM0mGqL9/ff1PYMzUa/8HsWz5iwdEMit7vnGbK5PC+/coxsbiUst7GYOcfy8nmM ifyuQAdmALTWzM59z+pqOSy1MfX2NJcuX4ncuC06NKPIXVzhyORRzn47H5YBeO/UJ0yf+ph4PBaW NiSydWstyZ0J7hvdx/BginisvZhzjhMnP+ToS69hA4fxIk+9RuQRzjkC67j9tjQPPThGOr2HlUKR YvEKC4vLfHB6hs+++AYpBLEur+2UjooYvuuByKOav4MaiUQvfYlelFJUqzXyhSKNhk9PvLvjX8B6 Iq8MgJSSnp5uavU62Vwe50BIgWcMsa6ucHrHdGSmhVYKlAqH/xNCqM520/+DQEiFtf6x7TUjBFIq nG/f/GXpzDPbaKZpJAgab/28vGsC/mXPbAZSKvxG/URc5SfgjIUOT+DNorUi6d08nslk6q34X7OP HmI8dBx2AAAAAElFTkSuQmCCAAA= --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: image/png; name="image004.png" Content-Description: image004.png Content-Disposition: inline; filename="image004.png"; size=763; creation-date="Mon, 27 Mar 2023 15:04:26 GMT"; modification-date="Mon, 27 Mar 2023 15:04:26 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAACMAAAAaCAYAAAA9rOU8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC q0lEQVRIS8WWS2sUQRRGT3X1vN1JZEKEGDU+hkQE3RgMMZoQEZ8LF8aFCkJ0619w48KtxGhEEVRQ ceXCpfhGjCBCMO+MGlTUgBszPd1V5aIzcWbAmEqGyYGiL1236I97v9vdgiLa2trcj9/EVSndk1qr 4q2qIApBJpOJ/lY111032q11UJxTNdzwctSZ0d/73EikW6vqV6SAC7B2488+R0ZmW2PKUqqH27Bp V6+QzunlFgLgOI57xlgKMWbhuTa4xizcI0IIvHweFSiEEMTjsfKUJeGU35iPmVyObVubuHntIseP HcLz8uUpS8JKTC7n0bpzOx27Wzh6ZC9aa5RSGGNK1mKZHe2FsSKV5P6DR4Dg5au3GANBoDAmQGuN lBKlFFJKYrFo+fH/YiUm7wdsad5E47p6vJxHbe0qDh/o5PPUF6anf5HZvJ7hkQnu3HtINjtl7Skr MZ6Xp7lpIwf37yGdruHNwHv2tO8oyenqbKWrs5Xjp87x9dsPopFIyf58WHlGCIHv+0Don/xsHAQB vVdu0X/jLlprNjQ2sK9rF7mcV3z8v1hV5l+MjmU5f+ESyUScjvYW1tSvpjZdg1a6PHVeKiLG9wNS yQTxeAzfDz+yWttPlVWb/oUQomQtloqIqRRWYowxxKLh+yOZiM/FqWQCCCuUSiUBiMWi1i9AK89E Ii4jY5M8fzHAu/cfGB3P8uzFABOTnzDGEASKJ09fU1eXZmh4nIjFWAOItZvbreRro8EIwCAQGAzG gJRhkZXWCMJ9x7EqvF2bgFBAofwCjIFizwrCdtoaWQhp1yYIfSHl3wcVx4B1NUAgHAetgsu2JyuL EDiOxAS6f+LD47PLKCYUopR/Y3xoZQ9YTlMlcRxJ4OdvJ+X3HnisYREGrgSFitSnOTE4ODj3u/gH iwMESvfK/rgAAAAASUVORK5CYIIAAA== --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: image/png; name="image005.png" Content-Description: image005.png Content-Disposition: inline; filename="image005.png"; size=734; creation-date="Mon, 27 Mar 2023 15:04:26 GMT"; modification-date="Mon, 27 Mar 2023 15:04:26 GMT" Content-ID: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAACMAAAAaCAYAAAA9rOU8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC jklEQVRIS82Wz0sUYRyHn3fed2Z1hSjC2tzCsqzUU6dAKJNAvAVBEEIUYZhdOoe3bp07pBjYqWPQ TTtJ/QNhZm6WSsS6unTM3Z0f79thddtdV5uR2PWBZXfe993ZZ7/zme87gjL6+vrUj3UxKaW6p3VQ PlUXxPaH7u5uZzNonVLKGdLaL19TN1Tx7ZaV09kJZdtDOqh/RbZRAB0Xfk1Y0t66NKZqSf1QZy5e eyGkNdxoEQBlWeqhaUBYa2EZczBEoBTg8Liuh+t5GG0wxmAwYECI4o0pLIEQAlspYjGn6tt7E0nG dT2SyeP0dHXSEm8mFnNQSiGlxPM9gkCTy+XJ5wssfV9lZeUnjmNXn2ZXQssUXJf2U0mmJp/Reba9 VIlaGAzp9Dr3R54w//krTU2x6iU1saoHdsNzfQYHrnD+3OmSiOd5FApu1UoQCJJtCa739+L74TMZ WgbgROJYxfFaJsuDR2O8eTuDMTvbwpHDh4jSLiLImB3lllLyce4Lw6Nj3L7zmLn5VMV8PN4UQSWS zE6MAW0MSkla4nEcuzKsWpu/m18IQgcYBLl8vmJEG03v5UvcvDHA4MDVijmAfL5QPbQnEWQgk8lW HLclWhl//hTLql3gdGaDsgeDf1L7LDWwHcX0uw8sfVstjSmldhVZTC0zPfMexwn/f0VHV3/ojLmu x8lkgp7uTpqbm4pNT1ooZRMEAb7v47oevzdzfJpPkV7biNT0IsnA1nbgesWtYOt2NsaAKPYXIYov x7EjiUDEzAD7+pGw1L7gDUAIeRBkBMKSaO2PN1ZGCCxLYnz9cmVxdrSBMkWRIPBeLaeOjsA+Avy/ sCyJ77mv4zI7ArMaGhTg7Yq0J7i7sLBQegb5Aw4E5ODX39QxAAAAAElFTkSuQmCCAAA= --_009_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_-- --_010_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ Content-Type: application/octet-stream; name="0001-avcodec-mediacodec-add-vp9-encoder-using-mediacodec.patch.b64" Content-Description: 0001-avcodec-mediacodec-add-vp9-encoder-using-mediacodec.patch.b64 Content-Disposition: attachment; filename="0001-avcodec-mediacodec-add-vp9-encoder-using-mediacodec.patch.b64"; size=9345; creation-date="Mon, 27 Mar 2023 15:13:14 GMT"; modification-date="Mon, 27 Mar 2023 15:13:14 GMT" Content-Transfer-Encoding: base64 Um5KdmJTQTNZbVU0TVRNd056VmtPR1V3TkRSaU1qRTRaalE0T1Roa05tSXpaV000T1dZNFltSmta V0ppSUUxdmJpQlRaWEFnTVRjZ01EQTZNREE2TURBZ01qQXdNUXBHY205dE9pQlRZVzExWld3Z1RX bHlZU0E4YzJGdGRXVnNMbTFwY21GQWNYUXVhVzgrQ2tSaGRHVTZJRlJvZFN3Z01UWWdUV0Z5SURJ d01qTWdNVEk2TkRJNk1Ea2dLekF3TURBS1UzVmlhbVZqZERvZ1cxQkJWRU5JSURFdk1sMGdZWFpq YjJSbFl5OXRaV1JwWVdOdlpHVmpJR0ZrWkNCMmNEa2daVzVqYjJSbGNpQjFjMmx1WnlCdFpXUnBZ V052WkdWakNncFVhR1VnYjI1c2VTQmxibU52WkdWeWN5QmhkbUZzYVdGaWJHVWdkWE5wYm1jZ2JX VmthV0ZqYjJSbFl5QjNaWEpsSUdneU5qUWdZVzVrSUdobGRtTXVJRlJvYVhNS2NHRjBZMmdnWVdS a2N5QjBhR1VnZG5BNUlHVnVZMjlrWlhJdUNpMHRMUW9nWTI5dVptbG5kWEpsSUNBZ0lDQWdJQ0Fn SUNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ0F6SUNzckNpQnNhV0poZG1OdlpHVmpMMDFoYTJWbWFXeGxJ Q0FnSUNBZ0lDQWdJQ0FnSUh3Z0lERWdLd29nYkdsaVlYWmpiMlJsWXk5aGJHeGpiMlJsWTNNdVl5 QWdJQ0FnSUNBZ0lDQjhJQ0F4SUNzS0lHeHBZbUYyWTI5a1pXTXZiV1ZrYVdGamIyUmxZMTkzY21G d2NHVnlMbU1nZkNBeU5DQXJLeXNyS3lzckt5c3JLeXNyQ2lCc2FXSmhkbU52WkdWakwyMWxaR2xo WTI5a1pXTmxibU11WXlBZ0lDQWdJSHdnTmpFZ0t5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JL eXNyS3lzckt5c3JLeXNyQ2lBMUlHWnBiR1Z6SUdOb1lXNW5aV1FzSURrd0lHbHVjMlZ5ZEdsdmJu TW9LeWtLQ21ScFptWWdMUzFuYVhRZ1lTOWpiMjVtYVdkMWNtVWdZaTlqYjI1bWFXZDFjbVVLYVc1 a1pYZ2dZMlZqTURBeFptSXhOaTR1TVRBeFltTTNZakptTVNBeE1EQTNOVFVLTFMwdElHRXZZMjl1 Wm1sbmRYSmxDaXNyS3lCaUwyTnZibVpwWjNWeVpRcEFRQ0F0TXpJME5pdzJJQ3N6TWpRMkxEa2dR RUFnZG5BNFgzWTBiREp0TW0xZlpHVmpiMlJsY2w5a1pYQnpQU0oyTkd3eVgyMHliU0IyY0RoZmRq UnNNbDl0TW0waUNpQjJjRGhmZGpSc01tMHliVjlsYm1OdlpHVnlYMlJsY0hNOUluWTBiREpmYlRK dElIWndPRjkyTkd3eVgyMHliU0lLSUhad09WOWpkWFpwWkY5a1pXTnZaR1Z5WDJSbGNITTlJbU4x ZG1sa0lnb2dkbkE1WDIxbFpHbGhZMjlrWldOZlpHVmpiMlJsY2w5a1pYQnpQU0p0WldScFlXTnZa R1ZqSWdvcmRuQTVYMjFsWkdsaFkyOWtaV05mWkdWamIyUmxjbDlsZUhSeVlXeHBZbk05SWkxc1lX NWtjbTlwWkNJS0szWndPVjl0WldScFlXTnZaR1ZqWDJWdVkyOWtaWEpmWkdWd2N6MGliV1ZrYVdG amIyUmxZeUlLSzNad09WOXRaV1JwWVdOdlpHVmpYMlZ1WTI5a1pYSmZaWGgwY21Gc2FXSnpQU0l0 YkdGdVpISnZhV1FpQ2lCMmNEbGZjWE4yWDJSbFkyOWtaWEpmYzJWc1pXTjBQU0p4YzNaa1pXTWlD aUIyY0RsZmNtdHRjSEJmWkdWamIyUmxjbDlrWlhCelBTSnlhMjF3Y0NJS0lIWndPVjkyWVdGd2FW OWxibU52WkdWeVgyUmxjSE05SWxaQlJXNWpVR2xqZEhWeVpWQmhjbUZ0WlhSbGNrSjFabVpsY2xa UU9TSUtaR2xtWmlBdExXZHBkQ0JoTDJ4cFltRjJZMjlrWldNdlRXRnJaV1pwYkdVZ1lpOXNhV0po ZG1OdlpHVmpMMDFoYTJWbWFXeGxDbWx1WkdWNElEUXdPR1ZqWkRGbE16RXVMak5rTWpFek1ERTBZ ellnTVRBd05qUTBDaTB0TFNCaEwyeHBZbUYyWTI5a1pXTXZUV0ZyWldacGJHVUtLeXNySUdJdmJH bGlZWFpqYjJSbFl5OU5ZV3RsWm1sc1pRcEFRQ0F0TnpjMExEWWdLemMzTkN3M0lFQkFJRTlDU2xN dEpDaERUMDVHU1VkZlZsQTVYMFJGUTA5RVJWSXBJQ0FnSUNBZ0lDQWdJQ0FnSUNzOUlIWndPUzV2 SUhad09XUmhkR0V1YnlCMmNEbGtjM0F1YnlCMmNEbHNjR1l1YnlCMmNEbHlDaUFnSUNBZ0lDQWdJ Q0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJjRGxrYzNCZk9H SndjQzV2SUhad09XUnpjRjh4TUdKd2NDNXZJSFp3T1dSemNGOHhNbUp3Y0M1dkNpQlBRa3BUTFNR b1EwOU9Sa2xIWDFaUU9WOURWVlpKUkY5RVJVTlBSRVZTS1NBZ0lDQWdJQ0FyUFNCamRYWnBaR1Js WXk1dkNpQlBRa3BUTFNRb1EwOU9Sa2xIWDFaUU9WOU5SVVJKUVVOUFJFVkRYMFJGUTA5RVJWSXBJ Q0FyUFNCdFpXUnBZV052WkdWalpHVmpMbThLSzA5Q1NsTXRKQ2hEVDA1R1NVZGZWbEE1WDAxRlJF bEJRMDlFUlVOZlJVNURUMFJGVWlrZ0lDczlJRzFsWkdsaFkyOWtaV05sYm1NdWJ3b2dUMEpLVXkw a0tFTlBUa1pKUjE5V1VEbGZVa3ROVUZCZlJFVkRUMFJGVWlrZ0lDQWdJQ0FnS3owZ2NtdHRjSEJr WldNdWJ3b2dUMEpLVXkwa0tFTlBUa1pKUjE5V1VEbGZWa0ZCVUVsZlJVNURUMFJGVWlrZ0lDQWdJ Q0FnS3owZ2RtRmhjR2xmWlc1amIyUmxYM1p3T1M1dkNpQlBRa3BUTFNRb1EwOU9Sa2xIWDFaUU9W OVJVMVpmUlU1RFQwUkZVaWtnSUNBZ0lDQWdJQ0FyUFNCeGMzWmxibU5mZG5BNUxtOEtaR2xtWmlB dExXZHBkQ0JoTDJ4cFltRjJZMjlrWldNdllXeHNZMjlrWldOekxtTWdZaTlzYVdKaGRtTnZaR1Zq TDJGc2JHTnZaR1ZqY3k1akNtbHVaR1Y0SURNNE5XVmxNelE0TURNdUxqWXpNek00TkRRNE5qZ2dN VEF3TmpRMENpMHRMU0JoTDJ4cFltRjJZMjlrWldNdllXeHNZMjlrWldOekxtTUtLeXNySUdJdmJH bGlZWFpqYjJSbFl5OWhiR3hqYjJSbFkzTXVZd3BBUUNBdE9EZ3lMRFlnS3pnNE1pdzNJRUJBSUdW NGRHVnliaUJqYjI1emRDQkdSa052WkdWaklHWm1YM1p3T0Y5Mk5Hd3liVEp0WDJWdVkyOWtaWEk3 Q2lCbGVIUmxjbTRnWTI5dWMzUWdSa1pEYjJSbFl5Qm1abDkyY0RoZmRtRmhjR2xmWlc1amIyUmxj anNLSUdWNGRHVnliaUJqYjI1emRDQkdSa052WkdWaklHWm1YM1p3T1Y5amRYWnBaRjlrWldOdlpH VnlPd29nWlhoMFpYSnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmZkbkE1WDIxbFpHbGhZMjlrWldO ZlpHVmpiMlJsY2pzS0syVjRkR1Z5YmlCamIyNXpkQ0JHUmtOdlpHVmpJR1ptWDNad09WOXRaV1Jw WVdOdlpHVmpYMlZ1WTI5a1pYSTdDaUJsZUhSbGNtNGdZMjl1YzNRZ1JrWkRiMlJsWXlCbVpsOTJj RGxmY1hOMlgyUmxZMjlrWlhJN0NpQmxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5MmNE bGZkbUZoY0dsZlpXNWpiMlJsY2pzS0lHVjRkR1Z5YmlCamIyNXpkQ0JHUmtOdlpHVmpJR1ptWDNa d09WOXhjM1pmWlc1amIyUmxjanNLWkdsbVppQXRMV2RwZENCaEwyeHBZbUYyWTI5a1pXTXZiV1Zr YVdGamIyUmxZMTkzY21Gd2NHVnlMbU1nWWk5c2FXSmhkbU52WkdWakwyMWxaR2xoWTI5a1pXTmZk M0poY0hCbGNpNWpDbWx1WkdWNElHUXhabUkyTkRCbFl6SXVMbUl4TXpJeE1XUTBNelVnTVRBd05q UTBDaTB0TFNCaEwyeHBZbUYyWTI5a1pXTXZiV1ZrYVdGamIyUmxZMTkzY21Gd2NHVnlMbU1LS3lz cklHSXZiR2xpWVhaamIyUmxZeTl0WldScFlXTnZaR1ZqWDNkeVlYQndaWEl1WXdwQVFDQXRNekU1 TERFd0lDc3pNVGtzTWpNZ1FFQWdhVzUwSUdabVgwRk5aV1JwWVVOdlpHVmpVSEp2Wm1sc1pWOW5a WFJRY205bWFXeGxSbkp2YlVGV1EyOWtaV05EYjI1MFpYaDBLRUZXUTI5a1pXTkRiMjUwWlhoMElD cGhkbU4wZUNrS0lDQWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRWhGVmtOUWNtOW1hV3hsVFdG cGJqRXdTRVJTTVRBZ1BTQXdlREV3TURBN0NpQWdJQ0FnYzNSaGRHbGpJR052Ym5OMElHbHVkQ0JJ UlZaRFVISnZabWxzWlUxaGFXNHhNRWhFVWpFd1VHeDFjeUE5SURCNE1qQXdNRHNLSUFvcklDQWdJ SE4wWVhScFl5QmpiMjV6ZENCcGJuUWdWbEE1VUhKdlptbHNaVEFnUFNBd2VEQXhPd29ySUNBZ0lI TjBZWFJwWXlCamIyNXpkQ0JwYm5RZ1ZsQTVVSEp2Wm1sc1pURWdQU0F3ZURBeU93b3JJQ0FnSUhO MFlYUnBZeUJqYjI1emRDQnBiblFnVmxBNVVISnZabWxzWlRJZ1BTQXdlREEwT3dvcklDQWdJSE4w WVhScFl5QmpiMjV6ZENCcGJuUWdWbEE1VUhKdlptbHNaVE1nUFNBd2VEQTRPd29ySUNBZ0lITjBZ WFJwWXlCamIyNXpkQ0JwYm5RZ1ZsQTVVSEp2Wm1sc1pUSklSRklnUFNBd2VERXdNREE3Q2lzZ0lD QWdjM1JoZEdsaklHTnZibk4wSUdsdWRDQldVRGxRY205bWFXeGxNMGhFVWlBOUlEQjRNakF3TURz S0t5QWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRlpRT1ZCeWIyWnBiR1V5U0VSU01UQlFiSFZ6 SUQwZ01IZzBNREF3T3dvcklDQWdJSE4wWVhScFl5QmpiMjV6ZENCcGJuUWdWbEE1VUhKdlptbHNa VE5JUkZJeE1GQnNkWE1nUFNBd2VEZ3dNREE3Q2lzS0lDQWdJQ0F2THlCVmJuVnpaV1FnZVdWMExn b2dJQ0FnSUNoMmIybGtLVUZXUTFCeWIyWnBiR1ZEYjI1emRISmhhVzVsWkVocFoyZzdDaUFnSUNB Z0tIWnZhV1FwU0VWV1ExQnliMlpwYkdWTllXbHVNVEJJUkZJeE1Ec0tJQ0FnSUNBb2RtOXBaQ2xJ UlZaRFVISnZabWxzWlUxaGFXNHhNRWhFVWpFd1VHeDFjenNLS3lBZ0lDQW9kbTlwWkNsV1VEbFFj bTltYVd4bE1raEVVanNLS3lBZ0lDQW9kbTlwWkNsV1VEbFFjbTltYVd4bE0waEVVanNLS3lBZ0lD QW9kbTlwWkNsV1VEbFFjbTltYVd4bE1raEVVakV3VUd4MWN6c0tLeUFnSUNBb2RtOXBaQ2xXVURs UWNtOW1hV3hsTTBoRVVqRXdVR3gxY3pzS0lBb2dJQ0FnSUdsbUlDaGhkbU4wZUMwK1kyOWtaV05m YVdRZ1BUMGdRVlpmUTA5RVJVTmZTVVJmU0RJMk5Da2dld29nSUNBZ0lDQWdJQ0J6ZDJsMFkyZ29Z WFpqZEhndFBuQnliMlpwYkdVcElIc0tRRUFnTFRNMU55dzJJQ3N6TnpBc01UY2dRRUFnYVc1MElH Wm1YMEZOWldScFlVTnZaR1ZqVUhKdlptbHNaVjluWlhSUWNtOW1hV3hsUm5KdmJVRldRMjlrWldO RGIyNTBaWGgwS0VGV1EyOWtaV05EYjI1MFpYaDBJQ3BoZG1OMGVDa0tJQ0FnSUNBZ0lDQWdZMkZ6 WlNCR1JsOVFVazlHU1V4RlgwaEZWa05mVFVGSlRsOHhNRG9LSUNBZ0lDQWdJQ0FnSUNBZ0lISmxk SFZ5YmlCSVJWWkRVSEp2Wm1sc1pVMWhhVzR4TURzS0lDQWdJQ0FnSUNBZ2ZRb3JJQ0FnSUgwZ1pX eHpaU0JwWmlBb1lYWmpkSGd0UG1OdlpHVmpYMmxrSUQwOUlFRldYME5QUkVWRFgwbEVYMVpRT1Nr Z2V3b3JJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHRjJZM1I0TFQ1d2NtOW1hV3hsS1NCN0Npc2dJQ0Fn SUNBZ0lHTmhjMlVnUmtaZlVGSlBSa2xNUlY5V1VEbGZNRG9LS3lBZ0lDQWdJQ0FnSUNBZ0lISmxk SFZ5YmlCV1VEbFFjbTltYVd4bE1Ec0tLeUFnSUNBZ0lDQWdZMkZ6WlNCR1JsOVFVazlHU1V4Rlgx WlFPVjh4T2dvcklDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGWlFPVkJ5YjJacGJHVXhPd29ySUNB Z0lDQWdJQ0JqWVhObElFWkdYMUJTVDBaSlRFVmZWbEE1WHpJNkNpc2dJQ0FnSUNBZ0lDQWdJQ0J5 WlhSMWNtNGdWbEE1VUhKdlptbHNaVEk3Q2lzZ0lDQWdJQ0FnSUNCallYTmxJRVpHWDFCU1QwWkpU RVZmVmxBNVh6TTZDaXNnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVmxBNVVISnZabWxzWlRNN0Np c2dJQ0FnSUNBZ0lIMEtJQ0FnSUNCOUNpQUtJQ0FnSUNCeVpYUjFjbTRnTFRFN0NtUnBabVlnTFMx bmFYUWdZUzlzYVdKaGRtTnZaR1ZqTDIxbFpHbGhZMjlrWldObGJtTXVZeUJpTDJ4cFltRjJZMjlr WldNdmJXVmthV0ZqYjJSbFkyVnVZeTVqQ21sdVpHVjRJREpoWWpVMk5UazNabVV1TG1NM1pUSmla V0l4WVdVZ01UQXdOalEwQ2kwdExTQmhMMnhwWW1GMlkyOWtaV012YldWa2FXRmpiMlJsWTJWdVl5 NWpDaXNyS3lCaUwyeHBZbUYyWTI5a1pXTXZiV1ZrYVdGamIyUmxZMlZ1WXk1akNrQkFJQzB4TmpR c05pQXJNVFkwTERrZ1FFQWdjM1JoZEdsaklHRjJYMk52YkdRZ2FXNTBJRzFsWkdsaFkyOWtaV05m YVc1cGRDaEJWa052WkdWalEyOXVkR1Y0ZENBcVlYWmpkSGdwQ2lBZ0lDQWdZMkZ6WlNCQlZsOURU MFJGUTE5SlJGOUlSVlpET2dvZ0lDQWdJQ0FnSUNCamIyUmxZMTl0YVcxbElEMGdJblpwWkdWdkwy aGxkbU1pT3dvZ0lDQWdJQ0FnSUNCaWNtVmhhenNLS3lBZ0lDQmpZWE5sSUVGV1gwTlBSRVZEWDBs RVgxWlFPVG9LS3lBZ0lDQWdJQ0FnWTI5a1pXTmZiV2x0WlNBOUlDSjJhV1JsYnk5NExYWnVaQzV2 YmpJdWRuQTVJanNLS3lBZ0lDQWdJQ0FnWW5KbFlXczdDaUFnSUNBZ1pHVm1ZWFZzZERvS0lDQWdJ Q0FnSUNBZ1lYWmZZWE56WlhKME1DZ3dLVHNLSUNBZ0lDQjlDa0JBSUMwM05qUXNNeUFyTnpZM0xE WXhJRUJBSUhOMFlYUnBZeUJqYjI1emRDQkJWazl3ZEdsdmJpQm9aWFpqWDI5d2RHbHZibk5iWFNB OUlIc0tJRVJGUTB4QlVrVmZUVVZFU1VGRFQwUkZRMTlGVGtOUFJFVlNLR2hsZG1Nc0lDSklMakky TlNJc0lFRldYME5QUkVWRFgwbEVYMGhGVmtNcENpQUtJQ05sYm1ScFppQWdMeThnUTA5T1JrbEhY MGhGVmtOZlRVVkVTVUZEVDBSRlExOUZUa05QUkVWU0Npc0tLeU5wWmlCRFQwNUdTVWRmVmxBNVgw MUZSRWxCUTA5RVJVTmZSVTVEVDBSRlVnb3JDaXRsYm5WdElFMWxaR2xoUTI5a1pXTldVRGxNWlha bGJDQjdDaXNnSUNBZ1ZsQTVUR1YyWld3eElDQTlJREI0TVN3S0t5QWdJQ0JXVURsTVpYWmxiREV4 SUNBOUlEQjRNaXdLS3lBZ0lDQldVRGxNWlhabGJESWdJRDBnTUhnMExBb3JJQ0FnSUZaUU9VeGxk bVZzTWpFZ0lEMGdNSGc0TEFvcklDQWdJRlpRT1V4bGRtVnNNeUE5SURCNE1UQXNDaXNnSUNBZ1Zs QTVUR1YyWld3ek1TQTlJREI0TWpBc0Npc2dJQ0FnVmxBNVRHVjJaV3cwSUNBOUlEQjROREFzQ2lz Z0lDQWdWbEE1VEdWMlpXdzBNU0FnUFNBd2VEZ3dMQW9ySUNBZ0lGWlFPVXhsZG1Wc05TQTlJREI0 TVRBd0xBb3JJQ0FnSUZaUU9VeGxkbVZzTlRFZ1BTQXdlREl3TUN3S0t5QWdJQ0JXVURsTVpYWmxi RFV5SUNBOUlEQjROREF3TEFvcklDQWdJRlpRT1V4bGRtVnNOaUFnUFNBd2VEZ3dNQ3dLS3lBZ0lD QldVRGxNWlhabGJEWXhJRDBnTUhneE1EQXdMQW9ySUNBZ0lGWlFPVXhsZG1Wc05qSWdQU0F3ZURJ d01EQXNDaXQ5T3dvckNpdHpkR0YwYVdNZ1kyOXVjM1FnUVZaUGNIUnBiMjRnZG5BNVgyOXdkR2x2 Ym5OYlhTQTlJSHNLS3lBZ0lDQkRUMDFOVDA1ZlQxQlVTVTlPQ2lzZ0lDQWdleUFpYkdWMlpXd2lM Q0FpVTNCbFkybG1lU0IwYVdWeUlHRnVaQ0JzWlhabGJDSXNDaXNnSUNBZ0lDQWdJQ0FnSUNBZ0lD QWdUMFpHVTBWVUtHeGxkbVZzS1N3Z1FWWmZUMUJVWDFSWlVFVmZTVTVVTENCN0xtazJOQ0E5SURC OUxDQXdMQ0JKVGxSZlRVRllMQ0JXUlN3Z0lteGxkbVZzSWlCOUxBb3JJQ0FnSUhzZ0lqRWlMQ0Fn SUNBZ0lreGxkbVZzSURFaUxBb3JJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNJRUZXWDA5UVZGOVVX VkJGWDBOUFRsTlVMQ0I3SUM1cE5qUWdQU0JXVURsTVpYWmxiREVnSUgwc0lDQXdMQ0F3TENCV1JT d2dJQ0pzWlhabGJDSWdmU3dLS3lBZ0lDQjdJQ0l4TGpFaUxDQWdJQ0pNWlhabGJDQXhMakVpTEFv cklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZYME5QVGxOVUxDQjdJQzVw TmpRZ1BTQldVRGxNWlhabGJERXhJSDBzSUNBd0xDQXdMQ0JXUlN3Z0lDSnNaWFpsYkNJZ2ZTd0tL eUFnSUNCN0lDSXlJaXdnSUNBZ0lDSk1aWFpsYkNBeUlpd0tLeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lD QXdMQ0JCVmw5UFVGUmZWRmxRUlY5RFQwNVRWQ3dnZXlBdWFUWTBJRDBnVmxBNVRHVjJaV3d5SUNC OUxDQWdNQ3dnTUN3Z1ZrVXNJQ0FpYkdWMlpXd2lJSDBzQ2lzZ0lDQWdleUFpTWk0eElpd2dJQ0Fp VEdWMlpXd2dNaTR4SWl3S0t5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xDQkJWbDlQVUZSZlZGbFFS VjlEVDA1VFZDd2dleUF1YVRZMElEMGdWbEE1VEdWMlpXd3lNU0I5TENBZ01Dd2dNQ3dnVmtVc0lD QWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlNeUlzSUNBZ0lDQWlUR1YyWld3Z015SXNDaXNnSUNB Z0lDQWdJQ0FnSUNBZ0lDQWdNQ3dnUVZaZlQxQlVYMVJaVUVWZlEwOU9VMVFzSUhzZ0xtazJOQ0E5 SUZaUU9VeGxkbVZzTXlBZ2ZTd2dJREFzSURBc0lGWkZMQ0FnSW14bGRtVnNJaUI5TEFvcklDQWdJ SHNnSWpNdU1TSXNJQ0FnSWt4bGRtVnNJRE11TVNJc0Npc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01D d2dRVlpmVDFCVVgxUlpVRVZmUTA5T1UxUXNJSHNnTG1rMk5DQTlJRlpRT1V4bGRtVnNNekVnZlN3 Z0lEQXNJREFzSUZaRkxDQWdJbXhsZG1Wc0lpQjlMQW9ySUNBZ0lIc2dJalFpTENBZ0lDQWdJa3hs ZG1Wc0lEUWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzSUVGV1gwOVFWRjlVV1ZCRlgwTlBU bE5VTENCN0lDNXBOalFnUFNCV1VEbE1aWFpsYkRRZ0lIMHNJQ0F3TENBd0xDQldSU3dnSUNKc1pY WmxiQ0lnZlN3S0t5QWdJQ0I3SUNJMExqRWlMQ0FnSUNKTVpYWmxiQ0EwTGpFaUxBb3JJQ0FnSUNB Z0lDQWdJQ0FnSUNBZ0lEQXNJRUZXWDA5UVZGOVVXVkJGWDBOUFRsTlVMQ0I3SUM1cE5qUWdQU0JX VURsTVpYWmxiRFF4SUgwc0lDQXdMQ0F3TENCV1JTd2dJQ0pzWlhabGJDSWdmU3dLS3lBZ0lDQjdJ Q0kxSWl3Z0lDQWdJQ0pNWlhabGJDQTFJaXdLS3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TENCQlZs OVBVRlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwSUQwZ1ZsQTVUR1YyWld3MUlDQjlMQ0FnTUN3 Z01Dd2dWa1VzSUNBaWJHVjJaV3dpSUgwc0Npc2dJQ0FnZXlBaU5TNHhJaXdnSUNBaVRHVjJaV3dn TlM0eElpd0tLeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMQ0JCVmw5UFVGUmZWRmxRUlY5RFQwNVRW Q3dnZXlBdWFUWTBJRDBnVmxBNVRHVjJaV3cxTVNCOUxDQWdNQ3dnTUN3Z1ZrVXNJQ0FpYkdWMlpX d2lJSDBzQ2lzZ0lDQWdleUFpTlM0eUlpd2dJQ0FpVEdWMlpXd2dOUzR5SWl3S0t5QWdJQ0FnSUNB Z0lDQWdJQ0FnSUNBd0xDQkJWbDlQVUZSZlZGbFFSVjlEVDA1VFZDd2dleUF1YVRZMElEMGdWbEE1 VEdWMlpXdzFNaUI5TENBZ01Dd2dNQ3dnVmtVc0lDQWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlO aUlzSUNBZ0lDQWlUR1YyWld3Z05pSXNDaXNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3dnUVZaZlQx QlVYMVJaVUVWZlEwOU9VMVFzSUhzZ0xtazJOQ0E5SUZaUU9VeGxkbVZzTmlBZ2ZTd2dJREFzSURB c0lGWkZMQ0FnSW14bGRtVnNJaUI5TEFvcklDQWdJSHNnSWpZdU1TSXNJQ0FnSWt4bGRtVnNJRFF1 TVNJc0Npc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01Dd2dRVlpmVDFCVVgxUlpVRVZmUTA5T1UxUXNJ SHNnTG1rMk5DQTlJRlpRT1V4bGRtVnNOakVnZlN3Z0lEQXNJREFzSUZaRkxDQWdJbXhsZG1Wc0lp QjlMQW9ySUNBZ0lIc2dJall1TWlJc0lDQWdJa3hsZG1Wc0lEWXVNaUlzQ2lzZ0lDQWdJQ0FnSUNB Z0lDQWdJQ0FnTUN3Z1FWWmZUMUJVWDFSWlVFVmZRMDlPVTFRc0lIc2dMbWsyTkNBOUlGWlFPVXhs ZG1Wc05qSWdmU3dnSURBc0lEQXNJRlpGTENBZ0lteGxkbVZzSWlCOUxBb3JJQ0FnSUhzZ1RsVk1U Q3dnZlFvcmZUc0tLd29yUkVWRFRFRlNSVjlOUlVSSlFVTlBSRVZEWDBWT1EwOUVSVklvZG5BNUxD QWlWbEE1SWl3Z1FWWmZRMDlFUlVOZlNVUmZWbEE1S1FvckNpc2paVzVrYVdZZ0lDOHZJRU5QVGta SlIxOVdVRGxmVFVWRVNVRkRUMFJGUTE5RlRrTlBSRVZTQ2kwdElBb3lMak0xTGpJS0NnPT0K --_010_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_ 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". --_010_DBAPR02MB6165EA093EA0D543355B7A88ED8B9DBAPR02MB6165eurp_--