---
title: "CVPixelBufferCreateResolvedAttributesDictionary(_:_:_:)"
framework: corevideo
role: symbol
role_heading: Function
path: "corevideo/cvpixelbuffercreateresolvedattributesdictionary(_:_:_:)"
---

# CVPixelBufferCreateResolvedAttributesDictionary(_:_:_:)

Resolves an array of CFDictionary objects describing various pixel buffer attributes into a single dictionary.

## Declaration

```swift
func CVPixelBufferCreateResolvedAttributesDictionary(_ allocator: CFAllocator?, _ attributes: CFArray?, _ resolvedDictionaryOut: UnsafeMutablePointer<CFDictionary?>) -> CVReturn
```

## Parameters

- `allocator`: The allocator to use to create the pixel buffer. Pass NULL to specify the default allocator.
- `attributes`: An array of Core Foundation dictionaries containing pixel buffer attribute key-value pairs.
- `resolvedDictionaryOut`: On output, the consolidated dictionary. Ownership follows the https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-103029.

## Return Value

Return Value A Core Video result code. See Core Video Constants for possible values.

## Discussion

Discussion This call is useful when you need to resolve requirements between several potential clients of a buffer. If two or more dictionaries contain the same key but different values, this function adjusts values where possible so that the output dictionary contains a mutually compatible set of values. For example, if the attributes parameter contains dictionaries whose bytes-per-row attributes differ, the rowBytes value in the output dictionary is the least common multiple of the input values. Some mismatched attributes cannot be resolved. Calling this function results in an error if the widths, heights, pixel format allocators, or callbacks in the input dictionaries do not match.

## See Also

### Inspecting Pixel Buffers

- [CVPixelBufferGetBaseAddress(_:)](corevideo/cvpixelbuffergetbaseaddress(_:).md)
- [CVPixelBufferGetBaseAddressOfPlane(_:_:)](corevideo/cvpixelbuffergetbaseaddressofplane(_:_:).md)
- [CVPixelBufferGetBytesPerRow(_:)](corevideo/cvpixelbuffergetbytesperrow(_:).md)
- [CVPixelBufferGetBytesPerRowOfPlane(_:_:)](corevideo/cvpixelbuffergetbytesperrowofplane(_:_:).md)
- [CVPixelBufferGetHeight(_:)](corevideo/cvpixelbuffergetheight(_:).md)
- [CVPixelBufferGetHeightOfPlane(_:_:)](corevideo/cvpixelbuffergetheightofplane(_:_:).md)
- [CVPixelBufferGetWidth(_:)](corevideo/cvpixelbuffergetwidth(_:).md)
- [CVPixelBufferGetWidthOfPlane(_:_:)](corevideo/cvpixelbuffergetwidthofplane(_:_:).md)
- [CVPixelBufferIsPlanar(_:)](corevideo/cvpixelbufferisplanar(_:).md)
- [CVPixelBufferGetPlaneCount(_:)](corevideo/cvpixelbuffergetplanecount(_:).md)
- [CVPixelBufferGetDataSize(_:)](corevideo/cvpixelbuffergetdatasize(_:).md)
- [CVPixelBufferGetPixelFormatType(_:)](corevideo/cvpixelbuffergetpixelformattype(_:).md)
- [CVPixelBufferGetExtendedPixels(_:_:_:_:_:)](corevideo/cvpixelbuffergetextendedpixels(_:_:_:_:_:).md)
- [CVPixelBufferGetIOSurface(_:)](corevideo/cvpixelbuffergetiosurface(_:).md)
- [CVPixelBufferIsCompatibleWithAttributes(_:_:)](corevideo/cvpixelbufferiscompatiblewithattributes(_:_:).md)
