MediaCodecs.H264 (MediCodecs v0.4.0)

View Source

Utilities for working with H.264 (AVC) video codec.

Summary

Functions

Convert an Annex B formatted access unit to an elementary stream.

Convert an access unit to a list of NALUs.

Pops parameter sets from access unit.

Types

profile()

@type profile() ::
  :high_cavlc_4_4_4_intra
  | :constrained_baseline
  | :baseline
  | :main
  | :extended
  | :constrained_high
  | :progressive_high
  | :high
  | :high_10_intra
  | :high_10
  | :high_4_2_2_intra
  | :high_4_2_2
  | :high_4_4_4_intra
  | :high_4_4_4_predictive

Functions

annexb_to_elementary_stream(access_unit, nalu_prefix_size \\ 4)

@spec annexb_to_elementary_stream(
  access_unit :: binary() | [binary()],
  nalu_prefix_size :: integer()
) :: binary()

Convert an Annex B formatted access unit to an elementary stream.

The NALU prefix size can be specified, defaulting to 4 bytes.

nalus(access_unit)

@spec nalus(binary()) :: [binary()]

Convert an access unit to a list of NALUs.

pop_parameter_sets(access_unit)

@spec pop_parameter_sets(binary()) ::
  {{sps :: [binary()], pps :: [binary()]}, access_unit :: [binary()]}

Pops parameter sets from access unit.