Every video frame is made up of one or more NAL units. They are marked either by start codes (0x00 00 00 01) in the Annex B format or length-prefixed in the MP4 format. NAL types distinguish between IDR frames (keyframes), P/B frames, SPS, PPS and — in HEVC — VPS. Repair tools scan the mdat block for NAL boundaries to find frame edges when the sample table is missing.
The SPS has to be decoded before the first frame. It carries the resolution, bit depth, chroma format (4:2:0, 4:2:2, 4:4:4), profile (Baseline, Main, Main 10, High) and level (frame-rate limits). During repair the SPS must either be extracted from the bitstream or taken from a reference recording.
The PPS references an SPS and holds frame-level parameters. A stream can carry several PPS, and each frame points to one of them. Like the SPS, the PPS is extracted from a reference or from the bitstream.
The VPS was introduced with HEVC and carries cross-layer information for scalable coding (SHVC) and multi-view (MV-HEVC). Even though most HEVC streams never use those features, the VPS still has to be present before the first frame.
IDR frames are the sync points in a video stream. Every recording starts with an IDR. When you seek, the decoder jumps to the nearest IDR and starts decoding from there. During repair the first IDR is the anchor for the entire frame table.
Sony's H.264/H.265 variant for professional cameras. Three sub-classes: XAVC-I (intra), XAVC-L (long-GOP), XAVC-S.
XAVC-I codes every frame as an intra frame (no inter-frame compression) — up to 600 Mbit/s. XAVC-L uses GOP compression, which is more efficient but harder to repair. XAVC-S is the consumer variant found in the A7 models. The bitrate class (240, 480) is critical for repair — profiles 5.1 and 5.2 are not interchangeable.
In-depth article →
The ProRes variants (Proxy, LT, 422, 422 HQ, 4444, 4444 XQ) differ in bitrate and colour depth. ProRes 4444 supports an alpha channel. Every ProRes variant lives in a MOV container — remuxing to MP4 is not standards-compliant, because MP4 does not officially list ProRes as a codec.
In-depth article →
H.264 (= AVC, MPEG-4 Part 10) has been standardized since 2003. Its profiles range from Baseline (webcam) to High 10 (professional 10-bit). It is configured in MP4 through the avcC box. Repair is robust here, because decoders are widespread and forgiving. The success rate for a standard repair is around 85%+.
HEVC has been standardized since 2013. Its profiles range from Main (8-bit 4:2:0) to Main 10 / Main 4:2:2 (professional). It is configured in MP4 through the hvcC box. Repair is harder than with H.264 because of the length-prefixed NAL units and stricter decoders. On the Sony FX series, iPhone Pro, GoPro HERO11+ and DJI Avata 2, HEVC is the default.
In-depth article →
Dolby Vision stores dynamic tone-mapping metadata (RPU) in dedicated NAL units, one per frame. Profile 8.4 (iPhone Cinematic mode) is backward-compatible with HDR10 (static metadata). When a damaged file loses its DV RPU streams, the decoder falls back to SDR — and the picture looks flat.
In-depth article →
HDR10 uses BT.2020 colour primaries and PQ (Perceptual Quantizer) as its transfer function. The mastering-display metadata (Max Content Light Level, Max Frame Average) is written once in the container — unlike Dolby Vision, which carries per-frame metadata. During repair this metadata has to be taken from a reference.
BT.2020 (ITU-R Rec. 2020) is the colour-space standard for 4K, 8K and HDR. It is flagged in the bitstream VUI (Video Usability Information) as colour_primaries=9. If that information is lost during repair, the footage is interpreted as BT.709 — and the colours come out oversaturated.