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 D506944E07 for ; Wed, 26 Apr 2023 14:02:41 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AAAF368BEF8; Wed, 26 Apr 2023 17:02:39 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2119.outbound.protection.outlook.com [40.107.14.119]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E10768838B for ; Wed, 26 Apr 2023 17:02:33 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JJtmfLljc9S7sx/U0FkCym8KhvCBjHXMeiY7LGWMgWxrXDjjdpkrkI0CzADu13QqV9QOCxhjMIPSESaffRXuizhbnPFMkXKE+H+J0FxK6icOLmHOnC1uJAixT53P8VEPXMPy4BUv8MmGqHJPXusKIvkiltdj0ldO6HoqC/YwxvlqogJ2tKPBaEOBUx/WbksL0FW9xr1cQBRvA0brFbUKNmkn8SBUbl6lbT53IXhK31RiNIHYo8OJuxRtK9g+EsEyLHeb9SOfg8mrc5RqW3tns58lLHhiILtHp2KsBl7AnnWRkFmrcGtHKCET4mjZm0PXU6HbxiYROxOJtL4JXoPQQg== 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=pt2eZJvxhRPYXfQe+JaGPssCm1cNr6GjwapxRNgFqq4=; b=QK9zbtLK4RHacn7p5eLlqiewMTaCa9vFhxECliF5kzxaB9c/FFtiNFhQPmLa/y7ra/sdV1m0ZyAN/FitzjICcTCYdcDas3ljSKUKEukuSxdqGIVYAkYNCHYamaBpVOc8Z7ytdFGvF1vu1vmOuZDUa2+OTcZtk7yYFMx4zlsVvXfPNDw0m1sa/qG5KSIw/T5rjiodou6sk/SovGdQqFXj5MfrqvW+GlERrvarISHjGSHYYzaExS6e3ISjTdeeXDSwIuhmM0WJNEO8YNcRtwotCsWEAFh5wGpcR15wWgaBGey2iqPoIUnUfncXL+VUHaBhl+EMNhvnAj7oXGH08eo5yg== 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=pt2eZJvxhRPYXfQe+JaGPssCm1cNr6GjwapxRNgFqq4=; b=c2ecwrFEE8MSbE+lWRWd8PeGHUx7jCBj1n+JlvIVmQshkXYrQShLSdhEL8+FQekblHdNstOYrMQaVaz1NCc1cBRdYSprdkfieOaqc/ApsBpHgaJURbY7I1ZZYsYAzmERwmE5S+saoPK6VhIy6d68M6umWPKNSmGV8ZNci9WMx60= Received: from PR3PR02MB6169.eurprd02.prod.outlook.com (2603:10a6:102:62::20) by AS8PR02MB7190.eurprd02.prod.outlook.com (2603:10a6:20b:3f4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Wed, 26 Apr 2023 14:02:31 +0000 Received: from PR3PR02MB6169.eurprd02.prod.outlook.com ([fe80::a1f4:9808:62b4:161d]) by PR3PR02MB6169.eurprd02.prod.outlook.com ([fe80::a1f4:9808:62b4:161d%6]) with mapi id 15.20.6340.021; Wed, 26 Apr 2023 14:02:31 +0000 From: Samuel Raposo Vieira Mira To: FFmpeg development discussions and patches Thread-Topic: [PATCH] avcodec/mediacodec: Add AV1 encoder Thread-Index: AQHZeEePUEnIy4ZLf0+Y0J85g0xglw== Date: Wed, 26 Apr 2023 14:02:31 +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: PR3PR02MB6169:EE_|AS8PR02MB7190:EE_ x-ms-office365-filtering-correlation-id: d45b6d5f-4bac-4b7e-82b2-08db465ee092 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jzeE7fUM/DEv2dTACl+cq06//ASlgP2w1K+aAihz+0bAhC8VYDBfk9TomQC2IDHg5za8HfDtjZe2BS9wUnQqYx/a9qVQlOqXNoUTEGl1tQ53mF0TmBNGuzuXyWF0i5KpAKHwn2+AXp75haUMQ9jGvXLMPGxsM7dJCQU3Nu5jrk+DnS3qoyU+UXA5n1dyQF/cPiY6ZWq2CCggS2zV9MKIUskeDwWgKdS5Zjc7jz8zBwHYQ6kFELpK9/T4okBAP8yZpA06VffBEDiWYMdJyhNeuBWeMYwauXleto4reGwUiGb+GTvV5EEZ1KL+/fNfeENHvbhUriarFebkDlJ+yGbtrIa927QvJ4Uogd930GYoo7V8trXdA1ayPF/J0kTx+u4nlycnTi1TnHwvffxPeIE3CUz+llrZZ0l2WlAcEe2euiTOw3zErAzb//BJYYfdNFKxMwfJo7FrW4JdtkPRO3wKbDWRJJutDfReNzKKvuiFwMiOJ4VUDgoLxh3doDGrgBkrisrOPVroYsYyAgIUkbtXBBeiI+uaGE7Ij2L8CAd4XJRps/8L8I80ElUVspx0x45BD+5pXUZD/LHbiw2vV8rK3Cs5UpkxyaH6pNEyIxEFHzhXwW85+yy03mKXLFyZ5Hv8 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PR3PR02MB6169.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(136003)(366004)(376002)(39850400004)(451199021)(83380400001)(76116006)(91956017)(7696005)(71200400001)(478600001)(6916009)(19627235002)(26005)(6506007)(9686003)(186003)(64756008)(5660300002)(52536014)(33656002)(122000001)(38100700002)(66556008)(66446008)(99936003)(66476007)(86362001)(41300700001)(66946007)(8936002)(38070700005)(55016003)(316002)(8676002)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?VX5s7DsI1Mibrr9cfs+i+rzmlOVKvU50+rJmAbn9v1JN9RrcpNPcc8GTPjIq?= =?us-ascii?Q?E1kxegrm2l7VTQ+DJe29H8T3RG7Q9xiU/l3IBvrHnOgd4cCwlTw2BxDzCSZr?= =?us-ascii?Q?NiPzKhocdPWxFrEUXgdgqyju2O606lYjBI/FL4Cs+U6Ojp5U+HvzIEO/+Lkh?= =?us-ascii?Q?Wv2SeO89KyE35CJxwQWTixBRUzjfj4tgG0q5ffnriBlAztbyneg9UWwRirMd?= =?us-ascii?Q?6byucIcsGlfhhMUziIn6+26OAlKGVkZ+1ymDW63Ki0UqyVWlY0Nnwy6+H9K5?= =?us-ascii?Q?E7IFlnGZHzyMFLR0xXGYr1nSSj0ka/fP72D01GIsGa2vCqElxuLA3htLUpAH?= =?us-ascii?Q?VjFPvrXQGtuORXrPnNTQJfVwRsfqZldZAiyEhhhQGm/65SchoBdDdMZegGib?= =?us-ascii?Q?biZtHhHFTB19rpru0mFB4m17SSI/ph7yK2T9vtH2kjsUlN6Fj9Ya9urvJlb6?= =?us-ascii?Q?KFjafsQb7VZN0d0dM6Kn1O0H/gZarWgubabPEcOyvF7/QngnCyLi5kFgnSAs?= =?us-ascii?Q?UXo6Y3s4Y3uzHXbFZCGlL9nXic8gm0aqY4cD+Pam9HuNGceSn0NAFJf9AGid?= =?us-ascii?Q?fTdVrE2fqmRubOJRpKxbr8g8yTZdlJ6VAK/yydm76MzPrAtTx8ET7SXE6XZI?= =?us-ascii?Q?dvyGhIuF0hA0E3s9+2KPkZHztT1tNorycuxA3q+iq+48dJJclrsghk0HLSlK?= =?us-ascii?Q?lyFhP9hR1Y6zSC2RMfuQHsGERRvu358tNF/bS2pHCW3yb9wZzkcIhpJSd4sN?= =?us-ascii?Q?4dpBulUqXHCqqK7PWnbjJpkVRxP8aSuej6nIse9TY4JhdYsiLL3pR6R84hoY?= =?us-ascii?Q?O3HZ35WTaKamZuE/uHR8iVnwko/CEHZ6y1RCXbyi1EvjIboVeuyBRteE5cSI?= =?us-ascii?Q?ZfSoD0e5th1S2uvCKlk4XtJNmE+H0j7dGhoog8VQqXXEJcA3/sT3SoTcHNfM?= =?us-ascii?Q?mnd/8Kutv4u3pY2x51GRujBJWzQOsIMVQnfnXQdGoin+XyS8Doh14FjQHePi?= =?us-ascii?Q?vT2p5xW2CgU0s7C80AbhhLASjX2lewXoR3LBlOPzwuy4x0pY+jrjO4148S+T?= =?us-ascii?Q?4pYRJk0QguIMQlcCpx77IU5dDCkcFwEXwWSoPAX0Tx+6ncY48mqDE6G7CGbe?= =?us-ascii?Q?UQieQwx31ztxq7kNc78Wicyzd9s2BsCp71dC6rcgW7Gho7T+wVJOZD7btJC3?= =?us-ascii?Q?xIU4VrPrTyRsRd1Y7+ppERIhVsvUa4ICbVH/Rv9HRibU/TGRdUBVand0srys?= =?us-ascii?Q?+vBAcJAIW8J+PEeX4lQ2ClPam7RmJsx741cZJ9igLQCgp+HOl8TRo5mYfuT1?= =?us-ascii?Q?x/q/SCnr6m6q2jxBL+nTzNWuolhZqpUDWaQpq6tz2j9J5tdsxj9fNFGLz0HS?= =?us-ascii?Q?Sv+RJdrAO1uy+kU/p8owHoOwyk530npbeMjZdqhd+dT7bOPQJPvsLdrtXE+i?= =?us-ascii?Q?M02WEMr8EuoJUD0QJZ9WYaA7JQxYaMG8jXaNzi8zBEaqWsbW84DmUK29IHAk?= =?us-ascii?Q?/1x2Cu8RjQzU3FZXY1lBnGoPT/28KldQcFSS66SpOP2MMQXSJQ745Tda4sN/?= =?us-ascii?Q?JDA/P8gjcDaM4cKc+q0BCQlmM2uIWP1RI40xwHMVt97Iou6vA7MuLKpRhy6N?= =?us-ascii?Q?ow=3D=3D?= Content-Type: multipart/mixed; boundary="_005_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_" MIME-Version: 1.0 X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PR3PR02MB6169.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d45b6d5f-4bac-4b7e-82b2-08db465ee092 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2023 14:02:31.1420 (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: L7jT6nDYYYJMHqBc4Jy5bjwL21X8kzKRz17/ASAb1BaurHObyEOsXXD1VouDou+ct3B4LxQWVX6iZrbZy6RBCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR02MB7190 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH] avcodec/mediacodec: Add AV1 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_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Connected FFmpeg to Mediacodec AV1 encoder --- configure | 1 + libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/mediacodec_wrapper.c | 12 ++++ libavcodec/mediacodecenc.c | 115 ++++++++++++++++++++++++++++---- 5 files changed, 118 insertions(+), 12 deletions(-) diff --git a/configure b/configure index bb7be67676..0a60deac65 100755 --- a/configure +++ b/configure @@ -3162,6 +3162,7 @@ aac_mf_encoder_deps=3D"mediafoundation" ac3_mf_encoder_deps=3D"mediafoundation" av1_cuvid_decoder_deps=3D"cuvid CUVIDAV1PICPARAMS" av1_mediacodec_decoder_deps=3D"mediacodec" +av1_mediacodec_encoder_deps=3D"mediacodec" av1_nvenc_encoder_deps=3D"nvenc NV_ENC_PIC_PARAMS_AV1" av1_nvenc_encoder_select=3D"atsc_a53" h263_v4l2m2m_decoder_deps=3D"v4l2_m2m h263_v4l2_m2m" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index b0971ce833..166f77f12a 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -253,6 +253,7 @@ OBJS-$(CONFIG_AURA2_DECODER) +=3D aura.o OBJS-$(CONFIG_AV1_DECODER) +=3D av1dec.o OBJS-$(CONFIG_AV1_CUVID_DECODER) +=3D cuviddec.o OBJS-$(CONFIG_AV1_MEDIACODEC_DECODER) +=3D mediacodecdec.o +OBJS-$(CONFIG_AV1_MEDIACODEC_ENCODER) +=3D mediacodecenc.o OBJS-$(CONFIG_AV1_NVENC_ENCODER) +=3D nvenc_av1.o nvenc.o OBJS-$(CONFIG_AV1_QSV_ENCODER) +=3D qsvenc_av1.o OBJS-$(CONFIG_AVRN_DECODER) +=3D avrndec.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 8eeed34e57..f583aad860 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -836,6 +836,7 @@ extern const FFCodec ff_libaom_av1_decoder; extern const FFCodec ff_av1_decoder; extern const FFCodec ff_av1_cuvid_decoder; extern const FFCodec ff_av1_mediacodec_decoder; +extern const FFCodec ff_av1_mediacodec_encoder; extern const FFCodec ff_av1_nvenc_encoder; extern const FFCodec ff_av1_qsv_decoder; extern const FFCodec ff_av1_qsv_encoder; diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrappe= r.c index 1c29bb7406..015f275a0f 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -35,6 +35,8 @@ #include "ffjni.h" #include "mediacodec_wrapper.h" +#include "libavutil/pixdesc.h" + struct JNIAMediaCodecListFields { jclass mediacodec_list_class; @@ -345,6 +347,11 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext= (AVCodecContext *avctx) static const int MPEG4ProfileAdvancedScalable =3D 0x4000; static const int MPEG4ProfileAdvancedSimple =3D 0x8000; + static const int AV1ProfileMain8 =3D 0x1; + static const int AV1ProfileMain10 =3D 0x2; + static const int AV1ProfileMain10HDR10 =3D 0x1000; + static const int AV1ProfileMain10HDR10Plus =3D 0x2000; + // Unused yet. (void)AVCProfileConstrainedHigh; (void)HEVCProfileMain10HDR10; @@ -353,6 +360,8 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(= AVCodecContext *avctx) (void)VP9Profile3HDR; (void)VP9Profile2HDR10Plus; (void)VP9Profile3HDR10Plus; + (void)AV1ProfileMain10HDR10; + (void)AV1ProfileMain10HDR10Plus; if (avctx->codec_id =3D=3D AV_CODEC_ID_H264) { switch(avctx->profile) { @@ -436,6 +445,9 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext(= AVCodecContext *avctx) default: break; } + } else if(avctx->codec_id =3D=3D AV_CODEC_ID_AV1) { + const AVPixFmtDescriptor *desc =3D av_pix_fmt_desc_get(avctx->pix_= fmt); + return desc !=3D NULL && desc->comp[0].depth =3D=3D 8? AV1ProfileM= ain8 : AV1ProfileMain10; } return -1; diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index e4b583a542..10da43c3e7 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -170,6 +170,9 @@ static av_cold int mediacodec_init(AVCodecContext *avct= x) case AV_CODEC_ID_MPEG4: codec_mime =3D "video/mp4v-es"; break; + case AV_CODEC_ID_AV1: + codec_mime =3D "video/av01"; + break; default: av_assert0(0); } @@ -779,16 +782,16 @@ DECLARE_MEDIACODEC_ENCODER(hevc, "H.265", AV_CODEC_ID= _HEVC) enum MediaCodecVP9Level { VP9Level1 =3D 0x1, - VP9Level11 =3D 0x2, + VP9Level11 =3D 0x2, VP9Level2 =3D 0x4, - VP9Level21 =3D 0x8, - VP9Level3 =3D 0x10, + VP9Level21 =3D 0x8, + VP9Level3 =3D 0x10, VP9Level31 =3D 0x20, VP9Level4 =3D 0x40, - VP9Level41 =3D 0x80, - VP9Level5 =3D 0x100, + VP9Level41 =3D 0x80, + VP9Level5 =3D 0x100, VP9Level51 =3D 0x200, - VP9Level52 =3D 0x400, + VP9Level52 =3D 0x400, VP9Level6 =3D 0x800, VP9Level61 =3D 0x1000, VP9Level62 =3D 0x2000, @@ -837,15 +840,15 @@ DECLARE_MEDIACODEC_ENCODER(vp9, "VP9", AV_CODEC_ID_VP= 9) enum MediaCodecMpeg4Level { MPEG4Level0 =3D 0x01, - MPEG4Level0b =3D 0x02, - MPEG4Level1 =3D 0x04, + MPEG4Level0b =3D 0x02, + MPEG4Level1 =3D 0x04, MPEG4Level2 =3D 0x08, - MPEG4Level3 =3D 0x10, + MPEG4Level3 =3D 0x10, MPEG4Level3b =3D 0x18, - MPEG4Level4 =3D 0x20, - MPEG4Level4a =3D 0x40, + MPEG4Level4 =3D 0x20, + MPEG4Level4a =3D 0x40, MPEG4Level5 =3D 0x80, - MPEG4Level6 =3D 0x100, + MPEG4Level6 =3D 0x100, }; static const AVOption mpeg4_options[] =3D { @@ -878,3 +881,91 @@ static const AVOption mpeg4_options[] =3D { DECLARE_MEDIACODEC_ENCODER(mpeg4, "MPEG-4", AV_CODEC_ID_MPEG4) #endif // CONFIG_MPEG4_MEDIACODEC_ENCODER + +#if CONFIG_AV1_MEDIACODEC_ENCODER + +enum MediaCodecAV1Level { + AV1Level2 =3D 0x1, + AV1Level21 =3D 0x2, + AV1Level22 =3D 0x4, + AV1Level23 =3D 0x8, + AV1Level3 =3D 0x10, + AV1Level31 =3D 0x20, + AV1Level32 =3D 0x40, + AV1Level33 =3D 0x80, + AV1Level4 =3D 0x100, + AV1Level41 =3D 0x200, + AV1Level42 =3D 0x400, + AV1Level43 =3D 0x800, + AV1Level5 =3D 0x1000, + AV1Level51 =3D 0x2000, + AV1Level52 =3D 0x4000, + AV1Level53 =3D 0x8000, + AV1Level6 =3D 0x10000, + AV1Level61 =3D 0x20000, + AV1Level62 =3D 0x40000, + AV1Level63 =3D 0x80000, + AV1Level7 =3D 0x100000, + AV1Level71 =3D 0x200000, + AV1Level72 =3D 0x400000, + AV1Level73 =3D 0x800000, +}; + +static const AVOption av1_options[] =3D { + COMMON_OPTION + { "level", "Specify tier and level", + OFFSET(level), AV_OPT_TYPE_INT, {.i64 =3D 0}, 0, INT_MAX, = VE, "level" }, + { "2", "Level 2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level2 }, 0, 0, VE, = "level" }, + { "2.1", "Level 2.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level21 }, 0, 0, VE, = "level" }, + { "2.2", "Level 2.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level22 }, 0, 0, VE, = "level" }, + { "2.3", "Level 2.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level23 }, 0, 0, VE, = "level" }, + { "3", "Level 3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level3 }, 0, 0, VE, = "level" }, + { "3.1", "Level 3.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level31 }, 0, 0, VE, = "level" }, + { "3.2", "Level 3.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level32 }, 0, 0, VE, = "level" }, + { "3.3", "Level 3.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level33 }, 0, 0, VE, = "level" }, + { "4", "Level 4", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level4 }, 0, 0, VE, = "level" }, + { "4.1", "Level 4.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level41 }, 0, 0, VE, = "level" }, + { "4.2", "Level 4.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level42 }, 0, 0, VE, = "level" }, + { "4.3", "Level 4.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level43 }, 0, 0, VE, = "level" }, + { "5", "Level 5", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level5 }, 0, 0, VE, = "level" }, + { "5.1", "Level 5.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level51 }, 0, 0, VE, = "level" }, + { "5.2", "Level 5.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level52 }, 0, 0, VE, = "level" }, + { "5.3", "Level 5.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level53 }, 0, 0, VE, = "level" }, + { "6", "Level 6", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level6 }, 0, 0, VE, = "level" }, + { "6.1", "Level 6.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level61 }, 0, 0, VE, = "level" }, + { "6.2", "Level 6.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level62 }, 0, 0, VE, = "level" }, + { "6.3", "Level 6.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level63 }, 0, 0, VE, = "level" }, + { "7", "Level 7", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level7 }, 0, 0, VE, = "level" }, + { "7.1", "Level 7.1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level71 }, 0, 0, VE, = "level" }, + { "7.2", "Level 7.2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level72 }, 0, 0, VE, = "level" }, + { "7.3", "Level 7.3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D AV1Level73 }, 0, 0, VE, = "level" }, + { NULL, } +}; + +DECLARE_MEDIACODEC_ENCODER(av1, "AV1", AV_CODEC_ID_AV1) + +#endif // CONFIG_AV1_MEDIACODEC_ENCODER -- --_005_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_ Content-Type: application/octet-stream; name="avcodec-mediacodec-add-av1.patch.b64" Content-Description: avcodec-mediacodec-add-av1.patch.b64 Content-Disposition: attachment; filename="avcodec-mediacodec-add-av1.patch.b64"; size=12667; creation-date="Wed, 26 Apr 2023 14:02:14 GMT"; modification-date="Wed, 26 Apr 2023 14:02:14 GMT" Content-Transfer-Encoding: base64 Um5KdmJTQmlNVFU1TnpVek1qZzJOV014WVRSbE1qa3dOakEyWXpnMFl6a3haVFk0WldNNE1URTJO RFZsSUUxdgpiaUJUWlhBZ01UY2dNREE2TURBNk1EQWdNakF3TVFwR2NtOXRPaUJUWVcxMVpXd2dU V2x5WVNBOGMyRnRkV1ZzCkxtMXBjbUZBY1hRdWFXOCtDa1JoZEdVNklGUjFaU3dnTWpVZ1FYQnlJ REl3TWpNZ01UazZNemM2TURVZ0t6QXoKTURBS1UzVmlhbVZqZERvZ1cxQkJWRU5JWFNCaGRtTnZa R1ZqTDIxbFpHbGhZMjlrWldNNklFRmtaQ0JCVmpFZwpaVzVqYjJSbGNnb0tRMjl1Ym1WamRHVmtJ RVpHYlhCbFp5QjBieUJOWldScFlXTnZaR1ZqSUVGV01TQmxibU52ClpHVnlDaTB0TFFvZ1kyOXVa bWxuZFhKbElDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I4SUNBZ01TQXIKQ2lCc2FXSmhk bU52WkdWakwwMWhhMlZtYVd4bElDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBeElDc0tJR3hwWW1GMgpZ MjlrWldNdllXeHNZMjlrWldOekxtTWdJQ0FnSUNBZ0lDQWdmQ0FnSURFZ0t3b2diR2xpWVhaamIy UmxZeTl0ClpXUnBZV052WkdWalgzZHlZWEJ3WlhJdVl5QjhJQ0F4TWlBckt5c3JDaUJzYVdKaGRt TnZaR1ZqTDIxbFpHbGgKWTI5a1pXTmxibU11WXlBZ0lDQWdJSHdnTVRFMUlDc3JLeXNyS3lzckt5 c3JLeXNyS3lzckt5c3JLeXNyS3lzcgpLeXN0TFMwdENpQTFJR1pwYkdWeklHTm9ZVzVuWldRc0lE RXhPQ0JwYm5ObGNuUnBiMjV6S0NzcExDQXhNaUJrClpXeGxkR2x2Ym5Nb0xTa0tDbVJwWm1ZZ0xT MW5hWFFnWVM5amIyNW1hV2QxY21VZ1lpOWpiMjVtYVdkMWNtVUsKYVc1a1pYZ2dZbUkzWW1VMk56 WTNOaTR1TUdFMk1HUmxZV00yTlNBeE1EQTNOVFVLTFMwdElHRXZZMjl1Wm1sbgpkWEpsQ2lzckt5 QmlMMk52Ym1acFozVnlaUXBBUUNBdE16RTJNaXcySUNzek1UWXlMRGNnUUVBZ1lXRmpYMjFtClgy VnVZMjlrWlhKZlpHVndjejBpYldWa2FXRm1iM1Z1WkdGMGFXOXVJZ29nWVdNelgyMW1YMlZ1WTI5 a1pYSmYKWkdWd2N6MGliV1ZrYVdGbWIzVnVaR0YwYVc5dUlnb2dZWFl4WDJOMWRtbGtYMlJsWTI5 a1pYSmZaR1Z3Y3owaQpZM1YyYVdRZ1ExVldTVVJCVmpGUVNVTlFRVkpCVFZNaUNpQmhkakZmYldW a2FXRmpiMlJsWTE5a1pXTnZaR1Z5ClgyUmxjSE05SW0xbFpHbGhZMjlrWldNaUNpdGhkakZmYldW a2FXRmpiMlJsWTE5bGJtTnZaR1Z5WDJSbGNITTkKSW0xbFpHbGhZMjlrWldNaUNpQmhkakZmYm5a bGJtTmZaVzVqYjJSbGNsOWtaWEJ6UFNKdWRtVnVZeUJPVmw5RgpUa05mVUVsRFgxQkJVa0ZOVTE5 QlZqRWlDaUJoZGpGZmJuWmxibU5mWlc1amIyUmxjbDl6Wld4bFkzUTlJbUYwCmMyTmZZVFV6SWdv Z2FESTJNMTkyTkd3eWJUSnRYMlJsWTI5a1pYSmZaR1Z3Y3owaWRqUnNNbDl0TW0wZ2FESTIKTTE5 Mk5Hd3lYMjB5YlNJS1pHbG1aaUF0TFdkcGRDQmhMMnhwWW1GMlkyOWtaV012VFdGclpXWnBiR1Vn WWk5cwphV0poZG1OdlpHVmpMMDFoYTJWbWFXeGxDbWx1WkdWNElHSXdPVGN4WTJVNE16TXVMakUy Tm1ZM04yWXhNbUVnCk1UQXdOalEwQ2kwdExTQmhMMnhwWW1GMlkyOWtaV012VFdGclpXWnBiR1VL S3lzcklHSXZiR2xpWVhaamIyUmwKWXk5TllXdGxabWxzWlFwQVFDQXRNalV6TERZZ0t6STFNeXcz SUVCQUlFOUNTbE10SkNoRFQwNUdTVWRmUVZWUwpRVEpmUkVWRFQwUkZVaWtnSUNBZ0lDQWdJQ0Fn SUNzOUlHRjFjbUV1YndvZ1QwSktVeTBrS0VOUFRrWkpSMTlCClZqRmZSRVZEVDBSRlVpa2dJQ0Fn SUNBZ0lDQWdJQ0FnS3owZ1lYWXhaR1ZqTG04S0lFOUNTbE10SkNoRFQwNUcKU1VkZlFWWXhYME5W VmtsRVgwUkZRMDlFUlZJcElDQWdJQ0FnSUNzOUlHTjFkbWxrWkdWakxtOEtJRTlDU2xNdApKQ2hE VDA1R1NVZGZRVll4WDAxRlJFbEJRMDlFUlVOZlJFVkRUMFJGVWlrZ0lDczlJRzFsWkdsaFkyOWta V05rClpXTXVid29yVDBKS1V5MGtLRU5QVGtaSlIxOUJWakZmVFVWRVNVRkRUMFJGUTE5RlRrTlBS RVZTS1NBZ0t6MGcKYldWa2FXRmpiMlJsWTJWdVl5NXZDaUJQUWtwVExTUW9RMDlPUmtsSFgwRldN VjlPVmtWT1ExOUZUa05QUkVWUwpLU0FnSUNBZ0lDQXJQU0J1ZG1WdVkxOWhkakV1YnlCdWRtVnVZ eTV2Q2lCUFFrcFRMU1FvUTA5T1JrbEhYMEZXCk1WOVJVMVpmUlU1RFQwUkZVaWtnSUNBZ0lDQWdJ Q0FyUFNCeGMzWmxibU5mWVhZeExtOEtJRTlDU2xNdEpDaEQKVDA1R1NVZGZRVlpTVGw5RVJVTlBS RVZTS1NBZ0lDQWdJQ0FnSUNBZ0lDczlJR0YyY201a1pXTXVid3BrYVdabQpJQzB0WjJsMElHRXZi R2xpWVhaamIyUmxZeTloYkd4amIyUmxZM011WXlCaUwyeHBZbUYyWTI5a1pXTXZZV3hzClkyOWta V056TG1NS2FXNWtaWGdnT0dWbFpXUXpOR1UxTnk0dVpqVTRNMkZoWkRnMk1DQXhNREEyTkRRS0xT MHQKSUdFdmJHbGlZWFpqYjJSbFl5OWhiR3hqYjJSbFkzTXVZd29yS3lzZ1lpOXNhV0poZG1OdlpH VmpMMkZzYkdOdgpaR1ZqY3k1akNrQkFJQzA0TXpZc05pQXJPRE0yTERjZ1FFQWdaWGgwWlhKdUlH TnZibk4wSUVaR1EyOWtaV01nClptWmZiR2xpWVc5dFgyRjJNVjlrWldOdlpHVnlPd29nWlhoMFpY SnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmYKWVhZeFgyUmxZMjlrWlhJN0NpQmxlSFJsY200Z1ky OXVjM1FnUmtaRGIyUmxZeUJtWmw5aGRqRmZZM1YyYVdSZgpaR1ZqYjJSbGNqc0tJR1Y0ZEdWeWJp QmpiMjV6ZENCR1JrTnZaR1ZqSUdabVgyRjJNVjl0WldScFlXTnZaR1ZqClgyUmxZMjlrWlhJN0Np dGxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5aGRqRmZiV1ZrYVdGamIyUmwKWTE5bGJt TnZaR1Z5T3dvZ1pYaDBaWEp1SUdOdmJuTjBJRVpHUTI5a1pXTWdabVpmWVhZeFgyNTJaVzVqWDJW dQpZMjlrWlhJN0NpQmxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5aGRqRmZjWE4yWDJS bFkyOWtaWEk3CkNpQmxlSFJsY200Z1kyOXVjM1FnUmtaRGIyUmxZeUJtWmw5aGRqRmZjWE4yWDJW dVkyOWtaWEk3Q21ScFptWWcKTFMxbmFYUWdZUzlzYVdKaGRtTnZaR1ZqTDIxbFpHbGhZMjlrWldO ZmQzSmhjSEJsY2k1aklHSXZiR2xpWVhaagpiMlJsWXk5dFpXUnBZV052WkdWalgzZHlZWEJ3WlhJ dVl3cHBibVJsZUNBeFl6STVZbUkzTkRBMkxpNHdNVFZtCk1qYzFZVEJtSURFd01EWTBOQW90TFMw Z1lTOXNhV0poZG1OdlpHVmpMMjFsWkdsaFkyOWtaV05mZDNKaGNIQmwKY2k1akNpc3JLeUJpTDJ4 cFltRjJZMjlrWldNdmJXVmthV0ZqYjJSbFkxOTNjbUZ3Y0dWeUxtTUtRRUFnTFRNMQpMRFlnS3pN MUxEZ2dRRUFLSUNOcGJtTnNkV1JsSUNKbVptcHVhUzVvSWdvZ0kybHVZMngxWkdVZ0ltMWxaR2xo ClkyOWtaV05mZDNKaGNIQmxjaTVvSWdvZ0Npc2phVzVqYkhWa1pTQWliR2xpWVhaMWRHbHNMM0Jw ZUdSbGMyTXUKYUNJS0t3b2djM1J5ZFdOMElFcE9TVUZOWldScFlVTnZaR1ZqVEdsemRFWnBaV3hr Y3lCN0NpQUtJQ0FnSUNCcQpZMnhoYzNNZ2JXVmthV0ZqYjJSbFkxOXNhWE4wWDJOc1lYTnpPd3BB UUNBdE16UTFMRFlnS3pNME55d3hNU0JBClFDQnBiblFnWm1aZlFVMWxaR2xoUTI5a1pXTlFjbTlt YVd4bFgyZGxkRkJ5YjJacGJHVkdjbTl0UVZaRGIyUmwKWTBOdmJuUmxlSFFvUVZaRGIyUmxZME52 Ym5SbGVIUWdLbUYyWTNSNEtRb2dJQ0FnSUhOMFlYUnBZeUJqYjI1egpkQ0JwYm5RZ1RWQkZSelJR Y205bWFXeGxRV1IyWVc1alpXUlRZMkZzWVdKc1pTQTlJREI0TkRBd01Ec0tJQ0FnCklDQnpkR0Yw YVdNZ1kyOXVjM1FnYVc1MElFMVFSVWMwVUhKdlptbHNaVUZrZG1GdVkyVmtVMmx0Y0d4bElDQWcK UFNBd2VEZ3dNREE3Q2lBS0t5QWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRUZXTVZCeWIyWnBi R1ZOWVdsdQpPQ0FnUFNBd2VERTdDaXNnSUNBZ2MzUmhkR2xqSUdOdmJuTjBJR2x1ZENCQlZqRlFj bTltYVd4bFRXRnBiakV3CklEMGdNSGd5T3dvcklDQWdJSE4wWVhScFl5QmpiMjV6ZENCcGJuUWdR Vll4VUhKdlptbHNaVTFoYVc0eE1FaEUKVWpFd0lDQWdJQ0E5SURCNE1UQXdNRHNLS3lBZ0lDQnpk R0YwYVdNZ1kyOXVjM1FnYVc1MElFRldNVkJ5YjJacApiR1ZOWVdsdU1UQklSRkl4TUZCc2RYTWdQ U0F3ZURJd01EQTdDaXNLSUNBZ0lDQXZMeUJWYm5WelpXUWdlV1YwCkxnb2dJQ0FnSUNoMmIybGtL VUZXUTFCeWIyWnBiR1ZEYjI1emRISmhhVzVsWkVocFoyZzdDaUFnSUNBZ0tIWnYKYVdRcFNFVldR MUJ5YjJacGJHVk5ZV2x1TVRCSVJGSXhNRHNLUUVBZ0xUTTFNeXcySUNzek5qQXNPQ0JBUUNCcApi blFnWm1aZlFVMWxaR2xoUTI5a1pXTlFjbTltYVd4bFgyZGxkRkJ5YjJacGJHVkdjbTl0UVZaRGIy UmxZME52CmJuUmxlSFFvUVZaRGIyUmxZME52Ym5SbGVIUWdLbUYyWTNSNEtRb2dJQ0FnSUNoMmIy bGtLVlpRT1ZCeWIyWnAKYkdVelNFUlNPd29nSUNBZ0lDaDJiMmxrS1ZaUU9WQnliMlpwYkdVeVNF UlNNVEJRYkhWek93b2dJQ0FnSUNoMgpiMmxrS1ZaUU9WQnliMlpwYkdVelNFUlNNVEJRYkhWek93 b3JJQ0FnSUNoMmIybGtLVUZXTVZCeWIyWnBiR1ZOCllXbHVNVEJJUkZJeE1Ec0tLeUFnSUNBb2Rt OXBaQ2xCVmpGUWNtOW1hV3hsVFdGcGJqRXdTRVJTTVRCUWJIVnoKT3dvZ0NpQWdJQ0FnYVdZZ0tH RjJZM1I0TFQ1amIyUmxZMTlwWkNBOVBTQkJWbDlEVDBSRlExOUpSRjlJTWpZMApLU0I3Q2lBZ0lD QWdJQ0FnSUhOM2FYUmphQ2hoZG1OMGVDMCtjSEp2Wm1sc1pTa2dld3BBUUNBdE5ETTJMRFlnCkt6 UTBOU3c1SUVCQUlHbHVkQ0JtWmw5QlRXVmthV0ZEYjJSbFkxQnliMlpwYkdWZloyVjBVSEp2Wm1s c1pVWnkKYjIxQlZrTnZaR1ZqUTI5dWRHVjRkQ2hCVmtOdlpHVmpRMjl1ZEdWNGRDQXFZWFpqZEhn cENpQWdJQ0FnSUNBZwpJR1JsWm1GMWJIUTZDaUFnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenNLSUNB Z0lDQWdJQ0FnZlFvcklDQWdJSDBnClpXeHpaU0JwWmloaGRtTjBlQzArWTI5a1pXTmZhV1FnUFQw Z1FWWmZRMDlFUlVOZlNVUmZRVll4S1NCN0Npc2cKSUNBZ0lDQWdJR052Ym5OMElFRldVR2w0Um0x MFJHVnpZM0pwY0hSdmNpQXFaR1Z6WXlBOUlHRjJYM0JwZUY5bQpiWFJmWkdWelkxOW5aWFFvWVha amRIZ3RQbkJwZUY5bWJYUXBPd29ySUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6Cll5QWhQU0JPVlV4 TUlDWW1JR1JsYzJNdFBtTnZiWEJiTUYwdVpHVndkR2dnUFQwZ09EOGdRVll4VUhKdlptbHMKWlUx aGFXNDRJRG9nUVZZeFVISnZabWxzWlUxaGFXNHhNRHNLSUNBZ0lDQjlDaUFLSUNBZ0lDQnlaWFIx Y200ZwpMVEU3Q21ScFptWWdMUzFuYVhRZ1lTOXNhV0poZG1OdlpHVmpMMjFsWkdsaFkyOWtaV05s Ym1NdVl5QmlMMnhwClltRjJZMjlrWldNdmJXVmthV0ZqYjJSbFkyVnVZeTVqQ21sdVpHVjRJR1Uw WWpVNE0yRTFOREl1TGpFd1pHRTAKTTJNelpUY2dNVEF3TmpRMENpMHRMU0JoTDJ4cFltRjJZMjlr WldNdmJXVmthV0ZqYjJSbFkyVnVZeTVqQ2lzcgpLeUJpTDJ4cFltRjJZMjlrWldNdmJXVmthV0Zq YjJSbFkyVnVZeTVqQ2tCQUlDMHhOekFzTmlBck1UY3dMRGtnClFFQWdjM1JoZEdsaklHRjJYMk52 YkdRZ2FXNTBJRzFsWkdsaFkyOWtaV05mYVc1cGRDaEJWa052WkdWalEyOXUKZEdWNGRDQXFZWFpq ZEhncENpQWdJQ0FnWTJGelpTQkJWbDlEVDBSRlExOUpSRjlOVUVWSE5Eb0tJQ0FnSUNBZwpJQ0Fn WTI5a1pXTmZiV2x0WlNBOUlDSjJhV1JsYnk5dGNEUjJMV1Z6SWpzS0lDQWdJQ0FnSUNBZ1luSmxZ V3M3CkNpc2dJQ0FnWTJGelpTQkJWbDlEVDBSRlExOUpSRjlCVmpFNkNpc2dJQ0FnSUNBZ0lHTnZa R1ZqWDIxcGJXVWcKUFNBaWRtbGtaVzh2WVhZd01TSTdDaXNnSUNBZ0lDQWdJR0p5WldGck93b2dJ Q0FnSUdSbFptRjFiSFE2Q2lBZwpJQ0FnSUNBZ0lHRjJYMkZ6YzJWeWREQW9NQ2s3Q2lBZ0lDQWdm UXBBUUNBdE56YzVMREUySUNzM09ESXNNVFlnClFFQWdSRVZEVEVGU1JWOU5SVVJKUVVOUFJFVkRY MFZPUTA5RVJWSW9hR1YyWXl3Z0lrZ3VNalkxSWl3Z1FWWmYKUTA5RVJVTmZTVVJmU0VWV1F5a0tJ QW9nWlc1MWJTQk5aV1JwWVVOdlpHVmpWbEE1VEdWMlpXd2dld29nSUNBZwpJRlpRT1V4bGRtVnNN U0FnUFNBd2VERXNDaTBnSUNBZ1ZsQTVUR1YyWld3eE1TQWdQU0F3ZURJc0Npc2dJQ0FnClZsQTVU R1YyWld3eE1TQTlJREI0TWl3S0lDQWdJQ0JXVURsTVpYWmxiRElnSUQwZ01IZzBMQW90SUNBZ0lG WlEKT1V4bGRtVnNNakVnSUQwZ01IZzRMQW90SUNBZ0lGWlFPVXhsZG1Wc015QTlJREI0TVRBc0Np c2dJQ0FnVmxBNQpUR1YyWld3eU1TQTlJREI0T0N3S0t5QWdJQ0JXVURsTVpYWmxiRE1nSUQwZ01I Z3hNQ3dLSUNBZ0lDQldVRGxNClpYWmxiRE14SUQwZ01IZ3lNQ3dLSUNBZ0lDQldVRGxNWlhabGJE UWdJRDBnTUhnME1Dd0tMU0FnSUNCV1VEbE0KWlhabGJEUXhJQ0E5SURCNE9EQXNDaTBnSUNBZ1Zs QTVUR1YyWld3MUlEMGdNSGd4TURBc0Npc2dJQ0FnVmxBNQpUR1YyWld3ME1TQTlJREI0T0RBc0Np c2dJQ0FnVmxBNVRHVjJaV3cxSUNBOUlEQjRNVEF3TEFvZ0lDQWdJRlpRCk9VeGxkbVZzTlRFZ1BT QXdlREl3TUN3S0xTQWdJQ0JXVURsTVpYWmxiRFV5SUNBOUlEQjROREF3TEFvcklDQWcKSUZaUU9V eGxkbVZzTlRJZ1BTQXdlRFF3TUN3S0lDQWdJQ0JXVURsTVpYWmxiRFlnSUQwZ01IZzRNREFzQ2lB ZwpJQ0FnVmxBNVRHVjJaV3cyTVNBOUlEQjRNVEF3TUN3S0lDQWdJQ0JXVURsTVpYWmxiRFl5SUQw Z01IZ3lNREF3CkxBcEFRQ0F0T0RNM0xERTFJQ3M0TkRBc01UVWdRRUFnUkVWRFRFRlNSVjlOUlVS SlFVTlBSRVZEWDBWT1EwOUUKUlZJb2RuQTVMQ0FpVmxBNUlpd2dRVlpmUTA5RVJVTmZTVVJmVmxB NUtRb2dDaUJsYm5WdElFMWxaR2xoUTI5awpaV05OY0dWbk5FeGxkbVZzSUhzS0lDQWdJQ0JOVUVW SE5FeGxkbVZzTUNBZ1BTQXdlREF4TEFvdElDQWdJRTFRClJVYzBUR1YyWld3d1lpQWdQU0F3ZURB eUxBb3RJQ0FnSUUxUVJVYzBUR1YyWld3eElEMGdNSGd3TkN3S0t5QWcKSUNCTlVFVkhORXhsZG1W c01HSWdQU0F3ZURBeUxBb3JJQ0FnSUUxUVJVYzBUR1YyWld3eElDQTlJREI0TURRcwpDaUFnSUNB Z1RWQkZSelJNWlhabGJESWdJRDBnTUhnd09Dd0tMU0FnSUNCTlVFVkhORXhsZG1Wc015QTlJREI0 Ck1UQXNDaXNnSUNBZ1RWQkZSelJNWlhabGJETWdJRDBnTUhneE1Dd0tJQ0FnSUNCTlVFVkhORXhs ZG1Wc00ySWcKUFNBd2VERTRMQW90SUNBZ0lFMVFSVWMwVEdWMlpXdzBJRDBnTUhneU1Dd0tMU0Fn SUNCTlVFVkhORXhsZG1WcwpOR0VnSUQwZ01IZzBNQ3dLS3lBZ0lDQk5VRVZITkV4bGRtVnNOQ0Fn UFNBd2VESXdMQW9ySUNBZ0lFMVFSVWMwClRHVjJaV3cwWVNBOUlEQjROREFzQ2lBZ0lDQWdUVkJG UnpSTVpYWmxiRFVnSUQwZ01IZzRNQ3dLTFNBZ0lDQk4KVUVWSE5FeGxkbVZzTmlBOUlEQjRNVEF3 TEFvcklDQWdJRTFRUlVjMFRHVjJaV3cySUNBOUlEQjRNVEF3TEFvZwpmVHNLSUFvZ2MzUmhkR2xq SUdOdmJuTjBJRUZXVDNCMGFXOXVJRzF3WldjMFgyOXdkR2x2Ym5OYlhTQTlJSHNLClFFQWdMVGcz T0N3eklDczRPREVzT1RFZ1FFQWdjM1JoZEdsaklHTnZibk4wSUVGV1QzQjBhVzl1SUcxd1pXYzAK WDI5d2RHbHZibk5iWFNBOUlIc0tJRVJGUTB4QlVrVmZUVVZFU1VGRFQwUkZRMTlGVGtOUFJFVlNL RzF3WldjMApMQ0FpVFZCRlJ5MDBJaXdnUVZaZlEwOUVSVU5mU1VSZlRWQkZSelFwQ2lBS0lDTmxi bVJwWmlBZ0x5OGdRMDlPClJrbEhYMDFRUlVjMFgwMUZSRWxCUTA5RVJVTmZSVTVEVDBSRlVnb3JD aXNqYVdZZ1EwOU9Sa2xIWDBGV01WOU4KUlVSSlFVTlBSRVZEWDBWT1EwOUVSVklLS3dvclpXNTFi U0JOWldScFlVTnZaR1ZqUVZZeFRHVjJaV3dnZXdvcgpJQ0FnSUVGV01VeGxkbVZzTWlBZ1BTQXdl REVzQ2lzZ0lDQWdRVll4VEdWMlpXd3lNU0E5SURCNE1pd0tLeUFnCklDQkJWakZNWlhabGJESXlJ RDBnTUhnMExBb3JJQ0FnSUVGV01VeGxkbVZzTWpNZ1BTQXdlRGdzQ2lzZ0lDQWcKUVZZeFRHVjJa V3d6SUNBOUlEQjRNVEFzQ2lzZ0lDQWdRVll4VEdWMlpXd3pNU0E5SURCNE1qQXNDaXNnSUNBZwpR Vll4VEdWMlpXd3pNaUE5SURCNE5EQXNDaXNnSUNBZ1FWWXhUR1YyWld3ek15QTlJREI0T0RBc0Np c2dJQ0FnClFWWXhUR1YyWld3MElDQTlJREI0TVRBd0xBb3JJQ0FnSUVGV01VeGxkbVZzTkRFZ1BT QXdlREl3TUN3S0t5QWcKSUNCQlZqRk1aWFpsYkRReUlEMGdNSGcwTURBc0Npc2dJQ0FnUVZZeFRH VjJaV3cwTXlBOUlEQjRPREF3TEFvcgpJQ0FnSUVGV01VeGxkbVZzTlNBZ1BTQXdlREV3TURBc0Np c2dJQ0FnUVZZeFRHVjJaV3cxTVNBOUlEQjRNakF3Ck1Dd0tLeUFnSUNCQlZqRk1aWFpsYkRVeUlE MGdNSGcwTURBd0xBb3JJQ0FnSUVGV01VeGxkbVZzTlRNZ1BTQXcKZURnd01EQXNDaXNnSUNBZ1FW WXhUR1YyWld3MklDQTlJREI0TVRBd01EQXNDaXNnSUNBZ1FWWXhUR1YyWld3MgpNU0E5SURCNE1q QXdNREFzQ2lzZ0lDQWdRVll4VEdWMlpXdzJNaUE5SURCNE5EQXdNREFzQ2lzZ0lDQWdRVll4ClRH VjJaV3cyTXlBOUlEQjRPREF3TURBc0Npc2dJQ0FnUVZZeFRHVjJaV3czSUNBOUlEQjRNVEF3TURB d0xBb3IKSUNBZ0lFRldNVXhsZG1Wc056RWdQU0F3ZURJd01EQXdNQ3dLS3lBZ0lDQkJWakZNWlha bGJEY3lJRDBnTUhnMApNREF3TURBc0Npc2dJQ0FnUVZZeFRHVjJaV3czTXlBOUlEQjRPREF3TURB d0xBb3JmVHNLS3dvcmMzUmhkR2xqCklHTnZibk4wSUVGV1QzQjBhVzl1SUdGMk1WOXZjSFJwYjI1 elcxMGdQU0I3Q2lzZ0lDQWdRMDlOVFU5T1gwOVEKVkVsUFRnb3JJQ0FnSUhzZ0lteGxkbVZzSWl3 Z0lsTndaV05wWm5rZ2RHbGxjaUJoYm1RZ2JHVjJaV3dpTEFvcgpJQ0FnSUNBZ0lDQWdJQ0FnSUNB Z0lFOUdSbE5GVkNoc1pYWmxiQ2tzSUVGV1gwOVFWRjlVV1ZCRlgwbE9WQ3dnCmV5NXBOalFnUFNB d2ZTd2dNQ3dnU1U1VVgwMUJXQ3dnVmtVc0lDSnNaWFpsYkNJZ2ZTd0tLeUFnSUNCN0lDSXkKSWl3 Z0lDQWdJQ0pNWlhabGJDQXlJaXdLS3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TENCQlZsOVBVRlJm VkZsUQpSVjlEVDA1VFZDd2dleUF1YVRZMElEMGdRVll4VEdWMlpXd3lJQ0I5TENBZ01Dd2dNQ3dn VmtVc0lDQWliR1YyClpXd2lJSDBzQ2lzZ0lDQWdleUFpTWk0eElpd2dJQ0FnSWt4bGRtVnNJREl1 TVNJc0Npc2dJQ0FnSUNBZ0lDQWcKSUNBZ0lDQWdNQ3dnUVZaZlQxQlVYMVJaVUVWZlEwOU9VMVFz SUhzZ0xtazJOQ0E5SUVGV01VeGxkbVZzTWpFZwpmU3dnSURBc0lEQXNJRlpGTENBZ0lteGxkbVZz SWlCOUxBb3JJQ0FnSUhzZ0lqSXVNaUlzSUNBZ0lDSk1aWFpsCmJDQXlMaklpTEFvcklDQWdJQ0Fn SUNBZ0lDQWdJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZYME5QVGxOVUxDQjcKSUM1cE5qUWdQU0JC VmpGTVpYWmxiREl5SUgwc0lDQXdMQ0F3TENCV1JTd2dJQ0pzWlhabGJDSWdmU3dLS3lBZwpJQ0I3 SUNJeUxqTWlMQ0FnSUNBaVRHVjJaV3dnTWk0eklpd0tLeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdM Q0JCClZsOVBVRlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwSUQwZ1FWWXhUR1YyWld3eU15QjlM Q0FnTUN3Z01Dd2cKVmtVc0lDQWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlNeUlzSUNBZ0lDQWdJ a3hsZG1Wc0lETWlMQW9ySUNBZwpJQ0FnSUNBZ0lDQWdJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZY ME5QVGxOVUxDQjdJQzVwTmpRZ1BTQkJWakZNClpYWmxiRE1nSUgwc0lDQXdMQ0F3TENCV1JTd2dJ Q0pzWlhabGJDSWdmU3dLS3lBZ0lDQjdJQ0l6TGpFaUxDQWcKSUNBaVRHVjJaV3dnTXk0eElpd0tL eUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMQ0JCVmw5UFVGUmZWRmxRUlY5RApUMDVUVkN3Z2V5QXVh VFkwSUQwZ1FWWXhUR1YyWld3ek1TQjlMQ0FnTUN3Z01Dd2dWa1VzSUNBaWJHVjJaV3dpCklIMHND aXNnSUNBZ2V5QWlNeTR5SWl3Z0lDQWdJa3hsZG1Wc0lETXVNaUlzQ2lzZ0lDQWdJQ0FnSUNBZ0lD QWcKSUNBZ01Dd2dRVlpmVDFCVVgxUlpVRVZmUTA5T1UxUXNJSHNnTG1rMk5DQTlJRUZXTVV4bGRt VnNNeklnZlN3ZwpJREFzSURBc0lGWkZMQ0FnSW14bGRtVnNJaUI5TEFvcklDQWdJSHNnSWpNdU15 SXNJQ0FnSUNKTVpYWmxiQ0F6CkxqTWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzSUVGV1gw OVFWRjlVV1ZCRlgwTlBUbE5VTENCN0lDNXAKTmpRZ1BTQkJWakZNWlhabGJETXpJSDBzSUNBd0xD QXdMQ0JXUlN3Z0lDSnNaWFpsYkNJZ2ZTd0tLeUFnSUNCNwpJQ0kwSWl3Z0lDQWdJQ0FpVEdWMlpX d2dOQ0lzQ2lzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN3Z1FWWmZUMUJVClgxUlpVRVZmUTA5T1Ux UXNJSHNnTG1rMk5DQTlJRUZXTVV4bGRtVnNOQ0FnZlN3Z0lEQXNJREFzSUZaRkxDQWcKSW14bGRt VnNJaUI5TEFvcklDQWdJSHNnSWpRdU1TSXNJQ0FnSUNKTVpYWmxiQ0EwTGpFaUxBb3JJQ0FnSUNB ZwpJQ0FnSUNBZ0lDQWdJREFzSUVGV1gwOVFWRjlVV1ZCRlgwTlBUbE5VTENCN0lDNXBOalFnUFNC QlZqRk1aWFpsCmJEUXhJSDBzSUNBd0xDQXdMQ0JXUlN3Z0lDSnNaWFpsYkNJZ2ZTd0tLeUFnSUNC N0lDSTBMaklpTENBZ0lDQWkKVEdWMlpXd2dOQzR5SWl3S0t5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB d0xDQkJWbDlQVUZSZlZGbFFSVjlEVDA1VApWQ3dnZXlBdWFUWTBJRDBnUVZZeFRHVjJaV3cwTWlC OUxDQWdNQ3dnTUN3Z1ZrVXNJQ0FpYkdWMlpXd2lJSDBzCkNpc2dJQ0FnZXlBaU5DNHpJaXdnSUNB Z0lreGxkbVZzSURRdU15SXNDaXNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWcKTUN3Z1FWWmZUMUJVWDFS WlVFVmZRMDlPVTFRc0lIc2dMbWsyTkNBOUlFRldNVXhsZG1Wc05ETWdmU3dnSURBcwpJREFzSUZa RkxDQWdJbXhsZG1Wc0lpQjlMQW9ySUNBZ0lIc2dJalVpTENBZ0lDQWdJQ0pNWlhabGJDQTFJaXdL Ckt5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xDQkJWbDlQVUZSZlZGbFFSVjlEVDA1VFZDd2dleUF1 YVRZMElEMGcKUVZZeFRHVjJaV3cxSUNCOUxDQWdNQ3dnTUN3Z1ZrVXNJQ0FpYkdWMlpXd2lJSDBz Q2lzZ0lDQWdleUFpTlM0eApJaXdnSUNBZ0lreGxkbVZzSURVdU1TSXNDaXNnSUNBZ0lDQWdJQ0Fn SUNBZ0lDQWdNQ3dnUVZaZlQxQlVYMVJaClVFVmZRMDlPVTFRc0lIc2dMbWsyTkNBOUlFRldNVXhs ZG1Wc05URWdmU3dnSURBc0lEQXNJRlpGTENBZ0lteGwKZG1Wc0lpQjlMQW9ySUNBZ0lIc2dJalV1 TWlJc0lDQWdJQ0pNWlhabGJDQTFMaklpTEFvcklDQWdJQ0FnSUNBZwpJQ0FnSUNBZ0lEQXNJRUZX WDA5UVZGOVVXVkJGWDBOUFRsTlVMQ0I3SUM1cE5qUWdQU0JCVmpGTVpYWmxiRFV5CklIMHNJQ0F3 TENBd0xDQldSU3dnSUNKc1pYWmxiQ0lnZlN3S0t5QWdJQ0I3SUNJMUxqTWlMQ0FnSUNBaVRHVjIK Wld3Z05TNHpJaXdLS3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TENCQlZsOVBVRlJmVkZsUVJWOURU MDVUVkN3ZwpleUF1YVRZMElEMGdRVll4VEdWMlpXdzFNeUI5TENBZ01Dd2dNQ3dnVmtVc0lDQWli R1YyWld3aUlIMHNDaXNnCklDQWdleUFpTmlJc0lDQWdJQ0FnSWt4bGRtVnNJRFlpTEFvcklDQWdJ Q0FnSUNBZ0lDQWdJQ0FnSURBc0lFRlcKWDA5UVZGOVVXVkJGWDBOUFRsTlVMQ0I3SUM1cE5qUWdQ U0JCVmpGTVpYWmxiRFlnSUgwc0lDQXdMQ0F3TENCVwpSU3dnSUNKc1pYWmxiQ0lnZlN3S0t5QWdJ Q0I3SUNJMkxqRWlMQ0FnSUNBaVRHVjJaV3dnTmk0eElpd0tLeUFnCklDQWdJQ0FnSUNBZ0lDQWdJ Q0F3TENCQlZsOVBVRlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwSUQwZ1FWWXgKVEdWMlpXdzJN U0I5TENBZ01Dd2dNQ3dnVmtVc0lDQWliR1YyWld3aUlIMHNDaXNnSUNBZ2V5QWlOaTR5SWl3ZwpJ Q0FnSWt4bGRtVnNJRFl1TWlJc0Npc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01Dd2dRVlpmVDFCVVgx UlpVRVZmClEwOU9VMVFzSUhzZ0xtazJOQ0E5SUVGV01VeGxkbVZzTmpJZ2ZTd2dJREFzSURBc0lG WkZMQ0FnSW14bGRtVnMKSWlCOUxBb3JJQ0FnSUhzZ0lqWXVNeUlzSUNBZ0lDSk1aWFpsYkNBMkxq TWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZwpJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZYME5QVGxOVUxD QjdJQzVwTmpRZ1BTQkJWakZNWlhabGJEWXpJSDBzCklDQXdMQ0F3TENCV1JTd2dJQ0pzWlhabGJD SWdmU3dLS3lBZ0lDQjdJQ0kzSWl3Z0lDQWdJQ0FpVEdWMlpXd2cKTnlJc0Npc2dJQ0FnSUNBZ0lD QWdJQ0FnSUNBZ01Dd2dRVlpmVDFCVVgxUlpVRVZmUTA5T1UxUXNJSHNnTG1rMgpOQ0E5SUVGV01V eGxkbVZzTnlBZ2ZTd2dJREFzSURBc0lGWkZMQ0FnSW14bGRtVnNJaUI5TEFvcklDQWdJSHNnCklq Y3VNU0lzSUNBZ0lDSk1aWFpsYkNBM0xqRWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzSUVG V1gwOVEKVkY5VVdWQkZYME5QVGxOVUxDQjdJQzVwTmpRZ1BTQkJWakZNWlhabGJEY3hJSDBzSUNB d0xDQXdMQ0JXUlN3ZwpJQ0pzWlhabGJDSWdmU3dLS3lBZ0lDQjdJQ0kzTGpJaUxDQWdJQ0FpVEdW MlpXd2dOeTR5SWl3S0t5QWdJQ0FnCklDQWdJQ0FnSUNBZ0lDQXdMQ0JCVmw5UFVGUmZWRmxRUlY5 RFQwNVRWQ3dnZXlBdWFUWTBJRDBnUVZZeFRHVjIKWld3M01pQjlMQ0FnTUN3Z01Dd2dWa1VzSUNB aWJHVjJaV3dpSUgwc0Npc2dJQ0FnZXlBaU55NHpJaXdnSUNBZwpJa3hsZG1Wc0lEY3VNeUlzQ2lz Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN3Z1FWWmZUMUJVWDFSWlVFVmZRMDlPClUxUXNJSHNnTG1r Mk5DQTlJRUZXTVV4bGRtVnNOek1nZlN3Z0lEQXNJREFzSUZaRkxDQWdJbXhsZG1Wc0lpQjkKTEFv cklDQWdJSHNnVGxWTVRDd2dmUW9yZlRzS0t3b3JSRVZEVEVGU1JWOU5SVVJKUVVOUFJFVkRYMFZP UTA5RQpSVklvWVhZeExDQWlRVll4SWl3Z1FWWmZRMDlFUlVOZlNVUmZRVll4S1FvckNpc2paVzVr YVdZZ0lDOHZJRU5QClRrWkpSMTlCVmpGZlRVVkVTVUZEVDBSRlExOUZUa05QUkVWU0NpMHRJQXBI YVhSTVlXSUtDZz09Cg== --_005_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_ Content-Type: application/octet-stream; name="avcodec-mediacodec-add-av1.patch" Content-Description: avcodec-mediacodec-add-av1.patch Content-Disposition: attachment; filename="avcodec-mediacodec-add-av1.patch"; size=9352; creation-date="Wed, 26 Apr 2023 14:02:14 GMT"; modification-date="Wed, 26 Apr 2023 14:02:14 GMT" Content-Transfer-Encoding: base64 RnJvbSBiMTU5NzUzMjg2NWMxYTRlMjkwNjA2Yzg0YzkxZTY4ZWM4MTE2NDVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW11ZWwgTWlyYSA8c2FtdWVsLm1pcmFAcXQuaW8+CkRhdGU6 IFR1ZSwgMjUgQXByIDIwMjMgMTk6Mzc6MDUgKzAzMDAKU3ViamVjdDogW1BBVENIXSBhdmNvZGVj L21lZGlhY29kZWM6IEFkZCBBVjEgZW5jb2RlcgoKQ29ubmVjdGVkIEZGbXBlZyB0byBNZWRpYWNv ZGVjIEFWMSBlbmNvZGVyCi0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgICAgICAgICB8ICAg MSArCiBsaWJhdmNvZGVjL01ha2VmaWxlICAgICAgICAgICAgIHwgICAxICsKIGxpYmF2Y29kZWMv YWxsY29kZWNzLmMgICAgICAgICAgfCAgIDEgKwogbGliYXZjb2RlYy9tZWRpYWNvZGVjX3dyYXBw ZXIuYyB8ICAxMiArKysrCiBsaWJhdmNvZGVjL21lZGlhY29kZWNlbmMuYyAgICAgIHwgMTE1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDExOCBpbnNl cnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25m aWd1cmUKaW5kZXggYmI3YmU2NzY3Ni4uMGE2MGRlYWM2NSAxMDA3NTUKLS0tIGEvY29uZmlndXJl CisrKyBiL2NvbmZpZ3VyZQpAQCAtMzE2Miw2ICszMTYyLDcgQEAgYWFjX21mX2VuY29kZXJfZGVw cz0ibWVkaWFmb3VuZGF0aW9uIgogYWMzX21mX2VuY29kZXJfZGVwcz0ibWVkaWFmb3VuZGF0aW9u IgogYXYxX2N1dmlkX2RlY29kZXJfZGVwcz0iY3V2aWQgQ1VWSURBVjFQSUNQQVJBTVMiCiBhdjFf bWVkaWFjb2RlY19kZWNvZGVyX2RlcHM9Im1lZGlhY29kZWMiCithdjFfbWVkaWFjb2RlY19lbmNv ZGVyX2RlcHM9Im1lZGlhY29kZWMiCiBhdjFfbnZlbmNfZW5jb2Rlcl9kZXBzPSJudmVuYyBOVl9F TkNfUElDX1BBUkFNU19BVjEiCiBhdjFfbnZlbmNfZW5jb2Rlcl9zZWxlY3Q9ImF0c2NfYTUzIgog aDI2M192NGwybTJtX2RlY29kZXJfZGVwcz0idjRsMl9tMm0gaDI2M192NGwyX20ybSIKZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvTWFrZWZpbGUgYi9saWJhdmNvZGVjL01ha2VmaWxlCmluZGV4IGIw OTcxY2U4MzMuLjE2NmY3N2YxMmEgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvTWFrZWZpbGUKKysr IGIvbGliYXZjb2RlYy9NYWtlZmlsZQpAQCAtMjUzLDYgKzI1Myw3IEBAIE9CSlMtJChDT05GSUdf QVVSQTJfREVDT0RFUikgICAgICAgICAgICs9IGF1cmEubwogT0JKUy0kKENPTkZJR19BVjFfREVD T0RFUikgICAgICAgICAgICAgKz0gYXYxZGVjLm8KIE9CSlMtJChDT05GSUdfQVYxX0NVVklEX0RF Q09ERVIpICAgICAgICs9IGN1dmlkZGVjLm8KIE9CSlMtJChDT05GSUdfQVYxX01FRElBQ09ERUNf REVDT0RFUikgICs9IG1lZGlhY29kZWNkZWMubworT0JKUy0kKENPTkZJR19BVjFfTUVESUFDT0RF Q19FTkNPREVSKSAgKz0gbWVkaWFjb2RlY2VuYy5vCiBPQkpTLSQoQ09ORklHX0FWMV9OVkVOQ19F TkNPREVSKSAgICAgICArPSBudmVuY19hdjEubyBudmVuYy5vCiBPQkpTLSQoQ09ORklHX0FWMV9R U1ZfRU5DT0RFUikgICAgICAgICArPSBxc3ZlbmNfYXYxLm8KIE9CSlMtJChDT05GSUdfQVZSTl9E RUNPREVSKSAgICAgICAgICAgICs9IGF2cm5kZWMubwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9h bGxjb2RlY3MuYyBiL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMKaW5kZXggOGVlZWQzNGU1Ny4uZjU4 M2FhZDg2MCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9hbGxjb2RlY3MuYworKysgYi9saWJhdmNv ZGVjL2FsbGNvZGVjcy5jCkBAIC04MzYsNiArODM2LDcgQEAgZXh0ZXJuIGNvbnN0IEZGQ29kZWMg ZmZfbGliYW9tX2F2MV9kZWNvZGVyOwogZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfYXYxX2RlY29k ZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9hdjFfY3V2aWRfZGVjb2RlcjsKIGV4dGVybiBj b25zdCBGRkNvZGVjIGZmX2F2MV9tZWRpYWNvZGVjX2RlY29kZXI7CitleHRlcm4gY29uc3QgRkZD b2RlYyBmZl9hdjFfbWVkaWFjb2RlY19lbmNvZGVyOwogZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZf YXYxX252ZW5jX2VuY29kZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9hdjFfcXN2X2RlY29k ZXI7CiBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9hdjFfcXN2X2VuY29kZXI7CmRpZmYgLS1naXQg YS9saWJhdmNvZGVjL21lZGlhY29kZWNfd3JhcHBlci5jIGIvbGliYXZjb2RlYy9tZWRpYWNvZGVj X3dyYXBwZXIuYwppbmRleCAxYzI5YmI3NDA2Li4wMTVmMjc1YTBmIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL21lZGlhY29kZWNfd3JhcHBlci5jCisrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY193 cmFwcGVyLmMKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlICJmZmpuaS5oIgogI2luY2x1ZGUg Im1lZGlhY29kZWNfd3JhcHBlci5oIgogCisjaW5jbHVkZSAibGliYXZ1dGlsL3BpeGRlc2MuaCIK Kwogc3RydWN0IEpOSUFNZWRpYUNvZGVjTGlzdEZpZWxkcyB7CiAKICAgICBqY2xhc3MgbWVkaWFj b2RlY19saXN0X2NsYXNzOwpAQCAtMzQ1LDYgKzM0NywxMSBAQCBpbnQgZmZfQU1lZGlhQ29kZWNQ cm9maWxlX2dldFByb2ZpbGVGcm9tQVZDb2RlY0NvbnRleHQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQogICAgIHN0YXRpYyBjb25zdCBpbnQgTVBFRzRQcm9maWxlQWR2YW5jZWRTY2FsYWJsZSA9IDB4 NDAwMDsKICAgICBzdGF0aWMgY29uc3QgaW50IE1QRUc0UHJvZmlsZUFkdmFuY2VkU2ltcGxlICAg PSAweDgwMDA7CiAKKyAgICBzdGF0aWMgY29uc3QgaW50IEFWMVByb2ZpbGVNYWluOCAgPSAweDE7 CisgICAgc3RhdGljIGNvbnN0IGludCBBVjFQcm9maWxlTWFpbjEwID0gMHgyOworICAgIHN0YXRp YyBjb25zdCBpbnQgQVYxUHJvZmlsZU1haW4xMEhEUjEwICAgICA9IDB4MTAwMDsKKyAgICBzdGF0 aWMgY29uc3QgaW50IEFWMVByb2ZpbGVNYWluMTBIRFIxMFBsdXMgPSAweDIwMDA7CisKICAgICAv LyBVbnVzZWQgeWV0LgogICAgICh2b2lkKUFWQ1Byb2ZpbGVDb25zdHJhaW5lZEhpZ2g7CiAgICAg KHZvaWQpSEVWQ1Byb2ZpbGVNYWluMTBIRFIxMDsKQEAgLTM1Myw2ICszNjAsOCBAQCBpbnQgZmZf QU1lZGlhQ29kZWNQcm9maWxlX2dldFByb2ZpbGVGcm9tQVZDb2RlY0NvbnRleHQoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4KQogICAgICh2b2lkKVZQOVByb2ZpbGUzSERSOwogICAgICh2b2lkKVZQOVBy b2ZpbGUySERSMTBQbHVzOwogICAgICh2b2lkKVZQOVByb2ZpbGUzSERSMTBQbHVzOworICAgICh2 b2lkKUFWMVByb2ZpbGVNYWluMTBIRFIxMDsKKyAgICAodm9pZClBVjFQcm9maWxlTWFpbjEwSERS MTBQbHVzOwogCiAgICAgaWYgKGF2Y3R4LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0KSB7 CiAgICAgICAgIHN3aXRjaChhdmN0eC0+cHJvZmlsZSkgewpAQCAtNDM2LDYgKzQ0NSw5IEBAIGlu dCBmZl9BTWVkaWFDb2RlY1Byb2ZpbGVfZ2V0UHJvZmlsZUZyb21BVkNvZGVjQ29udGV4dChBVkNv ZGVjQ29udGV4dCAqYXZjdHgpCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgfQorICAgIH0gZWxzZSBpZihhdmN0eC0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf QVYxKSB7CisgICAgICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYyA9IGF2X3BpeF9m bXRfZGVzY19nZXQoYXZjdHgtPnBpeF9mbXQpOworICAgICAgICByZXR1cm4gZGVzYyAhPSBOVUxM ICYmIGRlc2MtPmNvbXBbMF0uZGVwdGggPT0gOD8gQVYxUHJvZmlsZU1haW44IDogQVYxUHJvZmls ZU1haW4xMDsKICAgICB9CiAKICAgICByZXR1cm4gLTE7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVj L21lZGlhY29kZWNlbmMuYyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5jCmluZGV4IGU0YjU4 M2E1NDIuLjEwZGE0M2MzZTcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5j CisrKyBiL2xpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5jCkBAIC0xNzAsNiArMTcwLDkgQEAgc3Rh dGljIGF2X2NvbGQgaW50IG1lZGlhY29kZWNfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCiAg ICAgY2FzZSBBVl9DT0RFQ19JRF9NUEVHNDoKICAgICAgICAgY29kZWNfbWltZSA9ICJ2aWRlby9t cDR2LWVzIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVl9DT0RFQ19JRF9BVjE6CisgICAg ICAgIGNvZGVjX21pbWUgPSAidmlkZW8vYXYwMSI7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1 bHQ6CiAgICAgICAgIGF2X2Fzc2VydDAoMCk7CiAgICAgfQpAQCAtNzc5LDE2ICs3ODIsMTYgQEAg REVDTEFSRV9NRURJQUNPREVDX0VOQ09ERVIoaGV2YywgIkguMjY1IiwgQVZfQ09ERUNfSURfSEVW QykKIAogZW51bSBNZWRpYUNvZGVjVlA5TGV2ZWwgewogICAgIFZQOUxldmVsMSAgPSAweDEsCi0g ICAgVlA5TGV2ZWwxMSAgPSAweDIsCisgICAgVlA5TGV2ZWwxMSA9IDB4MiwKICAgICBWUDlMZXZl bDIgID0gMHg0LAotICAgIFZQOUxldmVsMjEgID0gMHg4LAotICAgIFZQOUxldmVsMyA9IDB4MTAs CisgICAgVlA5TGV2ZWwyMSA9IDB4OCwKKyAgICBWUDlMZXZlbDMgID0gMHgxMCwKICAgICBWUDlM ZXZlbDMxID0gMHgyMCwKICAgICBWUDlMZXZlbDQgID0gMHg0MCwKLSAgICBWUDlMZXZlbDQxICA9 IDB4ODAsCi0gICAgVlA5TGV2ZWw1ID0gMHgxMDAsCisgICAgVlA5TGV2ZWw0MSA9IDB4ODAsCisg ICAgVlA5TGV2ZWw1ICA9IDB4MTAwLAogICAgIFZQOUxldmVsNTEgPSAweDIwMCwKLSAgICBWUDlM ZXZlbDUyICA9IDB4NDAwLAorICAgIFZQOUxldmVsNTIgPSAweDQwMCwKICAgICBWUDlMZXZlbDYg ID0gMHg4MDAsCiAgICAgVlA5TGV2ZWw2MSA9IDB4MTAwMCwKICAgICBWUDlMZXZlbDYyID0gMHgy MDAwLApAQCAtODM3LDE1ICs4NDAsMTUgQEAgREVDTEFSRV9NRURJQUNPREVDX0VOQ09ERVIodnA5 LCAiVlA5IiwgQVZfQ09ERUNfSURfVlA5KQogCiBlbnVtIE1lZGlhQ29kZWNNcGVnNExldmVsIHsK ICAgICBNUEVHNExldmVsMCAgPSAweDAxLAotICAgIE1QRUc0TGV2ZWwwYiAgPSAweDAyLAotICAg IE1QRUc0TGV2ZWwxID0gMHgwNCwKKyAgICBNUEVHNExldmVsMGIgPSAweDAyLAorICAgIE1QRUc0 TGV2ZWwxICA9IDB4MDQsCiAgICAgTVBFRzRMZXZlbDIgID0gMHgwOCwKLSAgICBNUEVHNExldmVs MyA9IDB4MTAsCisgICAgTVBFRzRMZXZlbDMgID0gMHgxMCwKICAgICBNUEVHNExldmVsM2IgPSAw eDE4LAotICAgIE1QRUc0TGV2ZWw0ID0gMHgyMCwKLSAgICBNUEVHNExldmVsNGEgID0gMHg0MCwK KyAgICBNUEVHNExldmVsNCAgPSAweDIwLAorICAgIE1QRUc0TGV2ZWw0YSA9IDB4NDAsCiAgICAg TVBFRzRMZXZlbDUgID0gMHg4MCwKLSAgICBNUEVHNExldmVsNiA9IDB4MTAwLAorICAgIE1QRUc0 TGV2ZWw2ICA9IDB4MTAwLAogfTsKIAogc3RhdGljIGNvbnN0IEFWT3B0aW9uIG1wZWc0X29wdGlv bnNbXSA9IHsKQEAgLTg3OCwzICs4ODEsOTEgQEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIG1wZWc0 X29wdGlvbnNbXSA9IHsKIERFQ0xBUkVfTUVESUFDT0RFQ19FTkNPREVSKG1wZWc0LCAiTVBFRy00 IiwgQVZfQ09ERUNfSURfTVBFRzQpCiAKICNlbmRpZiAgLy8gQ09ORklHX01QRUc0X01FRElBQ09E RUNfRU5DT0RFUgorCisjaWYgQ09ORklHX0FWMV9NRURJQUNPREVDX0VOQ09ERVIKKworZW51bSBN ZWRpYUNvZGVjQVYxTGV2ZWwgeworICAgIEFWMUxldmVsMiAgPSAweDEsCisgICAgQVYxTGV2ZWwy MSA9IDB4MiwKKyAgICBBVjFMZXZlbDIyID0gMHg0LAorICAgIEFWMUxldmVsMjMgPSAweDgsCisg ICAgQVYxTGV2ZWwzICA9IDB4MTAsCisgICAgQVYxTGV2ZWwzMSA9IDB4MjAsCisgICAgQVYxTGV2 ZWwzMiA9IDB4NDAsCisgICAgQVYxTGV2ZWwzMyA9IDB4ODAsCisgICAgQVYxTGV2ZWw0ICA9IDB4 MTAwLAorICAgIEFWMUxldmVsNDEgPSAweDIwMCwKKyAgICBBVjFMZXZlbDQyID0gMHg0MDAsCisg ICAgQVYxTGV2ZWw0MyA9IDB4ODAwLAorICAgIEFWMUxldmVsNSAgPSAweDEwMDAsCisgICAgQVYx TGV2ZWw1MSA9IDB4MjAwMCwKKyAgICBBVjFMZXZlbDUyID0gMHg0MDAwLAorICAgIEFWMUxldmVs NTMgPSAweDgwMDAsCisgICAgQVYxTGV2ZWw2ICA9IDB4MTAwMDAsCisgICAgQVYxTGV2ZWw2MSA9 IDB4MjAwMDAsCisgICAgQVYxTGV2ZWw2MiA9IDB4NDAwMDAsCisgICAgQVYxTGV2ZWw2MyA9IDB4 ODAwMDAsCisgICAgQVYxTGV2ZWw3ICA9IDB4MTAwMDAwLAorICAgIEFWMUxldmVsNzEgPSAweDIw MDAwMCwKKyAgICBBVjFMZXZlbDcyID0gMHg0MDAwMDAsCisgICAgQVYxTGV2ZWw3MyA9IDB4ODAw MDAwLAorfTsKKworc3RhdGljIGNvbnN0IEFWT3B0aW9uIGF2MV9vcHRpb25zW10gPSB7CisgICAg Q09NTU9OX09QVElPTgorICAgIHsgImxldmVsIiwgIlNwZWNpZnkgdGllciBhbmQgbGV2ZWwiLAor ICAgICAgICAgICAgICAgIE9GRlNFVChsZXZlbCksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQgPSAw fSwgMCwgSU5UX01BWCwgVkUsICJsZXZlbCIgfSwKKyAgICB7ICIyIiwgICAgICJMZXZlbCAyIiwK KyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gQVYxTGV2ZWwy ICB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiMi4xIiwgICAgIkxldmVsIDIuMSIs CisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFWMUxldmVs MjEgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjIuMiIsICAgICJMZXZlbCAyLjIi LAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBBVjFMZXZl bDIyIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICIyLjMiLCAgICAiTGV2ZWwgMi4z IiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gQVYxTGV2 ZWwyMyB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiMyIsICAgICAgIkxldmVsIDMi LAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBBVjFMZXZl bDMgIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICIzLjEiLCAgICAiTGV2ZWwgMy4x IiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gQVYxTGV2 ZWwzMSB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiMy4yIiwgICAgIkxldmVsIDMu MiIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFWMUxl dmVsMzIgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjMuMyIsICAgICJMZXZlbCAz LjMiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBBVjFM ZXZlbDMzIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI0IiwgICAgICAiTGV2ZWwg NCIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFWMUxl dmVsNCAgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjQuMSIsICAgICJMZXZlbCA0 LjEiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBBVjFM ZXZlbDQxIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI0LjIiLCAgICAiTGV2ZWwg NC4yIiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gQVYx TGV2ZWw0MiB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiNC4zIiwgICAgIkxldmVs IDQuMyIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFW MUxldmVsNDMgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjUiLCAgICAgICJMZXZl bCA1IiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0gQVYx TGV2ZWw1ICB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiNS4xIiwgICAgIkxldmVs IDUuMSIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEFW MUxldmVsNTEgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjUuMiIsICAgICJMZXZl bCA1LjIiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBB VjFMZXZlbDUyIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI1LjMiLCAgICAiTGV2 ZWwgNS4zIiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0g QVYxTGV2ZWw1MyB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiNiIsICAgICAgIkxl dmVsIDYiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBB VjFMZXZlbDYgIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI2LjEiLCAgICAiTGV2 ZWwgNi4xIiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0ID0g QVYxTGV2ZWw2MSB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiNi4yIiwgICAgIkxl dmVsIDYuMiIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9 IEFWMUxldmVsNjIgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjYuMyIsICAgICJM ZXZlbCA2LjMiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQg PSBBVjFMZXZlbDYzIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI3IiwgICAgICAi TGV2ZWwgNyIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9 IEFWMUxldmVsNyAgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgIjcuMSIsICAgICJM ZXZlbCA3LjEiLAorICAgICAgICAgICAgICAgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQg PSBBVjFMZXZlbDcxIH0sICAwLCAwLCBWRSwgICJsZXZlbCIgfSwKKyAgICB7ICI3LjIiLCAgICAi TGV2ZWwgNy4yIiwKKyAgICAgICAgICAgICAgICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAuaTY0 ID0gQVYxTGV2ZWw3MiB9LCAgMCwgMCwgVkUsICAibGV2ZWwiIH0sCisgICAgeyAiNy4zIiwgICAg IkxldmVsIDcuMyIsCisgICAgICAgICAgICAgICAgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2 NCA9IEFWMUxldmVsNzMgfSwgIDAsIDAsIFZFLCAgImxldmVsIiB9LAorICAgIHsgTlVMTCwgfQor fTsKKworREVDTEFSRV9NRURJQUNPREVDX0VOQ09ERVIoYXYxLCAiQVYxIiwgQVZfQ09ERUNfSURf QVYxKQorCisjZW5kaWYgIC8vIENPTkZJR19BVjFfTUVESUFDT0RFQ19FTkNPREVSCi0tIApHaXRM YWIKCg== --_005_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_ 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_PR3PR02MB6169F52C27A53AE5DD39AD32ED659PR3PR02MB6169eurp_--