MediaCodecs.H264.NALU.SPS (MediCodecs v0.7.0)

View Source

Struct describing an H.264 Sequence Parameter Set (SPS).

Summary

Functions

Gets the video width

Gets the SPS ID.

Builds the MIME type from the SPS.

Parses a Sequence Parameter Set (SPS) NALU.

Gets the encoder profile.

Gets the video width

Types

t()

@type t() :: %MediaCodecs.H264.NALU.SPS{
  bit_depth_chroma_minus8: non_neg_integer(),
  bit_depth_luma_minus8: non_neg_integer(),
  chroma_format_idc: non_neg_integer(),
  constraint_set0: 0 | 1,
  constraint_set1: 0 | 1,
  constraint_set2: 0 | 1,
  constraint_set3: 0 | 1,
  constraint_set4: 0 | 1,
  constraint_set5: 0 | 1,
  delta_pic_order_always_zero_flag: 0 | 1,
  direct_8x8_inference_flag: 0 | 1,
  frame_crop_offset:
    %{
      left: non_neg_integer(),
      right: non_neg_integer(),
      top: non_neg_integer(),
      bottom: non_neg_integer()
    }
    | nil,
  frame_mbs_only_flag: 0 | 1,
  gaps_in_frame_num_value_allowed_flag: 0 | 1,
  level_idc: non_neg_integer(),
  log2_max_frame_num_minus4: non_neg_integer(),
  log2_max_pic_order_cnt_lsb_minus4: non_neg_integer() | nil,
  max_num_ref_frames: non_neg_integer(),
  mb_adaptive_frame_field_flag: 0 | 1,
  num_ref_frames_in_pic_order_cnt_cycle: non_neg_integer() | nil,
  offset_for_non_ref_pic: integer() | nil,
  offset_for_ref_frame: [integer()],
  offset_for_top_to_bottom_field: integer() | nil,
  pic_height_in_map_units_minus1: non_neg_integer(),
  pic_order_cnt_type: non_neg_integer(),
  pic_width_in_mbs_minus1: non_neg_integer(),
  profile_idc: non_neg_integer(),
  qpprime_y_zero_transform_bypass_flag: 0 | 1,
  scaling_list: [[non_neg_integer()]],
  separate_colour_plane_flag: 0 | 1,
  seq_parameter_set_id: non_neg_integer()
}

Functions

height(sps)

@spec height(t()) :: non_neg_integer()

Gets the video width

id(arg)

@spec id(nalu :: binary()) :: non_neg_integer()

Gets the SPS ID.

mime_type(sps, tag)

@spec mime_type(t(), String.t()) :: String.t()

Builds the MIME type from the SPS.

The tag is the first part of the MIME type (e.g. avc1).

parse(nalu)

@spec parse(nalu :: binary()) :: t()

Parses a Sequence Parameter Set (SPS) NALU.

profile(sps)

@spec profile(t()) :: MediaCodecs.H264.profile()

Gets the encoder profile.

width(sps)

@spec width(t()) :: non_neg_integer()

Gets the video width