# `Membrane.H264.NALuTypes`
[🔗](https://github.com/membraneframework/membrane_h26x_plugin/blob/v0.11.2/lib/membrane_h26x_plugin/parsing_engine/nalu_types.ex#L1)

The module aggregating the mapping of from `nal_unit_type`
fields of the NAL unit to the human-friendly name of a NALu type.

# `nalu_type`

```elixir
@type nalu_type() ::
  :unspecified
  | :non_idr
  | :part_a
  | :part_b
  | :part_c
  | :idr
  | :sei
  | :sps
  | :pps
  | :aud
  | :end_of_seq
  | :end_of_stream
  | :filler_data
  | :sps_extension
  | :prefix_nal_unit
  | :subset_sps
  | :reserved
  | :auxiliary_non_part
  | :extension
```

A type representing all the possible human-friendly names of NAL unit types.

# `vcl_nalu_type`

```elixir
@type vcl_nalu_type() :: :idr | :non_idr | :part_a | :part_b | :part_c
```

# `get_type`

```elixir
@spec get_type(non_neg_integer()) :: nalu_type() | nil
```

The function which returns the human friendly name of a NALu type
for a given `nal_unit_type`.

The mapping is based on: "Table 7-1 – NAL unit type codes, syntax element categories, and NAL unit type classes"
of the *"ITU-T Rec. H.264 (01/2012)"*

# `is_vcl_nalu_type`
*macro* 

---

*Consult [api-reference.md](api-reference.md) for complete listing*
