Files
mediabunny/docs/codec-registry/avc.md
T
c3df2a24e5 Add custom quality factors and quantizer bitrate mode (#448)
* Add custom quality factors and quantizer bitrate mode (closes #327)

* Fix quantizer mode fallback and per-frame quantizer edge cases

* Clean up quantizer mode tests

* Quantizer implementation

* Add quality tests

* Improve conversion codec error message, make test more lenient

* Add quantizer support blog post

---------

Co-authored-by: Vanilagy <[email protected]>
2026-07-30 17:24:59 +02:00

2.2 KiB

description
description
Advanced Video Coding (H.264) video codec definition, defining legal codec strings, decoder configs, and packet data formats.
<script setup> import { VPBadge } from 'vitepress/theme' </script>

AVC (H.264) codec registration

Description

The Advanced Video Coding (H.264) video codec, specified in Rec. ITU-T H.264 / ISO/IEC 14496-10.

An AVC bitstream can have either of two formats:

  • Canonical (length-prefixed), as defined in ISO/IEC 14496-15 Section 5.3.2. Here, video parameter sets (SPS/PPS) are provided out-of-band.
  • Annex B, as defined in Rec. ITU-T H.264 Annex B. Here, video parameter sets (SPS/PPS) must be provided in-band in the respective NALUs.

All packets within the bitstream must have the same format.

Codec ID

'avc'

EncodedPacket data

The packet's data must be an access unit as defined in Rec. ITU-T H.264 Section 7.4.1.2, in either canonical or Annex B format.

EncodedPacket type

If the packet's type is 'key', then the packet is expected to contain a primary coded picture from which decoding can begin. Additionally, if the bitstream's format is Annex B, then this packet is also expected to contain the necessary video parameter sets to initialize the decoder.

VideoDecoderConfig codec string

The full codec string begins with the prefix 'avc1.' or 'avc3.', with a suffix of 6 characters as described respectively in Section 3.4 of RFC 6381 and Section 5.4.1 of ISO/IEC 14496-15.

VideoDecoderConfig description

If the bitstream is in the canonical (length-prefixed) format, description must be an AVCDecoderConfigurationRecord as defined in ISO/IEC 14496-15 Section 5.3.3.1.

If the bitstream is in the Annex B format, description must be undefined.

Quantizer range

AVC has quantizer support and supports quantizer values in the range [0, 51].