<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/functions-that-convert-between-integer-planar-buffers",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Functions that convert between integer planar buffers"
}
-->

# Functions that convert between integer planar buffers

Convert the bit depths of planar integer image data.

## Topics

### Converting from 1-bit buffers

[`func vImageConvert_Planar1toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar1toPlanar8(_:_:_:))

Converts a 1-bit planar buffer to an 8-bit planar buffer.

[`func vImageConvert_Indexed1toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<Pixel_8>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Indexed1toPlanar8(_:_:_:_:))

Converts an indexed 1-bit planar buffer to an 8-bit planar buffer.

### Converting from 2-bit buffers

[`func vImageConvert_Planar2toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar2toPlanar8(_:_:_:))

Converts a 2-bit planar buffer to an 8-bit planar buffer.

[`func vImageConvert_Indexed2toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<Pixel_8>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Indexed2toPlanar8(_:_:_:_:))

Converts an indexed 2-bit planar buffer to an 8-bit planar buffer.

### Converting from 4-bit buffers

[`func vImageConvert_Planar4toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar4toPlanar8(_:_:_:))

Converts a 4-bit planar buffer to an 8-bit planar buffer.

[`func vImageConvert_Indexed4toPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafePointer<Pixel_8>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Indexed4toPlanar8(_:_:_:_:))

Converts an indexed 4-bit planar buffer to an 8-bit planar buffer.

### Converting from 8-bit buffers

[`func vImageConvert_Planar8toPlanar1(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toPlanar1(_:_:_:_:_:))

Converts an 8-bit planar buffer to a 1-bit planar buffer.

[`func vImageConvert_Planar8toPlanar2(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toPlanar2(_:_:_:_:_:))

Converts an 8-bit planar buffer to a 2-bit planar buffer.

[`func vImageConvert_Planar8toPlanar4(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toPlanar4(_:_:_:_:_:))

Converts an 8-bit planar buffer to a 4-bit planar buffer.

[`func vImageConvert_Planar8toIndexed1(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, UnsafeMutablePointer<Pixel_8>, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toIndexed1(_:_:_:_:_:_:))

Converts an 8-bit planar buffer to an indexed 1-bit planar buffer.

[`func vImageConvert_Planar8toIndexed2(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, UnsafeMutablePointer<Pixel_8>, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toIndexed2(_:_:_:_:_:_:))

Converts an 8-bit planar buffer to an indexed 2-bit planar buffer.

[`func vImageConvert_Planar8toIndexed4(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, UnsafeMutableRawPointer!, UnsafeMutablePointer<Pixel_8>, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8toIndexed4(_:_:_:_:_:_:))

Converts an 8-bit planar buffer to an indexed 4-bit planar buffer.

[`func vImageConvert_Planar8To16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar8To16U(_:_:_:))

Converts an 8-bit planar buffer to an unsigned 16-bit planar buffer.

### Converting from unsigned 12-bit-per-channel buffers

[`func vImageConvert_12UTo16U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_12UTo16U(_:_:_:))

Converts an unsigned 12-bit planar buffer to an unsigned 16-bit planar buffer.

### Converting from unsigned 16-bit-per-channel buffers

[`func vImageConvert_16UToPlanar8(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_16UToPlanar8(_:_:_:))

Converts an unsigned 16-bit planar buffer to an 8-bit planar buffer.

[`func vImageConvert_Planar16UtoPlanar8_dithered(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, Int32, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_Planar16UtoPlanar8_dithered(_:_:_:_:))

Converts an unsigned 16-bit planar buffer to an 8-bit planar buffer using the specified dithering algorithm.

[`func vImageConvert_16UTo12U(UnsafePointer<vImage_Buffer>, UnsafePointer<vImage_Buffer>, vImage_Flags) -> vImage_Error`](/documentation/Accelerate/vImageConvert_16UTo12U(_:_:_:))

Converts an unsigned 16-bit planar buffer to an unsigned 12-bit planar buffer.



---

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)