CDPotion.Domain.SystemInfo (cdpotion v0.1.4)

Summary

Types

Describes a single graphics processor (GPU).

Provides information about the GPU(s) on the system.

Describes a supported image decoding profile with its associated minimum and maximum resolutions and subsampling.

Image format of a given image.

Represents process info.

Describes the width and height dimensions of an entity.

YUV subsampling type of the pixels of a given image.

Describes a supported video decoding profile with its associated minimum and maximum resolutions.

Describes a supported video encoding profile with its associated maximum resolution and maximum framerate.

Functions

Returns information about the feature state.

Returns information about the system.

Returns information about all running processes.

Types

Link to this type

gpu_device()

@type gpu_device() :: %{
  deviceId: number(),
  deviceString: String.t(),
  driverVendor: String.t(),
  driverVersion: String.t(),
  revision: number() | nil,
  subSysId: number() | nil,
  vendorId: number(),
  vendorString: String.t()
}

Describes a single graphics processor (GPU).

@type gpu_info() :: %{
  auxAttributes: map() | nil,
  devices: [gpu_device()],
  driverBugWorkarounds: [String.t()],
  featureStatus: map() | nil,
  imageDecoding: [image_decode_accelerator_capability()],
  videoDecoding: [video_decode_accelerator_capability()],
  videoEncoding: [video_encode_accelerator_capability()]
}

Provides information about the GPU(s) on the system.

Link to this type

image_decode_accelerator_capability()

@type image_decode_accelerator_capability() :: %{
  imageType: image_type(),
  maxDimensions: size(),
  minDimensions: size(),
  subsamplings: [subsampling_format()]
}

Describes a supported image decoding profile with its associated minimum and maximum resolutions and subsampling.

Link to this type

image_type()

@type image_type() :: :jpeg | :webp | :unknown

Image format of a given image.

Link to this type

process_info()

@type process_info() :: %{cpuTime: number(), id: integer(), type: String.t()}

Represents process info.

@type size() :: %{height: integer(), width: integer()}

Describes the width and height dimensions of an entity.

Link to this type

subsampling_format()

@type subsampling_format() :: :yuv420 | :yuv422 | :yuv444

YUV subsampling type of the pixels of a given image.

Link to this type

video_decode_accelerator_capability()

@type video_decode_accelerator_capability() :: %{
  maxResolution: size(),
  minResolution: size(),
  profile: String.t()
}

Describes a supported video decoding profile with its associated minimum and maximum resolutions.

Link to this type

video_encode_accelerator_capability()

@type video_encode_accelerator_capability() :: %{
  maxFramerateDenominator: integer(),
  maxFramerateNumerator: integer(),
  maxResolution: size(),
  profile: String.t()
}

Describes a supported video encoding profile with its associated maximum resolution and maximum framerate.

Functions

Link to this function

get_feature_state(feature_state)

@spec get_feature_state(String.t()) :: {String.t(), map()}

Returns information about the feature state.

Parameters:

  • (Required) feature_state: description not provided :(
@spec get_info() :: {String.t(), map()}

Returns information about the system.

Link to this function

get_process_info()

@spec get_process_info() :: {String.t(), map()}

Returns information about all running processes.