Zum Inhalt springen

Glossary

Video repair terms
explained precisely.

From the moov atom and NAL units to the Dolby Vision RPU — every term that shows up in our guides, with a definition, context and pointers to in-depth articles.

Category · 5 entries

Containers & Structures

moov atom

The index of an MP4 file. Holds the codec parameters, sample table and timing information.

Without the moov atom, no player can decode a single frame — even if all the raw data is still sitting in the mdat. When a recording is cut off, the moov atom is missing in roughly 70% of cases, because the encoder only writes it once the recording ends cleanly.

In-depth article →

mdat atom

The actual block of video and audio data in an MP4 file.

The mdat atom is where all the raw frames and audio samples sit one after another, in sequence. It typically accounts for 99% of the file size. The sample table in the moov atom points to individual frames in the mdat using byte offsets. In most "broken" videos the mdat block is intact — only the index is gone.

ftyp atom

The file-type signature at the start of every MP4/MOV file.

The ftyp atom carries the major brand (e.g. "mp42", "isom", "qt "), the minor version and the compatible brands. Decoders read this first — when it is missing, many players give up on the spot. In files recovered by DiskDrill the ftyp can come from an unrelated sector and carry the wrong brand bytes.

sample table

A table in the moov atom holding the offsets and lengths of every frame and audio sample.

The sample table is made up of several sub-atoms (stts for decode times, stss for keyframes, stsc for sample-to-chunk mapping, stsz for sample sizes, stco for chunk offsets in the file). It is the central data structure the decoder needs to seek, decode and stay in sync. During repair it has to be rebuilt from the NAL units in the mdat block.

MOV container

Apple's QuickTime format. Technically almost identical to MP4 — both are built on ISO BMFF.

MOV was defined by Apple in 1991, and MP4 (1998) is based directly on it. Both use the same top-level atoms (ftyp, moov, mdat, trak, and so on). MOV permits more proprietary codecs (ProRes, Animation), while MP4 is more restrictive. For repair tools they are largely interchangeable — the container-repair code is the same.

In-depth article →

Category · 12 entries

Codecs & Streams

NAL unit

Network Abstraction Layer unit — the smallest coded unit in H.264 and HEVC.

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.

SPS (Sequence Parameter Set)

NAL unit type 7 (H.264) / 33 (HEVC) — defines stream parameters like resolution, profile and level.

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.

IDR frame

Instantaneous Decoder Refresh — a keyframe that can be decoded independently of any preceding frames.

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.

XAVC

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 →

Apple ProRes

Apple's intra-frame codec for editing — from 422 Proxy up to 4444 XQ, in a MOV container.

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

Advanced Video Coding — the dominant video codec of the 2010s, still more widespread than HEVC.

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 / H.265

High Efficiency Video Coding — the successor to H.264, with roughly 50% better compression at the same quality.

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

An HDR standard with dynamic metadata — on the iPhone Pro it ships as Profile 8.4 inside HEVC.

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

A high-dynamic-range standard with static mastering metadata (MaxCLL, MaxFALL).

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

A wide colour gamut for UHD and HDR — 75% of the visible colour space, versus roughly 36% for BT.709.

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.

Category · 3 entries

Audio

audio drift

A timing offset between the audio and video tracks after a container repair, typically 300–800ms.

It shows up mainly on Sony XAVC with 24-bit PCM, because the audio stream has a pre-roll ahead of the first video frame. Untrunc and similar tools hand back the file with that pre-roll uncorrected. Specialized tools measure the drift by cross-correlating against the reference and shift the audio track to match.

In-depth article →

noise burst

A deafening full-scale clipping burst in the first 400–1050ms after a repair.

It happens when the audio decoder reads container-header bytes or video bytes as audio. On many Sony and Canon files this occurs predictably. The fix: a per-50ms-window peak scan of every track — anything above −3dB in the first second is flagged as a burst and silenced (with padding for a smooth transition).

iPCM (interleaved PCM)

Sony's 24-bit PCM audio variant in XAVC. Multi-track capable (up to 4 tracks in parallel on the FX3).

iPCM is uncompressed audio, well suited to professional recording (XLR inputs). During repair, iPCM is easier to reconstruct than compressed AAC, because there are no codec frames to decode. The Sony FX3, FX6 and FX9 use iPCM with up to 4 parallel tracks.

