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 EEF4C45902 for ; Mon, 27 Mar 2023 15:21:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1DF2D68CB02; Mon, 27 Mar 2023 18:21:38 +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 948DB68C506 for ; Mon, 27 Mar 2023 18:21:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PhmDFv2Q8lENfzMJ30dflVJ8/ilSPLZQ8dJZAnuXzjP7Q/47zuhRx00VuCkkMom+32ygy8OOzaQEc/ZKF9pVlc8K2qntdSjuKXVahRYn5TM8hMFocHev3xRQBS1YHlCsnWCsGvGbJaETbOhmx21nbVQcDNUy3IEVhHxHxt41YOMbKloFzxipUCCdfTA+QN8NWDhlEjcQU3Wj5mWGPfS1Fv1xd3hUGslfNUriF1V4w0X4GhlmO5IWw94SkFns8Qxt1hiAlYPDH0qo4xKjzUTiYsCUeDKQ53Ibi8WQrZti2BPlu3mv3oJTMPI0Ae9DvXUElgYr628FnQX224IG8zvcUw== 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=UHRrBQH/j94mexiK4biMWdrlk5Lc+IBH1K0X5QGMWsI=; b=kPZwwUiMSE079hOLsjRwuoqNRpQejwLyY8GGE0K89XOngs5JLEL5EOfnjE8fEkW1MWRgJ0TgeCPwYnFbj00ATMfmesBcC79pRt+OKdXqPcyJDKOUeTlzclLypR2QSoC8lNM4S2tVchaJfNeIsqdLZMDt2H54zxC9vRO49hmXObIXwSI8BBPQFwebOrSA6sbD3CO3CNtTMlrQmmBC5xO9Ppwiai9w1IYu16kXdueIN5xxJutAjQwhukN4EOCK2oJljs+rGFRW1K0zyGo2YXJdJcdyNdJBVjKtVnHQyCvt8Pv/o49vWpnYeHHlMPxotzOCPjLZmQjFc0zIYahjQHq98g== 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=UHRrBQH/j94mexiK4biMWdrlk5Lc+IBH1K0X5QGMWsI=; b=agc/96tUeLqChntB0Y6szqqalxfWFtHVxb5xP1Ju1Jbjy3LeypM5oqzChXqLFSmMdM3tYcoIMKKhT5U18NJK/IyG9xTiFcst3TpY/zaPdd5RX2Z4jI0ERgfA5EdCpXMJGQviDPMLVtRCWA+gPVAI6Kf0l66xEqZcI0MalEvrmfk= 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:28 +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:27 +0000 From: Samuel Raposo Vieira Mira To: FFmpeg development discussions and patches Thread-Topic: [PATCH 2/2] avcodec/mediacodec: add mpeg4 encoder Thread-Index: AQHZYL9uHE1rkVhUy06K6jBcukSswA== Date: Mon, 27 Mar 2023 15:21:27 +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: d7ea797a-ec2c-4a35-209e-08db2ed6ef68 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xkDjRVc1jvCMssfLVA1+yMPGtNyyp7TOcDhDslznv4H7N9WPEOSp1TgYWEh5J8sPEZ3N0iEZlFAyVbZ8QJYN/FCf/T8Qd2jzn7IHsnG3bnrafTFfwrz14PmusE3bgBDnJoG847kIHDXO+vmY8pVf5RSdco1Qa22aYbL6X71Cum7PoXGsbEeI1+nFdu/Cjr9BkPn4YJjlAmh7c6IGzJGrMcxVFIEh4FPcMDlkCccJMycXRM9GWDrBizGgvKp3R22OA3FqhElJZmAn+zVUbutowrmovOXmAVG5lIQWOGxrfAMQpPm/0Mc1uckfTmAz9HWDnLkAq1EqMcKJTSgiUZnFg/JemHwlQxsBvCOybChcnLeA8QdhlV8hLi8Wi1CwcT9R0GOK670k812z1nZTqy3YZrSXJ9aWPgC5E+/v9/2ye9IL2Al7iIK9HMh+3mWDLlm/JevV9KKVKVIbeCP+XPwC1jXjH8ZikkSxCmBbFA/tzRM4Y8Dc1FCYXXFdoRXXO9Vx4eSZoJvvoX+kXXiKS4D8nsktdzETz0iS9IYkaZfePMuMJFyYAvINwmJoXiKyfTx60ODojQ79opNmZUZh6+h7yCWePA8vUh4RqLKpJ61R3lV+H9wahoInkOqiBtS4kEtmJIDrqZvCPboAdNX6s1lvlA== 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?uNdyeWYJDW/FyqL+8vd4fZjnfsgdKamymnhLze4FBcWla2dXZc73TJq1vlDX?= =?us-ascii?Q?cTco+si2kGDHCxRnSu1dRroYvWi90DCJHfhM9aNiFHyjCF0R310haMGWuJOW?= =?us-ascii?Q?2trQHf2jfSxvqz5NtqfngbXEDtamj55RL2+hQ3weXQaHmZ68HV3dyOoCvf1Q?= =?us-ascii?Q?ap22C4Bx90qR79DIMK6D9BsRzLFM3OdyUvU/YqN8z6E1LtTRv411XHanHeBy?= =?us-ascii?Q?vRxfYt1SfHnXMpbFihZ0aeH3NXijT3RRitAJJWNpn3GnanBLSYEqqfhHLiDU?= =?us-ascii?Q?cpWaztHc8gGB/01V95zzc71gzWxwNccdf/2RLpZMQl+k73bBtuoF0+rSSOj7?= =?us-ascii?Q?6GHrK7b/NVhwmyk1GsgSXs7cJKB6GNDLGe2tP+E3TC8b1JQng8vZjUfW2sBX?= =?us-ascii?Q?6znUjRg6hJ/SYo8dm0y5wo2FEL5Yb0J4GLWkRSon0jPV+Y5TQ8yDLUGHy0sa?= =?us-ascii?Q?hqLraHFkGlLXlwW4BnLCwkq6h6Lso6h5W4o70rThVrcxkvqbAChKHsIgJpSE?= =?us-ascii?Q?owmNq8/npaf0W/SPE8iRrIZcHRw+773/A+TUXzQKd6lCIu+59mx4SQCtzB2l?= =?us-ascii?Q?o/gGCPq84odnWLH2+AmNeK3O4q9pY2Ho8qGNobaqSeN0tXN0TVkfHaSxQeBc?= =?us-ascii?Q?faSIYkgDpCUDQ1vgLDiRYC5NobvtkmcCNpw/AjoyTK8eB34iRW53BKtlMLmX?= =?us-ascii?Q?tTJHMO8yyxOqlZ/mNeP9BvswwqkiJNkWPRvqMaz/JMTHtO0I888pTdg+mKhi?= =?us-ascii?Q?HVGMSq0tywpQB7+04J4lSglTPjXwwhMPtMAGKmM/9k5v6Z2t2zlPrt0wdTBL?= =?us-ascii?Q?4VPpBNKtz8rvxJvpoEKUOPSd4hGTvGMO5PLslyWHpyaRp8BdXloQ57AWbJKr?= =?us-ascii?Q?fItO+PxK0OIIL+5mczsH8GMKtJjCPttzoDfR5xCWDhlb3Hm16FzYvCx/DuN+?= =?us-ascii?Q?h7KL2PJG4X2fOxEY9BWqTB6XGOLUTuHC/OBbz6BR2CL6Pajj5THHoG2Q8GjJ?= =?us-ascii?Q?uM0QqlVv5l2S/CGM5L5Hc7mQlbq4FMw9eodt9MqWlMH/EDkKdJw6poVzx69B?= =?us-ascii?Q?ypZTHVoeN5xC5RSgZlBGahU2HJ6wGh+sNoKjsvREYJm9HomfEVKr7y7tYUi0?= =?us-ascii?Q?XL+FvNzTaKY/uE6XphHxHEDSANfNoYMBimQ69kxu4iwWMV/tMCJpcu5rwYeG?= =?us-ascii?Q?RFCCQQho80dNjxtl1cYHwpkHTKTN5OGsQ0BGXWN16HzCjTHuvU5wbnLoSAJP?= =?us-ascii?Q?YF0j+gpcu/BL0OdNtzS3zjmlHWlaSnox59QCoT0jNs8NyTF5QFKMiEMrDM6w?= =?us-ascii?Q?2MLZmroes49NguDAqasT/kJYnrmJS9GUezNCmL+HLn8gP+hN99mehaXirIxY?= =?us-ascii?Q?QUHVU4VP3rjJf9ZZXN7X5dq3ulzK0Nn/UthBq9A2uH9qnEmrjUqnt1NuKlCb?= =?us-ascii?Q?XNzSU0e58Ohs8wpwU9ltbDJDVShLGKpt1WrcT13/qtP+nwp60fKF41G3xV/q?= =?us-ascii?Q?z91HJAZ8F0KLkOVgQUYSIu2OrOhMrob3IMCacW7X1mVEWqpScOKEBxNgtepZ?= =?us-ascii?Q?GM12rweyoZtU8UmkqCN9n7XSgn+B/IuD+nSyhr4e4xi8mb9an2jMWd0Fslbv?= =?us-ascii?Q?+w=3D=3D?= Content-Type: multipart/mixed; boundary="_010_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_" 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: d7ea797a-ec2c-4a35-209e-08db2ed6ef68 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2023 15:21:27.6917 (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: HfFSmxwmWuVBtM44TfinMoIydYFMpI8lFj4DzwESDjbaX5IqnvAaedKWV6duL0lPkHahGVa/wkBJKquDz+uEZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR02MB8646 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH 2/2] avcodec/mediacodec: add mpeg4 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: --_010_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ Content-Type: multipart/related; boundary="_009_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_"; type="multipart/alternative" --_009_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This patch will add MPEG4 encoder using Android Mediacodec Signed-off-by: Samuel Mira > --- configure | 2 ++ libavcodec/Makefile | 1 + libavcodec/allcodecs.c | 1 + libavcodec/mediacodec_wrapper.c | 55 +++++++++++++++++++++++++++++++++ libavcodec/mediacodecenc.c | 49 +++++++++++++++++++++++++++++ 5 files changed, 108 insertions(+) diff --git a/configure b/configure index 101bc7b2f1..be0c201414 100755 --- a/configure +++ b/configure @@ -3226,6 +3226,8 @@ mpeg2_v4l2m2m_decoder_deps=3D"v4l2_m2m mpeg2_v4l2_m2m= " mpeg4_crystalhd_decoder_select=3D"crystalhd" mpeg4_cuvid_decoder_deps=3D"cuvid" mpeg4_mediacodec_decoder_deps=3D"mediacodec" +mpeg4_mediacodec_encoder_deps=3D"mediacodec" +mpeg4_mediacodec_encoder_extralibs=3D"-landroid" mpeg4_mmal_decoder_deps=3D"mmal" mpeg4_omx_encoder_deps=3D"omx" mpeg4_v4l2m2m_decoder_deps=3D"v4l2_m2m mpeg4_v4l2_m2m" diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 3d213014c6..77b7c988c5 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -542,6 +542,7 @@ OBJS-$(CONFIG_MPEG4_DECODER) +=3D mpeg4videod= sp.o xvididct.o OBJS-$(CONFIG_MPEG4_ENCODER) +=3D mpeg4videoenc.o OBJS-$(CONFIG_MPEG4_CUVID_DECODER) +=3D cuviddec.o OBJS-$(CONFIG_MPEG4_MEDIACODEC_DECODER) +=3D mediacodecdec.o +OBJS-$(CONFIG_MPEG4_MEDIACODEC_ENCODER) +=3D mediacodecenc.o OBJS-$(CONFIG_MPEG4_OMX_ENCODER) +=3D omx.o OBJS-$(CONFIG_MPEG4_V4L2M2M_DECODER) +=3D v4l2_m2m_dec.o OBJS-$(CONFIG_MPEG4_V4L2M2M_ENCODER) +=3D v4l2_m2m_enc.o diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c index 6333844868..24fd935211 100644 --- a/libavcodec/allcodecs.c +++ b/libavcodec/allcodecs.c @@ -871,6 +871,7 @@ extern const FFCodec ff_mpeg2_qsv_encoder; extern const FFCodec ff_mpeg2_vaapi_encoder; extern const FFCodec ff_mpeg4_cuvid_decoder; extern const FFCodec ff_mpeg4_mediacodec_decoder; +extern const FFCodec ff_mpeg4_mediacodec_encoder; extern const FFCodec ff_mpeg4_omx_encoder; extern const FFCodec ff_mpeg4_v4l2m2m_encoder; extern const FFCodec ff_prores_videotoolbox_encoder; diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrappe= r.c index b13211d435..46445bc7d6 100644 --- a/libavcodec/mediacodec_wrapper.c +++ b/libavcodec/mediacodec_wrapper.c @@ -327,6 +327,23 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext= (AVCodecContext *avctx) static const int VP9Profile3HDR =3D 0x2000; static const int VP9Profile2HDR10Plus =3D 0x4000; static const int VP9Profile3HDR10Plus =3D 0x8000; + + static const int MPEG4ProfileSimple =3D 0x01; + static const int MPEG4ProfileSimpleScalable =3D 0x02; + static const int MPEG4ProfileCore =3D 0x04; + static const int MPEG4ProfileMain =3D 0x08; + static const int MPEG4ProfileNbit =3D 0x10; + static const int MPEG4ProfileScalableTexture =3D 0x20; + static const int MPEG4ProfileSimpleFBA =3D 0x80; + static const int MPEG4ProfileSimpleFace =3D 0x40; + static const int MPEG4ProfileBasicAnimated =3D 0x100; + static const int MPEG4ProfileHybrid =3D 0x200; + static const int MPEG4ProfileAdvancedRealTime =3D 0x400; + static const int MPEG4ProfileCoreScalable =3D 0x800; + static const int MPEG4ProfileAdvancedCoding =3D 0x1000; + static const int MPEG4ProfileAdvancedCore =3D 0x2000; + static const int MPEG4ProfileAdvancedScalable =3D 0x4000; + static const int MPEG4ProfileAdvancedSimple =3D 0x8000; // Unused yet. (void)AVCProfileConstrainedHigh; @@ -381,6 +398,44 @@ int ff_AMediaCodecProfile_getProfileFromAVCodecContext= (AVCodecContext *avctx) case FF_PROFILE_VP9_3: return VP9Profile3; } + } else if(avctx->codec_id =3D=3D AV_CODEC_ID_MPEG4) { + switch (avctx->profile) + { + case FF_PROFILE_MPEG4_SIMPLE: + return MPEG4ProfileSimple; + case FF_PROFILE_MPEG4_SIMPLE_SCALABLE: + return MPEG4ProfileSimpleScalable; + case FF_PROFILE_MPEG4_CORE: + return MPEG4ProfileCore; + case FF_PROFILE_MPEG4_MAIN: + return MPEG4ProfileMain; + case FF_PROFILE_MPEG4_N_BIT: + return MPEG4ProfileNbit; + case FF_PROFILE_MPEG4_SCALABLE_TEXTURE: + return MPEG4ProfileScalableTexture; + case FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION: + return MPEG4ProfileSimpleFBA; + case FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE: + return MPEG4ProfileBasicAnimated; + case FF_PROFILE_MPEG4_HYBRID: + return MPEG4ProfileHybrid; + case FF_PROFILE_MPEG4_ADVANCED_REAL_TIME: + return MPEG4ProfileAdvancedRealTime; + case FF_PROFILE_MPEG4_CORE_SCALABLE: + return MPEG4ProfileCoreScalable; + case FF_PROFILE_MPEG4_ADVANCED_CODING: + return MPEG4ProfileAdvancedCoding; + case FF_PROFILE_MPEG4_ADVANCED_CORE: + return MPEG4ProfileAdvancedCore; + case FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE: + return MPEG4ProfileAdvancedScalable; + case FF_PROFILE_MPEG4_ADVANCED_SIMPLE: + return MPEG4ProfileAdvancedSimple; + case FF_PROFILE_MPEG4_SIMPLE_STUDIO: + // Studio profiles are not supported by mediacodec. + default: + break; + } } return -1; diff --git a/libavcodec/mediacodecenc.c b/libavcodec/mediacodecenc.c index c7e2beb1ae..6baa7eda14 100644 --- a/libavcodec/mediacodecenc.c +++ b/libavcodec/mediacodecenc.c @@ -167,6 +167,9 @@ static av_cold int mediacodec_init(AVCodecContext *avct= x) case AV_CODEC_ID_VP9: codec_mime =3D "video/x-vnd.on2.vp9"; break; + case AV_CODEC_ID_MPEG4: + codec_mime =3D "video/mp4v-es"; + break; default: av_assert0(0); } @@ -825,3 +828,49 @@ static const AVOption vp9_options[] =3D { DECLARE_MEDIACODEC_ENCODER(vp9, "VP9", AV_CODEC_ID_VP9) #endif // CONFIG_VP9_MEDIACODEC_ENCODER + +#if CONFIG_MPEG4_MEDIACODEC_ENCODER + +enum MediaCodecMpeg4Level { + MPEG4Level0 =3D 0x01, + MPEG4Level0b =3D 0x02, + MPEG4Level1 =3D 0x04, + MPEG4Level2 =3D 0x08, + MPEG4Level3 =3D 0x10, + MPEG4Level3b =3D 0x18, + MPEG4Level4 =3D 0x20, + MPEG4Level4a =3D 0x40, + MPEG4Level5 =3D 0x80, + MPEG4Level6 =3D 0x100, +}; + +static const AVOption mpeg4_options[] =3D { + COMMON_OPTION + { "level", "Specify tier and level", + OFFSET(level), AV_OPT_TYPE_INT, {.i64 =3D 0}, 0, INT_MAX, = VE, "level" }, + { "0", "Level 0", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level0 }, 0, 0, VE= , "level" }, + { "0b", "Level 0b", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level0b }, 0, 0, VE= , "level" }, + { "1", "Level 1", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level1 }, 0, 0, VE= , "level" }, + { "2", "Level 2", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level2 }, 0, 0, VE,= "level" }, + { "3", "Level 3", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level3 }, 0, 0, VE= , "level" }, + { "3b", "Level 3b", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level3b }, 0, 0, VE= , "level" }, + { "4", "Level 4", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level4 }, 0, 0, VE= , "level" }, + { "4a", "Level 4a", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level4a }, 0, 0, VE= , "level" }, + { "5", "Level 5", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level5 }, 0, 0, VE= , "level" }, + { "6", "Level 6", + 0, AV_OPT_TYPE_CONST, { .i64 =3D MPEG4Level6 }, 0, 0, VE= , "level" }, + { NULL, } +}; + +DECLARE_MEDIACODEC_ENCODER(mpeg4, "MPEG-4", AV_CODEC_ID_MPEG4) + +#endif // CONFIG_MPEG4_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_4074551992] [signature_183607293] [signature_465813548] [signature_1516411291] [signature_1076561480] --_009_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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:19:20 GMT"; modification-date="Mon, 27 Mar 2023 15:19:20 GMT" Content-ID: Content-Transfer-Encoding: base64 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 --_009_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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:19:21 GMT"; modification-date="Mon, 27 Mar 2023 15:19:21 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_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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:19:21 GMT"; modification-date="Mon, 27 Mar 2023 15:19:21 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_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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:19:22 GMT"; modification-date="Mon, 27 Mar 2023 15:19:22 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_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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:19:22 GMT"; modification-date="Mon, 27 Mar 2023 15:19:22 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_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_-- --_010_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ Content-Type: application/octet-stream; name="0002-avcodec-mediacodec-add-mpeg4-encoder.patch.b64" Content-Description: 0002-avcodec-mediacodec-add-mpeg4-encoder.patch.b64 Content-Disposition: attachment; filename="0002-avcodec-mediacodec-add-mpeg4-encoder.patch.b64"; size=10665; creation-date="Mon, 27 Mar 2023 15:20:58 GMT"; modification-date="Mon, 27 Mar 2023 15:20:58 GMT" Content-Transfer-Encoding: base64 Um5KdmJTQXlNREU0TlRZeE16a3hORFppWW1OalpqZGlObUl3TmpneE9UZ3haalkxWkROa056WTJO VEZpSUUxdmJpQlRaWEFnTVRjZ01EQTZNREE2TURBZ01qQXdNUXBHY205dE9pQlRZVzExWld3Z1RX bHlZU0E4YzJGdGRXVnNMbTFwY21GQWNYUXVhVzgrQ2tSaGRHVTZJRTF2Yml3Z01qY2dUV0Z5SURJ d01qTWdNVEE2TlRVNk5EUWdLekF3TURBS1UzVmlhbVZqZERvZ1cxQkJWRU5JSURJdk1sMGdZWFpq YjJSbFl5OXRaV1JwWVdOdlpHVmpPaUJoWkdRZ2JYQmxaelFnWlc1amIyUmxjZ29LVkdocGN5QndZ WFJqYUNCM2FXeHNJR0ZrWkNCTlVFVkhOQ0JsYm1OdlpHVnlJSFZ6YVc1bklFRnVaSEp2YVdRZ1RX VmthV0ZqYjJSbFl3b3RMUzBLSUdOdmJtWnBaM1Z5WlNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNB Z0lDQWdmQ0FnTWlBckt3b2diR2xpWVhaamIyUmxZeTlOWVd0bFptbHNaU0FnSUNBZ0lDQWdJQ0Fn SUNCOElDQXhJQ3NLSUd4cFltRjJZMjlrWldNdllXeHNZMjlrWldOekxtTWdJQ0FnSUNBZ0lDQWdm Q0FnTVNBckNpQnNhV0poZG1OdlpHVmpMMjFsWkdsaFkyOWtaV05mZDNKaGNIQmxjaTVqSUh3Z05U VWdLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckt5c3JLeXNyS3lzckNpQnNhV0poZG1O dlpHVmpMMjFsWkdsaFkyOWtaV05sYm1NdVl5QWdJQ0FnSUh3Z05Ea2dLeXNyS3lzckt5c3JLeXNy S3lzckt5c3JLeXNyS3lzckt5c3JLeXNLSURVZ1ptbHNaWE1nWTJoaGJtZGxaQ3dnTVRBNElHbHVj MlZ5ZEdsdmJuTW9LeWtLQ21ScFptWWdMUzFuYVhRZ1lTOWpiMjVtYVdkMWNtVWdZaTlqYjI1bWFX ZDFjbVVLYVc1a1pYZ2dNVEF4WW1NM1lqSm1NUzR1WW1Vd1l6SXdNVFF4TkNBeE1EQTNOVFVLTFMw dElHRXZZMjl1Wm1sbmRYSmxDaXNyS3lCaUwyTnZibVpwWjNWeVpRcEFRQ0F0TXpJeU5pdzJJQ3N6 TWpJMkxEZ2dRRUFnYlhCbFp6SmZkalJzTW0weWJWOWtaV052WkdWeVgyUmxjSE05SW5ZMGJESmZi VEp0SUcxd1pXY3lYM1kwYkRKZmJUSnRJZ29nYlhCbFp6UmZZM0o1YzNSaGJHaGtYMlJsWTI5a1pY SmZjMlZzWldOMFBTSmpjbmx6ZEdGc2FHUWlDaUJ0Y0dWbk5GOWpkWFpwWkY5a1pXTnZaR1Z5WDJS bGNITTlJbU4xZG1sa0lnb2diWEJsWnpSZmJXVmthV0ZqYjJSbFkxOWtaV052WkdWeVgyUmxjSE05 SW0xbFpHbGhZMjlrWldNaUNpdHRjR1ZuTkY5dFpXUnBZV052WkdWalgyVnVZMjlrWlhKZlpHVndj ejBpYldWa2FXRmpiMlJsWXlJS0syMXdaV2MwWDIxbFpHbGhZMjlrWldOZlpXNWpiMlJsY2w5bGVI UnlZV3hwWW5NOUlpMXNZVzVrY205cFpDSUtJRzF3WldjMFgyMXRZV3hmWkdWamIyUmxjbDlrWlhC elBTSnRiV0ZzSWdvZ2JYQmxaelJmYjIxNFgyVnVZMjlrWlhKZlpHVndjejBpYjIxNElnb2diWEJs WnpSZmRqUnNNbTB5YlY5a1pXTnZaR1Z5WDJSbGNITTlJblkwYkRKZmJUSnRJRzF3WldjMFgzWTBi REpmYlRKdElncGthV1ptSUMwdFoybDBJR0V2YkdsaVlYWmpiMlJsWXk5TllXdGxabWxzWlNCaUwy eHBZbUYyWTI5a1pXTXZUV0ZyWldacGJHVUthVzVrWlhnZ00yUXlNVE13TVRSak5pNHVOemRpTjJN NU9EaGpOU0F4TURBMk5EUUtMUzB0SUdFdmJHbGlZWFpqYjJSbFl5OU5ZV3RsWm1sc1pRb3JLeXNn WWk5c2FXSmhkbU52WkdWakwwMWhhMlZtYVd4bENrQkFJQzAxTkRJc05pQXJOVFF5TERjZ1FFQWdU MEpLVXkwa0tFTlBUa1pKUjE5TlVFVkhORjlFUlVOUFJFVlNLU0FnSUNBZ0lDQWdJQ0FnS3owZ2JY QmxaelIyYVdSbGIyUnpjQzV2SUhoMmFXUnBaR04wTG04S0lFOUNTbE10SkNoRFQwNUdTVWRmVFZC RlJ6UmZSVTVEVDBSRlVpa2dJQ0FnSUNBZ0lDQWdJQ3M5SUcxd1pXYzBkbWxrWlc5bGJtTXVid29n VDBKS1V5MGtLRU5QVGtaSlIxOU5VRVZITkY5RFZWWkpSRjlFUlVOUFJFVlNLU0FnSUNBZ0t6MGdZ M1YyYVdSa1pXTXVid29nVDBKS1V5MGtLRU5QVGtaSlIxOU5VRVZITkY5TlJVUkpRVU5QUkVWRFgw UkZRMDlFUlZJcElDczlJRzFsWkdsaFkyOWtaV05rWldNdWJ3b3JUMEpLVXkwa0tFTlBUa1pKUjE5 TlVFVkhORjlOUlVSSlFVTlBSRVZEWDBWT1EwOUVSVklwSUNzOUlHMWxaR2xoWTI5a1pXTmxibU11 YndvZ1QwSktVeTBrS0VOUFRrWkpSMTlOVUVWSE5GOVBUVmhmUlU1RFQwUkZVaWtnSUNBZ0lDQWdL ejBnYjIxNExtOEtJRTlDU2xNdEpDaERUMDVHU1VkZlRWQkZSelJmVmpSTU1rMHlUVjlFUlVOUFJF VlNLU0FnSUNzOUlIWTBiREpmYlRKdFgyUmxZeTV2Q2lCUFFrcFRMU1FvUTA5T1JrbEhYMDFRUlVj MFgxWTBUREpOTWsxZlJVNURUMFJGVWlrZ0lDQXJQU0IyTkd3eVgyMHliVjlsYm1NdWJ3cGthV1pt SUMwdFoybDBJR0V2YkdsaVlYWmpiMlJsWXk5aGJHeGpiMlJsWTNNdVl5QmlMMnhwWW1GMlkyOWta V012WVd4c1kyOWtaV056TG1NS2FXNWtaWGdnTmpNek16ZzBORGcyT0M0dU1qUm1aRGt6TlRJeE1T QXhNREEyTkRRS0xTMHRJR0V2YkdsaVlYWmpiMlJsWXk5aGJHeGpiMlJsWTNNdVl3b3JLeXNnWWk5 c2FXSmhkbU52WkdWakwyRnNiR052WkdWamN5NWpDa0JBSUMwNE56RXNOaUFyT0RjeExEY2dRRUFn WlhoMFpYSnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmZiWEJsWnpKZmNYTjJYMlZ1WTI5a1pYSTdD aUJsZUhSbGNtNGdZMjl1YzNRZ1JrWkRiMlJsWXlCbVpsOXRjR1ZuTWw5MllXRndhVjlsYm1OdlpH VnlPd29nWlhoMFpYSnVJR052Ym5OMElFWkdRMjlrWldNZ1ptWmZiWEJsWnpSZlkzVjJhV1JmWkdW amIyUmxjanNLSUdWNGRHVnliaUJqYjI1emRDQkdSa052WkdWaklHWm1YMjF3WldjMFgyMWxaR2xo WTI5a1pXTmZaR1ZqYjJSbGNqc0tLMlY0ZEdWeWJpQmpiMjV6ZENCR1JrTnZaR1ZqSUdabVgyMXda V2MwWDIxbFpHbGhZMjlrWldOZlpXNWpiMlJsY2pzS0lHVjRkR1Z5YmlCamIyNXpkQ0JHUmtOdlpH VmpJR1ptWDIxd1pXYzBYMjl0ZUY5bGJtTnZaR1Z5T3dvZ1pYaDBaWEp1SUdOdmJuTjBJRVpHUTI5 a1pXTWdabVpmYlhCbFp6UmZkalJzTW0weWJWOWxibU52WkdWeU93b2daWGgwWlhKdUlHTnZibk4w SUVaR1EyOWtaV01nWm1aZmNISnZjbVZ6WDNacFpHVnZkRzl2YkdKdmVGOWxibU52WkdWeU93cGth V1ptSUMwdFoybDBJR0V2YkdsaVlYWmpiMlJsWXk5dFpXUnBZV052WkdWalgzZHlZWEJ3WlhJdVl5 QmlMMnhwWW1GMlkyOWtaV012YldWa2FXRmpiMlJsWTE5M2NtRndjR1Z5TG1NS2FXNWtaWGdnWWpF ek1qRXhaRFF6TlM0dU5EWTBORFZpWXpka05pQXhNREEyTkRRS0xTMHRJR0V2YkdsaVlYWmpiMlJs WXk5dFpXUnBZV052WkdWalgzZHlZWEJ3WlhJdVl3b3JLeXNnWWk5c2FXSmhkbU52WkdWakwyMWxa R2xoWTI5a1pXTmZkM0poY0hCbGNpNWpDa0JBSUMwek1qY3NOaUFyTXpJM0xESXpJRUJBSUdsdWRD Qm1abDlCVFdWa2FXRkRiMlJsWTFCeWIyWnBiR1ZmWjJWMFVISnZabWxzWlVaeWIyMUJWa052WkdW alEyOXVkR1Y0ZENoQlZrTnZaR1ZqUTI5dWRHVjRkQ0FxWVhaamRIZ3BDaUFnSUNBZ2MzUmhkR2xq SUdOdmJuTjBJR2x1ZENCV1VEbFFjbTltYVd4bE0waEVVaUE5SURCNE1qQXdNRHNLSUNBZ0lDQnpk R0YwYVdNZ1kyOXVjM1FnYVc1MElGWlFPVkJ5YjJacGJHVXlTRVJTTVRCUWJIVnpJRDBnTUhnME1E QXdPd29nSUNBZ0lITjBZWFJwWXlCamIyNXpkQ0JwYm5RZ1ZsQTVVSEp2Wm1sc1pUTklSRkl4TUZC c2RYTWdQU0F3ZURnd01EQTdDaXNnSUNBZ0Npc2dJQ0FnYzNSaGRHbGpJR052Ym5OMElHbHVkQ0JO VUVWSE5GQnliMlpwYkdWVGFXMXdiR1VnSUNBZ0lDQWdJQ0FnSUQwZ01IZ3dNVHNLS3lBZ0lDQnpk R0YwYVdNZ1kyOXVjM1FnYVc1MElFMVFSVWMwVUhKdlptbHNaVk5wYlhCc1pWTmpZV3hoWW14bElD QWdQU0F3ZURBeU93b3JJQ0FnSUhOMFlYUnBZeUJqYjI1emRDQnBiblFnVFZCRlJ6UlFjbTltYVd4 bFEyOXlaU0FnSUNBZ0lDQWdJQ0FnSUNBOUlEQjRNRFE3Q2lzZ0lDQWdjM1JoZEdsaklHTnZibk4w SUdsdWRDQk5VRVZITkZCeWIyWnBiR1ZOWVdsdUlDQWdJQ0FnSUNBZ0lDQWdJRDBnTUhnd09Ec0tL eUFnSUNCemRHRjBhV01nWTI5dWMzUWdhVzUwSUUxUVJVYzBVSEp2Wm1sc1pVNWlhWFFnSUNBZ0lD QWdJQ0FnSUNBZ1BTQXdlREV3T3dvcklDQWdJSE4wWVhScFl5QmpiMjV6ZENCcGJuUWdUVkJGUnpS UWNtOW1hV3hsVTJOaGJHRmliR1ZVWlhoMGRYSmxJQ0E5SURCNE1qQTdDaXNnSUNBZ2MzUmhkR2xq SUdOdmJuTjBJR2x1ZENCTlVFVkhORkJ5YjJacGJHVlRhVzF3YkdWR1FrRWdJQ0FnSUNBZ0lEMGdN SGc0TURzS0t5QWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FXNTBJRTFRUlVjMFVISnZabWxzWlZOcGJY QnNaVVpoWTJVZ0lDQWdJQ0FnUFNBd2VEUXdPd29ySUNBZ0lITjBZWFJwWXlCamIyNXpkQ0JwYm5R Z1RWQkZSelJRY205bWFXeGxRbUZ6YVdOQmJtbHRZWFJsWkNBZ0lDQTlJREI0TVRBd093b3JJQ0Fn SUhOMFlYUnBZeUJqYjI1emRDQnBiblFnVFZCRlJ6UlFjbTltYVd4bFNIbGljbWxrSUNBZ0lDQWdJ Q0FnSUNBOUlEQjRNakF3T3dvcklDQWdJSE4wWVhScFl5QmpiMjV6ZENCcGJuUWdUVkJGUnpSUWNt OW1hV3hsUVdSMllXNWpaV1JTWldGc1ZHbHRaU0E5SURCNE5EQXdPd29ySUNBZ0lITjBZWFJwWXlC amIyNXpkQ0JwYm5RZ1RWQkZSelJRY205bWFXeGxRMjl5WlZOallXeGhZbXhsSUNBZ0lDQTlJREI0 T0RBd093b3JJQ0FnSUhOMFlYUnBZeUJqYjI1emRDQnBiblFnVFZCRlJ6UlFjbTltYVd4bFFXUjJZ VzVqWldSRGIyUnBibWNnSUNBOUlEQjRNVEF3TURzS0t5QWdJQ0J6ZEdGMGFXTWdZMjl1YzNRZ2FX NTBJRTFRUlVjMFVISnZabWxzWlVGa2RtRnVZMlZrUTI5eVpTQWdJQ0FnUFNBd2VESXdNREE3Q2lz Z0lDQWdjM1JoZEdsaklHTnZibk4wSUdsdWRDQk5VRVZITkZCeWIyWnBiR1ZCWkhaaGJtTmxaRk5q WVd4aFlteGxJRDBnTUhnME1EQXdPd29ySUNBZ0lITjBZWFJwWXlCamIyNXpkQ0JwYm5RZ1RWQkZS elJRY205bWFXeGxRV1IyWVc1alpXUlRhVzF3YkdVZ0lDQTlJREI0T0RBd01Ec0tJQW9nSUNBZ0lD OHZJRlZ1ZFhObFpDQjVaWFF1Q2lBZ0lDQWdLSFp2YVdRcFFWWkRVSEp2Wm1sc1pVTnZibk4wY21G cGJtVmtTR2xuYURzS1FFQWdMVE00TVN3MklDc3pPVGdzTkRRZ1FFQWdhVzUwSUdabVgwRk5aV1Jw WVVOdlpHVmpVSEp2Wm1sc1pWOW5aWFJRY205bWFXeGxSbkp2YlVGV1EyOWtaV05EYjI1MFpYaDBL RUZXUTI5a1pXTkRiMjUwWlhoMElDcGhkbU4wZUNrS0lDQWdJQ0FnSUNBZ0lHTmhjMlVnUmtaZlVG SlBSa2xNUlY5V1VEbGZNem9LSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCV1VEbFFjbTltYVd4 bE16c0tJQ0FnSUNBZ0lDQWdmUW9ySUNBZ0lIMGdaV3h6WlNCcFppaGhkbU4wZUMwK1kyOWtaV05m YVdRZ1BUMGdRVlpmUTA5RVJVTmZTVVJmVFZCRlJ6UXBJSHNLS3lBZ0lDQWdJQ0FnYzNkcGRHTm9J Q2hoZG1OMGVDMCtjSEp2Wm1sc1pTa0tLeUFnSUNBZ0lDQWdld29ySUNBZ0lDQWdJQ0JqWVhObElF WkdYMUJTVDBaSlRFVmZUVkJGUnpSZlUwbE5VRXhGT2dvcklDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhK dUlFMVFSVWMwVUhKdlptbHNaVk5wYlhCc1pUc0tLeUFnSUNBZ0lDQWdZMkZ6WlNCR1JsOVFVazlH U1V4RlgwMVFSVWMwWDFOSlRWQk1SVjlUUTBGTVFVSk1SVG9LS3lBZ0lDQWdJQ0FnSUNBZ0lISmxk SFZ5YmlCTlVFVkhORkJ5YjJacGJHVlRhVzF3YkdWVFkyRnNZV0pzWlRzS0t5QWdJQ0FnSUNBZ1ky RnpaU0JHUmw5UVVrOUdTVXhGWDAxUVJVYzBYME5QVWtVNkNpc2dJQ0FnSUNBZ0lDQWdJQ0J5WlhS MWNtNGdUVkJGUnpSUWNtOW1hV3hsUTI5eVpUc0tLeUFnSUNBZ0lDQWdZMkZ6WlNCR1JsOVFVazlH U1V4RlgwMVFSVWMwWDAxQlNVNDZDaXNnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVFZCRlJ6UlFj bTltYVd4bFRXRnBianNLS3lBZ0lDQWdJQ0FnWTJGelpTQkdSbDlRVWs5R1NVeEZYMDFRUlVjMFgw NWZRa2xVT2dvcklDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlFMVFSVWMwVUhKdlptbHNaVTVpYVhR N0Npc2dJQ0FnSUNBZ0lHTmhjMlVnUmtaZlVGSlBSa2xNUlY5TlVFVkhORjlUUTBGTVFVSk1SVjlV UlZoVVZWSkZPZ29ySUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUUxUVJVYzBVSEp2Wm1sc1pWTmpZ V3hoWW14bFZHVjRkSFZ5WlRzS0t5QWdJQ0FnSUNBZ1kyRnpaU0JHUmw5UVVrOUdTVXhGWDAxUVJV YzBYMU5KVFZCTVJWOUdRVU5GWDBGT1NVMUJWRWxQVGpvS0t5QWdJQ0FnSUNBZ0lDQWdJSEpsZEhW eWJpQk5VRVZITkZCeWIyWnBiR1ZUYVcxd2JHVkdRa0U3Q2lzZ0lDQWdJQ0FnSUdOaGMyVWdSa1pm VUZKUFJrbE1SVjlOVUVWSE5GOUNRVk5KUTE5QlRrbE5RVlJGUkY5VVJWaFVWVkpGT2dvcklDQWdJ Q0FnSUNBZ0lDQWdjbVYwZFhKdUlFMVFSVWMwVUhKdlptbHNaVUpoYzJsalFXNXBiV0YwWldRN0Np c2dJQ0FnSUNBZ0lHTmhjMlVnUmtaZlVGSlBSa2xNUlY5TlVFVkhORjlJV1VKU1NVUTZDaXNnSUNB Z0lDQWdJQ0FnSUNCeVpYUjFjbTRnVFZCRlJ6UlFjbTltYVd4bFNIbGljbWxrT3dvcklDQWdJQ0Fn SUNCallYTmxJRVpHWDFCU1QwWkpURVZmVFZCRlJ6UmZRVVJXUVU1RFJVUmZVa1ZCVEY5VVNVMUZP Z29ySUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUUxUVJVYzBVSEp2Wm1sc1pVRmtkbUZ1WTJWa1Vt VmhiRlJwYldVN0Npc2dJQ0FnSUNBZ0lHTmhjMlVnUmtaZlVGSlBSa2xNUlY5TlVFVkhORjlEVDFK RlgxTkRRVXhCUWt4Rk9nb3JJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRTFRUlVjMFVISnZabWxz WlVOdmNtVlRZMkZzWVdKc1pUc0tLeUFnSUNBZ0lDQWdZMkZ6WlNCR1JsOVFVazlHU1V4RlgwMVFS VWMwWDBGRVZrRk9RMFZFWDBOUFJFbE9Sem9LS3lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCTlVF VkhORkJ5YjJacGJHVkJaSFpoYm1ObFpFTnZaR2x1WnpzS0t5QWdJQ0FnSUNBZ1kyRnpaU0JHUmw5 UVVrOUdTVXhGWDAxUVJVYzBYMEZFVmtGT1EwVkVYME5QVWtVNkNpc2dJQ0FnSUNBZ0lDQWdJQ0J5 WlhSMWNtNGdUVkJGUnpSUWNtOW1hV3hsUVdSMllXNWpaV1JEYjNKbE93b3JJQ0FnSUNBZ0lDQmpZ WE5sSUVaR1gxQlNUMFpKVEVWZlRWQkZSelJmUVVSV1FVNURSVVJmVTBOQlRFRkNURVZmVkVWWVZG VlNSVG9LS3lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCTlVFVkhORkJ5YjJacGJHVkJaSFpoYm1O bFpGTmpZV3hoWW14bE95QWdDaXNnSUNBZ0lDQWdJR05oYzJVZ1JrWmZVRkpQUmtsTVJWOU5VRVZI TkY5QlJGWkJUa05GUkY5VFNVMVFURVU2Q2lzZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1RWQkZS elJRY205bWFXeGxRV1IyWVc1alpXUlRhVzF3YkdVN0Npc2dJQ0FnSUNBZ0lHTmhjMlVnUmtaZlVG SlBSa2xNUlY5TlVFVkhORjlUU1UxUVRFVmZVMVJWUkVsUE9nb3JJQ0FnSUNBZ0lDQWdJQ0FnTHk4 Z1UzUjFaR2x2SUhCeWIyWnBiR1Z6SUdGeVpTQnViM1FnYzNWd2NHOXlkR1ZrSUdKNUlHMWxaR2xo WTI5a1pXTXVDaXNnSUNBZ0lDQWdJR1JsWm1GMWJIUTZDaXNnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhh enNLS3lBZ0lDQWdJQ0FnZlFvZ0lDQWdJSDBLSUFvZ0lDQWdJSEpsZEhWeWJpQXRNVHNLWkdsbVpp QXRMV2RwZENCaEwyeHBZbUYyWTI5a1pXTXZiV1ZrYVdGamIyUmxZMlZ1WXk1aklHSXZiR2xpWVha amIyUmxZeTl0WldScFlXTnZaR1ZqWlc1akxtTUthVzVrWlhnZ1l6ZGxNbUpsWWpGaFpTNHVObUpo WVRkbFpHRXhOQ0F4TURBMk5EUUtMUzB0SUdFdmJHbGlZWFpqYjJSbFl5OXRaV1JwWVdOdlpHVmpa VzVqTG1NS0t5c3JJR0l2YkdsaVlYWmpiMlJsWXk5dFpXUnBZV052WkdWalpXNWpMbU1LUUVBZ0xU RTJOeXcySUNzeE5qY3NPU0JBUUNCemRHRjBhV01nWVhaZlkyOXNaQ0JwYm5RZ2JXVmthV0ZqYjJS bFkxOXBibWwwS0VGV1EyOWtaV05EYjI1MFpYaDBJQ3BoZG1OMGVDa0tJQ0FnSUNCallYTmxJRUZX WDBOUFJFVkRYMGxFWDFaUU9Ub0tJQ0FnSUNBZ0lDQWdZMjlrWldOZmJXbHRaU0E5SUNKMmFXUmxi eTk0TFhadVpDNXZiakl1ZG5BNUlqc0tJQ0FnSUNBZ0lDQWdZbkpsWVdzN0Npc2dJQ0FnWTJGelpT QkJWbDlEVDBSRlExOUpSRjlOVUVWSE5Eb0tLeUFnSUNBZ0lDQWdZMjlrWldOZmJXbHRaU0E5SUNK MmFXUmxieTl0Y0RSMkxXVnpJanNLS3lBZ0lDQWdJQ0FnWW5KbFlXczdJQ0FnSUFvZ0lDQWdJR1Js Wm1GMWJIUTZDaUFnSUNBZ0lDQWdJR0YyWDJGemMyVnlkREFvTUNrN0NpQWdJQ0FnZlFwQVFDQXRP REkxTERNZ0t6Z3lPQ3cwT1NCQVFDQnpkR0YwYVdNZ1kyOXVjM1FnUVZaUGNIUnBiMjRnZG5BNVgy OXdkR2x2Ym5OYlhTQTlJSHNLSUVSRlEweEJVa1ZmVFVWRVNVRkRUMFJGUTE5RlRrTlBSRVZTS0ha d09Td2dJbFpRT1NJc0lFRldYME5QUkVWRFgwbEVYMVpRT1NrS0lBb2dJMlZ1WkdsbUlDQXZMeUJE VDA1R1NVZGZWbEE1WDAxRlJFbEJRMDlFUlVOZlJVNURUMFJGVWdvckNpc2phV1lnUTA5T1JrbEhY MDFRUlVjMFgwMUZSRWxCUTA5RVJVTmZSVTVEVDBSRlVnb3JDaXRsYm5WdElFMWxaR2xoUTI5a1pX Tk5jR1ZuTkV4bGRtVnNJSHNLS3lBZ0lDQk5VRVZITkV4bGRtVnNNQ0FnUFNBd2VEQXhMQW9ySUNB Z0lFMVFSVWMwVEdWMlpXd3dZaUFnUFNBd2VEQXlMQW9ySUNBZ0lFMVFSVWMwVEdWMlpXd3hJRDBn TUhnd05Dd0tLeUFnSUNCTlVFVkhORXhsZG1Wc01pQWdQU0F3ZURBNExBb3JJQ0FnSUUxUVJVYzBU R1YyWld3eklEMGdNSGd4TUN3S0t5QWdJQ0JOVUVWSE5FeGxkbVZzTTJJZ1BTQXdlREU0TEFvcklD QWdJRTFRUlVjMFRHVjJaV3cwSUQwZ01IZ3lNQ3dLS3lBZ0lDQk5VRVZITkV4bGRtVnNOR0VnSUQw Z01IZzBNQ3dLS3lBZ0lDQk5VRVZITkV4bGRtVnNOU0FnUFNBd2VEZ3dMQW9ySUNBZ0lFMVFSVWMw VEdWMlpXdzJJRDBnTUhneE1EQXNDaXQ5T3dvckNpdHpkR0YwYVdNZ1kyOXVjM1FnUVZaUGNIUnBi MjRnYlhCbFp6UmZiM0IwYVc5dWMxdGRJRDBnZXdvcklDQWdJRU5QVFUxUFRsOVBVRlJKVDA0S0t5 QWdJQ0I3SUNKc1pYWmxiQ0lzSUNKVGNHVmphV1o1SUhScFpYSWdZVzVrSUd4bGRtVnNJaXdLS3lB Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0JQUmtaVFJWUW9iR1YyWld3cExDQkJWbDlQVUZSZlZGbFFSVjlK VGxRc0lIc3VhVFkwSUQwZ01IMHNJREFzSUVsT1ZGOU5RVmdzSUZaRkxDQWliR1YyWld3aUlIMHND aXNnSUNBZ2V5QWlNQ0lzSUNBZ0lDQWlUR1YyWld3Z01DSXNDaXNnSUNBZ0lDQWdJQ0FnSUNBZ0lD QWdNQ3dnUVZaZlQxQlVYMVJaVUVWZlEwOU9VMVFzSUhzZ0xtazJOQ0E5SUUxUVJVYzBUR1YyWld3 d0lDQjlMQ0FnTUN3Z01Dd2dWa1VzSUNBaWJHVjJaV3dpSUgwc0Npc2dJQ0FnZXlBaU1HSWlMQ0Fn SUNBaVRHVjJaV3dnTUdJaUxBb3JJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNJRUZXWDA5UVZGOVVX VkJGWDBOUFRsTlVMQ0I3SUM1cE5qUWdQU0JOVUVWSE5FeGxkbVZzTUdJZ2ZTd2dJREFzSURBc0lG WkZMQ0FnSW14bGRtVnNJaUI5TEFvcklDQWdJSHNnSWpFaUxDQWdJQ0FnSWt4bGRtVnNJREVpTEFv cklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZYME5QVGxOVUxDQjdJQzVw TmpRZ1BTQk5VRVZITkV4bGRtVnNNU0FnZlN3Z0lEQXNJREFzSUZaRkxDQWdJbXhsZG1Wc0lpQjlM QW9ySUNBZ0lIc2dJaklpTENBZ0lDQWdJa3hsZG1Wc0lESWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lD QWdJREFzSUVGV1gwOVFWRjlVV1ZCRlgwTlBUbE5VTENCN0lDNXBOalFnUFNCTlVFVkhORXhsZG1W c01pQjlMQ0FnTUN3Z01Dd2dWa1VzSUNBaWJHVjJaV3dpSUgwc0Npc2dJQ0FnZXlBaU15SXNJQ0Fn SUNBaVRHVjJaV3dnTXlJc0Npc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01Dd2dRVlpmVDFCVVgxUlpV RVZmUTA5T1UxUXNJSHNnTG1rMk5DQTlJRTFRUlVjMFRHVjJaV3d6SUNCOUxDQWdNQ3dnTUN3Z1Zr VXNJQ0FpYkdWMlpXd2lJSDBzQ2lzZ0lDQWdleUFpTTJJaUxDQWdJQ0FpVEdWMlpXd2dNMklpTEFv cklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc0lFRldYMDlRVkY5VVdWQkZYME5QVGxOVUxDQjdJQzVw TmpRZ1BTQk5VRVZITkV4bGRtVnNNMklnZlN3Z0lEQXNJREFzSUZaRkxDQWdJbXhsZG1Wc0lpQjlM QW9ySUNBZ0lIc2dJalFpTENBZ0lDQWdJa3hsZG1Wc0lEUWlMQW9ySUNBZ0lDQWdJQ0FnSUNBZ0lD QWdJREFzSUVGV1gwOVFWRjlVV1ZCRlgwTlBUbE5VTENCN0lDNXBOalFnUFNCTlVFVkhORXhsZG1W c05DQWdmU3dnSURBc0lEQXNJRlpGTENBZ0lteGxkbVZzSWlCOUxBb3JJQ0FnSUhzZ0lqUmhJaXdn SUNBZ0lreGxkbVZzSURSaElpd0tLeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMQ0JCVmw5UFVGUmZW RmxRUlY5RFQwNVRWQ3dnZXlBdWFUWTBJRDBnVFZCRlJ6Uk1aWFpsYkRSaElIMHNJQ0F3TENBd0xD QldSU3dnSUNKc1pYWmxiQ0lnZlN3S0t5QWdJQ0I3SUNJMUlpd2dJQ0FnSUNKTVpYWmxiQ0ExSWl3 S0t5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xDQkJWbDlQVUZSZlZGbFFSVjlEVDA1VFZDd2dleUF1 YVRZMElEMGdUVkJGUnpSTVpYWmxiRFVnSUgwc0lDQXdMQ0F3TENCV1JTd2dJQ0pzWlhabGJDSWdm U3dLS3lBZ0lDQjdJQ0kySWl3Z0lDQWdJQ0pNWlhabGJDQTJJaXdLS3lBZ0lDQWdJQ0FnSUNBZ0lD QWdJQ0F3TENCQlZsOVBVRlJmVkZsUVJWOURUMDVUVkN3Z2V5QXVhVFkwSUQwZ1RWQkZSelJNWlha bGJEWWdJSDBzSUNBd0xDQXdMQ0JXUlN3Z0lDSnNaWFpsYkNJZ2ZTd0tLeUFnSUNCN0lFNVZURXdz SUgwS0szMDdDaXNLSzBSRlEweEJVa1ZmVFVWRVNVRkRUMFJGUTE5RlRrTlBSRVZTS0cxd1pXYzBM Q0FpVFZCRlJ5MDBJaXdnUVZaZlEwOUVSVU5mU1VSZlRWQkZSelFwQ2lzS0t5TmxibVJwWmlBZ0x5 OGdRMDlPUmtsSFgwMVFSVWMwWDAxRlJFbEJRMDlFUlVOZlJVNURUMFJGVWdvdExTQUtNaTR6TlM0 eUNnbz0K --_010_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_ 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_DBAPR02MB6165762C3E66BDC164E593A3ED8B9DBAPR02MB6165eurp_--