MediaCodecs.H265 (MediCodecs v0.2.0)

View Source

Utilities for working with H.265 (HEVC) video codec.

Summary

Functions

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

Gets NALu type.

Convert an access unit to a list of NALUs.

Parses a NALU bitstring and returns a NALU struct.

Pops parameter sets from access unit.

Types

nalu()

@type nalu() :: binary()

nalu_type()

@type nalu_type() ::
  :trail_n
  | :trail_r
  | :tsa_n
  | :tsa_r
  | :stsa_n
  | :stsa_r
  | :radl_n
  | :radl_r
  | :rasl_n
  | :rasl_r
  | :bla_w_lp
  | :bla_w_radl
  | :bla_n_lp
  | :idr_w_radl
  | :idr_n_lp
  | :cra
  | :aud
  | :eos
  | :eob
  | :fd
  | :prefix_sei
  | :suffix_sei
  | :reserved_irap
  | :reserved_nvcl
  | :unspecified

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.

nalu_type(nalu)

@spec nalu_type(nalu()) :: nalu_type()

Gets NALu type.

nalus(access_unit)

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

Convert an access unit to a list of NALUs.

parse_nalu(nalu)

@spec parse_nalu(nalu()) :: MediaCodecs.H265.NALU.t()

Parses a NALU bitstring and returns a NALU struct.

pop_parameter_sets(access_unit)

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

Pops parameter sets from access unit.