MediaCodecs.AV1.OBU.SequenceHeader (MediCodecs v0.10.0)

View Source

Module describing an AV1 OBU Sequence Header.

Summary

Functions

Gets frame height from sequence header.

Gets mime type to use in Codecs field in HLS and Dash.

Parses an OBU Sequence Header payload.

Gets frame width from sequence header.

Types

color_config()

@type color_config() :: %{
  high_bitdepth: boolean(),
  bitdepth: non_neg_integer(),
  monochrome: boolean(),
  subsampling_x: 0..1,
  subsampling_y: 0..1,
  chroma_sample_position: non_neg_integer()
}

decoder_model_info()

@type decoder_model_info() :: %{
  buffer_delay_length_minus_1: non_neg_integer(),
  num_units_in_decoding_tick: non_neg_integer(),
  buffer_removal_time_length_minus_1: non_neg_integer(),
  frame_presentation_time_length_minus_1: non_neg_integer()
}

operating_parameters_info()

@type operating_parameters_info() :: %{
  decoder_buffer_delay: non_neg_integer(),
  encoder_buffer_delay: non_neg_integer(),
  low_delay_mode_flag: boolean()
}

operating_point()

@type operating_point() :: %{
  operating_point_idc: non_neg_integer(),
  seq_level_idx: non_neg_integer(),
  seq_tier: 0..1,
  operating_parameters_info: operating_parameters_info() | nil,
  initial_display_delay_minus_1: non_neg_integer()
}

t()

@type t() :: %MediaCodecs.AV1.OBU.SequenceHeader{
  additional_frame_id_length_minus_1: non_neg_integer() | nil,
  color_config: color_config(),
  decoder_model_info: decoder_model_info() | nil,
  delta_frame_id_length_minus_2: non_neg_integer() | nil,
  enable_filter_intra: boolean(),
  enable_intra_edge_filter: boolean(),
  initial_display_delay_present_flag: boolean(),
  max_frame_height_minus_1: non_neg_integer(),
  max_frame_width_minus_1: non_neg_integer(),
  operating_points: %{required(non_neg_integer()) => operating_point()},
  operating_points_cnt_minus_1: non_neg_integer(),
  reduced_still_picture_header: boolean(),
  seq_profile: 0..7,
  still_picture: boolean(),
  timing_info: timing_info() | nil,
  use_128x128_superblock: boolean()
}

timing_info()

@type timing_info() :: %{
  num_units_in_display_tick: non_neg_integer(),
  time_scale: non_neg_integer(),
  num_ticks_per_picture_minus_1: non_neg_integer() | nil
}

Functions

height(sequence_header)

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

Gets frame height from sequence header.

mime_type(sh)

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

Gets mime type to use in Codecs field in HLS and Dash.

parse(arg)

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

Parses an OBU Sequence Header payload.

width(sequence_header)

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

Gets frame width from sequence header.