# CAMERA_I2CSize*

## Syntax

  `#include <twl/camera.h>`
  `CAMERAResult CAMERA_I2CSize(CAMERASelect camera, CAMERASize size);`
  `CAMERAResult CAMERA_I2CSizeAsync(CAMERASelect camera, CAMERASize size, CAMERACallback callback, void *arg);`
  `CAMERAResult CAMERA_I2CSizeEx(CAMERASelect camera, CAMERAContext context, CAMERASize size);`
  `CAMERAResult CAMERA_I2CSizeExAsync(CAMERASelect camera, CAMERAContext context, CAMERASize size, CAMERACallback callback, void *arg);`

## Arguments

camera | Camera to configure (`CAMERA_SELECT_IN`, `CAMERA_SELECT_OUT`, or `CAMERA_SELECT_BOTH`).
context | Context to change.
size | Camera resolution.
callback | Function that is called when asynchronous processing has completed.
arg | Arguments when the callback function is invoked.

## Return Values

Returns `CAMERA_RESULT_SUCCESS` if configuration was successful.

## Description

Changes the camera resolution.
The `CAMERA_I2CSizeEx` function is used to change the setting with a specified context. The non-Ex functions change the setting for both context A and B. See `CAMERAContext` for information on contexts.
Unlike `CAMERA_I2CSize`, the `CAMERA_I2CSizeAsync` function returns control immediately and runs asynchronously. Use callback to confirm that processing has completed.
Do not set `CAMERA_SIZE_VGA` in this function while either `CAMERA_FRAME_RATE_30_TO_5` or `CAMERA_FRAME_RATE_30` is specified with the `CAMERA_I2CFrameRate*` functions. Capture data becomes impossible to receive if these settings are made at the same time.
Note:
If camera settings are changed using any of the `CAMERA_I2C*` functions, the changes may be delayed for approximately one frame before they are applied. Consequently, note that if camera settings are changed while capturing, the application may not be able to get an updated image (an image with changes applied) at the time the application intended.

## See Also

`CAMERASelect`
`CAMERAContext`
`CAMERASize`
`CAMERACallback`
`CAMERAResult`

## Revision History

2009/03/25 Added a note on changes to camera settings during capture operations.
2008/10/30 Noted that `CAMERA_SELECT_BOTH` can also be specified.
2008/01/23 Explained that images cannot be captured at 30 fps for the VGA size.
2007/10/12 Initial version.

CONFIDENTIAL