Validation rules
The application organizes its validation rules into four rule types so you can understand whether a failure comes from packet structure, stream meaning, timing behavior, or relationships across layers.

Test types
🏢 Structural tests
Structural rules verify framing, packet syntax, required fields, and low-level integrity so the transport stream and carried metadata can be parsed reliably.
🧠 Semantic tests
Semantic rules verify that the decoded content makes sense, such as required fields being present or referenced streams actually existing in the transport.
🕒 Temporal tests
Temporal rules verify cadence, recurrence, monotonicity, and rate over time across MPEG-TS and KLV timelines.
📚 Cross-Layer tests
Cross-Layer rules compare information from more than one layer, such as transport timing, PES timing, and metadata timestamps, to detect drift or alignment errors that are invisible within a single layer.
⚙️ Validation rules configuration
Select Validation rules in the menu to configure which tests are active during inspection.
Use this page to review and adjust the enabled rules separately for the two main validation groups:
- MPEG-TS tests for transport-stream structure, signaling, timing, and cross-layer timing checks
- KLV tests for metadata packet structure, required fields, timing behavior, and stream-to-metadata alignment
You can use the page to select only the specific tests you want the application to run for each group. This is useful when you want to focus on a narrower validation scope, compare rule sets, or temporarily disable checks that are not relevant to the current file or workflow.

