CameraDevice.CreateCaptureSession メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
CreateCaptureSession(SessionConfiguration) |
サポートされているすべてのパラメーターを集計する |
CreateCaptureSession(IList<Surface>, CameraCaptureSession+StateCallback, Handler) |
CreateCaptureSession(SessionConfiguration)
サポートされているすべてのパラメーターを集計するSessionConfiguration
ヘルパー オブジェクトを使用して、新しい CameraCaptureSession
を作成します。
[Android.Runtime.Register("createCaptureSession", "(Landroid/hardware/camera2/params/SessionConfiguration;)V", "GetCreateCaptureSession_Landroid_hardware_camera2_params_SessionConfiguration_Handler", ApiSince=28)]
public virtual void CreateCaptureSession (Android.Hardware.Camera2.Params.SessionConfiguration? config);
[<Android.Runtime.Register("createCaptureSession", "(Landroid/hardware/camera2/params/SessionConfiguration;)V", "GetCreateCaptureSession_Landroid_hardware_camera2_params_SessionConfiguration_Handler", ApiSince=28)>]
abstract member CreateCaptureSession : Android.Hardware.Camera2.Params.SessionConfiguration -> unit
override this.CreateCaptureSession : Android.Hardware.Camera2.Params.SessionConfiguration -> unit
パラメーター
- config
- SessionConfiguration
セッション構成 (「」を参照 SessionConfiguration
)。
- 属性
注釈
サポートされているすべてのパラメーターを集計するSessionConfiguration
ヘルパー オブジェクトを使用して、新しい CameraCaptureSession
を作成します。
アクティブなキャプチャ セッションは、キャプチャ要求ごとにカメラ デバイスの潜在的な出力サーフェスのセットを決定します。 特定の要求では、出力のすべてまたは一部のみを使用できます。 CameraCaptureSession が作成されたら、、、、または CameraCaptureSession#setRepeatingBurst setRepeatingBurst
を使用して要求をCameraCaptureSession#setRepeatingRequest setRepeatingRequest
CameraCaptureSession#capture capture
CameraCaptureSession#captureBurst captureBurst
送信できます。
カメラ出力としての包含に適したサーフェスは、さまざまなユース ケースとターゲットに対して作成できます。
<ul>
<li>: android.view.SurfaceView SurfaceView
SurfaceView の Surface が になったらandroid.view.SurfaceHolder.Callback#surfaceCreated created
、 で返されるStreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceHolder.class)
サイズのいずれかに Surface android.view.SurfaceHolder#setFixedSize
のサイズを設定し、 を呼び出android.view.SurfaceHolder#getSurface
して Surface を取得します。 サイズがアプリケーションによって設定されていない場合は、カメラ デバイスによって、1080p 未満のサポートされている最も近いサイズに丸められます。</李>
<li>を使用して OpenGL テクスチャを介して android.graphics.SurfaceTexture SurfaceTexture
アクセスする場合: を使用して SurfaceTexture android.graphics.SurfaceTexture#setDefaultBufferSize
から Surface を作成する前に、 で StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceTexture.class)
返されるサイズのいずれかに SurfaceTexture Surface#Surface
のサイズを設定します。 サイズがアプリケーションによって設定されていない場合は、カメラ デバイスによってサポートされる最小サイズ (1080p 未満) に設定されます。</李>
<li>でandroid.media.MediaCodec
記録する場合: /li によってStreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaCodec.class)
<返されるサイズのいずれかを使用するようにメディア コーデックを構成した後に を呼び出しますandroid.media.MediaCodec#createInputSurface
>
<li>でandroid.media.MediaRecorder
記録する場合: によって返されるStreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaRecorder.class)
サイズのいずれかを使用するようにメディア レコーダーを構成した後、またはサポートされている のいずれかを使用するように構成したandroid.media.CamcorderProfile CamcorderProfiles
後に を呼び出android.media.MediaRecorder#getSurface
します。</李>
<li>で効率的に YUV 処理android.renderscript
を行う場合: サポートされている YUV 型、IO_INPUT フラグ、および によってStreamConfigurationMap#getOutputSizes(Class) getOutputSizes(Allocation.class)
返されるサイズのいずれかを使用して RenderScript android.renderscript.Allocation Allocation
を作成し、 で Surface android.renderscript.Allocation#getSurface
を取得します。</李>
<li>アプリケーション内の RAW、圧縮されていない YUV、または圧縮された JPEG データへのアクセスの場合: でStreamConfigurationMap#getOutputFormats()
指定されたサポートされている出力形式のいずれかを使用して オブジェクトを作成android.media.ImageReader
し、選択した出力形式を にStreamConfigurationMap#getOutputSizes(int)
渡すことによって、そのサイズを対応するサポートされているサイズのいずれかに設定します。 次に、 を使用android.media.ImageReader#getSurface()
して から をandroid.view.Surface
取得します。 ImageReader サイズがサポートされているサイズに設定されていない場合、カメラ デバイスでサポートされているサイズが 1080p 未満に丸められます。 </李>
</ul>
カメラ デバイスは、この呼び出し時に各 Surface のサイズと形式を照会するため、現時点では有効な設定に設定する必要があります。
カメラ ハードウェアの電源をオンまたは再構成する必要があるため、セッションの構成が完了するまでに数百ミリ秒かかる場合があります。 構成が完了し、セッションが実際にデータをキャプチャする準備ができたら、指定された CameraCaptureSession.StateCallback
の CameraCaptureSession.StateCallback#onConfigured
コールバックが呼び出されます。
このメソッドの呼び出し時に以前の CameraCaptureSession が既に存在する場合、前のセッションは新しいキャプチャ要求を受け入れることができなくなり、閉じられます。 前のセッションで行われた進行中のキャプチャ要求は、閉じる前に完了します。 CameraCaptureSession.StateCallback#onConfigured
新しいセッションの 場合は、前のセッションに対して が呼び出される前 CameraCaptureSession.StateCallback#onClosed
に呼び出すことができます。 新しいセッションが になったら CameraCaptureSession.StateCallback#onConfigured configured
、独自の要求のキャプチャを開始できます。 切り替え時間を最小限に抑えるために、呼び出しを CameraCaptureSession#abortCaptures
使用して、新しい要求が作成される前に、前のキャプチャ セッションの残りの要求を破棄できます。 新しいセッションが作成されると、古いセッションではキャプチャを中止できなくなることに注意してください。
より大きな解像度の出力またはより多くの出力を使用すると、デバイスからの出力速度が遅くなる可能性があります。
空または null リストを使用してセッションを構成すると、現在のセッションが閉じます (存在する場合)。 これは、別の使用のために現在のセッションのターゲット サーフェスを解放するために使用できます。
<h3>標準キャプチャ</h3>
のサイズ StreamConfigurationMap#getOutputSizes
は 1 つの出力ストリームが構成されている場合に使用できますが、複数の出力が一度に構成されている場合、特定のカメラ デバイスでサイズ、形式、ターゲットのすべての組み合わせをサポートできない場合があります。 次の表は、カメラ デバイスの機能に応じて、ストリームとターゲットの組み合わせに対して保証される最大解像度を示しています。 これらは、 が設定されていないため、再処理がアクティブでない場合 android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration
に有効です。
アプリケーションが、次の表に示す制限を超える一連のターゲットを使用してセッションを作成しようとすると、3 つの可能性のいずれかが発生する可能性があります。 まず、セッションが正常に作成され、正常に動作する可能性があります。 2 つ目は、セッションが正常に作成される可能性がありますが、カメラ デバイスは、 で StreamConfigurationMap#getOutputMinFrameDuration
説明されているようにフレーム レートの保証を満たしません。 または、出力セットをまったく使用できない場合、セッションの作成は完全に失敗し CameraCaptureSession.StateCallback#onConfigureFailed
、呼び出されます。
型列の場合、 は、 PRIV
使用可能なサイズが直接アプリケーションに表示されない形式で を使用して StreamConfigurationMap#getOutputSizes(Class)
見つかったターゲットを参照し、 YUV
その形式を使用して android.graphics.ImageFormat#YUV_420_888
ターゲット Surface を参照し、 JPEG
形式を android.graphics.ImageFormat#JPEG
参照し RAW
、その形式を android.graphics.ImageFormat#RAW_SENSOR
参照します。
[最大サイズ] 列では、 PREVIEW
デバイスの画面解像度に最も適したサイズ、または 1080p (1920x1080
) のいずれか小さい方を参照します。 RECORD
は、 によって android.media.CamcorderProfile
決定される、カメラ デバイスでサポートされる最大記録解像度を指します。 および MAXIMUM
は、その形式または ターゲットのカメラ デバイスの最大出力解像度を StreamConfigurationMap#getOutputSizes
参照します。
これらのテーブルを使用するには、必要な出力の数と形式/ターゲットを決定し、それらのターゲットを含むテーブルの行を見つけます。 サイズは、使用できるサイズの最大セットを示します。これらのターゲットでは、指定されたリスト StreamConfigurationMap#getOutputSizes
のサイズと小さいサイズをセッションの作成に正常に使用できることを保証します。 たとえば、8 メガピクセル (MP) YUV_420_888出力を 2 MP PRIV
出力と共に使用できることを示す行がある場合は、ターゲット [8 MP YUV, 2 MP PRIV]
またはターゲット [2 MP YUV, 2 MP PRIV]
を使用してセッションを作成できますが、ターゲット [8 MP YUV, 4 MP PRIV]
、ターゲット [4 MP YUV, 4 MP PRIV]
、またはターゲット [8 MP PRIV, 2 MP YUV]
を含むセッションは、テーブルの他の行にこのような組み合わせが一覧表示されない限り、動作が保証されません。
<style scoped> #rb { border-right-width: thick; }</スタイル>
レガシ デバイス (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY
) では、少なくとも次のストリームの組み合わせがサポートされています。
<table>tr th colspan="7">LEGACY-level guaranteed configurations</th></tr><th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th th<>colspan="2" id="rb">Target 3</th rowspan<>="2">Sample use case(s)</th<>/tr tr<><>th>Type</th><th id="rb">Max size</th th<>>Type/<><<th><th id="rb">Max size</th><>Type</th><id="rb">Max size</th></tr><tr<>td><PRIV
/td td><id="rb"><MAXIMUM
/td><td colspan="2" id="rb"></td td<>colspan="2" id="rb"></td td td><>Simple preview, GPU processing, or no-preview video recording.</td></tr td<JPEG
><><>/td><td td id="rb"MAXIMUM
<>/td td><colspan="2" id="rb"></td td><td colspan="2" id="rb"></td td td<>>No-viewfinder still image capture.</td></tr td<><>><YUV
/td td><td id="rb">MAXIMUM
</td td><td colspan="2" id="rb"></td td><td colspan="2" id="rb"></td td td<>>In-application video/image processing.</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>JPEG
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>Standard still imaging.</td></tr td><>><YUV
</td td><td id="rb"><PREVIEW
/td td>>JPEG
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>in-app processing plus still capture.</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>PRIV
<</td td><id="rb"><PREVIEW
/td td><td colspan="2" id="rb"></td td<>td>Standard 記録。</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>YUV
<</td td><id="rb"><PREVIEW
/td td><td colspan="2" id="rb"></td td<>>Preview plus アプリ内処理。</td></tr tr><<>td><PRIV
/td td><id="rb">PREVIEW
</td td><YUV
<>/td td><id="rb"><PREVIEW
/td td><td>JPEG
< id><="rb"><MAXIMUM
/td td<>td>引き続きキャプチャとアプリ内処理。</td></tr></table><br>
制限レベル (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
) デバイスでは、デバイスに対するストリームの組み合わせに加えて、少なくとも次のストリームの組み合わせが CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY
サポートされています。
<table>tr th colspan="7">LIMITED レベルの追加保証構成</th></tr<>th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th th<>rowspan="2">Sample use case(s)</th<>/tr><><th>Type</th><th id="rb">Max size</th>><Type</th th><id="rb"><<>Max size</th><>Type</th><th id="rb">Max size</th></tr tr>><<tdPRIV
></td td><id="rb"<PREVIEW
>/td><td>><<PRIV
td id="rb"><RECORD
/td td><colspan="2" id="rb"></td td td<>>high-resolution video recording with preview.</td></tr td<>PRIV
><></td td><td id="rb"PREVIEW
<>/td td><td><YUV
/td td><id="rb"RECORD
<>/td td><td colspan="2" id="rb"></td td td<>>プレビューを使用した高解像度のアプリ内ビデオ処理。</td></tr td>><<<>YUV
/td td><id="rb"><PREVIEW
/td td>>YUV
<</td td><id="rb"><RECORD
/td td><td colspan="2" id="rb"></td td td<>>Two-input in-app video processing.</td></tr td>><><<PRIV
/td td td><id="rb"PREVIEW
<>/td td>><PRIV
</td td><id="rb">RECORD
</td<>td td><><JPEG
id="rb"<>RECORD
/td td td>><高解像度記録とビデオ スナップショット。</td></tr td>><><<PRIV
/td td td><id="rb">PREVIEW
</td td><YUV
></td><td id="rb">RECORD
</td><td tdJPEG
<>/td><td id="rb"><RECORD
/td td td<>>高解像度のアプリ内処理とビデオ スナップショット。</td></tr td>><><<YUV
/td td td><id="rb">PREVIEW
</td td><YUV
></td><td id="rb">PREVIEW
</td><td td><<>JPEG
id="rb"MAXIMUM
></td td><td>two-input in-app processing with still capture.</td></tr></table><br>
FULL レベル (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
) デバイスでは、デバイス用の組み合わせに加えて、少なくとも次のストリームの組み合わせが CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
サポートされています。
<table>tr th colspan="7">FULL レベルの追加保証構成</th></tr<>tr><th colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th th<>rowspan="2">Sample use case(s)</th<>/tr><><th>Type</th><th id="rb">Max size</th>><Type</th th><id="rb"><<>Max size</th><>Type</th><id="rb">Max size</th<>/tr tr<>><td><PRIV
/td td><id="rb"PREVIEW
></td<>td td>PRIV
<>< id="rb"><MAXIMUM
/td td td<>colspan="2" id="rb"></td td td><>gpu processing with preview.</td></tr td<>PRIV
><></td td><td id="rb"PREVIEW
<>/td td><td><YUV
/td td><id="rb"MAXIMUM
<>/td td><td colspan="2" id="rb"></td td td<>>Maximum-resolution in-app processing with preview.</td></tr td<<><>>YUV
/td td td><id="rb"><PREVIEW
/td td>>YUV
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>Maximum-resolution two-input in-app processing.</td></tr tr>><<td>PRIV
</td td><id="rb"><PREVIEW
/td td><<>PRIV
/td td><id="rb"><PREVIEW
/td><td><JPEG
/td><td id="rb"><MAXIMUM
/td td td><>最大サイズのビデオ録画 スナップショット</td<>/tr tr<<>>td>YUV
</td td><id="rb">640x480
</td td><<PRIV
>/td td><id="rb"><PREVIEW
/td><td>YUV
</td><td id="rb"><MAXIMUM
/td td td<>>Standard ビデオ録画に加え、最大解像度のアプリ内処理。</td></tr td>><><<YUV
/td td td><id="rb">640x480
</td tdYUV
><<>/td td><id="rb"PREVIEW
></td><td><<>YUV
td id="rb"/td td><td>Preview にMAXIMUM
><加えて、2 入力の最大解像度のアプリ内処理。</td></tr></table><br>
RAW 機能 (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
を含む) デバイスではCameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW
、 デバイスと CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
デバイスの両方CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
で、少なくとも次のストリームの組み合わせがサポートされます。
<table>tr th colspan="7">RAW-capability additional guaranteed configurations</th></tr tr><><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><th colspan="2" id="rb">Target 3</th th><rowspan="2">Sample use case(s)</th></tr><<>th>Type</th><id="rb">Max size</th>><Type</th th><id="rb"><<>Max size</th><>Type</th><th id="rb">Max size</th<>/tr tr><<>td><RAW
/td td><id="rb"MAXIMUM
<>/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>td>No-preview DNG capture.</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>RAW
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>Standard DNG capture。</td></tr tr><<>td>YUV
</td td><id="rb"><PREVIEW
/td><td>RAW
</td td><id="rb"><MAXIMUM
/td td><colspan="2" id="rb"></td td td<>>in-app processing plus DNG capture。</td></tr tr>><<td>PRIV
</td td><id="rb"><PREVIEW
/td td><<>PRIV
/td><td id="rb"><PREVIEW
/td td>><<RAW
/td td><id="rb"><MAXIMUM
/td td td DNG キャプチャを使用した<>>ビデオ録画。</td></tr tr><<>td><PRIV
/td td><id="rb">PREVIEW
</td td><YUV
<>/td td><id="rb"><PREVIEW
/td><td>RAW
</td td><id="rb"><MAXIMUM
/td td td<>>Preview とアプリ内処理と DNG キャプチャ。</td></tr td>><><<YUV
/td td td><id="rb"PREVIEW
<>/td td>><YUV
</td td><id="rb">PREVIEW
</td<>td td><><RAW
id="rb"<>MAXIMUM
/td td td>><Two-input in-app processing plus DNG capture。</td></tr tr><<>td><PRIV
/td td><id="rb"><PREVIEW
/td td<>/td><tdJPEG
>< id="rb">MAXIMUM
</td><td td><<>RAW
id="rb"><MAXIMUM
/td td<>td>同時 JPEG と DNG を同時にキャプチャします。</td></tr td<>>YUV
<<>/td td><id="rb"><PREVIEW
/td td>JPEG
<<>/td><td id="rb"MAXIMUM
></td><td<RAW
>/td td><id="rb"><MAXIMUM
/td td td<>>in-app processing with simultaneous JPEG and DNG。</td></tr></table><br>
BURST-capability (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
includes ) デバイスでは CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE BURST_CAPTURE
、デバイス用のストリームの組み合わせに加えて、少なくとも以下のストリームの組み合わせが CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
サポートされます。 FULL レベルのデバイスはすべて BURST 機能をサポートしており、以下の一覧は FULL レベルデバイスのリストの厳密なサブセットであるため、この表は、BURST_CAPTURE機能をサポートする LIMITED レベルのデバイスにのみ関連します。
<table>tr th colspan="5">BURST-capability additional guaranteed configurations</th></tr><th><colspan="2" id="rb">Target 1</th><colspan="2" id="rb ">Target 2</th><rowspan="2">Sample use case(s)</th></tr><th>><Type</th><th id="rb">Max size</th><type></th th><id="rb">Max size</th></tr tr<>><<><td>PRIV
</td td><id="rb">PREVIEW
</td td><<>PRIV
/td td><id="rb"><MAXIMUM
/td td<>td>プレビューでの最大解像度 GPU 処理。</td></tr td<<<>>>PRIV
/td td td><id="rb"PREVIEW
<>/td tdYUV
>><</td><td id="rb"><MAXIMUM
/td td td<>>プレビューでの最大解像度のアプリ内処理。</td></tr tr><><td>YUV
</td td><id="rb">PREVIEW
</td td>><<YUV
/td><td id="rb"><MAXIMUM
/td td td<>>Maximum-resolution two-input in-app processing.</td></tr></table><br>
LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3
) では、RAW 機能と RAW 機能の組み合わせ (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
を含むCameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW
) に加えて、少なくとも次のストリームの組み合わせがサポートされます。CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
<table>tr th colspan="11">LEVEL-3 additional guaranteed configurations</th></tr><th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th th><colspan ="2" id="rb">Target 3</th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample use case(s)</th<>/tr>><<th>Type</th><id="rb">Max size</th><><<th>Type</th><id="rb">Max size</th>><Type</th><th id="rb">Max size</th><type></th><th id="rb">Max size</th></tr><td>><<td<PRIV
> id="rb">PREVIEW
</td<>td tdPRIV
<> id><="rb"/td td id="rb"><640x480
/td><td><YUV
/td td><id="rb"><MAXIMUM
/td td>><RAW
</td td><id="rb">MAXIMUM
</td td td<>>出力形式を動的に選択したアプリ内ビューファインダー分析。</td></tr tr><<>td><PRIV
/td td><id="rb">PREVIEW
</td td><>PRIV
</td><td id="rb"><640x480
/td><td>JPEG
</td><td id="rb"><MAXIMUM
/td td>><<RAW
/td td><id="rb"><MAXIMUM
/td td td<>>in-app viewfinder analysis with dynamic selection of output format.</td></tr></table><br>
で説明 android.hardware.camera2.CameraManager#getConcurrentCameraIds
されているように、他のデバイスと同時にストリーミングできるBACKWARD_COMPATIBLEデバイスには、次の保証されたストリームがあります (他のデバイスと同時にストリーミングする場合)
注: これらの同時実行ストリームに関して説明されているサイズは、サポートが保証されている最大サイズです。 特定の形式に対して によって取得される StreamConfigurationMap#getOutputSizes
、これらより小さいサイズもサポートされています。
<table>tr th colspan="5">Concurrent stream guaranteed configurations</th></tr><><th colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th rowspan><="2">Sample use case(s)</th<>/tr><><th Type></th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th></tr tr>><><<<Td>YUV
</td td><id="rb"><s1440p
/td td<>td colspan="2" id="rb"></td td td<>>In-app video / image processing.</td></tr td<<>PRIV
><>/td td td><id="rb"><s1440p
/td td td><colspan="2" id="rb"></td td td<>>アプリ内ビューファインダー分析。</td></tr tr>><<td><JPEG
/td td><td id="rb"><s1440p
/td td td><colspan="2" id="rb"></td td<>td>静止画像キャプチャなし。</td></tr tr><><td>YUV / PRIV
</td td><id="rb">s720p
</td td>><<JPEG
/td><td id="rb"><s1440p
/td td td<>> Standard still imaging.</td></tr tr>><<td>YUV / PRIV
</td td td><id="rb"<s720p
>/td tdYUV / PRIV
>><</td><td id="rb"><s1440p
/td td td<>>In-app video / processing with preview.</td></tr></table><br></p>
下位互換性のないデバイスでは、同時操作中にイメージ形式 DEPTH16
のサイズ sVGA の必須の単一ストリームがサポートされます。
保証された同時実行ストリーム構成の場合:
sVGA は、その形式 StreamConfigurationMap#getOutputSizes
に対するカメラ デバイスの最大解像度 (または VGA 解像度 (640X480) のいずれか低い方) を指します。
s720p は、720p(1280X720) のいずれか低い方の StreamConfigurationMap#getOutputSizes
形式のカメラ デバイスの最大解像度を指します。
s1440p は、または 1440p(1920X1440) のいずれか低い方の形式 StreamConfigurationMap#getOutputSizes
のカメラ デバイスの最大解像度を指します。
モノクロ機能 (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
を含むCameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME MONOCHROME
) デバイスは、デバイスのハードウェア レベルと機能に対してYUV
Y8
保証されるすべてのストリームの組み合わせでストリームを に置き換えるサポートをサポートandroid.graphics.ImageFormat#Y8 Y8
します。
クライアントは、 を使用して、上記の必須ストリームの組み合わせテーブルに android.hardware.camera2.params.MandatoryStreamCombination
アクセスできます。
HEIC 形式 (StreamConfigurationMap#getOutputFormats
を含むandroid.graphics.ImageFormat#HEIC
) を出力できるデバイスでは、デバイスのハードウェア レベルと機能に対してJPEG
HEIC
保証されているすべてのストリームの組み合わせで、 を使用したストリームの置き換えがサポートされます。 JPEG 出力と HEIC 出力の両方で createCaptureSession を呼び出すことはサポートされていません。
特定の形式に対してマルチ解像度出力が可能なデバイス ( android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputInfo
は空でないリストを返します) は、すべての必須ストリームの組み合わせに対して、その形式の MAXIMUM 解決ストリームに を使用 MultiResolutionImageReader
してサポートします。 たとえば、上記の LIMITED および Legacy テーブルのストリーム構成に加えて、LIMITED カメラ デバイスが と の両方JPEG
に対してマルチ解像度出力ストリームをサポートしている場合、カメラ デバイスは次の保証されたストリームの組み合わせをサポートします (MULTI_RES
[最大サイズ] 列では、サポートされている可変の最大解像度に基づいて作成された を参照MultiResolutionImageReader
PRIVATE
します)。
<table>tr th colspan="7">LEGACY-level additional guaranteed combinations with MultiResolutionoutputs</th></tr<>tr<>th colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th th><rowspan="2">Sample use case(s)</th<>/tr tr<<>>th>Type</th><th id="rb">Max size><<</番目><th>Type</th><id="rb">Max size</th<>>Type</th><id="rb">Max size</th></tr<>tr><td><PRIV
/td td><id="rb"><MULTI_RES
/td><td colspan="2" id="rb"></td td><td colspan="2" id="rb"></td td td td<>>Simple preview, GPU video processing, or no-preview video recording.</td></tr td<JPEG
><><>/td><td td id="rb"MULTI_RES
<>/td td><colspan="2" id="rb"></td td><td colspan="2" id="rb"></td td td<>>No-viewfinder still image capture.</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>JPEG
<</td td><id="rb"><MULTI_RES
/td td><td colspan="2" id="rb"></td td td<>>Standard still imaging.</td></tr tr><<>td><PRIV
/td td><id="rb">PREVIEW
</td td><YUV
<>/td td><id="rb"><PREVIEW
/td td><td>JPEG
< id><="rb"><MULTI_RES
/td td<>td>引き続きキャプチャとアプリ内処理。</td></tr></table><br><table><tr><th colspan="7">LIMITED レベルの追加保証構成と MultiResolutionoutputs</th></tr tr<><>th colspan="2" id="rb">Target 1</th><th colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th th><rowspan="2">Sample use case(s)</th></tr><tr><th>Type</th><id="rb">Max size</th><type></th><id="rb">max size</th><th>Type</th><th id="rb">Max size</th></tr tr<><>td<>YUV
/td td><id="rb"PREVIEW
></td<>td/td td><<YUV
> id="rb"><PREVIEW
/td td td/>><JPEG
<td td><id="rb">MULTI_RES
</td td><td>2 入力アプリ内処理と引き続きキャプチャ。</td></tr></table><br> 同じロジックが他のハードウェア レベルと機能に適用されます。
ULTRA_HIGH_RESOLUTION_SENSOR機能を備えたデバイスには、クライアントが を利用できるいくつかの追加の保証があります。
<table>tr th colspan="10">ULTRA_HIGH_RESOLUTION センサー</th></tr><th><colspan="3" id="rb">Target 1</th th<>colspan="3" id="rb に対する追加の保証された組み合わせ ">Target 2</th<>colspan="3" id="rb">Target 3</th th<>rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th><th id="rb"> SC Map</th><<><th id="rb">Max size</th><>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th><type<>/th><th id="rb"> SC Map</th><th id="rb">Max size</th></tr><><tdYUV / JPEG / RAW
<> td><id="rb"/td><td id="rb"MAX_RES
<MAX
>></td><td id="rb"PRIV / YUV
<>/td td id="rb"/td><td><id="rb"DEFAULT
>< rb">PREVIEW
</td td><colspan="3" id="rb"></td td<>td>Ultra high res still image capture with preview</td<>/tr tr<<>>td<YUV / JPEG / RAW
>/td><td id="rb">MAX_RES
</td td><id ="rb"MAX
<>/td td><id="rb"PRIV
></td td><id="rb"<>DEFAULT
/td><td id="rb"PREVIEW
<>/td td><id="rb"PRIV / YUV
<>/td td><id="rb">/td td><id="rb">RECORD
</td td><>Ultra high res still capture with preview + app based RECORD size analysis</td></tr td><><td>YUV / JPEG / RAW
><< id="rb">MAX_RES
</td><td id="rb"><MAX
/td><td id="rb"PRIV
></td><td id="rb"<>DEFAULT
/td><td id="rb">PREVIEW
</td><td id="rb">DEFAULT
<JPEG / YUV / RAW
</td td><id="rb">DEFAULT
</td td><id="rb">MAX
</td td td><>Ultra high res still image capture with preview + default sensor pixel mode analysis stream</td<>/tr></table br><>
ここでは、SC Map は を StreamConfigurationMap
参照し、ターゲット ストリーム サイズは から選択する必要があります。 DEFAULT
は既定のセンサー ピクセル モード StreamConfigurationMap
を参照し、 MAX_RES
最大解像度 StreamConfigurationMap
を参照します。 ストリームの場合MAX_RES
、 列ではMax size
、 と StreamConfigurationMap#getHighResolutionOutputSizes
からの最大サイズStreamConfigurationMap#getOutputSizes
MAX
を参照します。 注: 同じキャプチャ要求は、異なるセンサー ピクセル モードに対応する からターゲット StreamConfigurationMap
を混在させることはできません。
10 ビット出力対応 CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
デバイスでは、少なくとも次のストリームの組み合わせがサポートされています。
<table>tr th colspan="7">10 ビット出力追加保証構成</th></tr><><th colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th><th colspan="2" id="rb">Target 3</th th><rowspan="2">Sample use case(s)</th></tr tr><<>th>Type</th><id="rb">Max size</th>><Type</th th><id="rb"><<>Max size</th><>Type</th><th id="rb">Max size</th></tr><td><<>PRIV
/td td><id="rb"><MAXIMUM
/td td> }</td td><colspan="4" id="rb"></td td td<>>単純プレビュー、GPU ビデオ処理、またはプレビューなしのビデオ録画。</td></tr tr><><td>YUV
</td td><id="rb"><MAXIMUM
/td }</td> td><colspan="4" id="rb"></td td td<>>In-application video/image processing.</td></tr tr><><td>PRIV
</td td><id="rb"><PREVIEW
/td td>>JPEG
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>Standard still imaging.</td></tr td<>PRIV
><></td td><td id="rb"PREVIEW
<>/td td><td><YUV
/td td><id="rb"MAXIMUM
<>/td td><td colspan="2" id="rb"></td td td<>>Maximum-resolution in-app processing with preview.</td></tr td<<><>>YUV
/td td td><id="rb"><PREVIEW
/td td>>YUV
<</td td><id="rb"><MAXIMUM
/td td><td colspan="2" id="rb"></td td td<>>Maximum-resolution two-input in-app processing.</td></tr td><>><PRIV
</td td><td id="rb"><PREVIEW
/td td>>PRIV
<</td td><id="rb"><RECORD
/td td><td colspan="2" id="rb"></td td td<>>プレビュー付き高解像度ビデオ録画。</td></tr td>><><<PRIV
/td td td><id="rb"PREVIEW
<>/td td>><PRIV
</td td><id="rb">RECORD
</td<>td td><><YUV
id="rb"<>RECORD
/td td td>><アプリ内スナップショットによる高解像度記録。</td></tr td>><><<PRIV
/td td td><id="rb"PREVIEW
<>/td td>><PRIV
</td td><id="rb">RECORD
</td<>td td><><JPEG
id="rb"<>RECORD
/td td td>><高解像度録画とビデオ スナップショット。</td></tr></table><br>
ここで PRIV には、8 ビットまたは 10 ビット android.graphics.ImageFormat#PRIVATE
のピクセル形式を指定できます。 YUV には、 または android.graphics.ImageFormat#YCBCR_P010
のいずれかをandroid.graphics.ImageFormat#YUV_420_888
指定できます。 [最大サイズ] 列では、PREVIEW はデバイスの画面解像度または 1080p (1920x1080) のいずれか小さい方に一致する最適なサイズを参照します。 RECORD は、 によって android.media.CamcorderProfile
決定される、カメラ デバイスでサポートされる最大記録解像度を指します。 MAXIMUM は、 のその形式またはターゲット StreamConfigurationMap#getOutputSizes(int)
に対するカメラ デバイスの最大出力解像度を指します。 10 ビット プロファイルでピクセル形式 android.graphics.ImageFormat#YUV_420_888
を使用するようにカメラ サーフェスを構成するなど、無効な組み合わせによりキャプチャ セッションの初期化エラーが発生することに注意してください。
android.graphics.ImageFormat#JPEG_R
によって android.hardware.camera2.params.StreamConfigurationMap
アドバタイズされた場合もサポートされる場合があります。 Jpeg/R カメラ出力クライアントを含むキャプチャ セッションを初期化する場合は、次の項目 w.r.t を考慮する必要があります。10 ビットの必須ストリームの組み合わせテーブル。
<ul><li>圧縮された Jpeg/R 画像を生成するには、カメラ デバイスによって内部的に 1 つのandroid.graphics.ImageFormat#YCBCR_P010
出力が使用されます。</li li><>10 ビットと 8 ビットの同時キャプチャ要求android.hardware.camera2.params.DynamicRangeProfiles#getProfileCaptureRequestConstraints
をサポートできるカメラ デバイスでは、エンコード プロセスの高速化に役立つ追加android.graphics.ImageFormat#JPEG
も内部的に構成されます。</li></ul>
Jpeg/R カメラ出力は、通常、最大デバイス解像度をサポートできます。 クライアントは、サポートされているサイズの完全な一覧を呼び出 StreamConfigurationMap#getOutputSizes(int)
すこともできます。 上記の必須のストリーム テーブルに収まらないストリームの組み合わせ内に Jpeg/R 出力を登録するカメラ クライアントは、 を呼び出 CameraDevice#isSessionConfigurationSupported
して、この特定の構成がサポートされていることを確認できます。
STREAM_USE_CASE機能 (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
を含む) を持つデバイスでは CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
、追加のストリームの組み合わせの下でサポートされます。
<table>tr th colspan="10">STREAM_USE_CASE機能の追加の保証された構成</th></tr><th><colspan="3" id="rb">Target 1</th><colspan="3" id="rb">Target 2</th><colspan="3" id="rb">Target 3</th th<>rowspan="2">Sample use case(s)</th></tr tr><><th>Type</th><th id="rb">Max size</th th>><Usecase</th><<><番目>Type</th th><id="rb">Max size</th><th>Usecase</th><th>Type</th><th id="rb">Max size</th><>usecase</th<>/tr tr><><td>YUV / PRIV
</td td><id="rb"PREVIEW
></td><td id="rb">PREVIEW
</td td<>colspan="3" id="rb"></td td><colspan="3" id="rb"></td td td><>単純プレビューまたはアプリ内画像処理</Td></tr tr>><<td>YUV / PRIV
</td><td id="rb"><RECORD
/td td><id="rb"><VIDEO_RECORD
/td td><colspan="3" id="rb"></td td td<>colspan="3" id="rb"></td td><>Simple video recording or in-app video processing</td></tr><td<>tdYUV / JPEG
>< id><="rb">MAXIMUM
</><td td id="rb"STILL_CAPTURE
></td><td colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td td>><Simple JPEG or YUV still image capture</td></tr tr><><td>YUV / PRIV
</td td><id="rb"><s1440p
/td td><id="rb"><PREVIEW_VIDEO_STILL
/td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td td>><multi-purpose stream for preview, ビデオとstill image capture</td></tr tr><><td><YUV / PRIV
/td><td id="rb">s1440p
</td td><id="rb"><VIDEO_CALL
/td><td colspan="3" id="rb"></td td td<>colspan="3" id="rb"></td td td<<>>/td td>><><><PRIV
><< id=">PREVIEW
<><rb">PREVIEW
</td><td><YUV / JPEG
/td><td id="rb"><MAXIMUM
/td td><id="rb"><STILL_CAPTURE
/td><td colspan="3" id="rb"></td td td><>Preview with JPEG または YUV still image capture</td></tr tr<><>td<PRIV
>/td><td id="rb"<PREVIEW
>/td td><td id="YUV / PRIV
<><><PREVIEW
><>rb">RECORD
</td><td id="rb"><VIDEO_RECORD
/td td<>colspan="3" id="rb"></td td td>><Preview with video recording or in-app video processing</td<>/tr<>td><td>PRIV
</td><td id="rb"<>PREVIEW
/td><td id="rb"PREVIEW
></td<>td tdYUV
>><< id="rb">PREVIEW
</td><td id="rb"PREVIEW
></td><td colspan="3" id="rb"></td td td>><Preview with in-application image processing</td<>/tr<>td>>PRIV
><<< id="rb"<>PREVIEW
/td><td id="rb"<>PREVIEW
/td td<>td<YUV / PRIV
>>< id="rb"/td td id="rb<VIDEO_CALL
>"<>s1440p
/td><><td td colspan="3" id="rb"></td td td><>ビデオ通話</td<>/tr<>tr><td<>YUV / PRIV
/td><td td id="rb">s1440p
</td><td id="rb"><PREVIEW_VIDEO_STILL
/td><td>YUV / JPEG
<>< td id="rb">MAXIMUM
</td td><td id="rb">STILL_CAPTURE
</td td<>colspan="3" id="rb"></td td td><>MultI-purpose stream with JPEG または YUV capture</td></tr><Tr><td><YUV
/td><td id="rb"><PREVIEW
/td td><id="rb"><STILL_CAPTURE
/td><td><id<JPEG
>="rb"/td td id="rb"MAXIMUM
<<STILL_CAPTURE
>>/td><td<>colspan="3" id="rb"></td td td><>YUV and JPEG concurrent still image capture (for testing)</td<>/tr<>td<>PRIV
<>/td><td id="rb">PREVIEW
</td td><id="rb">PREVIEW
</td><td<>tdYUV / PRIV
<> id="rb">RECORD
</td><td id="rb"VIDEO_RECORD
></td tdJPEG
<>/td><><td id="rb"/td td id="rb"RECORD
></td><td td id="rb"<STILL_CAPTURE
>/td td td><>Preview,video record and JPEG video スナップショット</td></tr tr><><td>PRIV
</td><td id="rb">PREVIEW
</td td><id="rb">PREVIEW
</td>><<td>YUV
< id="rb">PREVIEW
</td><td id="rb"<PREVIEW
>/td td td><>JPEG
< id="rb"/td<>td td id="rb"MAXIMUM
></td><td td id="rb"STILL_CAPTURE
<>/td td><td>Preview、アプリケーション内の画像処理、JPEG 静止画像キャプチャ</td></Tr></table><br>
にストリーム ユース ケースを CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
含むデバイスでは CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
、次の追加のストリームの組み合わせをサポートしています。
<table>tr th colspan="10">STREAM_USE_CASE_CROPPED_RAW 機能の追加の保証された構成</th></tr><th><colspan="3" id="rb">Target 1</th><colspan="3" id="rb ">Target 2</th><colspan="3" id="rb">Target 3</th th<>rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th><id="rb">Max size</th th>><><<Usecase</th><type></th th><id="rb">Max size</th><th>Usecase</th><th>Type</th><th id="rb">Max size</th><th>Usecase</th<>/tr tr><><td<>RAW
/td td><id="rb "MAXIMUM
<>/td td><id="rb">CROPPED_RAW
</td td<>colspan="3" id="rb"></td td><colspan="3" id="rb"></td td td><>Croppedraw capture without preview</td></tr tr><><td<>PRIV / YUV
/td><td id="rb"PREVIEW
<>/td><td id="rb"<>PREVIEW
/td><tdRAW
><<> td id="rb">MAXIMUM
</td td><td id="rb"<>CROPPED_RAW
/td td td><colspan="3" id="rb"></td td<>td>Preview with cropped RAW still capture</td<>/tr tr<>td><>PRIV / YUV
</td><td id="rb">PREVIEW
</td td><id="rb">PREVIEW
</td>><<td id><YUV / JPEG
="rb"><MAXIMUM
/td td id="rb"/td><td td>><<RAW
id="rb">STILL_CAPTURE
</td<>td td id="rb"><MAXIMUM
/td td><id="rb">CROPPED_RAW
</td td<>td>Preview with YUV / JPEG and cropped RAW capture</td<>/tr tr<>td><td>PRIV / YUV
</td><td id="rb">PREVIEW
</td td><id="rb"><PREVIEW
/td><td>PRIV / YUV
<<> id="rb"/td td id="rb"<>PREVIEW
/td><td td<>><RAW
id="rb"><VIDEO_RECORD / PREVIEW
/td><td td id="rb"MAXIMUM
></td><td id="rb"<CROPPED_RAW
>/td td td><>video recording with preview and cropped RAW capture</td></tr>
が CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES
含まれている CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION
デバイスの場合、 が に設定されている CaptureRequests では、次のストリームの組み合わせが CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE
保証されます。 CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION
<table>tr th colspan="7">Preview stabilization guaranteed stream configurations</th></tr tr><><th colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th rowspan><="2">Sample ユース ケース(s)</th<>/tr tr><><th>Type</th><th id="rb">Max size</th><th>Type</th><id="rb">Max size</th></tr tr>><><<<Td>PRIV / YUV
</td td><id="rb"><s1440p
/td td><colspan="2" id="rb"></td td td>><手ブレ補正プレビュー、GPU ビデオ処理、またはプレビューなし安定化ビデオ録画。</td></tr tr><td><>PRIV / YUV
</td td><id="rb">s1440p
</td td><td>JPEG / YUV
</td><td id="rb"<>MAXIMUM
/td td td><>Standard は、安定したプレビューで引き続きイメージングします。</td></tr tr><td><>PRIV / YUV
</td td><id="rb">PREVIEW
</td td<>td<PRIV / YUV
>/td><td id="rb"<>s1440p
/td td><td>安定したプレビューと記録ストリームを使用した高解像度記録。</td></tr></table><br>
[最大サイズ] 列の場合、PREVIEW は、デバイスの画面解像度または 1080p (1920x1080) のいずれか小さい方に一致する最適なサイズを参照します。 RECORD は、カメラ デバイスでサポートされている最大記録解像度を指します。これは によって android.media.CamcorderProfile
決まります。 MAXIMUM は、 の形式またはターゲット StreamConfigurationMap#getOutputSizes(int)
に対するカメラ デバイスの最大出力解像度を指します。
カメラ デバイスの機能は大きく異なるため、特定のカメラ デバイスでは、これらの保証外のサイズを持つターゲットの組み合わせをサポートできますが、これは、このようなターゲットとのセッションを呼び出 #isSessionConfigurationSupported
すか作成しようとすることによってのみテストできます。
176 x 144 (QCIF) 解像度の例外: カメラ デバイスは通常、より大きな解像度から小さい解像度にダウンスケーリングするための固定機能を備えています。また、高解像度のイメージ センサーを搭載したデバイスでは、この制限により QCIF 解像度が完全にサポートされない場合があります。 したがって、1920x1080 解像度 (幅または高さ) を超える他のストリームと共に QCIF 解像度ストリームを構成しようとすると、サポートされていない場合はキャプチャ セッションの作成が失敗します。
<h3>再処理</h3>
カメラ デバイスが YUV 再処理 () または PRIVATE 再処理 (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING
) をサポートしている場合、アプリケーションは再処理可能なキャプチャ セッションを作成して、セッションに を設定android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration
することで、通常のキャプチャ要求に加えて再処理キャプチャ要求を送信することもできます。 再処理キャプチャ要求は、セッションの入力 Surface から次に使用可能なバッファーを受け取り、カメラ デバイスの処理パイプラインを通じて再度送信して、要求のターゲット出力 Surface のバッファーを生成します。 再処理要求の新しいイメージ データはキャプチャされません。 ただし、アプリケーションによって提供される入力バッファーは、同じセッション内の同じカメラ デバイスによって、直接 (ゼロ シャッター ラグユース ケースの場合など) または間接的にキャプチャする必要があります (たとえば、複数の出力画像を組み合わせる)。
アクティブな再処理可能なキャプチャ セッションは、キャプチャ要求ごとに、カメラ デバイスの入力 Surface
と潜在的な出力サーフェスのセットを決定します。 アプリケーションでは、 を使用 #createCaptureRequest createCaptureRequest
して、カメラ デバイスから新しい画像をキャプチャするための定期的なキャプチャ要求を作成し、 を使用 #createReprocessCaptureRequest createReprocessCaptureRequest
して入力 Surface
からバッファーを処理する再処理キャプチャ要求を作成できます。 セッション内の出力サーフェスの一部の組み合わせは、要求で同時に使用できない場合があります。 要求で同時に使用できる出力サーフェスの保証された組み合わせは、 の下 #createCaptureSession createCaptureSession
の表に一覧表示されます。 1 つのキャプチャ要求内のすべての出力 Surface は、カメラ デバイスによる新しいキャプチャから、または要求が再処理キャプチャ要求かどうかに応じて入力 Surface から、同じソースから取得されます。
カメラ デバイスでサポートされている入力形式とサイズは、 と StreamConfigurationMap#getInputSizes
を介してStreamConfigurationMap#getInputFormats
クエリを実行できます。 サポートされている入力形式ごとに、カメラ デバイスでは、 と を介してStreamConfigurationMap#getValidOutputFormatsForInput
StreamConfigurationMap#getOutputSizes
クエリできる再処理用の一連の出力形式とサイズがサポートされます。 入力構成の有効な再処理出力ターゲットではない形式の出力サーフェスはセッションに含めることができますが、再処理要求のターゲットとして使用することはできません。
アプリケーションはイメージに直接アクセスandroid.graphics.ImageFormat#PRIVATE
できないため、 形式として でandroid.media.ImageReader#newInstance
android.graphics.ImageFormat#PRIVATE
作成された出力 Surface は、入力の再処理に使用されることを意図したものと見なされるため、サイズは、フォーマットでサポートされている入力サイズandroid.graphics.ImageFormat#PRIVATE
のいずれかとandroid.media.ImageReader
一致する必要があります。 そうしないと、再処理可能なキャプチャ セッションの作成は失敗します。
API レベル 30 以降では、再処理可能なキャプチャ セッションを再作成すると、キューに入っているが、まだ処理されていないバッファーがすべて入力画面からフラッシュされます。
次の表の構成は、カメラ デバイスが YUV 再処理または PRIVATE 再処理をサポートしている場合に、再処理可能なキャプチャ セッションを作成するために保証されています。 ただし、再処理可能なセッションの作成に使用されるすべての出力ターゲットを、 で CaptureRequest
同時に使用できるわけではありません。 再処理 CaptureRequest
で 1 つの出力ターゲットのみをサポートするデバイスの場合、複数の出力ターゲットを持つ再プロセス CaptureRequest
を送信すると、 CaptureFailure
が生成されます。 再処理 CaptureRequest
で複数の出力ターゲットをサポートするデバイスの場合、 に同時に含 CaptureRequest
めることができる保証された出力ターゲットは、 の下 #createCaptureSession createCaptureSession
の表に一覧表示されます。 たとえば、PRIVATE 再処理をサポートする FULL 機能 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
) デバイスを使用すると、アプリケーションは 1 つの入力、(、MAXIMUM
)、および 3 つの出力 (PRIV
、、MAXIMUM
)、(PRIV
、PREVIEW
)、および (PRIV
YUV
、MAXIMUM
) を使用して再処理可能なキャプチャ セッションを作成できます。 ただし、 の下#createCaptureSession createCaptureSession
に一覧表示されているテーブルに基づいて、アプリケーションが (、) および (PRIV
、MAXIMUM
MAXIMUM
) 出力を使用して通常のキャプチャまたはYUV
再処理キャプチャを送信できることは保証されません。 つまり、次の表を使用して、再処理可能なキャプチャ セッションを作成するための保証されたストリーム構成を決定し、 の #createCaptureSession createCaptureSession
テーブルを使用して、通常または再処理 CaptureRequest
で同時に送信できる保証された出力ターゲットを決定します。
10 ビット対応 CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
デバイスで 10 ビット出力ターゲットを使用した再処理はサポートされていません。 10 ビットのダイナミック レンジ プロファイルandroid.hardware.camera2.params.DynamicRangeProfiles
を使用するように設定OutputConfiguration#setDynamicRangeProfile
された 1 つ以上の出力構成を使用して、再割り当て可能なキャプチャ セッションを初期化しようとすると、 がトリガーIllegalArgumentException
されます。
<style scoped> #rb { border-right-width: thick; }</スタイル>
LIMITED レベル (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
) デバイスでは、デバイスの通常 CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
のキャプチャに関して前述したものに加えて、再処理可能なキャプチャ セッションを作成するために、少なくとも次のストリームの組み合わせがサポートされています。
<table>tr th colspan="11">LIMITED レベルの、再処理可能なキャプチャ セッション<br> を作成するための追加の保証された構成(PRIV
入力は、PRIVATE 再処理がサポートされている場合にのみ保証されます。 YUV
input is guaranteed only if YUV reprocessing is supported)</th></tr><tr><th colspan="2" id="rb">Input</th><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><colspan="2" id="><<rb">Target 3</th th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample use case(s)</th<>/tr tr>><<th>Type</th><id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><th>type</th><id="rb">Max size</th></tr><tr><td>PRIV
/YUV
</td><td id="rb"><MAXIMUM
/td td><>入力</td td><id="rb"<MAXIMUM
>/td td><td>JPEG
<>< id="rb"MAXIMUM
></td><td td></td td><id="rb"></td<>td td><>< id="rb"></td<>td td>no-viewfinder image reprocessing。</td></tr tr><><td><PRIV
/YUV
/td><td id="rb">MAXIMUM
</td td><>入力</td td><id="rb"MAXIMUM
<>/td td><td>PRIV
<>< id="rb"<>PREVIEW
/td><td tdJPEG
<>/td><td id="rb"MAXIMUM
<>/td><td<>td>< id="rb"></td td><>ZSL(ゼロシャッターラグ)を引き続きイメージングします。</td></tr tr><><td><PRIV
/YUV
/td><td id="rb">MAXIMUM
</td td><>入力</td td><id="rb"MAXIMUM
<>/td td><td>YUV
<>< id="rb"<>PREVIEW
/td><td tdJPEG
<>/td><td id="rb"MAXIMUM
<>/td><td<>td>< id="rb"></td td><>ZSL の引き続き、アプリ内処理イメージング。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><YUV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MAXIMUM
>PREVIEW
<><>JPEG
<><</Td><まだキャプチャされた td>ZSL アプリ内処理。</td></tr></table><br>
FULL レベル (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
) デバイスでは、デバイス用に加えて、再処理可能なキャプチャ セッションを作成するために、少なくとも次のストリームの組み合わせが CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
サポートされています。
<table>tr th colspan="11">FULL レベルの、再処理可能なキャプチャ セッション<br> を作成するための追加の保証された構成(PRIV
入力は、PRIVATE 再処理がサポートされている場合にのみ保証されます。 YUV
input is guaranteed only if YUV reprocessing is supported)</th></tr tr><<>th colspan="2" id="rb">Input</th><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2/th><colspan="2<" id="rb">><<Target 3</th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th><id="rb">Max size<//th><type<>/th th><id="rb">Max size</th><th>Type</th><id="rb">Max size</th><type<>/th><th id="rb"Max size/th th type/th id="rb">Max size</th><th>Type</th><id="rb"Max>size</th></tr><><td><YUV
/td><td id="rb"<>MAXIMUM
/td td<>td>><YUV
< id="rb">MAXIMUM
</td<>td><><PRIV
td id="rb"PREVIEW
<>/td td td id="td<>td></td><td id="rb"></><td td><td>< id="rb"></td td td<>td>Maximum-resolution multi-frame image fusion in-app processing with regular preview.</td></tr td<<<>YUV
>>/td td><id="rb"<MAXIMUM
>/td td><tdYUV
><>< id="rb">MAXIMUM
</td<>td>YUV
</td><td id="rb"<>PREVIEW
/td><td td></td><td id="rb"></td<>td td><>< id="rb"></td td><>image fusion2 入力のアプリ内処理。</td></tr tr><><td><PRIV
/YUV
/td><td id="rb">MAXIMUM
</td td><>入力</td td><id="rb"MAXIMUM
<>/td td><td>PRIV
<>< id="rb"<>PREVIEW
/td><td tdYUV
<>/td><td id="rb"RECORD
<>/td><td<>td>< id="rb"></td td><>標準プレビューを使用した高解像度の ZSL アプリ内ビデオ処理。</td></tr td<>>PRIV
<></td><td id="rb"<MAXIMUM
>/td td<>tdPRIV
><<> id="rb"MAXIMUM
></td<>td td<>PRIV
>< id="rb"/td td td id="<>PREVIEW
/td><td td><><YUV
id="rb"><MAXIMUM
/td><td><>< id="rb"/td td td id="rb"></td td><td>Maximum-resolution定期的なプレビューを使用した ZSL アプリ内処理。</td></tr td<>>PRIV
<></td><td id="rb"<MAXIMUM
>/td td<>tdPRIV
><<> id="rb"MAXIMUM
></td<>td td<>YUV
>< id="rb"/td td td id="<>PREVIEW
/td><td td><><YUV
id="rb"><MAXIMUM
/td><td><>< id="rb"/td td td id="rb"></td td><td>Maximum-resolution2 入力 ZSL アプリ内処理。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><PRIV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MAXIMUM
>PREVIEW
<><>JPEG
<><</Td><td>ZSL は引き続きキャプチャとアプリ内処理を行います。</td></tr></table><br>
RAW 機能 ( をCameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
含む) デバイスではCameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW
、デバイスと CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED
デバイスの両方CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
で再処理可能なキャプチャ セッションを作成するために、少なくとも次のストリームの組み合わせがサポートされます
<table><tr><th colspan="11">RAW-capability reprocessable capture session<br>(PRIV
input is guaranteed only if PRIVATE reprocessing is supported. YUV
input は、YUV 再処理がサポートされている場合にのみ保証されます<)/th></tr><tr><th colspan="2" id="rb">Input</th><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><th colspan="2" id="rb">Target 3</th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample ユース ケース(s)</th></tr tr>><<th>Type</th><id="rb">Max size</th><>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><Type></th th><id="rb"Max size/th th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th></tr tr><><td>PRIV
YUV
/</td td><id="rb">MAXIMUM
</td td><td>入力</td><td id="rb"><MAXIMUM
/td><td td<>><YUV
id="rb"<>PREVIEW
/td><td td/td><td<>RAW
id="rb"><MAXIMUM
/td<>td td><>< id="rb"></td td><>相互排他的 ZSLアプリ内処理と DNG キャプチャ。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><PRIV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MAXIMUM
>PREVIEW
<><>RAW
<><</Td><td DNG キャプチャを使用した>相互排他的な ZSL アプリ内処理とプレビュー。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><YUV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MAXIMUM
>PREVIEW
<><>RAW
<><</Td><td>相互に排他的な ZSL 2 入力のアプリ内処理と DNG キャプチャ。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><PRIV
<> id="rb"<>PREVIEW
/td<>td><JPEG
/td td><td id="rb">MAXIMUM
>MAXIMUM
<><>RAW
<><</Td><td>相互に排他的な ZSL は引き続き DNG キャプチャを使用してキャプチャおよびプレビューします。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><YUV
<> id="rb"<>PREVIEW
/td<>td><JPEG
/td td><td id="rb">MAXIMUM
>MAXIMUM
<><>RAW
<><</Td><td>引き続きキャプチャと DNG キャプチャを使用した相互排他的な ZSL アプリ内処理。</td></tr></table><br>
LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
==
CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3
) デバイスでは、デバイス用に加えて、再処理可能なキャプチャ セッションを作成するために、少なくとも次のストリームの組み合わせが CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL
サポートされています。 2 番目の構成では同時に構成 MAXIMUM
YUV
と JPEG
出力が可能ですが、その構成は通常のキャプチャ セッションには一覧表示されないため、両方のターゲットへの同時出力は許可されないことに注意してください。
<table><tr><th colspan="13">LEVEL-3 再処理可能なキャプチャ セッション<br> を作成するための追加の保証された構成(PRIV
入力は、PRIVATE 再処理がサポートされている場合にのみ保証されます。 YUV
入力は常に保証されます。</th></tr th><<>colspan="2" id="rb">Input</th><colspan="2" id="rb">Target 1/th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 1< 3</th><colspan="2" id="rb">Target 4</th><colspan="2" id="rb">Target 5</th th><rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th><id="rb">Max size</th><番目>Type</th th><id="rb">Max size</th><type></th><id="rb">Max size</th><th>Type</th><th id="rb">Max size</th>><Type</th><th id="rb">Max size</th><th>Type</th id="rb"Max size/th><th id="rb">Max size</th><>< tr<>td/td td><><YUV
id="rb"<>MAXIMUM
/td<><>>YUV
< td id="rb">MAXIMUM
</td><td><PRIV
/td><td id="rb">PREVIEW
</td><td td<><PRIV
> id="rb">640x480
</td<>td>RAW
</td><td id="rb"<>MAXIMUM
/td td td>< id="rb"/td><><td id="rb"></td td<>>in-app viewfinder analysis with ZSL and RAW.</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MAXIMUM
</td td><>入力<と同じ/td td><id="rb"MAXIMUM
<>/td<>td td><PRIV
<> id="rb"<>PREVIEW
/td<>td><PRIV
/td td><td id="rb">MAXIMUM
>640x480
<><>RAW
<><</Td><td><JPEG
/td td><id="rb"><MAXIMUM
/td td><td>ZSL、RAW、JPEG 再処理出力を使用したアプリ内ビューファインダー分析。</td></tr></table><br>
カメラ デバイスがマルチ解像度入力とマルチ解像度YUV
YUV
出力をサポートしている場合、またはマルチ解像度入力とマルチ解像度PRIVATE
PRIVATE
出力をサポートしている場合は、LIMITED デバイスと FULL デバイスの追加の必須ストリームの組み合わせを次に示します (MULTI_RES
[最大サイズ] 列では出力用の をMultiResolutionImageReader
参照し、入力の場合はマルチ解像度InputConfiguration
を示します)。 <テーブル><tr><th colspan="11">複数解像度の入力と複数解像度の出力<br を使用して再処理可能なキャプチャ セッションを作成するための制限レベルの追加の保証された構成 br>(PRIV
入力は、PRIVATE 再処理がサポートされている場合にのみ保証されます。 YUV
入力は、YUV 再処理がサポートされている場合にのみ保証されます<)/th></tr><tr><th colspan="2" id="rb">Input</th><colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><th colspan="2" id="rb">Target 3</th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample use case(s)</th></tr tr th>>><<Type</th><id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><Type<>/th><th id="rb">Max size/th type<>/th th id="rb"max size</th><><th id="rb">Max size</th th><>Type/<th><id="rb">Max size</th></tr tr><<>td/<YUV
>PRIV
/td td><id="rb"MULTI_RES
></td td>><入力</td><td id="rb"MULTI_RES
></td<>td><>JPEG
< td id="rb"/td td td>< id="rb"MULTI_RES
<>/td><><td td id="rb"></td><td<>td>< id="rb"></td td>><No-viewfinder image image再。</td></tr tr><><td><PRIV
/YUV
/td><td id="rb">MULTI_RES
</td td><>入力</td td><id="rb"MULTI_RES
<>/td td><td>PRIV
<>< id="rb"<>PREVIEW
/td><td tdJPEG
<>/td><td id="rb"MULTI_RES
<>/td><td<>td>< id="rb"></td td><>ZSL(ゼロシャッターラグ)を引き続きイメージングします。</td></tr tr><><td><PRIV
/YUV
/td><td id="rb">MULTI_RES
</td td><>入力</td td><id="rb"MULTI_RES
<>/td td><td>YUV
<>< id="rb"<>PREVIEW
/td><td tdJPEG
<>/td><td id="rb"MULTI_RES
<>/td><td<>td>< id="rb"></td td><>ZSL の引き続き、アプリ内処理イメージング。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MULTI_RES
</td td><>入力<と同じ/td td><id="rb"MULTI_RES
<>/td<>td td><YUV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MULTI_RES
>PREVIEW
<><>JPEG
<><</Td><まだキャプチャされた td>ZSL アプリ内処理。</td></tr></table><br><table><tr><th colspan="11">FULL レベルの追加の保証された構成で、マルチ解像度入力とマルチ解像度出力<br> を使用して再処理可能なキャプチャ セッションを作成します(PRIV
入力は PRIVATE 再処理がサポートされている場合にのみ保証されます。 YUV
YUV 再処理がサポートされている場合にのみ入力が保証されます)</th></tr><th><colspan="2" id="rb">Input</th th><colspan="2" id="rb">Target 1</th><th colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3</th th><colspan="2" id="rb">Target 4</th th><rowspan="2">Sample use case(s)</th<>/tr th<>>><Type</th><id="rb">Max size</th><>Type</th><th id="rb">Max size/<th><Type/th><th id="rb">Max size</th><th>< type/th><id="rb">Max size</th><th>type</th><id="rb">Max size</th></tr><tr><td>PRIV
</td td><id="rb"MULTI_RES
></td<>td tdPRIV
>< id="rb">MULTI_RES
</td<>><td td<>PRIV
/td td><id=<>"rb">PREVIEW
</td td<>tdYUV
>><< id="rb">MULTI_RES
</td td><></td td><id="rb"></td td td<>>通常のプレビューでの最大解像度 ZSL のアプリ内処理。</td></tr td<>>PRIV
<></td><td id="rb"<MULTI_RES
>/td td<>tdPRIV
><<> id="rb"MULTI_RES
></td<>td td<>YUV
>< id="rb"/td td td id="<>PREVIEW
/td><td td><><YUV
id="rb"><MULTI_RES
/td><td><>< id="rb"/td td td id="rb"></td td><td>Maximum-resolution2 入力 ZSL アプリ内処理。</td></tr tr><><td><YUV
/PRIV
/td td><id="rb">MULTI_RES
</td td><>入力<と同じ/td td><id="rb"MULTI_RES
<>/td<>td td><PRIV
<> id="rb"<>PREVIEW
/td<>td><YUV
/td td><td id="rb">MULTI_RES
>PREVIEW
<><>JPEG
<><</Td><td>ZSL は引き続きキャプチャとアプリ内処理を行います。</td></tr></table><br>
ULTRA_HIGH_RESOLUTION_SENSOR機能を備えたデバイスには、クライアントが を利用できる追加の保証がいくつかあります。
<table><tr><th colspan="13">ULTRA_HIGH_RESOLUTION センサーの追加の保証された組み合わせ (YUV/PRIV 入力は、YUV/PRIVATE 再処理がサポートされている場合にのみ保証されます)</th></tr tr><<>th colspan="3" id="rb">Input</th><th colspan="3" id="rb">Target 1</th<>colspan="3" id="rb">Target 2</th><colspan="3" id="rb">Target 3</th rowspan><="2">サンプル ユース ケース(s)</th></tr><th><type></th><id="rb"> SC Map</th><id="rb">max size</th><th<> type/th><id="rb" SC Map</th><th id="rb">th id="rb">th size</th><>Type</th><th id="rb"> SC Map/th th id="rb"rb<">SC Map</th><th id="th type/>><<th><th id="rb"><><>最大サイズ</th></tr tr>><<td>RAW
</td td><id="rb"><MAX_RES
/td td><id="rb"><MAX
/td><td><RAW
/td td><id="rb">MAX_RES
</td td><id="rb"><MAX
/td><td id="rb"><PRIV / YUV
/td td><id="rb">DEFAULT
</td td><id="rb">PREVIEW
</td td><colspan="3" id="rb"></td td td><>RAW remosaic個別のプレビュー</td<>/tr tr<<>>td/td><td>RAW
< id="rb"MAX_RES
></td><td id="rb"<>MAX
/td td><td>RAW
< id="rb"/td><td id="rb"><MAX_RES
/td><td id="rb"MAX
></td><td id="rb">PRIV / YUV
</td><td id="PREVIEW
><><rbDEFAULT
<>"/td><td id="rb">JPEG / YUV
</td><td id="rb"><MAX_RES
/td td><id="rb"><MAX
/td td><>Ultra high res RAW -> JPEG / YUV with separate preview</td></tr tr><<>td>><<YUV / PRIV
id="rb"<MAX_RES
>/td td><td id="rb">MAX
</td<>td td><<>YUV / PRIV
id="rb">MAX_RES
</td><td id="rb"/>MAX
<td><td id="rb">YUV / PRIV
</td td><id="rb">DEFAULT
</td><td id="rb"><PREVIEW
/td><td id="rb">JPEG
</td td><id="rb">MAX_RES
</td td><td id="rb"MAX
></td td><td> Ultra high res PRIV / YUV -> YUV / JPEG reprocessing with separate preview</td<>/tr<>/table br>><RAW 機能と LEVEL-3 ハードウェア レベルの追加の必須ストリームの組み合わせはありません。 </p>
<h3>制約付き高速記録</h3>
アプリケーションでは、 によって目的の高速 FPS 範囲がアドバタイズされるCameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
場合、高速キャプチャに を使用android.hardware.camera2.params.SessionConfiguration#SESSION_REGULAR normal capture session
できます。この場合、通常のキャプチャ セッションに関連付けられているすべての API セマンティクスが適用されます。
はandroid.hardware.camera2.params.SessionConfiguration#SESSION_HIGH_SPEED high-speed capture session
、カメラ デバイスが高速ビデオ機能をサポートしている場合 (>つまり、 を含むCameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
) 場合に、CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
高速ビデオ記録 (=120fps) に使用できます。 制約付き高速キャプチャ セッションには、通常のキャプチャ セッションと比較して特別な制限があります。
<ul>
<li>通常のキャプチャに対して上記で指定した出力ターゲット Surface 要件に加えて、高速キャプチャ セッションでは最大 2 つの出力 Surface のみがサポートされますが、アプリケーションでは 1 つの Surface のみを構成できます (プレビューのみなど)。 すべてのサーフェスは、ビデオ エンコーダー サーフェス (または によってandroid.media.MediaRecorder#getSurface
取得) またはandroid.media.MediaCodec#createInputSurface
プレビュー サーフェス (、 から取得android.view.SurfaceView
android.graphics.SurfaceTexture
android.view.Surface#Surface(android.graphics.SurfaceTexture)
) である必要があります。 Surface のサイズは、 によって StreamConfigurationMap#getHighSpeedVideoSizes
報告されるサイズのいずれかである必要があります。 複数のサーフェスを構成する場合、そのサイズは同じである必要があります。</李>
<li>アクティブな高速キャプチャ セッションは、 を介してCameraConstrainedHighSpeedCaptureSession#createHighSpeedRequestList
作成された要求リストのみを受け入れ、要求リストは、 または CameraCaptureSession#setRepeatingBurst setRepeatingBurst
を介してのみCameraCaptureSession#captureBurst captureBurst
このセッションに送信できます。</李>
<li>このセッションに要求される FPS 範囲は、 から StreamConfigurationMap#getHighSpeedVideoFpsRangesFor
選択する必要があります。 アプリケーションは引き続き を使用 CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
して、目的の FPS 範囲を制御できます。 異なる android.util.Range#getUpper() maximum FPS
FPS 範囲に切り替えると、一部のカメラ デバイスの再構成がトリガーされ、余分な待機時間が発生する可能性があります。 アプリケーションでは、高速ストリーミング中にターゲット FPS の変更が可能な限り不要な最大を回避することをお勧めします。</李>
<li>このセッションに送信された要求リストの場合、カメラ デバイスは、自動露出 (AE)、自動ホワイト バランス (AWB) と自動フォーカス (AF) をそれぞれ 、CameraMetadata#CONTROL_AE_MODE_ON
、CameraMetadata#CONTROL_AWB_MODE_AUTO
および CameraMetadata#CONTROL_AF_MODE_CONTINUOUS_VIDEO
にCameraMetadata#CONTROL_MODE_AUTO
オーバーライドCaptureRequest#CONTROL_MODE control mode
します。 処理後のすべてのブロック モード コントロールは、FAST にオーバーライドされます。 そのため、キャプチャと後処理のパラメーターを手動で制御することは不可能です。 これらの他に、コントロールのサブセットのみが機能します。詳細については、「」を参照してください CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
。</李>
</ul>
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
適用対象
CreateCaptureSession(IList<Surface>, CameraCaptureSession+StateCallback, Handler)
[Android.Runtime.Register("createCaptureSession", "(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V", "GetCreateCaptureSession_Ljava_util_List_Landroid_hardware_camera2_CameraCaptureSession_StateCallback_Landroid_os_Handler_Handler")]
public abstract void CreateCaptureSession (System.Collections.Generic.IList<Android.Views.Surface> outputs, Android.Hardware.Camera2.CameraCaptureSession.StateCallback callback, Android.OS.Handler? handler);
[<Android.Runtime.Register("createCaptureSession", "(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V", "GetCreateCaptureSession_Ljava_util_List_Landroid_hardware_camera2_CameraCaptureSession_StateCallback_Landroid_os_Handler_Handler")>]
abstract member CreateCaptureSession : System.Collections.Generic.IList<Android.Views.Surface> * Android.Hardware.Camera2.CameraCaptureSession.StateCallback * Android.OS.Handler -> unit
パラメーター
- callback
- CameraCaptureSession.StateCallback
- handler
- Handler
- 属性
注釈
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。