<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "MetalPerformanceShaders",
  "identifier" : "/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Metal Performance Shaders"
    ],
    "preciseIdentifier" : "c:@E@MPSImageFeatureChannelFormat"
  },
  "title" : "MPSImageFeatureChannelFormat"
}
-->

# MPSImageFeatureChannelFormat

Encodes the representation of a single channel within an image.

```
enum MPSImageFeatureChannelFormat
```

## Overview

A pixel in an [`MPSImage`](/documentation/MetalPerformanceShaders/MPSImage) object may have many channels in it, sometimes many more than 4, that exceed the limit of what a <doc://com.apple.documentation/documentation/Metal/MTLPixelFormat> value can encode. The storage format for a single channel within a pixel can be given by the [`MPSImageFeatureChannelFormat`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat) type. The number of channels is defined by the [`featureChannels`](/documentation/MetalPerformanceShaders/MPSImage/featureChannels) property of an [`MPSImage`](/documentation/MetalPerformanceShaders/MPSImage) object. The size of the pixel is the size of the channel format multiplied by the number of feature channels. No padding is allowed, except to round out to a full byte.

## Topics

### Constants

[`MPSImageFeatureChannelFormat.none`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/none)

[`MPSImageFeatureChannelFormat.unorm8`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/unorm8)

`uint8_t` type with value `[0,255]` and encoding `[0,1.0]`.

[`MPSImageFeatureChannelFormat.unorm16`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/unorm16)

`uint16_t` type with value `[0,65535]` and encoding `[0,1.0]`.

[`MPSImageFeatureChannelFormat.float16`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/float16)

IEEE-754 16-bit floating-point type (half precision). Representable normal range is `+-[2^-14, 65504], 0, INF, NaN`. 11 bits of precision + exponent.

[`MPSImageFeatureChannelFormat.float32`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/float32)

IEEE-754 32-bit floating-point type (single precision, standard `float` type in C). 24 bits of precision + exponent.

[`MPSImageFeatureChannelFormat_reserved0`](/documentation/MetalPerformanceShaders/MPSImageFeatureChannelFormat/MPSImageFeatureChannelFormat_reserved0)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)