Codec Identifiers and FourCC
Codec identifiers tell a container reader how to interpret a track's encoded data and its packaging.
A report can show HEVC as the codec name and hvc1 as its codec ID. The first names the compression system. The second identifies a particular representation of that system inside the container.
The reader uses this identifier to choose the correct mapping: which configuration record to parse, how encoded units are delimited, and which placement conventions apply. It is more like a parser's dispatch key than a marketing name.
| Container field | Example | Reader interpretation |
|---|---|---|
| MP4 sample-entry type | avc1 | AVC samples with the corresponding configuration and storage convention |
| MP4 sample-entry type | hvc1 or hev1 | HEVC samples with different parameter-set carriage rules |
| Matroska CodecID | V_MPEG4/ISO/AVC | Matroska's defined mapping for AVC |
| AVI video identifier | A FourCC such as XVID | A registered or implemented compressed-video representation |
FourCC means four-character code. Spaces and case can form part of the literal value. MP4 uses four-character sample-entry types, while the Matroska example is a longer string. An inspection tool's friendly display name can conceal that distinction, so retain the literal identifier when reporting a parsing problem.
Where hvc1 and hev1 carry HEVC parameter sets
An HEVC decoder needs parameter sets describing the sequence and pictures: VPS, SPS, and PPS. Encoded slices refer to that setup information. The container mapping establishes where the reader obtains it.
For hvc1, the parameter sets must be supplied through the sample entry's HEVC configuration; they are not carried as in-band parameter-set units in samples. The hev1 representation permits parameter sets in samples as well as the configuration record. A reader expecting one arrangement can consequently behave differently with the other, although both tracks report HEVC.
Retagging hev1 as hvc1 is therefore an assertion about the stream's organization. A correct conversion checks the configuration and sample contents and satisfies the new convention. Editing four characters alone does not move setup information out of samples or ensure that all required parameter sets are available in the configuration record.
From identifier to decoder requirements
After identifying the mapping, the reader can expose dimensions, profile, level, bit depth, and other configuration to a decoder. That is the next stage of interpretation. The identifier routes the track to a coding family; the configuration describes the actual demands within that family.
This is useful in an Emby case where two HEVC files with apparently matching dimensions take different paths. Include the literal codec ID and setup properties in the comparison. It separates a packaging convention from a difference in decoded sample format or decoder resource requirements.
See Also
- Containers and Codecs
- Codec Support in Containers
- Media Probing
- Video Codec Profiles
- Video Codec Levels and Tiers