---
title: VTRAWProcessingSessionProcessFrame
framework: Video Toolbox
role: symbol
role_heading: Function
platforms: [macOS 15.0+]
path: videotoolbox/vtrawprocessingsessionprocessframe
---

# VTRAWProcessingSessionProcessFrame

Submits RAW frames for format-specific processing using sequence and frame level parameters.

## Declaration

```occ
extern OSStatus VTRAWProcessingSessionProcessFrame(VTRAWProcessingSessionRef session, CVPixelBufferRef inputPixelBuffer, CFDictionaryRef frameOptions, VTRAWProcessingOutputHandler outputHandler);
```

## Parameters

- `session`: The RAW processing session.
- `inputPixelBuffer`: A pixel buffer that contains an input video frame to process.
- `frameOptions`: Contains key/value pairs specifying additional properties for processing this frame. No keys currently. Pass NULL.
- `outputHandler`: A doc://com.apple.videotoolbox/documentation/VideoToolbox/VTRAWProcessingOutputHandler block which will be called once when processing is complete.

## Discussion

Discussion Processed frames may or may not be output before the function returns. The client should not modify the input pixel data after making this call. The RAW Processor will retain the input pixel buffer as long as necessary. For any RAW processor, there is a finite number of frames that can be  presented to VTRAWProcessingSessionProcessFrame before the function will block until the output callback is invoked.

## See Also

### Processing frames

- [VTRAWProcessingSessionCompleteFrames](videotoolbox/vtrawprocessingsessioncompleteframes.md)
