From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id D38DA4FE12 for ; Wed, 2 Jul 2025 21:52:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id ADE2168DBDC; Thu, 3 Jul 2025 00:52:01 +0300 (EEST) Received: from BY5PR09CU001.outbound.protection.outlook.com (mail-westusazon11011049.outbound.protection.outlook.com [52.101.86.49]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 6C8B368D5B0 for ; Thu, 3 Jul 2025 00:51:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SfEdMwJFBl74Jyc/iKMvHEejdTH+HtIOabR7/fhgVcP1s+5Ql5JRNL/bhr7XnbQZyhdJODJmiNLjW8XQemUA88fhAaY2UlLUcYdi5jYKqVnV+0fO633Exc69oRWDqDfUJcV56FKZAFjmNwNYJrFGuWNQXhytZuI4h9PxjyL4+iOSPpVGrj0r9VI/6+bRoovWoWEX8n3fryAlqkguDt5/+kEK+6C7kkIAUL9fq9HCkQac7ttd4Rgu1I1tDXKypH53HiD9iRi+Ej+QxaRJZdHhOLm0N/RqLO33VYqMHWca3h7KZWsBwQEnWuTy4Mg/bB/mqAufki71lZsUzKZ4nsNIzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=8h2hAAVDz1f+UWUZxo6kcbU5hvIStMJ9zj8u/fg5PKU=; b=lhzz/IfzdudIQ71JbQ+0QJv8UDo4nMp4zFQFfbgvBKkmbuaC5PpyANy9CeoRhLrtihz6VcHYCWUsVk5NYZsl9+3pJ4qFWHY7+F99CoyQU1BzX02LY07/Mok/zLaVEDsgY54gPevs/QC42Qt7iBBe8vrPkG/2BaiNKNwIPtZmxOUdJ2Lky5DmynhVylTOj9L3f7NBulRZw32z/x2tZ3XUzjgwABU2FkebB28uJ4ixibi0pQrhpCuiTlis6DmMJ2b+uXQoBgz6/gSHCrpfxqGlz+UIyXEwCN230dxGKfNfn+piS9EFBA+eqAXe81OIGdqKqihTUDkqfi2U6qig0Mm0fA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gsdeng.com; dmarc=pass action=none header.from=gsdeng.com; dkim=pass header.d=gsdeng.com; arc=none Received: from DM8PR09MB6216.namprd09.prod.outlook.com (2603:10b6:5:2f1::22) by SA1PR09MB10184.namprd09.prod.outlook.com (2603:10b6:806:274::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.20; Wed, 2 Jul 2025 21:51:48 +0000 Received: from DM8PR09MB6216.namprd09.prod.outlook.com ([fe80::18de:fe20:1c5e:693]) by DM8PR09MB6216.namprd09.prod.outlook.com ([fe80::18de:fe20:1c5e:693%5]) with mapi id 15.20.8901.018; Wed, 2 Jul 2025 21:51:48 +0000 From: Caleb Sawyer To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] mpegtsenc: Add SYNC KLV metadata descriptors (MISB ST1402) Thread-Index: AQHb65uAGVfu9gquBke8a7fhPjkEog== Date: Wed, 2 Jul 2025 21:51:48 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Enabled=True; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_SiteId=d94bea1e-2eee-4e3c-8350-5f96c528fe02; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_SetDate=2025-07-02T21:51:47.837Z; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Name=All Employees (unrestricted); MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_ContentBits=0; MSIP_Label_defa4170-0d19-0005-0004-bc88714345d2_Method=Standard; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=GSDeng.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR09MB6216:EE_|SA1PR09MB10184:EE_ x-ms-office365-filtering-correlation-id: fb4be875-d26f-4916-e388-08ddb9b2a518 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|10070799003|41320700013|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?AC1SfnjjFCQnmXHuICLd5uEM8uDz7SUxtN3wi2vjtopEuYo97QioITQvlw?= =?iso-8859-1?Q?4wIN+AOABRTJloumywvK4ehF3+GuT/Asy10yc4UOJ/SsJ9kxUUJYBwKDjY?= =?iso-8859-1?Q?7Z4nR54q28X7ZQILWeHXS9nHmVtr0TWaMPaCEs7ORtM+vukf8fTDsBwD8I?= =?iso-8859-1?Q?C72gmT0A4uFp9qK/5pWW92FS9Umtjp5/UM0dDByGGPRYoqFrwoL4J17tB2?= =?iso-8859-1?Q?tFUakLusPEVDN4q0z60xKzSUPa1Wzih+BhbeJwXeLn/DvbOtL0eH5RCg3r?= =?iso-8859-1?Q?gq2nJYuBBHT7iJYd5pgik+nmMY+dckyvb7WVI3wFFuI5bdXhVwGku4PVhw?= =?iso-8859-1?Q?3Ok+EYTx2vl7GO2kDW0vtVTGLFIme8aA/hYxEvElqqt+VjnESHPa65Zcev?= =?iso-8859-1?Q?uMhwwGW+XaAo9ELKfC9IMpo0fILGWOsXdAsZbOFAoPJJq3JS+9saHtuyCi?= =?iso-8859-1?Q?SHW7HrAw6FMvCKofUuN72wWNX8BTGJyG9YQxKKrhVB45R7tUPGdi2N/2C/?= =?iso-8859-1?Q?Ol3/m/4LWFLOlGjBfnS0SeGw9/UXpsLPajwimPptO+tLywdOcNeqVE2pO1?= =?iso-8859-1?Q?QGksPtj3i4iPilwjXu9wOzotzuCmqk9qLdyxOjQox+w9Hbhg6AipYG+9BS?= =?iso-8859-1?Q?IGXb/qo16hPc10r2QCl6K6UT994BKgNQWxb0jZ7p8Dqsi9MeVQmafCK9fJ?= =?iso-8859-1?Q?xjn2cfXf85zhuOV6DTpiG/dORh1wWDTUO/IXnpOpHInLgvfpQeOUGmnyfh?= =?iso-8859-1?Q?A/DoHxdfjk/1uyC9M3fkKC2ztERVkFMUqfkiZvvdxVXYq8kPlPse/+c093?= =?iso-8859-1?Q?V7i5SAhpH07/nNaxQGDNsd91JxhxDx4fQ6aCFdEbvHaAgsQyOKusasm8xo?= =?iso-8859-1?Q?exmpw6vHgRqTC2K0JB6MGQ4HASmWXE+xw/tVSpAOD5zSg0gN220OePfJ3y?= =?iso-8859-1?Q?Slx866jzXklpgm9kqBkGLubZobNhWDPFWkq6lU62Sw9hlOnnQgjMUU1qNh?= =?iso-8859-1?Q?cj3fOz2CPwClxQpyiQS9IFOCrJA4cAcMF9qeAqUGwvvRYUKXs+LnUHiAD0?= =?iso-8859-1?Q?TDLijcShujiooeZxDKOcbRNGdYMQQ/9qpPVBqFl9nNwuiK63tVnCnBDQ2L?= =?iso-8859-1?Q?o7KCz30g5HEKMkqXSqUXHt1+WIZXfzMn8s92Lq3eK5t6rWOKypMruyO5xZ?= =?iso-8859-1?Q?sccPmslVsNcYt27MyJjTwrOh03ph8BO4apaSDvWo7+B1xaitoY99+lbOzP?= =?iso-8859-1?Q?fcBd/OVEeNBt4PSlb8A2qvbKAlVw8QIPigbCC/po7uAgFBAzDFwaKSQRo3?= =?iso-8859-1?Q?N6vvC9oybb68XABck9/IhcNhJxPZA2KWGipX4M0yzeOiSS00z53HDVvZwu?= =?iso-8859-1?Q?oQ4+ztIev775LlnQY8flEIqMvkZ5Kj62fnNO1uKCZEZ2ksoFHSWAI6Dkb1?= =?iso-8859-1?Q?xazhG8sWuVt2Mr3KQeoyA7bnY5ecrByXFb8XldLFoAnpShHqI31kjipwKr?= =?iso-8859-1?Q?GF+fQrpQeT0QC+Ftvy/JAKJq94/ngsGAou2T5a6c5mig=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR09MB6216.namprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(10070799003)(41320700013)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?kV3+ru/ocLxrCCqrTHCwiskvRQ4H26v8fT2Bob4nhZs4Ll0eyeGQ0rgLxB?= =?iso-8859-1?Q?PhY3zBvIAFfSBAyLCCVtsXtMUTipgKcaZd4iNBY6OthELk3ZL5JlGpcrbF?= =?iso-8859-1?Q?mhGYkQtPj7cwJYGVCor5fsbuFR7Al4EwKU3RZ3uxcRiwWArNUGcVmZwEmF?= =?iso-8859-1?Q?w8FCDsU8mlHsfBR50pnG9s70Vr+svYb5QQtzzr/YZcnh4Zwzhc/Vv+SHpw?= =?iso-8859-1?Q?GGn6atNW7dBkaMLCHZWah68vThLo/bTjbfN0YCoCGgsep/d8Y8a9NAfDwe?= =?iso-8859-1?Q?mkJg+Kunh8wbJWELr+aGKiqtsXd+AUeLZIUrL8brcUHBguHraepVKDMcS2?= =?iso-8859-1?Q?Nhj+8uBUS/GJqVmCYrshHbBylpsGCbLxxoxrRtLe/uG9ksBhmgGRHQeuLP?= =?iso-8859-1?Q?ffUQr9zL2wM50BXsstCHvR//DNuAU0sYD66EbZemr4UH07gBt3VbPSgbOE?= =?iso-8859-1?Q?VbDFqumFJpKaZzVs3VtGQtWsohZIGNUkLAGb7Po4uukXDr7iOjiEYfwPus?= =?iso-8859-1?Q?uGkiIlZ9/20uqbQbx9UK/Lt+3NXnu8RWOZWlW6ooc8GWDCywxT2Jtt4FFg?= =?iso-8859-1?Q?1TIg8nO+LfNKpSRSSs1sqSo+hhHQ2H7Io4m74gEJ4i2aMGWenAd/7tRtwr?= =?iso-8859-1?Q?OSJbfvTfqgG6oHJG0N9+7VTUCTndEhiwcn+/MdIEX24rRrzsVCdeK8iDse?= =?iso-8859-1?Q?DEmtJTjSc1gO3xRI1JoMVpCgfFHvNNdX0l7PkxH3pBVLMBbwY14/KNA7nw?= =?iso-8859-1?Q?f0YmHZiljH1m668ajpNqbTCc7/ennp1x7DGP/228IQsIHhshytWhdsNjv9?= =?iso-8859-1?Q?rxpLgNpCn6NVjfOVEo1QtzZj92gMhgMeUqGZz3PNC6Jt4tomjY9tgaGaX3?= =?iso-8859-1?Q?KycjAC5X9fA4to+hCqcijxiEY0xJj2U87oguUppV6dvzguG/rqSX69z7LS?= =?iso-8859-1?Q?83FnBziD31ELMTUJs1ZC+g2Fdo/Q/1KORFK0S+eklG7sT/0MLWpTma6A8s?= =?iso-8859-1?Q?Nm0defC0WxgAXs/mgTtzvpHL+wlDGhVMSASZOztK02IjMcFsiFnJHNiTZM?= =?iso-8859-1?Q?fj97O6rFr3lqy+nERlfkWSq8p77tGQ6TZRf2djuwUht3/LhYTtNKv+vVbR?= =?iso-8859-1?Q?NKUgQNT7AkLwB04k+0zhZqpKJpWk1sky4mxKJ0BbPXvm+Av3h6lcX7PhmM?= =?iso-8859-1?Q?jtoWg9bytgpnwqK4O6HHUw+i2JC3ykmhE1HyWAVJBEZtIjFdKgWHxaj2Gj?= =?iso-8859-1?Q?1iMGEe0tGpgjaOxZHzYcvg9MlDSaHaAh4yBTl8/x+N4v07q0OyN4hOZiAS?= =?iso-8859-1?Q?OBJ8cpyUnfWOs/WqzpGywEGQLvJwhp//kfTU//wdqSgufENHulUaDNW+Rc?= =?iso-8859-1?Q?QEo962jUzPpT/Od2e+PTWbsq48OMnDOerWvbg/14MNShc/DQccgLlvtaEQ?= =?iso-8859-1?Q?si8uH2oGzTGZNaN8REzXRuvqmbSZtbm8n/7vuI5lxskviu8l1BvlyNvHa/?= =?iso-8859-1?Q?RuzAdn7yegqAt/T/7Zb+v+hlIBVbSvo/hZaLOttKFQoAOeQNC/pTeQSxJL?= =?iso-8859-1?Q?rH3VmoB5gXTaZajOP3XzaB8AetYfAX626D/YRsH8CQ8LG2DMKOo6p3ZgLd?= =?iso-8859-1?Q?X8v/4qrfPTbyNjxJWqhe/96oX50ZDDPI1m3JI1dG+j5nPPhBBPTPkpg9DS?= =?iso-8859-1?Q?Hyu02OYeHJUwywaY1LuYmx8asZlNfxB+evVB95AG?= MIME-Version: 1.0 X-OriginatorOrg: GSDeng.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR09MB6216.namprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb4be875-d26f-4916-e388-08ddb9b2a518 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2025 21:51:48.1484 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d94bea1e-2eee-4e3c-8350-5f96c528fe02 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR09MB10184 Subject: [FFmpeg-devel] [PATCH] mpegtsenc: Add SYNC KLV metadata descriptors (MISB ST1402) 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Added metadata_descriptor and metadata_std_descriptor to the PMT for synchronous KLV streams. Asynchronous KLV streams remain as they were. The descriptors are required by MISB ST-1402.2 and are in accordance with ISO/IEC 13818-1. Signed-off-by: Caleb Sawyer --- libavformat/mpegtsenc.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 6935b71cfe..e99e189299 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -814,7 +814,28 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) break; case AVMEDIA_TYPE_DATA: if (codec_id == AV_CODEC_ID_SMPTE_KLV) { - put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); + if (st->codecpar->profile == AV_PROFILE_KLVA_SYNC) { + const char *fmtIdent = "KLVA"; + *q++ = METADATA_DESCRIPTOR; + *q++ = 9; /* descriptor length */ + put16(&q, 0x0100); /* metadata_application_format */ + *q++ = 0xff; /* metadata_format */ + putbuf(&q, fmtIdent, 4); /* KLVA */ + *q++ = 0x00; /* metadata_service_id */ + *q++ = 0x0f; /* decoder_config_flags, DSM-CC_flat, reserved */ + *q++ = METADATA_STD_DESCRIPTOR; + *q++ = 9; /* descriptor length */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_input_leak_rate 0x01c4 */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_buffer_size 0x0400 */ + *q++ = 0xc0; + put16(&q, 0x0000); /* reserved, metadata_output_leak_rate */ + } else { + put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); + } + } else if (codec_id == AV_CODEC_ID_SMPTE_2038) { + put_registration_descriptor(&q, MKTAG('V', 'A', 'N', 'C')); } else if (codec_id == AV_CODEC_ID_SMPTE_2038) { put_registration_descriptor(&q, MKTAG('V', 'A', 'N', 'C')); } else if (codec_id == AV_CODEC_ID_TIMED_ID3) { -- 2.47.1.windows.1 _______________________________________________ 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".