Category · 6 entries

Recovery & Repair

untrunc

An open-source CLI tool for MP4 repair. It needs a reference recording from the same camera.

untrunc-anthwlock on GitHub is the maintained fork. It works well on H.264 and less reliably on HEVC 10-bit. Important: use the -s flag (skip unknown sequences) on Sony XAVC with iPCM. No audio-drift fix, no support for modern codecs.

In-depth article →

ffmpeg

A multimedia toolkit. It can skip damaged frames, but it cannot rebuild a moov atom.

With -err_detect ignore_err, ffmpeg can copy corrupt packets straight through. When the moov is missing, ffmpeg gives up immediately — there is no repair path. It is excellent for hev1↔hvc1 tag conversion and for remuxing.

In-depth article →

recover_mp4

A commercial tool from Grau GmbH — the forensics gold standard for MP4 container repair.

Around 99 USD. Very robust container repair, but no audio-drift correction and an ancient UI. It is widely used in digital forensics. For modern professional codecs it is not as specialized as Haven or Aeroquartet.

Aeroquartet Treasured

A concierge service with hands-on human repair. 49–700+ USD, 48–72h turnaround.

Not a software product — a service with a diagnostic front end and manual repair carried out in Barcelona. It has a high success rate on severe damage, but it is expensive, slow, and requires a cloud upload.

In-depth article →

DiskDrill recovery

A file-carving tool for SD cards — it reconstructs MP4 files from their file signatures.

DiskDrill scans sectors for ftyp signatures and then reads linearly up to the next one. On a fragmented card that can produce MP4 files whose uuid bytes are mixed in from other sectors. Repairing files like these calls for profile verification via the mdat frame structure, not via the uuid.

In-depth article →

CFexpress

A fast storage standard for professional cameras (Canon R5, Sony FX9, Nikon Z9).

CFexpress Type A (Sony) and Type B (Canon, Nikon) use NVMe-PCIe instead of SATA. Theoretical speeds reach 1700 MB/s, and in practice 800–1200 MB/s sustained. For 8K RAW or XAVC-I 4K50p a good Type B reader is essential — cheap readers can introduce data errors on files of 20+ GB.

Related → XAVC

Category · 3 entries

Metadata & Headers

hvcC box

HEVC Configuration Box in MP4/MOV — holds the codec parameters, NAL length size and SPS/PPS/VPS.

The hvcC box is the HEVC counterpart to the avcC box (for H.264). It lives in the moov and carries profile_idc, level_idc, chroma_format, bit_depth, length_size_minus_one and the arrays of SPS/PPS/VPS NAL units. Get a single byte wrong and decoder initialization fails — and all you see is a black frame.

In-depth article →

hev1 vs hvc1

Two HEVC container formats — they decide whether SPS/PPS live in the hvcC box or in the bitstream.

With hvc1 encoding, all codec parameters must live exclusively in the hvcC box (out of band). With hev1 they are also allowed in-band in the bitstream. When tools convert between the two tags without copying the parameters between box and stream, the result is a file with an empty hvcC and nothing but black playback.

uuid box

An extension box with a 128-bit UUID identifier for camera- or vendor-specific metadata.

Sony, Canon and other manufacturers store proprietary data here, such as the camera model, recording profiles and codec settings. On Sony XAVC the profile bytes sit at byte 0x6e: 7A 10 33 = 25p Class 240, 7A 10 34 = 50p Class 480. After a DiskDrill recovery these bytes can be mixed in from neighbouring sectors and show the wrong values.

In-depth article →

Category · 1 entries

Standards

ISO BMFF

ISO Base Media File Format — the standard behind MP4, MOV, M4V, 3GP and HEIC.

Specified in ISO/IEC 14496-12. It defines the recursive box structure (also called "atom") that underpins every modern container format. MP4 (ISO/IEC 14496-14), MOV (Apple QuickTime) and M4A all build on the same base structure — they differ only in their brand and the codecs they permit.

In-depth article →

Newsletter

When a new repair guide goes up — one email. Monthly at most.

No marketing sequences, no promo blasts. Just a heads-up when a new pillar guide, codec deep-dive or honest comparison goes live.

No spam. One-click unsubscribe from every email.