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 44A2C4FE96 for ; Thu, 3 Jul 2025 15:36:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id DED8C68ECEE; Thu, 3 Jul 2025 18:36:11 +0300 (EEST) Received: from SA9PR09CU002.outbound.protection.outlook.com (mail-southcentralusazon11010008.outbound.protection.outlook.com [40.93.193.8]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id CB36668ECD3 for ; Thu, 3 Jul 2025 18:36:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=a45h4tjItSOWjOJ3OrFbcqVabTYtlBRGwCWSBimBO9dc6lklxMPJ03hJVurf5dSIM2/LJYqTiMs7QQ1/bi0VaV76W22z3zymGD50D1zadtgUnyUcSMWd5JnpCG5VnrXeyw2daNAUIG5mMGmEBwJdCurg33YrfkZhm3hlILdVp8uPd7tv07TlbC/pm1aOlVV4iuNsaYYgNJPnOd9I+Wg0VM4voU1Bp/EtYFfwlEr5gpvA6h/8VKW/vKiFBf3WNVLZYwm9mvR7DRSAomol2rnTH3o1EWA+YBXS2DLQzOb18N1EJIS5LI2bkIccVf14SyexpcXQjcVHN4izSqKwy2zUUw== 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=JJR7u3qhFYQ9s25r24zy+r5cZX823EV+VGZZyn81QV8=; b=d2f6WBXShKu+y/2cUMF3OxVE5nkI/ZLwCeF12aGrD+IUZmil9WD51GtrVoesWdJmg7iNn9+amM7xyPc5ibuEK+HqwPy9WbofD8HB9SG8Ck8qD2+j0DRINRK/xASP0dXPqBu+q6X5ZZIiNlmEQS3LSNe7Rpri7l3OLrVDhH3QOrFRfWg55FKG8tW9DPVoOotQa5GuocUN1b2C7JEECtfbR7A3gqpWM43m0QzhuacQ9W/Tl186PpFlShoAzacRbGhhdyqHKTVCLe825+afU40KRvWeuDVyvCk7wgdVKCcXNTOFNrdijKLZ4HRuLxcVVXFP07TfFYNX8lanLckcVBEUmQ== 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 SA9PR09MB5358.namprd09.prod.outlook.com (2603:10b6:806:42::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.22; Thu, 3 Jul 2025 15:36:00 +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; Thu, 3 Jul 2025 15:36:00 +0000 From: Caleb Sawyer To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v3] mpegtsenc: Add SYNC KLV metadata descriptors (MISB ST1402) Thread-Index: AQHb7DAtsMGD8blybkugd8AlCxiJ4A== Date: Thu, 3 Jul 2025 15:36:00 +0000 Message-ID: <20250703153557.1210-1-caleb.sawyer@gsdeng.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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_|SA9PR09MB5358:EE_ x-ms-office365-filtering-correlation-id: 666570da-05e1-4678-f9f3-08ddba47504a x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|41320700013|1800799024|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?4f45pBgJgxivIRgdzX3d+Fatky945KWTM/ndvTdfnDiN8ZN51fVsW3L/yc?= =?iso-8859-1?Q?K8SCI0ZxJ7BZrfvXqhMIKyOgT0u092GdfhMWm9fZv5JgT4Q5mJA0rRkTkt?= =?iso-8859-1?Q?WwQdwt/ibhMlZVJBDqU75sKcybJriUYsVfye+iCjjySgZN8VE3gWDOBJNc?= =?iso-8859-1?Q?owcSuhSUGIeYwvD8jDiNuw6uS/H9z8AYmmPspo3Z3tmQ+ieV1Q16tRyCDw?= =?iso-8859-1?Q?soeI5dGQfev9wYOezOJbVYamgfBep7qCrzK8YGQxmHBMnuPz8jyaA+aJ8F?= =?iso-8859-1?Q?dJ8kNz9ww/CSFcXC2e6AHL//bFX9ig8avnleUtTkRgHBfs1/8YDpdjNKIv?= =?iso-8859-1?Q?SSqoyxrcI6tiMHMJQEkha3S93HtRzN8VO/nYUpMJolpx1WGVpkSrTUgx+f?= =?iso-8859-1?Q?OJ16fDTU8BfjRr0XvIA48lfOT1vPo0vzWTUpTU+wqJqoE+J3vL/JSgkEUw?= =?iso-8859-1?Q?nHDNdfo5FttiEkX5WBZKuMkj1A0UYk2VfajbJ/2h3JU2f+0SPf/IZHRA7f?= =?iso-8859-1?Q?JlRYFRHDIRadz2kRW19tlBaYR8d1V5BFaQo9WSIVENDwF17t/lK9y8jzXE?= =?iso-8859-1?Q?HPibjxaDHuv6nXwC2GDI7VNEBYIMUlOsYkpLpdVDvNJj/aBVunSUjIawiX?= =?iso-8859-1?Q?KoG2kY7IBSNozYYr+e9ttFvfgTUA+q48L9GDLBREe3HKEmo4mW3gm6b2V0?= =?iso-8859-1?Q?RG3c7mUDD7BADY78KFOt1WwVd4OJStNCSoktOJPP4NJNLFN1EVJWvWs+ud?= =?iso-8859-1?Q?Ng3pD4viJDQhE3w+eJ8pMn6BFZ5tBqefWVX3PPVKUCzLCrf7RSmssouPOq?= =?iso-8859-1?Q?PXer147ZAVUFpdp/dM3Y0PY7k7G7Z8P+cgMQkznWM4N6zsqTzcAKYFXmTL?= =?iso-8859-1?Q?e79YVF2WhkDKwYmkgi3z1YywbCPuX6IdnskmbSkOaNk5i8BlayI/dYbg3P?= =?iso-8859-1?Q?2tOIJbsEDRMlJ78bdkZi7TNa0sTqS4SKYJJqKR+C6Ksy1DS9P9uRX+wOiP?= =?iso-8859-1?Q?x65+b1CunJN1eoH4oben8GbvuCYVHXYATFE2VpK2mqB/Akk4GlA3cque3Q?= =?iso-8859-1?Q?UKfovBLnBsKFCiEDhh1AQTWbngC3BAfPa8HapEImrT18wnHPu9RHXrvyWE?= =?iso-8859-1?Q?GLKA98H5gmKfkh4KwnhfiGHBeSoLGE5xXZgHb4WEWOKtuxlR5+dmeHnnnf?= =?iso-8859-1?Q?80zgRWH1MUwDxDjzdP5kK0lXBQ+XCIePABKhuYNW49PZV16vuijqWqTZPg?= =?iso-8859-1?Q?a1RjXXrwTHw2DkT+dNXqK6nVDjnHnPQEpcpshGSaj3lpaVfWkmlSR5QyCh?= =?iso-8859-1?Q?8opb7NzphKN8a3lC3yJSUd7E2T0LAdwIUMPbPc8WuRR2+xADdHdlcMelaN?= =?iso-8859-1?Q?Xm9ohJQnc8M0G1aC3+aeclrC46kRSbYsNdW41aXxcD14ZNVYS7iV2Jv3v1?= =?iso-8859-1?Q?JMj4Cgkf+ZDKsD7fyoBdE6xtD70nlH+ZfLHLVbROZlZtp+RLrG3pnjtgRq?= =?iso-8859-1?Q?ORNuyZ0xtu39NzBebU7luF4XmhBTM16H85sSppYBBDOw=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)(366016)(41320700013)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?fej5b4kMpRd3izYWGdUE0tzYY/5vq2xSNpDQnsWcS40ccxCULzLGUqckWs?= =?iso-8859-1?Q?SHGLXzwL1sR5kouPncTltxQfuvXKscJDIcFUbT0SaNsaJSE8nCTwjlP5F4?= =?iso-8859-1?Q?qjSNpwnHsLvMj6WWC90gUsin9aN3ZsG1LcgV76xv2Kkst4JJaSSBq2fU3+?= =?iso-8859-1?Q?SY4YpXHQTnd+u1fZK1Lo8O27bd8/qoBaLhIfz18NxT+G7TwYsnrGc2VYgy?= =?iso-8859-1?Q?5hvlMq2jmHzCp89EHTwQ/3FqHUElruJaCUV5jNpgsNYOEM4ql8F7VrNt2P?= =?iso-8859-1?Q?XzLdPKhNhYxJnKyWvh1TTV+kZM5TwKC8AG+kUx6ZR40L8ejj0mxKKptvXx?= =?iso-8859-1?Q?AnLHEEQO/aCtT/V+7DoAWI93/uHHZ7mAMm20p9O614fZybkWv8h9bDmANm?= =?iso-8859-1?Q?9qwRgOpo0uerU1yyu0RFkMluoub2pakZyJcyV6J5AfObokiLThChNmA+YX?= =?iso-8859-1?Q?HaevFK+lGNtsQFUGuTVYVaFPCavIj5325CDgp4c+ty0KVd5X2uNRv0teNx?= =?iso-8859-1?Q?ks8ZOzwblKNkj4DkBsEi/GQQJBLefJBzZzZYuuzHAe8uScaBD8wzDXkDyf?= =?iso-8859-1?Q?2UXCyElA2dvZVIiEmdvZXhVhF7IYjE3y6FwA2MDglWv6dooFqlNqjQYUWz?= =?iso-8859-1?Q?zez8ClpF/lErLPYtH/ZOyIgH31FRDiJ4TmZuUCDht9d/AYiYxjXP1vS41A?= =?iso-8859-1?Q?vOevceSXddNulALK42Zo9MnIp1Ufv0hREOMvOHEiLmr1GTjEYUK5wwKDI9?= =?iso-8859-1?Q?rc62Q20jmaPcoBijLtnvERLPgLQBQFmqOI93ylzP5Z1LmWHcywUGisNN7h?= =?iso-8859-1?Q?+utRU9RiiBOfNF2rWx+Oej5lSnYqhflkHZ5ccQ4vHnxV7GDx3T+6d5tnuO?= =?iso-8859-1?Q?/qQB1t2WBHd6BCn3fqpta1lXYWKpIRHaKqufDm2O18WyUl1WYjzFxLhVkL?= =?iso-8859-1?Q?1l0KPlxFOca4HNR31LQoU0XsmPB2fjjb9L9N02x452nVgu22bbkfIvnmjJ?= =?iso-8859-1?Q?FFwGfyKEXq48gP1ctnIGHKv8uk20uGjiGyj7OhqEMJapE2DiKcF+9I2d6z?= =?iso-8859-1?Q?/Tft1tTKfKbe+j/T4Hf3jMeW5kkycycCcY8+TD8t9JA4oZMLHLvsGN2JRv?= =?iso-8859-1?Q?dIfemoPhA+edVDo0dUxlIryTUi12AcXzT1aYsOIgeISccN5OvHfeT8gLVZ?= =?iso-8859-1?Q?CunQWdFrPyAufLWVYon4+lgYZJW07Bxth+LjX2mOJlUg44vKyeEn2F++12?= =?iso-8859-1?Q?l/GDXeHZz/vu9V64/Dw2P1W67Wr+NdDwroLDj0KcZPqD2D9L3hOIc8pJGu?= =?iso-8859-1?Q?/BX+kAqQSqvqPb4L07qUNlN+c5t1rlTkgwCjoyCmMCT2THcdFWXPINNFR0?= =?iso-8859-1?Q?bB3DZFG+ViMp5xYUYWfF0/6wLsfS8RqE/IN3Fh8A/GJbcYybI9Uj4PSSZD?= =?iso-8859-1?Q?Tmh8bxHVVnFKHw3gka7RHDDKl1rSw/F8EquCmbY6GumlqhLiR7HCXOldG4?= =?iso-8859-1?Q?A9qqUh6cCpEAshH9/GlPrFhY/3E9BQIOUO/Ugns15yOLMeKVvj+UfYIcHX?= =?iso-8859-1?Q?FDdmgwhfP6J/PFYnKY13fgkrdXWeGNto3W5iGNbKWRaKf2QpXaVGuUt3Q9?= =?iso-8859-1?Q?UtLY49ex8o5zfBcBXmulj7LzuslUr1Mdum?= 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: 666570da-05e1-4678-f9f3-08ddba47504a X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2025 15:36:00.8463 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d94bea1e-2eee-4e3c-8350-5f96c528fe02 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA9PR09MB5358 Subject: [FFmpeg-devel] [PATCH v3] 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 Cc: Caleb Sawyer 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: From: Caleb Sawyer 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".