sig
  type t
  type settings = {
    keyframe_frequency : int option;
    vp3_compatible : bool option;
    soft_target : bool option;
    buffer_delay : int option;
    speed : int option;
  }
  val create :
    Theora.info ->
    Theora.Encoder.settings -> (string * string) list -> Theora.Encoder.t
  val encode_header : Theora.Encoder.t -> Ogg.Stream.stream -> unit
  val encode_page :
    Theora.Encoder.t ->
    Ogg.Stream.stream -> (unit -> Theora.yuv_buffer) -> Ogg.Page.t
  val encode_buffer :
    Theora.Encoder.t -> Ogg.Stream.stream -> Theora.yuv_buffer -> unit
  val frames_of_granulepos :
    Theora.Encoder.t -> Stdlib.Int64.t -> Stdlib.Int64.t
  val eos : Theora.Encoder.t -> Ogg.Stream.stream -> unit
end