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 187F845FC9 for ; Fri, 28 Apr 2023 11:07:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ABF3C68BF97; Fri, 28 Apr 2023 14:07:51 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2135.outbound.protection.outlook.com [40.107.20.135]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3F74A68BEF5 for ; Fri, 28 Apr 2023 14:07:44 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mdb+uzdCrxKr9NN2PaZ+RmOmve5gLmW6lqiNDIFlWNmIMk1N/OLJQw+8fw/E6Zrs/50DT/k9zjExxIh7QuuRRxDH3U7Kz/au7IQAHGTI0tiK9+oPGYmTLeBC6Ja/gbEeZDIirGig2nQlxR90xhGaFtxI8273aTfD6Ph71pmMH8DbwLF8SAlyXTKU7gsInqVEAnOXCCMuU+ASz3itodcLfNzVPKUJM5IpIb4mGI9tzl05PamUwx16PCIlzGMvLO5cxqFvjLvri0RAEsi6A9ZRimEJW09Lpo3koViHkO2F/ZxDpjqUBiu9xZK2xWo3bYED4uNan24U4SPHYt61+zKbiw== 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=nulf2S5GtZOytlIRk/jaUS5T8MGsZLuEFTp3efFN4Qs=; b=OaTEpKEBg9E2Q2VeOmlWF/Tdwlj99R4HiLcW1DeMSTwPuqKZs57DmYFY0oZiolkpVlIH8oH2RmX0uIBZ9vQgkYkML6GDRGlkzZ90pMvh16JSuhypgyn1N7wQiqi0KyONCA9Z1BifxGrtzkJDZYx9AS3+RwNQHTLYuhT3kkDClehh28kiHsq3sncZz4r3iiFbr4MZvAJEVC7c2OG8MDLbNwZ9A6Qwe6rbNZ42ojXRtKD2JakgB7qn0Z670EScBRleI1RetwcQfjzhVsBr9uqN0fMLknC0eBPWdDinGWt0CXl++Lig3IF2UmHchm/M8Q0PakYcynUXVsKHLqY+YQ09nw== 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=nulf2S5GtZOytlIRk/jaUS5T8MGsZLuEFTp3efFN4Qs=; b=qzOHoRl8oBstgZgcnWX7t/Ii7MjJkJq+yx8F92CvFuGqxVSFs7bcXsEe/0CftODdJHcIRTLm2lcYe3Xv/uHI5p7ZMo3vebfA9W3yih5/PUdT0UDN1QQiqEynHruoqNPtK1Fspnyk6QtyaVVU0LKyGY1YgDfpgxebpqy1t+grprA= Received: from DBAPR02MB6165.eurprd02.prod.outlook.com (2603:10a6:10:18e::8) by DB9PR02MB9994.eurprd02.prod.outlook.com (2603:10a6:10:462::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.22; Fri, 28 Apr 2023 11:07:42 +0000 Received: from DBAPR02MB6165.eurprd02.prod.outlook.com ([fe80::fcdd:550f:463b:bd2d]) by DBAPR02MB6165.eurprd02.prod.outlook.com ([fe80::fcdd:550f:463b:bd2d%6]) with mapi id 15.20.6340.023; Fri, 28 Apr 2023 11:07:42 +0000 From: Samuel Raposo Vieira Mira To: FFmpeg development discussions and patches Thread-Topic: [PATCH] avcodec/mediacodec: Add VP8 encoder Thread-Index: AQHZecC7mtn72az3sUCDICIeYANlhg== Date: Fri, 28 Apr 2023 11:07:41 +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_|DB9PR02MB9994:EE_ x-ms-office365-filtering-correlation-id: 2d93a3a1-44bd-45d6-7550-08db47d8c95d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GTC9zNeo+7Hgy7QKQKNfSQkX7xLIt+ie1TGM+7EQSevN6VpE1TokmB/0hOtXblXryFkHE+8PKArzhi/PZFosBedqKRRJFAi1vTsUVmL52eC25lucDjnRxCiBKubQLhAYZ7B9nzqmSJ0jFz5nTiz9ocTxm3FGDbbuuCW3ieKDkYWTtIjwZ1QScKIhMEd1g+l/D9HrW329P8do7e0o445ZFXVZaVX+rP35Dqx0NliWXl/ZUeE92b7tXFf4admDVHZD6vDYBwPOpMlDKxKUr+Mol+lzEaTPP9Dd6dI+HPwq3dSsvxWl8++cKoAZHMEuDUGNZim6vz9gS15vT4/x5JV5eFzGT8RKPlhTWBP3c7NXTs4lwiqHWQ0d7O7B6ozxGKBANbWpgIh5YJfHfOONF0x33Yd7mMERVWRL9ZlvCtp9VNeOkmKdCwsbA791caqBv1Maco4W4xDqw1CUFV+U1bBAwtmQAH0lw8pJIqYIO2Romeg4NkjiAYiCNYz+rt2so2xpy76yaS0nfDOHhTR3aNUrrywJ5mskH7627Up25NK2uN8IfBAK7MGPblR/9A426HejG3+xBpUcaahRJEfZT2h5rOLJVeX8XazMJ4MMqytPPsCUdyk8aZTo6N1MuS4NRFcG 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)(396003)(136003)(346002)(366004)(376002)(39850400004)(451199021)(83380400001)(38100700002)(38070700005)(55016003)(122000001)(86362001)(99936003)(33656002)(19627235002)(76116006)(66946007)(316002)(91956017)(52536014)(66446008)(7696005)(71200400001)(478600001)(66556008)(8936002)(5660300002)(66476007)(8676002)(2906002)(64756008)(41300700001)(6916009)(9686003)(6506007)(186003)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?wKfbw55H/BcxHH03J69NzW6zJSum13qdLmxoZl9VuBSs2wplfrbL8QPfpGKW?= =?us-ascii?Q?vj0G6J2u3WiLok0cUtAw9XKg5vH/Rgv3EzQS+nMt4U3rVHndAV9E3kCJH/qe?= =?us-ascii?Q?/261npAcadfIm2PD22+L2Xt0r0GgJBfWp02GeNlcmnQ8lWpZZEZWuGYxmhQc?= =?us-ascii?Q?GTkpmKEBBSNt1/FALMwz0OAOFQpDDIR6Xz0MKyyRfN5kz3jjhOTIWQYbD1eo?= =?us-ascii?Q?PHKDXpxrJdOEV0dEyRgr4vtpYV2SbzGuRIH8KkaLh8tFoWDjPCjPtEvPr0cw?= =?us-ascii?Q?c/pWrlr/MrGj0vF7x+MxXxywU9gAS9HLEMR3k+MYcQiHW2SeB4pK+c5tFoLb?= =?us-ascii?Q?QZRx14UIaq5Lme7o+gz+4fN+yJp3S8ENnzhKaoAhgvvM3aXma+icZVitC6tX?= =?us-ascii?Q?C7yR/+Vt+J/S0Gc/TQjzX8lbiY+qB7asT2WZCH31Vzb9poDPnhBhNS2O+udv?= =?us-ascii?Q?T5MAQc8k6TGklj23ePUUrrubqEMmvvxjyStvXZ9sKaXOGzQyWlBFU/80TAGB?= =?us-ascii?Q?nyXV8NNBgPIX2dafI6y7hHaoVxIHpNDjXKG2MGkjtzGdfuFAxATVjIPU3nM/?= =?us-ascii?Q?puj9iAeuQcRlB1rgvb5sG170GkeYkSzsfty2xi7tY8EiaPCx/yTeV9u+Ym9G?= =?us-ascii?Q?l3gGqScizsDd4jf23l9L3FJCXDRv+bTUoInbgZ4L3/42ppCvK8r0ZtlwfrEk?= =?us-ascii?Q?Cy53dZb+tCCVmuMVaQgqeEQJ3PL4QuYu/jWCUkgOOgqUwbphV3N7K+9t0m8D?= =?us-ascii?Q?23RFKE0rDGFBTtedSM73w2HyYfMnxb5LNBe32MBaAhf4JAherFC6Z/ogSHs7?= =?us-ascii?Q?kYrnF5UI+cU9hcU+GFIqsrprSGq0Iq9lytOua8Qq/yPGFwc/sAvdP06eBQ08?= =?us-ascii?Q?dPCvcO7yID2kyzkIxDLUMB0IyWvoh0TEe2WQwLMdVqYXUgtBlPaSp/LjlEPO?= =?us-ascii?Q?3GRqYj6lUqvibAxBx4pV5k14iAK7MNSbL2oHgJAZoTV4DE7A5zdz+u0HPMeU?= =?us-ascii?Q?Xvt6RgP3lyMFA+VlclDm/nflOcpOoPG0hFXq31rSP0a6n6StIVRDQKN5mQQj?= =?us-ascii?Q?/Uq8nGdDPUZHerM6EIFsS2s0qO7fyH9HkZLaflnYVSn7ffSaMkz47WHQ3q/+?= =?us-ascii?Q?oU6h4IQxt7cTLx165JTN9QpopgCYk4SbJFJUUZTA3JQXLUmG8w3yEipQanXz?= =?us-ascii?Q?L4muKU8JOhBSBKfVh9sYmrPEBz9q6eXz47XsEYrMKI3Spip01rOu1c8O5caD?= =?us-ascii?Q?IuoSkRV9krCbm7rstZLU4dEhYf9NGtK6GeeY4P/QxMeXM845ENF5pgk74nBI?= =?us-ascii?Q?SKbkOjhiRwSOMFx6X5tMmtctuRxOpfZ1q6raPMIZ4jgBDGLaXiTYP14Aj+Dt?= =?us-ascii?Q?ACc/EAq3LXUqEcOTuY99jaWAhbY2nC6kZxgEPrxFqdbMhnW6L61Un95h/HcE?= =?us-ascii?Q?wYycs3Orkyc4lc8VJM0IAojY7AmNzxA/Jtaocn63QGgcZAfEYbpVV2by2OUn?= =?us-ascii?Q?3gzYS7SpBMyHRW35Sb7rM77N7ZvEN9EycoUzXdaFpjIPU6GR/S4Ou6ypUjGC?= =?us-ascii?Q?mZA083iM9GQAURuBO5pX0zXORE6WSWh0J8/icENUnIjNM3y7+ncT2tq9HoGl?= =?us-ascii?Q?Tg=3D=3D?= Content-Type: multipart/mixed; boundary="_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_" 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: 2d93a3a1-44bd-45d6-7550-08db47d8c95d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2023 11:07:41.9825 (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: CT4FSppgZyaFfwaVbIuiuIWIHKVKRPSkP/L5ewRE9FCXashPiYMKyCvbmprkdgTxhVkdnZBuzpUDPUePXVX0Bw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR02MB9994 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avcodec/mediacodec: Add VP8 encoder 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: --_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Connected FFmpeg to Mediacodec VP8 encoder. Minor Version bump. --- configure | 1 + libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/mediacodec_wrapper.c | 4 ++++ libavcodec/mediacodecenc.c | 29 +++++++++++++++++++++++++++++ libavcodec/version.h | 2 +- 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/configure b/configure index bb7be67676..1aef227cd4 100755 --- a/configure +++ b/configure @@ -3239,6 +3239,7 @@ vc1_qsv_decoder_select=3D"qsvdec" vc1_v4l2m2m_decoder_deps=3D"v4l2_m2m vc1_v4l2_m2m" vp8_cuvid_decoder_deps=3D"cuvid" vp8_mediacodec_decoder_deps=3D"mediacodec" +vp8_mediacodec_encoder_deps=3D"mediacodec" vp8_qsv_decoder_select=3D"qsvdec" vp8_rkmpp_decoder_deps=3D"rkmpp" vp8_vaapi_encoder_deps=3D"VAEncPictureParameterBufferVP8" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index b0971ce833..512d5bd1b0 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -766,6 +766,7 @@ OBJS-$(CONFIG_VP7_DECODER) +=3D vp8.o vpx_r= ac.o OBJS-$(CONFIG_VP8_DECODER) +=3D vp8.o vpx_rac.o OBJS-$(CONFIG_VP8_CUVID_DECODER) +=3D cuviddec.o OBJS-$(CONFIG_VP8_MEDIACODEC_DECODER) +=3D mediacodecdec.o +OBJS-$(CONFIG_VP8_MEDIACODEC_ENCODER) +=3D mediacodecenc.o OBJS-$(CONFIG_VP8_QSV_DECODER) +=3D qsvdec.o OBJS-$(CONFIG_VP8_RKMPP_DECODER) +=3D rkmppdec.o OBJS-$(CONFIG_VP8_VAAPI_ENCODER) +=3D vaapi_encode_vp8.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 8eeed34e57..2e37db69fa 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -880,6 +880,7 @@ extern const FFCodec ff_prores_videotoolbox_encoder; extern const FFCodec ff_vc1_cuvid_decoder; extern const FFCodec ff_vp8_cuvid_decoder; extern const FFCodec ff_vp8_mediacodec_decoder; +extern const FFCodec ff_vp8_mediacodec_encoder; extern const FFCodec ff_vp8_qsv_decoder; extern const FFCodec ff_vp8_v4l2m2m_encoder; extern const FFCodec ff_vp8_vaapi_encoder; diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrappe= r.c index 1c29bb7406..8619735bfc 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -319,6 +319,8 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(= AVCodecContext *avctx) static const int HEVCProfileMain10HDR10 =3D 0x1000; static const int HEVCProfileMain10HDR10Plus =3D 0x2000; + static const int VP8ProfileMain =3D 0x01; + static const int VP9Profile0 =3D 0x01; static const int VP9Profile1 =3D 0x02; static const int VP9Profile2 =3D 0x04; @@ -387,6 +389,8 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(= AVCodecContext *avctx) case FF_PROFILE_HEVC_MAIN_10: return HEVCProfileMain10; } + } else if (avctx->codec_id =3D=3D AV_CODEC_ID_VP8) { + return VP8ProfileMain; } else if (avctx->codec_id =3D=3D AV_CODEC_ID_VP9) { switch (avctx->profile) { case FF_PROFILE_VP9_0: diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index e4b583a542..6f80dbb4a5 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_VP8: + codec_mime =3D "video/x-vnd.on2.vp8"; + break; case AV_CODEC_ID_VP9: codec_mime =3D "video/x-vnd.on2.vp9"; break; @@ -775,6 +778,32 @@ DECLARE_MEDIACODEC_ENCODER(hevc, "H.265", AV_CODEC_ID_= HEVC) #endif // CONFIG_HEVC_MEDIACODEC_ENCODER +#if CONFIG_VP8_MEDIACODEC_ENCODER + +enum MediaCodecVP8Level { + VP8Level_Version0 =3D 0x01, + VP8Level_Version1 =3D 0x02, + VP8Level_Version2 =3D 0x04, + VP8Level_Version3 =3D 0x08, +}; + +static const AVOption vp8_options[] =3D { + COMMON_OPTION + { "level", "Specify tier and level", + OFFSET(level), AV_OPT_TYPE_INT, {.i64 =3D 0}, 0, INT_MAX, = VE, "level" }, + { "V0", "Level Version 0", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP8Level_Version0 }, 0, = 0, VE, "level" }, + { "V1", "Level Version 1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP8Level_Version1 }, 0, = 0, VE, "level" }, + { "V2", "Level Version 2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP8Level_Version2 }, 0, = 0, VE, "level" }, + { "V3", "Level Version 3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D VP8Level_Version3 }, 0, = 0, VE, "level" }, + { NULL, } +}; + +#endif // CONFIG_VP8_MEDIACODEC_ENCODER + #if CONFIG_VP9_MEDIACODEC_ENCODER enum MediaCodecVP9Level { diff --git a/libavcodec/version.h b/libavcodec/version.h index 80e2ae630d..8b53586be1 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 10 +#define LIBAVCODEC_VERSION_MINOR 11 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ -- 2.35.2 --_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_ Content-Type: application/octet-stream; name="0001-avcodec-mediacodec-Add-VP8-encoder.patch.b64" Content-Description: 0001-avcodec-mediacodec-Add-VP8-encoder.patch.b64 Content-Disposition: attachment; filename="0001-avcodec-mediacodec-Add-VP8-encoder.patch.b64"; size=7085; creation-date="Fri, 28 Apr 2023 11:01:37 GMT"; modification-date="Fri, 28 Apr 2023 11:01:37 GMT" Content-Transfer-Encoding: base64 Um5KdmJTQmpOR1ZtTURNeU1HRm1OelF3TWpBME1UUXlaamRpT1RJNU5HWXdaakF6TVRFME1EUXlN MkpqSUUxdgpiaUJUWlhBZ01UY2dNREE2TURBNk1EQWdNakF3TVFwR2NtOXRPaUJUWVcxMVpXd2dU V2x5WVNBOGMyRnRkV1ZzCkxtMXBjbUZBY1hRdWFXOCtDa1JoZEdVNklGZGxaQ3dnTVRrZ1FYQnlJ REl3TWpNZ01qTTZNams2TVRnZ0t6QXoKTURBS1UzVmlhbVZqZERvZ1cxQkJWRU5JWFNCaGRtTnZa R1ZqTDIxbFpHbGhZMjlrWldNNklFRmtaQ0JXVURnZwpaVzVqYjJSbGNnb0tRMjl1Ym1WamRHVmtJ RVpHYlhCbFp5QjBieUJOWldScFlXTnZaR1ZqSUZaUU9DQmxibU52ClpHVnlMZ3BOYVc1dmNpQlda WEp6YVc5dUlHSjFiWEF1Q2kwdExRb2dZMjl1Wm1sbmRYSmxJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdJ Q0FnSUNBZ0lDQjhJQ0F4SUNzS0lHeHBZbUYyWTI5a1pXTXZUV0ZyWldacGJHVWdJQ0FnSUNBZwpJ Q0FnSUNBZ2ZDQWdNU0FyQ2lCc2FXSmhkbU52WkdWakwyRnNiR052WkdWamN5NWpJQ0FnSUNBZ0lD QWdJSHdnCklERWdLd29nYkdsaVlYWmpiMlJsWXk5dFpXUnBZV052WkdWalgzZHlZWEJ3WlhJdVl5 QjhJQ0EwSUNzckt5c0sKSUd4cFltRjJZMjlrWldNdmJXVmthV0ZqYjJSbFkyVnVZeTVqSUNBZ0lD QWdmQ0F5T1NBckt5c3JLeXNyS3lzcgpLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLd29nYkdsaVlY WmpiMlJsWXk5MlpYSnphVzl1TG1nZ0lDQWdJQ0FnCklDQWdJQ0I4SUNBeUlDc3RDaUEySUdacGJH VnpJR05vWVc1blpXUXNJRE0zSUdsdWMyVnlkR2x2Ym5Nb0t5a3MKSURFZ1pHVnNaWFJwYjI0b0xT a0tDbVJwWm1ZZ0xTMW5hWFFnWVM5amIyNW1hV2QxY21VZ1lpOWpiMjVtYVdkMQpjbVVLYVc1a1pY Z2dZbUkzWW1VMk56WTNOaTR1TVdGbFpqSXlOMk5rTkNBeE1EQTNOVFVLTFMwdElHRXZZMjl1Clpt bG5kWEpsQ2lzckt5QmlMMk52Ym1acFozVnlaUXBBUUNBdE16SXpPU3cySUNzek1qTTVMRGNnUUVB Z2RtTXgKWDNGemRsOWtaV052WkdWeVgzTmxiR1ZqZEQwaWNYTjJaR1ZqSWdvZ2RtTXhYM1kwYkRK dE1tMWZaR1ZqYjJSbApjbDlrWlhCelBTSjJOR3d5WDIweWJTQjJZekZmZGpSc01sOXRNbTBpQ2lC MmNEaGZZM1YyYVdSZlpHVmpiMlJsCmNsOWtaWEJ6UFNKamRYWnBaQ0lLSUhad09GOXRaV1JwWVdO dlpHVmpYMlJsWTI5a1pYSmZaR1Z3Y3owaWJXVmsKYVdGamIyUmxZeUlLSzNad09GOXRaV1JwWVdO dlpHVmpYMlZ1WTI5a1pYSmZaR1Z3Y3owaWJXVmthV0ZqYjJSbApZeUlLSUhad09GOXhjM1pmWkdW amIyUmxjbDl6Wld4bFkzUTlJbkZ6ZG1SbFl5SUtJSFp3T0Y5eWEyMXdjRjlrClpXTnZaR1Z5WDJS bGNITTlJbkpyYlhCd0lnb2dkbkE0WDNaaFlYQnBYMlZ1WTI5a1pYSmZaR1Z3Y3owaVZrRkYKYm1O UWFXTjBkWEpsVUdGeVlXMWxkR1Z5UW5WbVptVnlWbEE0SWdwa2FXWm1JQzB0WjJsMElHRXZiR2xp WVhaagpiMlJsWXk5TllXdGxabWxzWlNCaUwyeHBZbUYyWTI5a1pXTXZUV0ZyWldacGJHVUthVzVr WlhnZ1lqQTVOekZqClpUZ3pNeTR1TlRFeVpEVmlaREZpTUNBeE1EQTJORFFLTFMwdElHRXZiR2xp WVhaamIyUmxZeTlOWVd0bFptbHMKWlFvckt5c2dZaTlzYVdKaGRtTnZaR1ZqTDAxaGEyVm1hV3hs Q2tCQUlDMDNOallzTmlBck56WTJMRGNnUUVBZwpUMEpLVXkwa0tFTlBUa1pKUjE5V1VEZGZSRVZE VDBSRlVpa2dJQ0FnSUNBZ0lDQWdJQ0FnS3owZ2RuQTRMbThnCmRuQjRYM0poWXk1dkNpQlBRa3BU TFNRb1EwOU9Sa2xIWDFaUU9GOUVSVU5QUkVWU0tTQWdJQ0FnSUNBZ0lDQWcKSUNBclBTQjJjRGd1 YnlCMmNIaGZjbUZqTG04S0lFOUNTbE10SkNoRFQwNUdTVWRmVmxBNFgwTlZWa2xFWDBSRgpRMDlF UlZJcElDQWdJQ0FnSUNzOUlHTjFkbWxrWkdWakxtOEtJRTlDU2xNdEpDaERUMDVHU1VkZlZsQTRY MDFGClJFbEJRMDlFUlVOZlJFVkRUMFJGVWlrZ0lDczlJRzFsWkdsaFkyOWtaV05rWldNdWJ3b3JU MEpLVXkwa0tFTlAKVGtaSlIxOVdVRGhmVFVWRVNVRkRUMFJGUTE5RlRrTlBSRVZTS1NBZ0t6MGdi V1ZrYVdGamIyUmxZMlZ1WXk1dgpDaUJQUWtwVExTUW9RMDlPUmtsSFgxWlFPRjlSVTFaZlJFVkRU MFJGVWlrZ0lDQWdJQ0FnSUNBclBTQnhjM1prClpXTXVid29nVDBKS1V5MGtLRU5QVGtaSlIxOVdV RGhmVWt0TlVGQmZSRVZEVDBSRlVpa2dJQ0FnSUNBZ0t6MGcKY210dGNIQmtaV011YndvZ1QwSktV eTBrS0VOUFRrWkpSMTlXVURoZlZrRkJVRWxmUlU1RFQwUkZVaWtnSUNBZwpJQ0FnS3owZ2RtRmhj R2xmWlc1amIyUmxYM1p3T0M1dkNtUnBabVlnTFMxbmFYUWdZUzlzYVdKaGRtTnZaR1ZqCkwyRnNi R052WkdWamN5NWpJR0l2YkdsaVlYWmpiMlJsWXk5aGJHeGpiMlJsWTNNdVl3cHBibVJsZUNBNFpX VmwKWkRNMFpUVTNMaTR5WlRNM1pHSTJPV1poSURFd01EWTBOQW90TFMwZ1lTOXNhV0poZG1OdlpH VmpMMkZzYkdOdgpaR1ZqY3k1akNpc3JLeUJpTDJ4cFltRjJZMjlrWldNdllXeHNZMjlrWldOekxt TUtRRUFnTFRnNE1DdzJJQ3M0Ck9EQXNOeUJBUUNCbGVIUmxjbTRnWTI5dWMzUWdSa1pEYjJSbFl5 Qm1abDl3Y205eVpYTmZkbWxrWlc5MGIyOXMKWW05NFgyVnVZMjlrWlhJN0NpQmxlSFJsY200Z1ky OXVjM1FnUmtaRGIyUmxZeUJtWmw5Mll6RmZZM1YyYVdSZgpaR1ZqYjJSbGNqc0tJR1Y0ZEdWeWJp QmpiMjV6ZENCR1JrTnZaR1ZqSUdabVgzWndPRjlqZFhacFpGOWtaV052ClpHVnlPd29nWlhoMFpY SnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmZkbkE0WDIxbFpHbGhZMjlrWldOZlpHVmoKYjJSbGNq c0tLMlY0ZEdWeWJpQmpiMjV6ZENCR1JrTnZaR1ZqSUdabVgzWndPRjl0WldScFlXTnZaR1ZqWDJW dQpZMjlrWlhJN0NpQmxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5MmNEaGZjWE4yWDJS bFkyOWtaWEk3CkNpQmxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5MmNEaGZkalJzTW0w eWJWOWxibU52WkdWeU93b2cKWlhoMFpYSnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmZkbkE0WDNa aFlYQnBYMlZ1WTI5a1pYSTdDbVJwWm1ZZwpMUzFuYVhRZ1lTOXNhV0poZG1OdlpHVmpMMjFsWkds aFkyOWtaV05mZDNKaGNIQmxjaTVqSUdJdmJHbGlZWFpqCmIyUmxZeTl0WldScFlXTnZaR1ZqWDNk eVlYQndaWEl1WXdwcGJtUmxlQ0F4WXpJNVltSTNOREEyTGk0NE5qRTUKTnpNMVltWmpJREV3TURZ ME5Bb3RMUzBnWVM5c2FXSmhkbU52WkdWakwyMWxaR2xoWTI5a1pXTmZkM0poY0hCbApjaTVqQ2lz ckt5QmlMMnhwWW1GMlkyOWtaV012YldWa2FXRmpiMlJsWTE5M2NtRndjR1Z5TG1NS1FFQWdMVE14 Ck9TdzJJQ3N6TVRrc09DQkFRQ0JwYm5RZ1ptWmZRVTFsWkdsaFEyOWtaV05RY205bWFXeGxYMmRs ZEZCeWIyWnAKYkdWR2NtOXRRVlpEYjJSbFkwTnZiblJsZUhRb1FWWkRiMlJsWTBOdmJuUmxlSFFn S21GMlkzUjRLUW9nSUNBZwpJSE4wWVhScFl5QmpiMjV6ZENCcGJuUWdTRVZXUTFCeWIyWnBiR1ZO WVdsdU1UQklSRkl4TUNBOUlEQjRNVEF3Ck1Ec0tJQ0FnSUNCemRHRjBhV01nWTI5dWMzUWdhVzUw SUVoRlZrTlFjbTltYVd4bFRXRnBiakV3U0VSU01UQlEKYkhWeklEMGdNSGd5TURBd093b2dDaXNn SUNBZ2MzUmhkR2xqSUdOdmJuTjBJR2x1ZENCV1VEaFFjbTltYVd4bApUV0ZwYmlBOUlEQjRNREU3 Q2lzS0lDQWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRlpRT1ZCeWIyWnBiR1V3CklEMGdNSGd3 TVRzS0lDQWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRlpRT1ZCeWIyWnBiR1V4SUQwZ01IZ3cK TWpzS0lDQWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRlpRT1ZCeWIyWnBiR1V5SUQwZ01IZ3dO RHNLUUVBZwpMVE00Tnl3MklDc3pPRGtzT0NCQVFDQnBiblFnWm1aZlFVMWxaR2xoUTI5a1pXTlFj bTltYVd4bFgyZGxkRkJ5CmIyWnBiR1ZHY205dFFWWkRiMlJsWTBOdmJuUmxlSFFvUVZaRGIyUmxZ ME52Ym5SbGVIUWdLbUYyWTNSNEtRb2cKSUNBZ0lDQWdJQ0JqWVhObElFWkdYMUJTVDBaSlRFVmZT RVZXUTE5TlFVbE9YekV3T2dvZ0lDQWdJQ0FnSUNBZwpJQ0FnY21WMGRYSnVJRWhGVmtOUWNtOW1h V3hsVFdGcGJqRXdPd29nSUNBZ0lDQWdJQ0I5Q2lzZ0lDQWdmU0JsCmJITmxJR2xtSUNoaGRtTjBl QzArWTI5a1pXTmZhV1FnUFQwZ1FWWmZRMDlFUlVOZlNVUmZWbEE0S1NCN0Npc2cKSUNBZ0lDQWdJ SEpsZEhWeWJpQldVRGhRY205bWFXeGxUV0ZwYmpzS0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dGMgpZ M1I0TFQ1amIyUmxZMTlwWkNBOVBTQkJWbDlEVDBSRlExOUpSRjlXVURrcElIc0tJQ0FnSUNBZ0lD QWdjM2RwCmRHTm9JQ2hoZG1OMGVDMCtjSEp2Wm1sc1pTa2dld29nSUNBZ0lDQWdJQ0JqWVhObElF WkdYMUJTVDBaSlRFVmYKVmxBNVh6QTZDbVJwWm1ZZ0xTMW5hWFFnWVM5c2FXSmhkbU52WkdWakwy MWxaR2xoWTI5a1pXTmxibU11WXlCaQpMMnhwWW1GMlkyOWtaV012YldWa2FXRmpiMlJsWTJWdVl5 NWpDbWx1WkdWNElHVTBZalU0TTJFMU5ESXVMalptCk9EQmtZbUkwWVRVZ01UQXdOalEwQ2kwdExT QmhMMnhwWW1GMlkyOWtaV012YldWa2FXRmpiMlJsWTJWdVl5NWoKQ2lzckt5QmlMMnhwWW1GMlky OWtaV012YldWa2FXRmpiMlJsWTJWdVl5NWpDa0JBSUMweE5qUXNOaUFyTVRZMApMRGtnUUVBZ2Mz UmhkR2xqSUdGMlgyTnZiR1FnYVc1MElHMWxaR2xoWTI5a1pXTmZhVzVwZENoQlZrTnZaR1ZqClEy OXVkR1Y0ZENBcVlYWmpkSGdwQ2lBZ0lDQWdZMkZ6WlNCQlZsOURUMFJGUTE5SlJGOUlSVlpET2dv Z0lDQWcKSUNBZ0lDQmpiMlJsWTE5dGFXMWxJRDBnSW5acFpHVnZMMmhsZG1NaU93b2dJQ0FnSUNB Z0lDQmljbVZoYXpzSwpLeUFnSUNCallYTmxJRUZXWDBOUFJFVkRYMGxFWDFaUU9Eb0tLeUFnSUNB Z0lDQWdZMjlrWldOZmJXbHRaU0E5CklDSjJhV1JsYnk5NExYWnVaQzV2YmpJdWRuQTRJanNLS3lB Z0lDQWdJQ0FnWW5KbFlXczdDaUFnSUNBZ1kyRnoKWlNCQlZsOURUMFJGUTE5SlJGOVdVRGs2Q2lB Z0lDQWdJQ0FnSUdOdlpHVmpYMjFwYldVZ1BTQWlkbWxrWlc4dgplQzEyYm1RdWIyNHlMblp3T1NJ N0NpQWdJQ0FnSUNBZ0lHSnlaV0ZyT3dwQVFDQXROemMxTERZZ0t6YzNPQ3d6Ck1pQkFRQ0JFUlVO TVFWSkZYMDFGUkVsQlEwOUVSVU5mUlU1RFQwUkZVaWhvWlhaakxDQWlTQzR5TmpVaUxDQkIKVmw5 RFQwUkZRMTlKUkY5SVJWWkRLUW9nQ2lBalpXNWthV1lnSUM4dklFTlBUa1pKUjE5SVJWWkRYMDFG UkVsQgpRMDlFUlVOZlJVNURUMFJGVWdvZ0Npc2phV1lnUTA5T1JrbEhYMVpRT0Y5TlJVUkpRVU5Q UkVWRFgwVk9RMDlFClJWSUtLd29yWlc1MWJTQk5aV1JwWVVOdlpHVmpWbEE0VEdWMlpXd2dld29y SUNBZ0lGWlFPRXhsZG1Wc1gxWmwKY25OcGIyNHdJRDBnTUhnd01Td0tLeUFnSUNCV1VEaE1aWFps YkY5V1pYSnphVzl1TVNBOUlEQjRNRElzQ2lzZwpJQ0FnVmxBNFRHVjJaV3hmVm1WeWMybHZiakln UFNBd2VEQTBMQW9ySUNBZ0lGWlFPRXhsZG1Wc1gxWmxjbk5wCmIyNHpJRDBnTUhnd09Dd0tLMzA3 Q2lzS0szTjBZWFJwWXlCamIyNXpkQ0JCVms5d2RHbHZiaUIyY0RoZmIzQjAKYVc5dWMxdGRJRDBn ZXdvcklDQWdJRU5QVFUxUFRsOVBVRlJKVDA0S0t5QWdJQ0I3SUNKc1pYWmxiQ0lzSUNKVApjR1Zq YVdaNUlIUnBaWElnWVc1a0lHeGxkbVZzSWl3S0t5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCUFJrWlRS VlFvCmJHVjJaV3dwTENCQlZsOVBVRlJmVkZsUVJWOUpUbFFzSUhzdWFUWTBJRDBnTUgwc0lEQXNJ RWxPVkY5TlFWZ3MKSUZaRkxDQWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlWakFpTENBZ0lDQWlU R1YyWld3Z1ZtVnljMmx2YmlBdwpJaXdLS3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TENCQlZsOVBV RlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwCklEMGdWbEE0VEdWMlpXeGZWbVZ5YzJsdmJqQWdm U3dnSURBc0lEQXNJRlpGTENBZ0lteGxkbVZzSWlCOUxBb3IKSUNBZ0lIc2dJbFl4SWl3Z0lDQWdJ a3hsZG1Wc0lGWmxjbk5wYjI0Z01TSXNDaXNnSUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnTUN3Z1FWWmZU MUJVWDFSWlVFVmZRMDlPVTFRc0lIc2dMbWsyTkNBOUlGWlFPRXhsZG1Wc1gxWmxjbk5wCmIyNHhJ SDBzSUNBd0xDQXdMQ0JXUlN3Z0lDSnNaWFpsYkNJZ2ZTd0tLeUFnSUNCN0lDSldNaUlzSUNBZ0lD Sk0KWlhabGJDQldaWEp6YVc5dUlESWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzSUVGV1gw OVFWRjlVV1ZCRgpYME5QVGxOVUxDQjdJQzVwTmpRZ1BTQldVRGhNWlhabGJGOVdaWEp6YVc5dU1p QjlMQ0FnTUN3Z01Dd2dWa1VzCklDQWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlWak1pTENBZ0lD QWlUR1YyWld3Z1ZtVnljMmx2YmlBeklpd0sKS3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TENCQlZs OVBVRlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwSUQwZwpWbEE0VEdWMlpXeGZWbVZ5YzJsdmJq TWdmU3dnSURBc0lEQXNJRlpGTENBZ0lteGxkbVZzSWlCOUxBb3JJQ0FnCklIc2dUbFZNVEN3Z2ZR b3JmVHNLS3dvckkyVnVaR2xtSUNBdkx5QkRUMDVHU1VkZlZsQTRYMDFGUkVsQlEwOUUKUlVOZlJV NURUMFJGVWdvckNpQWphV1lnUTA5T1JrbEhYMVpRT1Y5TlJVUkpRVU5QUkVWRFgwVk9RMDlFUlZJ SwpJQW9nWlc1MWJTQk5aV1JwWVVOdlpHVmpWbEE1VEdWMlpXd2dld3BrYVdabUlDMHRaMmwwSUdF dmJHbGlZWFpqCmIyUmxZeTkyWlhKemFXOXVMbWdnWWk5c2FXSmhkbU52WkdWakwzWmxjbk5wYjI0 dWFBcHBibVJsZUNBNE1HVXkKWVdVMk16QmtMaTQ0WWpVek5UZzJZbVV4SURFd01EWTBOQW90TFMw Z1lTOXNhV0poZG1OdlpHVmpMM1psY25OcApiMjR1YUFvckt5c2dZaTlzYVdKaGRtTnZaR1ZqTDNa bGNuTnBiMjR1YUFwQVFDQXRNamtzTnlBck1qa3NOeUJBClFBb2dDaUFqYVc1amJIVmtaU0FpZG1W eWMybHZibDl0WVdwdmNpNW9JZ29nQ2kwalpHVm1hVzVsSUV4SlFrRlcKUTA5RVJVTmZWa1ZTVTBs UFRsOU5TVTVQVWlBZ01UQUtLeU5rWldacGJtVWdURWxDUVZaRFQwUkZRMTlXUlZKVApTVTlPWDAx SlRrOVNJQ0F4TVFvZ0kyUmxabWx1WlNCTVNVSkJWa05QUkVWRFgxWkZVbE5KVDA1ZlRVbERVazhn Ck1UQXdDaUFLSUNOa1pXWnBibVVnVEVsQ1FWWkRUMFJGUTE5V1JWSlRTVTlPWDBsT1ZDQWdRVlpm VmtWU1UwbFAKVGw5SlRsUW9URWxDUVZaRFQwUkZRMTlXUlZKVFNVOU9YMDFCU2s5U0xDQmNDaTB0 SUFveUxqTTFMaklLQ2c9PQo= --_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_ Content-Type: application/octet-stream; name="0001-avcodec-mediacodec-Add-VP8-encoder.patch" Content-Description: 0001-avcodec-mediacodec-Add-VP8-encoder.patch Content-Disposition: attachment; filename="0001-avcodec-mediacodec-Add-VP8-encoder.patch"; size=5230; creation-date="Fri, 28 Apr 2023 11:03:50 GMT"; modification-date="Fri, 28 Apr 2023 11:03:50 GMT" Content-Transfer-Encoding: base64 RnJvbSBjNGVmMDMyMGFmNzQwMjA0MTQyZjdiOTI5NGYwZjAzMTE0MDQyM2JjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW11ZWwgTWlyYSA8c2FtdWVsLm1pcmFAcXQuaW8+CkRhdGU6 IFdlZCwgMTkgQXByIDIwMjMgMjM6Mjk6MTggKzAzMDAKU3ViamVjdDogW1BBVENIXSBhdmNvZGVj L21lZGlhY29kZWM6IEFkZCBWUDggZW5jb2RlcgoKQ29ubmVjdGVkIEZGbXBlZyB0byBNZWRpYWNv ZGVjIFZQOCBlbmNvZGVyLgpNaW5vciBWZXJzaW9uIGJ1bXAuCi0tLQogY29uZmlndXJlICAgICAg ICAgICAgICAgICAgICAgICB8ICAxICsKIGxpYmF2Y29kZWMvTWFrZWZpbGUgICAgICAgICAgICAg fCAgMSArCiBsaWJhdmNvZGVjL2FsbGNvZGVjcy5jICAgICAgICAgIHwgIDEgKwogbGliYXZjb2Rl Yy9tZWRpYWNvZGVjX3dyYXBwZXIuYyB8ICA0ICsrKysKIGxpYmF2Y29kZWMvbWVkaWFjb2RlY2Vu Yy5jICAgICAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliYXZjb2RlYy92 ZXJzaW9uLmggICAgICAgICAgICB8ICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUK aW5kZXggYmI3YmU2NzY3Ni4uMWFlZjIyN2NkNCAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBi L2NvbmZpZ3VyZQpAQCAtMzIzOSw2ICszMjM5LDcgQEAgdmMxX3Fzdl9kZWNvZGVyX3NlbGVjdD0i cXN2ZGVjIgogdmMxX3Y0bDJtMm1fZGVjb2Rlcl9kZXBzPSJ2NGwyX20ybSB2YzFfdjRsMl9tMm0i CiB2cDhfY3V2aWRfZGVjb2Rlcl9kZXBzPSJjdXZpZCIKIHZwOF9tZWRpYWNvZGVjX2RlY29kZXJf ZGVwcz0ibWVkaWFjb2RlYyIKK3ZwOF9tZWRpYWNvZGVjX2VuY29kZXJfZGVwcz0ibWVkaWFjb2Rl YyIKIHZwOF9xc3ZfZGVjb2Rlcl9zZWxlY3Q9InFzdmRlYyIKIHZwOF9ya21wcF9kZWNvZGVyX2Rl cHM9InJrbXBwIgogdnA4X3ZhYXBpX2VuY29kZXJfZGVwcz0iVkFFbmNQaWN0dXJlUGFyYW1ldGVy QnVmZmVyVlA4IgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9NYWtlZmlsZSBiL2xpYmF2Y29kZWMv TWFrZWZpbGUKaW5kZXggYjA5NzFjZTgzMy4uNTEyZDViZDFiMCAxMDA2NDQKLS0tIGEvbGliYXZj b2RlYy9NYWtlZmlsZQorKysgYi9saWJhdmNvZGVjL01ha2VmaWxlCkBAIC03NjYsNiArNzY2LDcg QEAgT0JKUy0kKENPTkZJR19WUDdfREVDT0RFUikgICAgICAgICAgICAgKz0gdnA4Lm8gdnB4X3Jh Yy5vCiBPQkpTLSQoQ09ORklHX1ZQOF9ERUNPREVSKSAgICAgICAgICAgICArPSB2cDgubyB2cHhf cmFjLm8KIE9CSlMtJChDT05GSUdfVlA4X0NVVklEX0RFQ09ERVIpICAgICAgICs9IGN1dmlkZGVj Lm8KIE9CSlMtJChDT05GSUdfVlA4X01FRElBQ09ERUNfREVDT0RFUikgICs9IG1lZGlhY29kZWNk ZWMubworT0JKUy0kKENPTkZJR19WUDhfTUVESUFDT0RFQ19FTkNPREVSKSAgKz0gbWVkaWFjb2Rl Y2VuYy5vCiBPQkpTLSQoQ09ORklHX1ZQOF9RU1ZfREVDT0RFUikgICAgICAgICArPSBxc3ZkZWMu bwogT0JKUy0kKENPTkZJR19WUDhfUktNUFBfREVDT0RFUikgICAgICAgKz0gcmttcHBkZWMubwog T0JKUy0kKENPTkZJR19WUDhfVkFBUElfRU5DT0RFUikgICAgICAgKz0gdmFhcGlfZW5jb2RlX3Zw OC5vCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FsbGNvZGVjcy5jIGIvbGliYXZjb2RlYy9hbGxj b2RlY3MuYwppbmRleCA4ZWVlZDM0ZTU3Li4yZTM3ZGI2OWZhIDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL2FsbGNvZGVjcy5jCisrKyBiL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMKQEAgLTg4MCw2ICs4 ODAsNyBAQCBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9wcm9yZXNfdmlkZW90b29sYm94X2VuY29k ZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl92YzFfY3V2aWRfZGVjb2RlcjsKIGV4dGVybiBj b25zdCBGRkNvZGVjIGZmX3ZwOF9jdXZpZF9kZWNvZGVyOwogZXh0ZXJuIGNvbnN0IEZGQ29kZWMg ZmZfdnA4X21lZGlhY29kZWNfZGVjb2RlcjsKK2V4dGVybiBjb25zdCBGRkNvZGVjIGZmX3ZwOF9t ZWRpYWNvZGVjX2VuY29kZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl92cDhfcXN2X2RlY29k ZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl92cDhfdjRsMm0ybV9lbmNvZGVyOwogZXh0ZXJu IGNvbnN0IEZGQ29kZWMgZmZfdnA4X3ZhYXBpX2VuY29kZXI7CmRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL21lZGlhY29kZWNfd3JhcHBlci5jIGIvbGliYXZjb2RlYy9tZWRpYWNvZGVjX3dyYXBwZXIu YwppbmRleCAxYzI5YmI3NDA2Li44NjE5NzM1YmZjIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL21l ZGlhY29kZWNfd3JhcHBlci5jCisrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY193cmFwcGVyLmMK QEAgLTMxOSw2ICszMTksOCBAQCBpbnQgZmZfQU1lZGlhQ29kZWNQcm9maWxlX2dldFByb2ZpbGVG cm9tQVZDb2RlY0NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgIHN0YXRpYyBjb25z dCBpbnQgSEVWQ1Byb2ZpbGVNYWluMTBIRFIxMCA9IDB4MTAwMDsKICAgICBzdGF0aWMgY29uc3Qg aW50IEhFVkNQcm9maWxlTWFpbjEwSERSMTBQbHVzID0gMHgyMDAwOwogCisgICAgc3RhdGljIGNv bnN0IGludCBWUDhQcm9maWxlTWFpbiA9IDB4MDE7CisKICAgICBzdGF0aWMgY29uc3QgaW50IFZQ OVByb2ZpbGUwID0gMHgwMTsKICAgICBzdGF0aWMgY29uc3QgaW50IFZQOVByb2ZpbGUxID0gMHgw MjsKICAgICBzdGF0aWMgY29uc3QgaW50IFZQOVByb2ZpbGUyID0gMHgwNDsKQEAgLTM4Nyw2ICsz ODksOCBAQCBpbnQgZmZfQU1lZGlhQ29kZWNQcm9maWxlX2dldFByb2ZpbGVGcm9tQVZDb2RlY0Nv bnRleHQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICBjYXNlIEZGX1BST0ZJTEVfSEVW Q19NQUlOXzEwOgogICAgICAgICAgICAgcmV0dXJuIEhFVkNQcm9maWxlTWFpbjEwOwogICAgICAg ICB9CisgICAgfSBlbHNlIGlmIChhdmN0eC0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA4KSB7 CisgICAgICAgIHJldHVybiBWUDhQcm9maWxlTWFpbjsKICAgICB9IGVsc2UgaWYgKGF2Y3R4LT5j b2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDkpIHsKICAgICAgICAgc3dpdGNoIChhdmN0eC0+cHJv ZmlsZSkgewogICAgICAgICBjYXNlIEZGX1BST0ZJTEVfVlA5XzA6CmRpZmYgLS1naXQgYS9saWJh dmNvZGVjL21lZGlhY29kZWNlbmMuYyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5jCmluZGV4 IGU0YjU4M2E1NDIuLjZmODBkYmI0YTUgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWVkaWFjb2Rl Y2VuYy5jCisrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5jCkBAIC0xNjQsNiArMTY0LDkg QEAgc3RhdGljIGF2X2NvbGQgaW50IG1lZGlhY29kZWNfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZj dHgpCiAgICAgY2FzZSBBVl9DT0RFQ19JRF9IRVZDOgogICAgICAgICBjb2RlY19taW1lID0gInZp ZGVvL2hldmMiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEFWX0NPREVDX0lEX1ZQODoKKyAg ICAgICAgY29kZWNfbWltZSA9ICJ2aWRlby94LXZuZC5vbjIudnA4IjsKKyAgICAgICAgYnJlYWs7 CiAgICAgY2FzZSBBVl9DT0RFQ19JRF9WUDk6CiAgICAgICAgIGNvZGVjX21pbWUgPSAidmlkZW8v eC12bmQub24yLnZwOSI7CiAgICAgICAgIGJyZWFrOwpAQCAtNzc1LDYgKzc3OCwzMiBAQCBERUNM QVJFX01FRElBQ09ERUNfRU5DT0RFUihoZXZjLCAiSC4yNjUiLCBBVl9DT0RFQ19JRF9IRVZDKQog CiAjZW5kaWYgIC8vIENPTkZJR19IRVZDX01FRElBQ09ERUNfRU5DT0RFUgogCisjaWYgQ09ORklH X1ZQOF9NRURJQUNPREVDX0VOQ09ERVIKKworZW51bSBNZWRpYUNvZGVjVlA4TGV2ZWwgeworICAg IFZQOExldmVsX1ZlcnNpb24wID0gMHgwMSwKKyAgICBWUDhMZXZlbF9WZXJzaW9uMSA9IDB4MDIs CisgICAgVlA4TGV2ZWxfVmVyc2lvbjIgPSAweDA0LAorICAgIFZQOExldmVsX1ZlcnNpb24zID0g MHgwOCwKK307CisKK3N0YXRpYyBjb25zdCBBVk9wdGlvbiB2cDhfb3B0aW9uc1tdID0geworICAg IENPTU1PTl9PUFRJT04KKyAgICB7ICJsZXZlbCIsICJTcGVjaWZ5IHRpZXIgYW5kIGxldmVsIiwK KyAgICAgICAgICAgICAgICBPRkZTRVQobGV2ZWwpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0ID0g MH0sIDAsIElOVF9NQVgsIFZFLCAibGV2ZWwiIH0sCisgICAgeyAiVjAiLCAgICAiTGV2ZWwgVmVy c2lvbiAwIiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0g VlA4TGV2ZWxfVmVyc2lvbjAgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIlYxIiwg ICAgIkxldmVsIFZlcnNpb24gMSIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09O U1QsIHsgLmk2NCA9IFZQOExldmVsX1ZlcnNpb24xIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwK KyAgICB7ICJWMiIsICAgICJMZXZlbCBWZXJzaW9uIDIiLAorICAgICAgICAgICAgICAgIDAsIEFW X09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBWUDhMZXZlbF9WZXJzaW9uMiB9LCAgMCwgMCwgVkUs ICAibGV2ZWwiIH0sCisgICAgeyAiVjMiLCAgICAiTGV2ZWwgVmVyc2lvbiAzIiwKKyAgICAgICAg ICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gVlA4TGV2ZWxfVmVyc2lvbjMg fSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgTlVMTCwgfQorfTsKKworI2VuZGlmICAv LyBDT05GSUdfVlA4X01FRElBQ09ERUNfRU5DT0RFUgorCiAjaWYgQ09ORklHX1ZQOV9NRURJQUNP REVDX0VOQ09ERVIKIAogZW51bSBNZWRpYUNvZGVjVlA5TGV2ZWwgewpkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy92ZXJzaW9uLmggYi9saWJhdmNvZGVjL3ZlcnNpb24uaAppbmRleCA4MGUyYWU2MzBk Li44YjUzNTg2YmUxIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3ZlcnNpb24uaAorKysgYi9saWJh dmNvZGVjL3ZlcnNpb24uaApAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAidmVyc2lvbl9t YWpvci5oIgogCi0jZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9NSU5PUiAgMTAKKyNkZWZpbmUg TElCQVZDT0RFQ19WRVJTSU9OX01JTk9SICAxMQogI2RlZmluZSBMSUJBVkNPREVDX1ZFUlNJT05f TUlDUk8gMTAwCiAKICNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCAgQVZfVkVSU0lPTl9J TlQoTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SLCBcCi0tIAoyLjM1LjIKCg== --_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_ 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". --_005_DBAPR02MB61656446F17F24BF8BE056E2ED6B9DBAPR02MB6165eurp_--