🎬 MPEG-TS
The MPEG-TS rules focus on transport framing, PSI signaling, packet cadence, and timing relationships inside the transport stream.
Structural rules in MPEG-TS
Sync Byte
Confirms MPEG-TS packet alignment by finding 0x47 sync bytes at a consistent 188- or 204-byte spacing and resynchronizing after corruption.
Detailed page: Sync Byte
Continuity Counter
Checks the transport-stream continuity counter so lost, duplicated, or reordered packets can be detected on a PID.
Detailed page: Continuity Counter
Transport Error Indicator
Reports MPEG-TS packets whose transport error indicator bit is set, signaling corrupted transport data.
Detailed page: Transport Error Indicator
PSI Tables
Validates that Program Specific Information tables can be found and used to discover programs and their metadata inside the transport stream.
Detailed page: PSI Tables
PSI Tables CRC
Validates that PSI table sections with CRC32 fields pass their CRC check during MPEG-TS demux.
Detailed page: PSI Tables CRC
PES Length Validation
Checks that PES_packet_length matches the observed PES packet payload size.
Detailed page: PES Length Validation
Semantic rules in MPEG-TS
PMT Referencing Non-existing Streams
Checks that every elementary PID declared in the PMT is backed by packets that are actually present in the stream.
Detailed page: PMT Referencing Non-existing Streams
Reserved PID Usage
Checks that PAT and PMT declarations do not assign PMT, PCR, or elementary streams to reserved MPEG-TS PIDs.
Detailed page: Reserved PID Usage
Temporal rules in MPEG-TS
PAT Interval
Checks that Program Association Table packets recur within the configured profile interval.
Detailed page: PAT Interval
PMT Interval
Checks that Program Map Table packets recur within the expected maximum interval.
Detailed page: PMT Interval
Duplicate Packet Detection
Detects consecutive duplicate MPEG-TS packets when the same PID, continuity counter, and payload appear twice.
Detailed page: Duplicate Packet Detection
PCR Monotonicity
Checks that Program Clock Reference values increase monotonically on the PMT-declared PCR PID.
Detailed page: PCR Monotonicity
PCR Interval
Checks that Program Clock Reference values appear within the selected MPEG-TS profile interval.
Detailed page: PCR Interval
Max PTS Interval
Detects PES streams whose PTS repetition period exceeds the ETSI TR 101-290 guideline threshold.
Detailed page: Max PTS Interval
PTS/DTS Monotonicity
Checks that PES presentation and decode timestamps do not move backward on the same PID, except where B-frame ordering allows it.
Detailed page: PTS/DTS Monotonicity
Cross-Layer rules in MPEG-TS
PCR-PTS Drift
Detects slow drift between the PCR clock and the video timing timeline after removing the initial clock offset.
Detailed page: PCR-PTS Drift
📡KLV
The KLV rules focus on MISB ST 0601 packets carried inside the stream, including packet structure, required tag usage, timing behavior, and alignment with transport timing.
Structural rules in KLV
Universal Key
Checks that each declared KLV stream contains at least one decodable MISB ST 0601 packet with the expected universal key.
Detailed page: Universal Key
Checksum
Validates checksum fields when they are present in MISB ST 0601 packets.
Detailed page: Checksum
Raw KLV Decode
Checks that KLV payload buffers form complete packets that can be decoded into raw KLV items.
Detailed page: Raw KLV Decode
Security Local Set Decode
Checks that MISB ST 0102 security metadata carried in MISB ST 0601 Tag 48 decodes as a valid BER-tagged local set.
Detailed page: Security Local Set Decode
Security Metadata Revision Detect
Checks that each MISB ST 0102 security local set resolves to a known revision, with explicit revision 3 fallback when Tag 22 is absent.
Detailed page: Security Metadata Revision Detect
Security Metadata Required Tags
Checks that each MISB ST 0102 security local set contains the required tags for its resolved revision.
Detailed page: Security Metadata Required Tags
Security Metadata Unknown Tag for Revision
Detects MISB ST 0102 tags that are not defined for the resolved security metadata revision.
Detailed page: Security Metadata Unknown Tag for Revision
Security Metadata Field Decode
Checks that known MISB ST 0102 field values can be decoded successfully according to their tag-specific field codec.
Detailed page: Security Metadata Field Decode
VMTI Local Set Decode
Checks that MISB ST 0903 VMTI local sets carried in MISB ST 0601 Tag 74 decode as valid BER-tagged local sets.
Detailed page: VMTI Local Set Decode
VMTI Revision Detect
Checks that MISB ST 0903 Tag 4 resolves to a known VMTI revision.
Detailed page: VMTI Revision Detect
VMTI Unknown Tag for Revision
Detects MISB ST 0903 VMTI local sets whose root tags are not defined for the resolved revision.
Detailed page: VMTI Unknown Tag for Revision
VMTI Field Decode
Checks that known MISB ST 0903 root-field values can be decoded successfully according to their field codec.
Detailed page: VMTI Field Decode
Semantic rules in KLV
Mandatory Fields
Checks that MISB ST 0601 packets contain Tag 2, Tag 65, and Tag 1, with Tag 2 first and Tag 1 last.
Detailed page: Mandatory Fields
Duplicate Tags in One Packet
Detects duplicate MISB ST 0601 tags within a single packet.
Detailed page: Duplicate Tags in One Packet
Unknown Tag for Revision
Detects MISB ST 0601 packets whose highest observed tag exceeds the highest tag allowed by the packet revision declared in Tag 65.
Detailed page: Unknown Tag for Revision
Security Metadata Duplicate Tags
Detects duplicate MISB ST 0102 tags within a single security local set carried in MISB ST 0601 Tag 48.
Detailed page: Security Metadata Duplicate Tags
Security Metadata Field Dependencies
Checks MISB ST 0102 coding-method dependencies between classifying-country and object-country fields.
Detailed page: Security Metadata Field Dependencies
VMTI Duplicate Tags
Detects duplicate MISB ST 0903 root tags within a single VMTI local set.
Detailed page: VMTI Duplicate Tags
VMTI Field Dependencies
Checks MISB ST 0903 target counts, frame dimensions, references, and tracker timestamps for internal consistency.
Detailed page: VMTI Field Dependencies
MISMMS
Checks that KLV metadata includes all required MISMMS (Mission Summary) fields, with correct formatting and no duplicates or conflicts, as per STANAG 4609/MISB requirements.
Detailed page: MISMMS
MISMMS/ST0601 Packet Identity
Checks that the claimed MISMMS stream is carried in decodable MISB ST 0601 KLV packets with the expected ST 0601 universal label.
Detailed page: MISMMS/ST0601 Packet Identity
KLV Packet Integrity
Checks BER length, packet completeness, and checksum correctness for claimed MISMMS packets.
Detailed page: KLV Packet Integrity
Per-packet ST 0601 Core Items
Checks that each claimed MISMMS packet carries Tag 2, Tag 65, and Tag 1, with Tag 2 first and Tag 1 last.
Detailed page: Per-packet ST 0601 Core Items
Top-level Field Length/Type Conformance
Checks that top-level MISMMS items present in the stream conform to the MISB ST 0902 Table 1 length and type requirements.
Detailed page: Top-level Field Length/Type Conformance
No ZLI Credit
Checks for top-level Zero-Length Items (ZLI) that cannot be used to satisfy MISB ST 0902 minimum reporting requirements.
Detailed page: No ZLI Credit
Required Top-level Item Set
Checks that the claimed MISMMS stream reports the required non-conditional top-level MISB ST 0902 items somewhere in the stream.
Detailed page: Required Top-level Item Set
Inclusive-OR Groups
Checks that the claimed MISMMS stream reports at least one member from each MISB ST 0902 inclusive-OR metadata group.
Detailed page: Inclusive-OR Groups
Exclusive-OR Height Rule
Checks that a claimed MISMMS packet does not carry both Tag 75 and Tag 104 in the same packet.
Detailed page: Exclusive-OR Height Rule
Motion Imagery Core Identifier Present
Checks that the claimed MISMMS stream reports Tag 94 and that every observed Tag 94 payload is 50 bytes long.
Detailed page: Motion Imagery Core Identifier Present
Temporal rules in KLV
Timestamp Monotonicity
Checks that MISB ST 0601 Tag 2 Precision Time Stamp values increase strictly without backward jumps.
Detailed page: Timestamp Monotonicity
30-second Reporting Continuity
Checks that every required MISMMS item, inclusive-OR group, and Tag 94 is reported at least once every 30 seconds using Tag 2 timestamps.
Detailed page: 30-second Reporting Continuity
30-second Continuity Excluding ZLI
Checks the same 30-second MISMMS continuity requirement after ignoring Zero-Length Item occurrences.
Detailed page: 30-second Continuity Excluding ZLI
MISMMS Tag 2 Monotonicity
Checks that claimed MISMMS Tag 2 Precision Time Stamp values increase monotonically so the reporting timeline stays trustworthy.
Detailed page: MISMMS Tag 2 Monotonicity
Advisory 10-second Constant-item Cadence
Warns when constant MISMMS items such as Tags 3, 10, 11, 12, and 94 are not refreshed within 10 seconds.
Detailed page: Advisory 10-second Constant-item Cadence
Packet Rate Consistency
Checks that decoded MISB ST 0601 packet rate stays within the configured packets-per-second range over time.
Detailed page: Packet Rate Consistency
Cross-Layer rules in KLV
KLV Type
Checks that declared ASYNC_KLV streams do not carry PES PTS values and declared SYNC_KLV streams do.
Detailed page: KLV Type
Stream vs KLV Drift
Checks that PCR, PES PTS when present, and normalized MISB ST 0601 Tag 2 time stay aligned without excessive drift.
Detailed page: Stream vs KLV Drift
Embedded VMTI Parent Metadata
Checks that MISB ST 0601 packets carrying embedded MISB ST 0903 VMTI in Tag 74 also carry Tag 2, Tag 23, and Tag 24 on the parent packet.
Detailed page: Embedded VMTI Parent Metadata (MISB ST 0903)
MISMMS Embedded VMTI Parent Metadata
Checks that claimed MISMMS packets carrying embedded MISB ST 0903 VMTI in Tag 74 also preserve Tag 2, Tag 23, and Tag 24 on the parent packet.
Detailed page: Embedded VMTI Parent Metadata (MISB ST 0902)