CameraDevice.CreateCaptureSession Methode

Definition

Überlädt

Name Beschreibung
CreateCaptureSession(SessionConfiguration)

Erstellen Sie ein neues CameraCaptureSession Mithilfe eines SessionConfiguration Hilfsobjekts, das alle unterstützten Parameter aggregiert.

CreateCaptureSession(IList<Surface>, CameraCaptureSession+StateCallback, Handler)

CreateCaptureSession(SessionConfiguration)

Erstellen Sie ein neues CameraCaptureSession Mithilfe eines SessionConfiguration Hilfsobjekts, das alle unterstützten Parameter aggregiert.

[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

Parameter

config
SessionConfiguration

Eine Sitzungskonfiguration (siehe SessionConfiguration).

Attribute

Hinweise

Erstellen Sie ein neues CameraCaptureSession Mithilfe eines SessionConfiguration Hilfsobjekts, das alle unterstützten Parameter aggregiert.

Die aktive Aufnahmesitzung bestimmt den Satz potenzieller Ausgabeoberflächen für das Kameragerät für jede Aufnahmeanforderung. Eine bestimmte Anforderung kann alle oder nur einige der Ausgaben verwenden. Nachdem die CameraCaptureSession erstellt wurde, können Anforderungen mit CameraCaptureSession#capture capture, , CameraCaptureSession#captureBurst captureBurst, CameraCaptureSession#setRepeatingRequest setRepeatingRequestoder CameraCaptureSession#setRepeatingBurst setRepeatingBurst.

Oberflächen, die für die Aufnahme als Kameraausgabe geeignet sind, können für verschiedene Anwendungsfälle und Ziele erstellt werden:

<Ul>

<li>For drawing to a android.view.SurfaceView SurfaceView: Once the SurfaceView's Surface , android.view.SurfaceHolder.Callback#surfaceCreated createdset the size of the Surface with android.view.SurfaceHolder#setFixedSize to be one of the size returned by StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceHolder.class) and then obtain the Surface by calling android.view.SurfaceHolder#getSurface. Wenn die Größe nicht von der Anwendung festgelegt wird, wird sie vom Kameragerät auf die nächste unterstützte Größe gerundet, die kleiner als 1080p ist.</li>

<li>For accessing through an OpenGL texture via a android.graphics.SurfaceTexture SurfaceTexture: Set the size of the SurfaceTexture with android.graphics.SurfaceTexture#setDefaultBufferSize to be one of the size returned by StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(SurfaceTexture.class) before creating a Surface from the SurfaceTexture with Surface#Surface(SurfaceTexture). Wenn die Größe nicht von der Anwendung festgelegt wird, wird sie vom Kameragerät auf die kleinste unterstützte Größe unter 1080p festgelegt.</li>

<li>Für die Aufzeichnung mit android.media.MediaCodec: Anruf android.media.MediaCodec#createInputSurface nach der Konfiguration des Mediencodecs für die Verwendung einer der von StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaCodec.class)</li zurückgegebenen Größen>

<li>For recording with android.media.MediaRecorder: Call android.media.MediaRecorder#getSurface after configuring the media recorder to use one of the sizes returned by StreamConfigurationMap#getOutputSizes(Class) getOutputSizes(MediaRecorder.class), or configuring it to use one of the supported android.media.CamcorderProfile CamcorderProfiles.</li>

<li>Für den Zugriff auf RAW-, unkomprimierte YUV- oder komprimierte JPEG-Daten in der Anwendung: Erstellen Sie ein android.media.ImageReader Objekt mit einem der unterstützten Ausgabeformate, indem StreamConfigurationMap#getOutputFormats()Sie die Größe auf eine der entsprechenden unterstützten Größen festlegen, indem Sie das ausgewählte Ausgabeformat an StreamConfigurationMap#getOutputSizes(int). Dann erhalten Sie eine android.view.Surface von ihr mit android.media.ImageReader#getSurface(). Wenn die ImageReader-Größe nicht auf eine unterstützte Größe festgelegt ist, wird sie vom Kameragerät auf eine unterstützte Größe gerundet, die kleiner als 1080p ist. </li>

</ul>

Das Kameragerät fragt bei diesem Aufruf jedes Surface Größe und Formate ab, sodass sie zu diesem Zeitpunkt auf eine gültige Einstellung festgelegt werden müssen.

Es kann mehrere hundert Millisekunden dauern, bis die Konfiguration der Sitzung abgeschlossen ist, da die Kamerahardware möglicherweise eingeschaltet oder neu konfiguriert werden muss. Sobald die Konfiguration abgeschlossen ist und die Sitzung bereit ist, Daten tatsächlich zu erfassen, wird der bereitgestellte CameraCaptureSession.StateCallbackCameraCaptureSession.StateCallback#onConfigured Rückruf aufgerufen.

Wenn beim Aufrufen dieser Methode bereits eine vorherige CameraCaptureSession vorhanden ist, kann die vorherige Sitzung keine neuen Aufnahmeanforderungen mehr annehmen und geschlossen werden. Alle in Bearbeitung ausgeführten Erfassungsanforderungen an die vorherige Sitzung werden abgeschlossen, bevor sie geschlossen wird. CameraCaptureSession.StateCallback#onConfigured für die neue Sitzung kann aufgerufen werden, bevor CameraCaptureSession.StateCallback#onClosed sie für die vorherige Sitzung aufgerufen wird. Sobald die neue Sitzung erfolgt CameraCaptureSession.StateCallback#onConfigured configured, kann sie mit der Erfassung eigener Anforderungen beginnen. Um die Übergangszeit zu minimieren, kann der CameraCaptureSession#abortCaptures Aufruf verwendet werden, um die verbleibenden Anforderungen für die vorherige Aufnahmesitzung zu verwerfen, bevor eine neue erstellt wird. Beachten Sie, dass nach dem Erstellen der neuen Sitzung die alten Aufzeichnungen nicht mehr abgebrochen werden können.

Wenn Sie größere Auflösungsausgaben oder mehr Ausgaben verwenden, kann dies zu einer langsameren Ausgaberate des Geräts führen.

Wenn Sie eine Sitzung mit einer leeren oder null-Liste konfigurieren, wird die aktuelle Sitzung ( falls vorhanden) geschlossen. Dies kann verwendet werden, um die Zieloberflächen der aktuellen Sitzung für eine andere Verwendung freizugeben.

Diese Funktion löst einen IllegalArgumentException If-Aufruf mit einer SessionConfiguration ohne Statusrückrufe oder gültige Ausgabeoberflächen aus. Die einzigen Ausnahmen sind verzögerte SurfaceView- oder SurfaceTexture-Ausgaben. Weitere Informationen finden Sie unter OutputConfiguration#OutputConfiguration(Size, Class).

<h3>Reguläre Erfassung</h3>

Während eine der Größen StreamConfigurationMap#getOutputSizes verwendet werden kann, wenn ein einzelner Ausgabedatenstrom konfiguriert ist, kann ein bestimmtes Kameragerät möglicherweise nicht alle Kombinationen von Größen, Formaten und Zielen unterstützen, wenn mehrere Ausgaben gleichzeitig konfiguriert sind. In den folgenden Tabellen sind die maximalen garantierten Auflösungen für Kombinationen von Datenströmen und Zielen aufgeführt, je nach den Funktionen des Kamerageräts. Diese sind gültig, wenn die android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration Einstellung nicht festgelegt ist und daher keine Erneute Verarbeitung aktiv ist.

Wenn eine Anwendung versucht, eine Sitzung mit einer Reihe von Zielen zu erstellen, die die in den folgenden Tabellen beschriebenen Grenzwerte überschreiten, kann eine von drei Möglichkeiten auftreten. Zunächst kann die Sitzung erfolgreich erstellt und normal ausgeführt werden. Zweitens kann die Sitzung erfolgreich erstellt werden, aber das Kameragerät erfüllt nicht die Framerate-Garantien, wie in StreamConfigurationMap#getOutputMinFrameDurationbeschrieben. Oder drittens, wenn der Ausgabesatz überhaupt nicht verwendet werden kann, schlägt die Sitzungserstellung vollständig fehl, wobei CameraCaptureSession.StateCallback#onConfigureFailed sie aufgerufen wird.

Bezieht sich für die Typspalte auf jedes Ziel, PRIV dessen verfügbare Größen ohne StreamConfigurationMap#getOutputSizes(Class) direktes anwendungsbezogenes Format gefunden werden, YUV verweist auf ein Ziel Surface mit dem android.graphics.ImageFormat#YUV_420_888 Format, JPEG bezieht sich auf das android.graphics.ImageFormat#JPEG Format und RAW bezieht sich auf das android.graphics.ImageFormat#RAW_SENSOR Format.

Bezieht sich für die Spalte PREVIEW für die maximale Größe auf die beste Größe, die der Bildschirmauflösung des Geräts entspricht, oder auf 1080p (1920x1080), je nachdem, was kleiner ist. RECORDbezieht sich auf die maximal unterstützte Aufnahmeauflösung des Kamerageräts, wie durch .android.media.CamcorderProfile Und MAXIMUM bezieht sich auf die maximale Ausgabeauflösung des Kamerageräts für dieses Format oder ziel von StreamConfigurationMap#getOutputSizes.

Um diese Tabellen zu verwenden, bestimmen Sie die Anzahl und die Formate/Ziele der benötigten Ausgaben, und suchen Sie die Zeilen der Tabelle mit diesen Zielen. Die Größen geben den maximalen Satz von Größen an, die verwendet werden können; Es ist gewährleistet, dass für diese Ziele die aufgelisteten Größen und alles kleinere aus der Liste, die von ihnen angegeben StreamConfigurationMap#getOutputSizes wird, erfolgreich zum Erstellen einer Sitzung verwendet werden kann. Wenn beispielsweise eine Zeile angibt, dass eine 8 Megapixel (MP) YUV_420_888 Ausgabe zusammen mit einer 2 MP-Ausgabe PRIV verwendet werden kann, kann eine Sitzung mit Zielen oder Zielen [2 MP YUV, 2 MP PRIV]erstellt werden. Eine Sitzung mit Zielen[8 MP YUV, 2 MP PRIV], Zielen [8 MP YUV, 4 MP PRIV]oder Zielen [4 MP YUV, 4 MP PRIV][8 MP PRIV, 2 MP YUV] würde jedoch nicht garantiert funktionieren, es sei denn, eine andere Zeile der Tabelle listet eine solche Kombination auf.

<formatiert> #rb { rahmen-rechts-breite: dick; }</style>

<garantierte Konfigurationen< auf h5>LEGACY-Ebene/h5>

Ältere Geräte (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY) unterstützen mindestens die folgenden Streamkombinationen:

<table><tr><th colspan="2" id="rb">Target 1</th<>colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th<>zeilenpan="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><id="rb" >Max size</th></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 video processing, or no-preview video recording.</td></tr><><td><JPEG/td td><id="rb">MAXIMUM</td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>no-viewfinder still image capture.</td></tr td<><>><YUV/td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td td td><>In-application video/image processing.</td></tr>><<tdPRIV></td td><id="rb"PREVIEW></td td td<>td>><<JPEG td id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>td>Standard still imaging.</td></tr td>>YUV><<</td td><id="rb"PREVIEW<>/td td><td>JPEG<>< id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td<>td td>In-App processing plus still capture.</td></tr><><td><PRIV/td td><id="rb"PREVIEW<>/td td td<>/td><<PRIV> td id="rb"><PREVIEW/td td td><colspan="2" id="rb"></td td td<>>standard recording.</td></tr td>>PRIV><<</td td><id="rb"PREVIEW<>/td td td<>/td><<YUV> td id="rb"><PREVIEW/td td><colspan="2" id="rb"></td td<>td>Preview plus In-App-Verarbeitung.</td></tr td<<<>PRIV>>/td td><id="rb"PREVIEW></td td td<>/td><YUV<> td id="rb">PREVIEW</td td td><td><<>JPEG id="rb"><MAXIMUM/td<>td td>Still capture plus in-app processing.</td></tr></table><br>

<h5>ZUSÄTZLICHE garantierte Konfigurationen< auf beschränkter Ebene/h5>

Geräte auf eingeschränkter Ebene (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED) unterstützen mindestens die folgenden Streamkombinationen zusätzlich zu diesen für CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY Geräte:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr>><<th>Typ</th><id="rb">Max Size</th>><th Typ</th><id="rb">Max size</th th><>Typ</th><ID="Max size/th id="rb">Max size</th></tr>><<<tr><td>PRIV</td><td id="rb"PREVIEW></td><tdPRIV<> td><id="rb"><RECORD/td td><colspan="2" id="rb"></td td<>>high-resolution video recording with preview.</td></tr td<>PRIV>><</td td><id="rb">PREVIEW</td td td></td><td>YUV< id="rb"><RECORD/td td td><colspan="2" id="rb"></td td<>td>High-resolution in-app video processing with preview.</td></tr td>>YUV><<</td td><id="rb"PREVIEW<>/td td td<>/td><<YUV> 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><id="rb"PREVIEW></td td td></td><tdPRIV<> id="rb">RECORD</td td><td td><<>JPEG id="rb"><RECORD/td td<>td>High-resolution recording with video snapshot.</td></tr td<>>PRIV<></td td><id="rb"PREVIEW></td td td></td><tdYUV<> id="rb">RECORD</td td><td td><<>JPEG id="rb"><RECORD/td<>td td>High-resolution in-app processing with video snapshot.</td></tr td<>>YUV<></td td><id="rb"><PREVIEW/td td td<>/td><td><YUV id="rb"PREVIEW></td td<>><<>JPEG id="rb"><MAXIMUM/td<>td>Two-input in-app processing with still capture.</td></tr></table><br>

<h5>Zusätzliche garantierte Konfigurationen< auf voller Ebene/h5>

Geräte auf full-level (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL) unterstützen mindestens die folgenden Streamkombinationen zusätzlich zu diesen für CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED Geräte:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr>><<th>Typ</th><id="rb">Max Size</th><>th Typ</th><id="rb">Max size</th th>><Typ</th><ID="Max size/th id="rb">Max size</th></tr><<><tr><td>PRIV</td><td id="rb"><PREVIEW/td td><tdPRIV<>/td td><id="rb"><MAXIMUM/td td<>colspan="2" id="rb"></td td><>Maximum-Auflösung GPU-Verarbeitung mit Vorschau.</td></tr td><<>>PRIV</td><td id="rb"><PREVIEW/td td td>>YUV<</td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td<>td>maximum-resolution in-app processing with preview.</td></tr><><td><YUV/td td><id="rb"PREVIEW></td td td<>td tdYUV<><> 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 id="rb">PREVIEW</td td td><><PRIV/td><td id="rb"PREVIEW></td><td<>JPEG>< id="rb"MAXIMUM></td<>td>video recording with maximum-size video snapshot</td/td<>/tr><<>tdYUV<>/td><td id="rb">/td><td><PRIV/td><td id="rb"><PREVIEW/td td td></tdYUV>< td><id="rb">MAXIMUM</td td>><Standard video recording plus maximum-resolution in-app processing.<640x480</td></tr><td<YUV<>>/td td><id="rb">640x480</td td td<>/td><td<>YUV id="rb"><PREVIEW/td td><td>YUV</td><td id="rb">MAXIMUM</td><td>Preview plus zweieingaben maximale Auflösung in der App-Verarbeitung.</td></tr></table><br>

<h5>RAW-Funktion zusätzliche garantierte Konfigurationen</h5>

RAW-Funktion (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES umfasst CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW) Geräte unterstützen zusätzlich mindestens die folgenden Streamkombinationen auf beiden CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL und CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED Geräten:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr>><<th>Typ</th><id="rb">Max Size</th><>th Typ</th><id="rb">Max size</th th>><Typ</th><ID="Max size/th id="rb">Max size</th></tr><<><tr><td>RAW</td><td id="rb"MAXIMUM<>/td td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td<>td>No-preview DNG capture.</td></tr td<>PRIV>><</td td><id="rb">PREVIEW</td td td><td><td>RAW< id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td<>td td>Standard DNG capture.</td></tr td>>YUV><<</td td><id="rb"PREVIEW<>/td td><td>RAW<>< id="rb"><MAXIMUM/td td td><colspan="2" id="rb"></td td<>td>In-App processing plus DNG capture.</td></tr td<<<>PRIV>>/td td><id="rb">PREVIEW</td td td></td td><><PRIV id="rb"PREVIEW></td td<>><<>RAW id="rb"><MAXIMUM/td td td<>>Videoaufzeichnung mit DNG-Aufnahme.</td></tr>><<td<PRIV>/td td><id="rb">PREVIEW</td td td<>/td><td<>YUV id="rb"><PREVIEW/td td><td<>RAW/td><td id="rb"><MAXIMUM/td td<>td>Preview with in-app processing and DNG capture.</td></tr><td<YUV<>>/td td><id="rb">PREVIEW</td td td<>/td><td<>YUV id="rb"><PREVIEW/td td><td>RAW</td><td id="rb">MAXIMUM</td><td>Two-input in-app processing plus DNG capture.</td></tr>><<td<PRIV>/td td><id="rb"PREVIEW></td td td></td><tdJPEG<> id="rb">MAXIMUM</td td td><td><<>RAW id="rb"><MAXIMUM/td<>td td>Still capture with simultaneous JPEG and DNG.</td></tr>><<td<YUV>/td td><id="rb"PREVIEW></td td td></td><>JPEG< td id="rb"MAXIMUM></td td<>><<>RAW id="rb"><MAXIMUM/td<>td td>In-app processing with gleichzeitig JPEG and DNG.</td></tr></table><br>

<h5>BURST-Funktion zusätzliche garantierte Konfigurationen</h5>

BURST-Funktion (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES einschließlich CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE BURST_CAPTURE) Geräte unterstützen mindestens die folgenden Datenstromkombinationen zusätzlich zu diesen für CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED Geräte. Beachten Sie, dass alle Geräte auf FULL-Level die BURST-Funktion unterstützen, und die folgende Liste ist eine strenge Teilmenge der Liste für Geräte auf FULL-Level-Ebene, sodass diese Tabelle nur für Geräte auf BESCHRÄNKTer Ebene relevant ist, die die BURST_CAPTURE-Funktion unterstützen.

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><rowspan="2">Sample use case(s)</th/th<>/tr tr><><th>Type</th th><id="rb">Max size</th><>Type</th th><id="rb">Max size</th/th<> tr><td>PRIV><</td td><id="rb"PREVIEW<>/td td td/td td/td><<PRIV>><<><td id="rb">MAXIMUM</td td><>GPU-Verarbeitung mit maximaler Auflösung mit Vorschau.</td></tr td><>><<PRIV/td td><id="rb"PREVIEW<>/td td td></td><td<>YUV id="rb"><MAXIMUM/td td<>>maximum-resolution in-app processing with preview.</td></tr td><>><<YUV/td td><id="rb"PREVIEW<>/td td td></td><td<>YUV id="rb"><MAXIMUM/td td td<>>Maximum-resolution two-input in-app processing.</td></tr></table><br>

<h5>LEVEL-3 zusätzliche garantierte Konfigurationen</h5>

LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3) unterstützen mindestens die folgenden Datenstromkombinationen zusätzlich zu den Kombinationen für CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL und für RAW-Funktionen (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES umfasst):CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW

<table>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 colspan="2" id="2" id="2"rb">Target 4</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 th Type</th><id="rb><<">Max size</th><>Type</th><id="rb">Max size</th<>/tr><td<>/td><PRIV td><td id="rb"><PREVIEW/td td<>td td>><<PRIV id="rb">640x480</td td td<>td>YUV</td><td id="rb"<>MAXIMUM/td td<RAW<>>/td><td id="rb"<MAXIMUM>/td><td td>In-app viewfinder analysis with Dynamische Auswahl des Ausgabeformats.</td></tr td<<<>PRIV>>/td td><id="rb"<PREVIEW>/td td td>PRIV<></td><td id="rb">640x480</td td td><td><><JPEG td id="rb"<MAXIMUM>/td<>>RAW< td td><id="rb"><MAXIMUM/td td td td<>>In-app viewfinder analysis with dynamic selection of output format.</td></tr></table><br>

<h5>Gleichzeitige Stream garantierte Konfigurationen</h5>

BACKWARD_COMPATIBLE Geräte, die gleichzeitig mit anderen Geräten streamen können, wie beschrieben, android.hardware.camera2.CameraManager#getConcurrentCameraIds verfügen über die folgenden garantierten Streams (beim gleichzeitigen Streaming mit anderen Geräten)

Hinweis: Die für diese gleichzeitigen Datenströme genannten Größen sind die maximalen Größen, die garantiert unterstützt werden. Größen kleiner als diese, die für StreamConfigurationMap#getOutputSizes ein bestimmtes Format abgerufen werden, werden ebenfalls unterstützt.

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th th><id="rb">Max size</th th>><Type</th><id="rb">Max size</th<>/tr tr<><>td>YUV</td td><id="rb">s1440p</td td><colspan="2" id="rb"><<></td><td>In-App-Video / Bildverarbeitung.</td></tr td<<>>>PRIV</td td><id="rb"<>s1440p/td td td><colspan="2" id="rb"></td td td>><In-app viewfinder analysis.</td></tr td<<>>><JPEG/td td><id="rb"><s1440p/td td><colspan="2" id="rb"></td td<>>No viewfinder still image capture.</td></tr><tdYUV / PRIV><<>/td td><id="rb"<s720p>/td td><<JPEG>/td td><id="rb"><s1440p/td td<>> Standard still imaging.</td></tr td<YUV / PRIV<>><>/td td><id="rb"<s720p>/td td td td<>YUV / PRIV></td td><id="rb"><s1440p/td td<>td>In-App Video/Verarbeitung mit Vorschau.</td></tr></table><br>

Geräte, die nicht abwärtskompatibel sind, unterstützen einen obligatorischen einzelnen SVGA-Datenstrom mit Bildformat DEPTH16 während des gleichzeitigen Vorgangs.

Für garantierte gleichzeitige Streamkonfigurationen:

sVGA bezieht sich auf die maximale Auflösung des Kamerageräts für dieses Format oder StreamConfigurationMap#getOutputSizes die VGA-Auflösung (640X480), je nachdem, welcher Wert niedriger ist.

s720p bezieht sich auf die maximale Auflösung des Kamerageräts für dieses Format von StreamConfigurationMap#getOutputSizes oder 720p(1280X720), je nachdem, welcher Wert niedriger ist.

s1440p bezieht sich auf die maximale Auflösung des Kamerageräts für dieses Format von StreamConfigurationMap#getOutputSizes oder 1440p(1920X1440), je nachdem, was niedriger ist.

MONOCHROME-Funktion (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES umfasst CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME MONOCHROME) Geräte, die Unterstützung unterstützen android.graphics.ImageFormat#Y8 Y8 , Datenströme zu substituieren YUV , mit Y8 allen garantierten Stream-Kombinationen für die Hardwareebene und -funktionen des Geräts.

Clients können über android.hardware.camera2.params.MandatoryStreamCombinationdie oben aufgeführten obligatorischen Datenstromkombinationstabellen zugreifen.

Geräte, die HEIC-Formate ausgeben können (StreamConfigurationMap#getOutputFormats enthält android.graphics.ImageFormat#HEIC) unterstützen das Substituieren JPEG von Datenströmen mit HEIC allen garantierten Datenstromkombinationen für die Hardwareebene und -funktionen des Geräts. Das Aufrufen von createCaptureSession mit JPEG- und HEIC-Ausgaben wird nicht unterstützt.

<h5>LEGACY-Level zusätzliche garantierte Kombinationen mit Multiauflösungsausgaben</h5>

Geräte, die eine multiauflösungsfähige Ausgabe für ein bestimmtes Format ( android.hardware.camera2.params.MultiResolutionStreamConfigurationMap#getOutputInfo gibt eine nicht leere Liste zurück) unterstützen, die MultiResolutionImageReader für maximal zulässige Datenströme dieses Formats für alle obligatorischen Datenstromkombinationen verwendet wird. Wenn z. B. ein LIMITED-Kameragerät Ausgabestreams für beide JPEG und PRIVATEzusätzlich zu den Streamkonfigurationen in der obigen Tabelle LIMITED und Legacy unterstützt das Kameragerät die folgenden garantierten Datenstromkombinationen (MULTI_RES in der Spalte "Maximale Größe" bezieht sich auf eine MultiResolutionImageReader erstellung basierend auf den unterstützten Variablen-Max-Auflösungen):

<table><tr><th colspan="2" id="rb">Target 1</th<>colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th<>zeilenpan="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><id="rb" >Max size</th></tr td>>><<<PRIV/td td><id="rb"MULTI_RES<>/td td><colspan="2" id="rb"></td><td colspan="2" id="rb"></td td td<>>Simple preview, GPU video processing, or no-preview video recording.</td></tr><><td><JPEG/td td><id="rb">MULTI_RES</td td><colspan="2" id="rb"></td td><colspan="2" id="rb"></td td<>>no-viewfinder still image capture.</td></tr>><<tdPRIV></td td><id="rb"PREVIEW></td td td<>td>><<JPEG td id="rb"><MULTI_RES/td td><colspan="2" id="rb"></td td<>td>Standard still imaging.</td></tr td<<<>PRIV>>/td td><id="rb"PREVIEW></td td td<>/td><YUV<> td id="rb">PREVIEW</td td td><td><<>JPEG id="rb"><MULTI_RES/td<>td td>Still capture plus in-app processing.</td></tr></table><br>

<h5>LIMITED-Level zusätzliche garantierte Konfigurationen mit Multiauflösungsausgaben</h5>

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr>><<th>Typ</th><id="rb">Max Size</th>><th Typ</th><id="rb">Max size</th th><>Typ</th><ID="Max size/th id="rb">Max size</th></tr>><<<tr><td>YUV</td><td id="rb"PREVIEW<>/td<>td/td td<>YUV td><id="rb">PREVIEW</td td<>td td><<>JPEG id="rb"MULTI_RES></td td><td>Two-input in-app processing with still capture.</td></tr></table><br> Die gleiche Logik gilt für andere Hardwareebenen und -funktionen.

<h5>Zusätzliche garantierte Kombinationen für ULTRA_HIGH_RESOLUTION Sensoren</h5>

Geräte mit der ULTRA_HIGH_RESOLUTION_SENSOR-Funktion verfügen über einige zusätzliche Garantien, die Clients nutzen können:

<table><tr><th colspan="3" id="rb">Target 1</th<>colspan="3" id="rb">Target 2</th th<>colspan="3" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr<>><th>Typ</th><id="rb"> SC Map</th><id="rb">Max size</th><th>Typ</th><id="rb"> SC Map</th><id="rb" id="rb" >Max. Größe</th><>Typ</th><id="rb"> SC Map</th><id="rb">Max size</th></tr tr>><<td<>YUV / JPEG / RAW/td><td td id="rb"><MAX_RES/td td><td id="rb"rb".>MAX< /td><td id="rb"<PRIV / YUV>/td td><id="rb"DEFAULT></td td td><id="rb"<>PREVIEW/td td><colspan="3" id="rb"></td td><>Ultra high res still image capture mit preview</td></tr><><td<>YUV / JPEG / RAW/td td><id="rb"MAX_RES<>/td td><id="rb"MAX></td><td td id="rb"><PRIV/td><td td id>PREVIEW<="rb"<DEFAULT>/><td id="rb">PRIV / YUV</td td><id="td td><id="rb"DEFAULT></td><td id="rb"RECORD<>/td td><>Ultra high res still capture with preview + app based RECORD size analysis</td></tr><><td<YUV / JPEG / RAW>/td td td><id="rb"><MAX_RES/td td><td id="rb">MAX</td td id="rb"/td><td id="rb"PRIV></td td><id="rb"DEFAULT<>/td td><id="rb"<>PREVIEW/td td><id="rb"JPEG / YUV / RAW<>/td><td id="rb"DEFAULT<>/td><td td id="rb">MAX</td td>><Ultra high res still image capture with preview + default sensor pixel mode analysis stream</td></tr></table><br>

Hier bezieht sich SC Map auf die StreamConfigurationMapZieldatenstromgrößen, aus der sie auswählen müssen. DEFAULT bezieht sich auf den Standardmäßigen Sensorpixelmodus StreamConfigurationMap und MAX_RES bezieht sich auf die maximale Auflösung StreamConfigurationMap. Für MAX_RES Datenströme MAX bezieht sich in der Max size Spalte auf die maximale Größe von StreamConfigurationMap#getOutputSizes und StreamConfigurationMap#getHighResolutionOutputSizes. Hinweis: Die gleiche Aufnahmeanforderung darf keine Ziele von StreamConfigurationMaps kombinieren, die verschiedenen Sensorpixelmodi entsprechen.

<h5>10-Bit-Ausgabe zusätzliche garantierte Konfigurationen</h5>

10-Bit-Ausgabefähige CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT Geräte unterstützen mindestens die folgenden Streamkombinationen:

<table>tr th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th th><colspan="2" id="rb">Target 3</th><rowspan="th rowspan="12">Beispielanwendungsfall(n)</th></tr tr>><<th>Typ</th><id="rb">Max Size</th>><th Typ</th><id="rb">Max size</th th><>Typ</th><ID="Max size/th id="rb">Max size</th></tr>><<<tr><td><PRIV/td><td id="rb"<>MAXIMUM/td/td<> td><td colspan="4" id="rb"></td td<>>Simple preview, GPU video processing, or no-preview video recording.</td></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>><<tdPRIV></td td><id="rb"PREVIEW></td td td<>td>><<JPEG td id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td td<>td>Standard still imaging.</td></tr td><<>>PRIV</td><td id="rb"><PREVIEW/td td td>>YUV<</td td><id="rb"><MAXIMUM/td td><colspan="2" id="rb"></td<>td>maximum-resolution in-app processing with preview.</td></tr><><td><YUV/td td><id="rb"PREVIEW></td td td<>td tdYUV<><> 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><id="rb"PREVIEW></td td td<>/td td><>PRIV< id="rb"><RECORD/td td><colspan="2" id="rb"></td td<>td>High-resolution video recording with preview.</td></tr><td<PRIV<>>/td td><id="rb"PREVIEW></td td td></td><td<PRIV> id="rb"<RECORD>/td td tdYUV><<>/td><td id="rb"><RECORD/td td<>td>High-resolution recording with in-app snapshot.</td></tr td<>>PRIV<></td td><id="rb"PREVIEW></td td td></td><tdPRIV<> id="rb">RECORD</td td><td td><<>JPEG id="rb"><RECORD/td td<>td>High-resolution recording with video snapshot.</td></tr></table><br>

Hier kann PRIV entweder 8- oder 10-Bit-Pixelformat android.graphics.ImageFormat#PRIVATE sein. YUV kann entweder android.graphics.ImageFormat#YUV_420_888 oder android.graphics.ImageFormat#YCBCR_P010. Für die maximale Größe bezieht sich PREVIEW auf die beste Größe, die mit der Bildschirmauflösung des Geräts übereinstimmt, oder auf 1080p (1920x1080), je nachdem, was kleiner ist. RECORD bezieht sich auf die maximal unterstützte Aufnahmeauflösung des Kamerageräts, wie durch android.media.CamcorderProfile. MAXIMUM bezieht sich auf die maximale Ausgabeauflösung des Kamerageräts für dieses Format oder Ziel.StreamConfigurationMap#getOutputSizes(int) Beachten Sie, dass ungültige Kombinationen, z. B. eine Kameraoberfläche, die für die Verwendung des Pixelformats android.graphics.ImageFormat#YUV_420_888 mit einem 10-Bit-Profil konfiguriert ist, zu einem Fehler bei der Initialisierung der Aufnahmesitzung führen.

android.graphics.ImageFormat#JPEG_R kann auch unterstützt werden, wenn angekündigt von android.hardware.camera2.params.StreamConfigurationMap. Bei der Initialisierung einer Aufnahmesitzung, die eine JPEG/R-Kameraausgabe enthält, müssen die folgenden Elemente berücksichtigt werden, w.r.t. die 10-Bit-Obligatorische Datenstromkombinationstabelle:

<ul><li>Um das komprimierte Jpeg/R-Bild zu generieren, wird eine einzelne android.graphics.ImageFormat#YCBCR_P010 Ausgabe intern vom Kameragerät verwendet.</li li><>Auf Kamerageräten, die gleichzeitige 10- und 8-Bit-Aufnahmeanforderungen unterstützen können, android.hardware.camera2.params.DynamicRangeProfiles#getProfileCaptureRequestConstraints sehen auch eine zusätzliche android.graphics.ImageFormat#JPEG Konfiguration intern, um den Codierungsprozess zu beschleunigen.</li></ul>

Jpeg/R-Kameraausgaben können in der Regel die MAXIMALE Geräteauflösung unterstützen. Clients können auch StreamConfigurationMap#getOutputSizes(int) eine vollständige Liste aufrufen, die unterstützt wird. Kameraclients, die eine JPEG/R-Ausgabe in einer Datenstromkombination registrieren, die nicht in die oben aufgeführte obligatorische Datenstromtabelle passt, können aufrufen #isSessionConfigurationSupported , um sicherzustellen, dass diese bestimmte Konfiguration unterstützt wird.

<h5>STREAM_USE_CASE zusätzliche garantierte Konfigurationen</h5>

Geräte mit der STREAM_USE_CASE-Funktion (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES umfasst CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE) Unterstützung unter zusätzlichen Datenstromkombinationen:

<table>tr th colspan="3" id="rb">Target 1</th><colspan="3" id="rb">Target 2</th th><colspan="3" id="rb">Target 3</th><rowspan=" "2">Beispielanwendungsfall(n)</th<>/tr tr>><<th>Typ</th><id="rb">Max Größe</th>><th Usecase</th><th>Typ</th><id="rb">Max size</th>><Usecase</th th Type>><><<</th th><id="rb">Max size</th th>><Usecase</th></tr td<><>/td><YUV / PRIV td><id="rb">PREVIEW</td><td id="rb"<>PREVIEW/td td><colspan="n id="rb"></td td><colspan="3" id="rb"></td td<>>Simple preview or in-app image processing</td></tr><><td<>YUV / PRIV/td td><id="rb">RECORD</td><td id="rb"VIDEO_RECORD<>/td td<>td colspan="3" id="rb"></td td><colspan="3" id="rb"></td<>td td>Simple video recording or in-app video processing</td></tr><tr<>tdYUV / JPEG></td><td id="rb"><MAXIMUM/td td td><id="rb"><STILL_CAPTURE/td td td><colspan="3" id="rb"></td td<>td colspan="3" id="rb"></td><td>Simple JPEG oder YUV still image capture</td></tr>><<td>YUV / PRIV</td td><td id="rb"><s1440p/td td td><id="rb">PREVIEW_VIDEO_STILL</td<>td colspan="3" id="rb"></td td<>td colspan="3" id="rb"></td td td<>>Multi-purpose stream for preview, video and still image capture</td<>/tr><<>td/td>YUV / PRIV<><td id="rb">s1440p</td><td id="rb"VIDEO_CALL<>/td td><colspan="3" id="rb"></td td><colspan="3" id="rb"></td td<>>Simple video call</td></tr<>><td<PRIV>/td td><id="rb"PREVIEW></td td td><id="rb"PREVIEW></td td<>td><<>YUV / JPEG td id="rb">MAXIMUM</td td><id="rb"/>STILL_CAPTURE< td td colspan="3" id="rb"></td td td><>Preview with JPEG or YUV still image capture</td></tr>><<td<>PRIV/td><td id="rb"<PREVIEW>/td td><td id ="rb"><PREVIEW/td<>td>YUV / PRIV< td td><id="rb"RECORD<>/td td td><id="rb"><VIDEO_RECORD/td td><colspan="3" id="rb"></td td td>><><Vorschau mit Videoaufzeichnung oder In-App-Videoverarbeitung</td<>/tr><<>td>PRIV</td td td><id="rb">PREVIEW</td td td><id="rb"<PREVIEW>/td>YUV< td<>><td id="rb"><PREVIEW/td td><td id="rb"><PREVIEW/td><td colspan="3" id="rb"></td td td<>>Preview mit in-application image processing</td></tr><td<>><PRIV/td><td id="rb"<>PREVIEW/td td td><id="rb"PREVIEW<>/td><td<YUV / PRIV>>< id="rb">s1440p</td><td td id="rb"VIDEO_CALL<>/td><td td colspan="3" id="rb"></td td td>><Preview with video call</td<>/tr<<>>tdYUV / PRIV></td><td id="rb"><s1440p/td td><id="rb"PREVIEW_VIDEO_STILL></td td td><tdYUV / JPEG<><> id="rb"<>MAXIMUM/td td td><id="rb"STILL_CAPTURE<>/td td><colspan="en id="rb"></td td>><MultI-purpose stream with JPEG or YUV still capture</td/tr<>td><YUV<>></td><td td id="rb"PREVIEW<>/td td><td id="rb">STILL_CAPTURE</td><td><JPEG>< td td id="rb"><MAXIMUM/td td td><id="rb"<>STILL_CAPTURE/td td<>colspan="3" id="rb"></td td td<>>YUV und JPEG gleichzeitige Bildaufnahme (zum Testen)</td<>/tr><tr<>td><PRIV/td td><id="rb"PREVIEW<>/td><td td id="rb"><PREVIEW/td td<>td>YUV / PRIV</td><td id="rb">RECORD</td td><id="rb"VIDEO_RECORD<>/td td><><><JPEG id="rb"<>RECORD/td><td id="rb"STILL_CAPTURE<>/td<>td>Preview, video record and JPEG video snapshot</td></tr><tr<>tdPRIV></td td><id="rb">PREVIEW</td td><td id="rb"/td td id="rb"/td td id="rb"PREVIEW<>/td><td>YUV</><td><td id="rb"PREVIEW></td td><td id="rb">PREVIEW</td td<>td td<>JPEG id="rb"<MAXIMUM>/td><td id="rb"><STILL_CAPTURE/td><td td>Preview, in-application image processing, and JPEG still image capture</td<>/tr/table br><><>

<h5>STREAM_USE_CASE_CROPPED_RAW zusätzliche garantierte Konfigurationen</h5>

Geräte, die CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASESden CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW Stream-Anwendungsfall enthalten, unterstützen die folgenden zusätzlichen Datenstromkombinationen:

<table>tr th colspan="3" id="rb">Target 1</th><colspan="3" id="rb">Target 2</th th><colspan="3" id="rb">Target 3</th><rowspan=" "2">Beispielanwendungsfall(n)</th<>/tr tr>><<th>Typ</th><id="rb">Max Größe</th>><th Usecase</th><th>Typ</th><id="rb">Max size</th>><Usecase</th th Type>><><<</th th><id="rb">Max size</th th>><Usecase</th></tr td<><>/td><RAW td><id="rb"><MAXIMUM/td><td id="rb"><CROPPED_RAW/td td<>colspan="3" id="rb"></td td<>colspan="3" id="rb"></td td<>>Cropped RAW still capture without preview</td<>/tr><td<<PRIV / YUV>>/td td><id="rb">PREVIEW</td><td id="rb"PREVIEW<>/td<>td td>RAW< td><id="rb">MAXIMUM</td td><id="rb"CROPPED_RAW<>/td<>td colspan="3" id="rb"></td td><td>Preview with cropped RAW still capture</td<>/tr<>><td/td><PRIV / YUV td><id="rb">PREVIEW</td><td id="rb"<>PREVIEW/td td td><>YUV / JPEG</td><td id="rb">MAXIMUM</td td><id="rb"STILL_CAPTURE<>/td td><<RAW>>< id="rb"><MAXIMUM/td td><id="rb"CROPPED_RAW></td><td>Preview with YUV / JPEG and cropped RAW still capture</td/td></tr<<>PRIV / YUV>>< td/td><td id="rb">PREVIEW</td td><id="rb"/td"PREVIEW></td><td>PRIV / YUV</td td><id="rb"PREVIEW<>/td td><id="rb"><VIDEO_RECORD / PREVIEW/td td td>><RAW><< id="rb"MAXIMUM></td><td id="rb"><CROPPED_RAW/td td<>td>Video recording with preview and cropped RAW still capture</td<>/tr></table><br br>

<h5>Vorschau-Stabilisierung garantierte Streamkonfigurationen</h5>

Für Geräte, bei denen CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES die CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATIONfolgenden Datenstromkombinationen enthalten sind, wird sichergestellt, for CaptureRequests where CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE is set to<CameraMetadata#CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION table><tr><th colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><rowspan ="2">Beispielanwendungsfall(n)</th<>/tr tr><<>th>Typ</th><id="rb">Max Size</th>><th Typ</th><id="rb">Max size</th></tr/tr><tr><td><PRIV / YUV/td><td id="rb">s1440p</td td><td colspan="2" id="rb"></td td<>Stabilized>preview, GPU video processing, or no-preview stabilisierte Videoaufzeichnung.</td></tr td>>><<<PRIV / YUV/td td><id="rb"><s1440p/td td>JPEG / YUV><</td td><id="rb"<>MAXIMUM/td td><>Standard wird weiterhin mit stabilisierter Vorschau Bildverarbeitung ausgeführt.</td></tr td><PRIV / YUV<<>>/td td><id="rb"<>PREVIEW/td td td<>/td><PRIV / YUV>< td id="rb"<>s1440p/td td><>high-resolution recording with stabilized preview and recording stream.</td></tr></table><br>

Für die maximale Größe bezieht sich PREVIEW auf die beste Größe, die mit der Bildschirmauflösung des Geräts übereinstimmt, oder auf 1080p (1920x1080), je nachdem, was kleiner ist. RECORD bezieht sich auf die maximal unterstützte Aufnahmeauflösung des Kamerageräts, wie durch android.media.CamcorderProfile. MAXIMUM bezieht sich auf die maximale Ausgabeauflösung des Kamerageräts für dieses Format oder Ziel.StreamConfigurationMap#getOutputSizes(int)

Da die Funktionen von Kamerageräten stark variieren, kann ein bestimmtes Kameragerät Zielkombinationen mit Größen außerhalb dieser Garantien unterstützen, dies kann jedoch nur getestet werden, indem sie anrufen #isSessionConfigurationSupported oder versuchen, eine Sitzung mit solchen Zielen zu erstellen.

Ausnahme bei der Auflösung von 176x144 (QCIF): Kamerageräte verfügen in der Regel über eine feste Funktion zum Herabskalieren von größerer Auflösung auf kleinere Auflösungen, und die QCIF-Auflösung wird manchmal aufgrund dieser Einschränkung für Geräte mit hochauflösenden Bildsensoren nicht vollständig unterstützt. Daher wird beim Versuch, einen QCIF-Auflösungsstream zusammen mit einem anderen Datenstrom zu konfigurieren, der größer als 1920x1080-Auflösung (entweder Breite oder Höhe) ist, möglicherweise nicht unterstützt, und die Sitzungserstellung wird fehlschlagen, wenn dies nicht der Fall ist.

<h3>Reprocessing</h3>

Wenn ein Kameragerät yuv reprocessing (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING) oder PRIVATE Reprocessing (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING) unterstützt, kann die Anwendung auch eine neuverarbeitbare Aufnahmesitzung erstellen, um Aufzeichnungsanforderungen zusätzlich zu regulären Aufnahmeanforderungen zu übermitteln, indem eine android.hardware.camera2.params.SessionConfiguration#setInputConfiguration input configuration für die Sitzung festgelegt wird. Eine Neuverarbeitungsaufnahmeanforderung übernimmt den nächsten verfügbaren Puffer aus der Eingabe Surface der Sitzung und sendet sie erneut über die Verarbeitungspipeline des Kamerageräts, um Puffer für die Zielausgabe von Surfaces der Anforderung zu erzeugen. Für eine Neuverarbeitungsanforderung werden keine neuen Bilddaten erfasst. Der von der Anwendung bereitgestellte Eingabepuffer muss jedoch zuvor von demselben Kameragerät in derselben Sitzung direkt erfasst werden (z. B. für Zero-Shutter-Lag Anwendungsfall) oder indirekt (z. B. Kombinieren mehrerer Ausgabebilder).

Die aktive wiederverarbeitbare Aufnahmesitzung bestimmt eine Eingabe Surface und den Satz potenzieller Ausgabeoberflächen für die Kamerageräte für jede Aufnahmeanforderung. Die Anwendung kann zum #createCaptureRequest createCaptureRequest Erstellen regulärer Aufnahmeanforderungen zum Erfassen neuer Bilder vom Kameragerät und zum Erstellen von Erneutverarbeitungsanforderungen zum Verarbeiten von Puffern aus der Eingabe Surfaceverwendet #createReprocessCaptureRequest createReprocessCaptureRequest werden. Einige Kombinationen von Ausgabeoberflächen in einer Sitzung werden möglicherweise nicht gleichzeitig in einer Anforderung verwendet. Die garantierten Kombinationen von Ausgabeoberflächen, die in einer Anforderung gleichzeitig verwendet werden können, sind in den Tabellen unter #createCaptureSession createCaptureSessionaufgeführt. Alle Ausgabeoberflächen in einer Aufnahmeanforderung stammen aus derselben Quelle, entweder von einer neuen Aufnahme durch das Kameragerät oder von der Eingabe Surface abhängig davon, ob es sich bei der Anforderung um eine Anforderung für die Neuverarbeitung handelt.

Eingabeformate und -größen, die vom Kameragerät unterstützt werden, können über StreamConfigurationMap#getInputFormats und StreamConfigurationMap#getInputSizesabgefragt werden. Für jedes unterstützte Eingabeformat unterstützt das Kameragerät eine Reihe von Ausgabeformaten und -größen für die Verarbeitung, die über StreamConfigurationMap#getValidOutputFormatsForInput und StreamConfigurationMap#getOutputSizesabgefragt werden können. Während die Ausgabe von Surfaces mit Formaten, die keine gültigen Ausgabeziele für die Eingabekonfiguration sind, Teil einer Sitzung sein kann, können sie nicht als Ziele für eine Neuverarbeitungsanforderung verwendet werden.

Da die Anwendung nicht direkt auf Bilder zugreifen android.graphics.ImageFormat#PRIVATE kann, wird eine Ausgabe Surface, die mit android.graphics.ImageFormat#PRIVATEandroid.media.ImageReader#newInstance dem Format erstellt wurde, als für die Verarbeitung von Eingaben verwendet werden sollen, betrachtet und daher muss die android.media.ImageReader Größe mit einer der unterstützten Eingabegrößen für android.graphics.ImageFormat#PRIVATE das Format übereinstimmen. Andernfalls schlägt das Erstellen einer erneut verarbeiteten Erfassungssitzung fehl.

Ab API-Ebene 30 löscht das Erneute Erstellen einer neu verarbeiteten Erfassungssitzung alle in die Warteschlange eingereihten, aber noch nicht verarbeiteten Puffer aus der Eingabeoberfläche.

Die Konfigurationen in den nachstehenden Tabellen sind für die Erstellung einer wiederverarbeitbaren Aufnahmesitzung garantiert, wenn das Kameragerät YUV-Reprocessing oder PRIVATE Reprocessing unterstützt. Nicht alle Ausgabeziele, die zum Erstellen einer neu verarbeiteten Sitzung verwendet werden, können jedoch gleichzeitig CaptureRequest verwendet werden. Für Geräte, die nur ein Ausgabeziel in einer Verarbeitung CaptureRequestunterstützen, führt das Übermitteln einer Verarbeitung CaptureRequest mit mehreren Ausgabezielen zu einem CaptureFailure. Für Geräte, die mehrere Ausgabeziele in einer Neuverarbeitung CaptureRequestunterstützen, werden die garantierten Ausgabeziele, die gleichzeitig in die CaptureRequest Tabellen #createCaptureSession createCaptureSessionaufgenommen werden können, aufgelistet. Beispielsweise kann eine Anwendung mit einem GERÄT mit VOLLSTÄNDIGer Funktion (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULLFULL-Capability, FULL-Capability, ), das PRIVATE Reprocessing unterstützt, eine reprocessable Capture-Sitzung mit 1 Eingaben (, MAXIMUM)PRIV und 3 Ausgaben, (, MAXIMUM), (PRIVPRIV, PREVIEW) und (YUV, MAXIMUM) erstellen. Es ist jedoch nicht garantiert, dass eine Anwendung basierend auf der unter #createCaptureSession createCaptureSessionaufgeführten Tabelle eine reguläre Erfassung oder Neuverarbeitung mit (PRIV, MAXIMUM) und (YUV, MAXIMUM) Ausgaben senden kann. Verwenden Sie mit anderen Worten die folgenden Tabellen, um die garantierten Datenstromkonfigurationen zum Erstellen einer neuverarbeitbaren Erfassungssitzung zu bestimmen, und verwenden Sie die Tabellen unter #createCaptureSession createCaptureSession , um die garantierten Ausgabeziele zu bestimmen, die in einer regulären oder erneuten Verarbeitung CaptureRequest gleichzeitig übermittelt werden können.

Die Erneute Verarbeitung mit 10-Bit-Ausgabezielen auf 10-Bit-fähigen CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT Geräten wird nicht unterstützt. Wenn Sie versuchen, eine wiederverwendbare Aufnahmesitzung mit einer oder mehreren Ausgabekonfigurationen zu initialisieren, die für die Verwendung eines 10-Bit-Dynamischen Bereichsprofils festgelegt sindOutputConfiguration#setDynamicRangeProfile, wird das Auslösen ausgelöstIllegalArgumentException.android.hardware.camera2.params.DynamicRangeProfiles

<formatiert> #rb { rahmen-rechts-breite: dick; }</style>

Geräte auf BESCHRÄNKTer Ebene (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED) unterstützen mindestens die folgenden Streamkombinationen zum Erstellen einer neuverarbeitbaren Aufnahmesitzung zusätzlich zu den zuvor aufgeführten Datenstromkombinationen für reguläre Erfassungen für CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED Geräte:

<table><tr><th colspan="11">LIMITED-level additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV Die Eingabe wird nur gewährleistet, wenn die YUV-Neuverarbeitung unterstützt wird)</th></tr 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 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr 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 th Type</th><id="rb"Max size</th th>><Type</th><id="rb">>Max size</th></tr<>td>>PRIV/YUV<</td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"MAXIMUM<>/td td><<>JPEG>< id="rb"MAXIMUM></td td><td td><>< td id="rb"></td<>td td/td><>< id="rb"></td td td<>>No-viewfinder still image reprocessing.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td><>Same as input</td td td><id="rb"><MAXIMUM/td td<>td><<>PRIV id="rb"<>PREVIEW/td><td td><><JPEG id="rb"><MAXIMUM/td td></td>< td><id="rb"></td><td td>ZSL(Zero-Shutter-Lag) wird weiterhin Bildverarbeitung ausgeführt.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td><>Same as input</td td td><id="rb"><MAXIMUM/td td<>td><<>YUV id="rb"<>PREVIEW/td><td td><><JPEG id="rb"><MAXIMUM/td td></td>< td><id="rb"></td><td td>ZSL- und In-App-Verarbeitungsbildverarbeitung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><YUV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<JPEG><> id="rb">MAXIMUM</td><td>ZSL-In-App-Verarbeitung mit weiterhiner Erfassung.</td></tr></table><br>

Geräte auf vollständiger Ebene (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL) unterstützen mindestens die folgenden Datenstromkombinationen zum Erstellen einer wiederverarbeitbaren Aufnahmesitzung zusätzlich zu geräten:CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED

<table><tr><th colspan="11">FULL-level additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV Die Eingabe wird nur gewährleistet, wenn die YUV-Neuverarbeitung unterstützt wird)</th></tr 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 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th<>/tr tr><><th>Type</th><id="rb">Max size</th th Type/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><>id="rb"Max> size</th></tr><><td<>YUV/td td><id="rb"<>MAXIMUM/td td<>td<><>YUV id="rb"><MAXIMUM/td td td<><PRIV>/td>><PREVIEW<<> td 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 td><td><td<>YUV id="rb">MAXIMUM</td td td<>td<YUV>/td><td id="rb"<PREVIEW>/td>><< td td><id="rb"></><><td><td td id="rb"></td><td>Maximum-resolution multi-frame image fusion In-App-Verarbeitung mit zwei Eingaben.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td><>Same as input</td td td><id="rb"><MAXIMUM/td td<>td><<>PRIV id="rb"<>PREVIEW/td><td td><><YUV id="rb"><RECORD/td td></td>< td><id="rb"></td><td td>Hochauflösende ZSL-In-App-Videoverarbeitung mit normaler Vorschau.</td></tr>><<tdPRIV<>/td td><id="rb"<>MAXIMUM/td td td>>PRIV<</td><td id="rb">MAXIMUM</td td td><td><PRIV>< td id="rb"<>PREVIEW/tdYUV><>< td td><id="rb"><MAXIMUM/td><td td<>td>< id="rb"></td><td td>maximum-resolution ZSL-In-App-Verarbeitung mit normaler Vorschau.</td></tr>><<tdPRIV<>/td td><id="rb"<>MAXIMUM/td td td>>PRIV<</td><td id="rb">MAXIMUM</td td td><td><YUV>< td id="rb"<>PREVIEW/tdYUV><>< td td><id="rb"><MAXIMUM/td><td td<>td>< id="rb"></td><td td>maximum-resolution Zwei-Eingabe-ZSL-In-App-Verarbeitung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><PRIV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<JPEG><> id="rb">MAXIMUM</td><td>ZSL erfasst und in der App-Verarbeitung.</td></tr></table><br>

RAW-Funktion (CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES umfasst CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW RAW) Geräte unterstützen zusätzlich mindestens die folgenden Datenstromkombinationen zum Erstellen einer wiederverarbeitbaren Aufnahmesitzung auf beiden und CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITEDCameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL Geräten

<table><tr><th colspan="11">RAW-capability additional guaranteed configurations for creating a reprocessable capture session<br>(PRIV input is guaranteed only if PRIVATE reprocessing is supported. YUV Die Eingabe wird nur gewährleistet, wenn die YUV-Neuverarbeitung unterstützt wird)</th></tr 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 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th<>/tr<><>tr th>Type</th><id="rb">Max size/th 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><>th id="rb">Max size</th></tr><td></>YUVPRIV</td td><id="rb">MAXIMUM</td td td>><Same as input</td><td id="rb">MAXIMUM</td td>><YUV< td td><id="rb"PREVIEW></td tdRAW>><><< td td id="rb"><MAXIMUM/td td>><</td><td id="rb"></td><td td>sich gegenseitig ausschließend ZSL In-App-Verarbeitung und DNG-Erfassung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><PRIV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<RAW><> id="rb">MAXIMUM</td><td>Sich gegenseitig ausschließende ZSL-In-App-Verarbeitung und Vorschau mit DNG-Erfassung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><YUV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<RAW><> id="rb">MAXIMUM</td><td>Sich gegenseitig ausschließende ZSL-Zwei-Eingabe-In-App-Verarbeitung und DNG-Erfassung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><PRIV> id="rb"PREVIEW<>/td><td td td<><>JPEG id="rb"><MAXIMUM/td><td<RAW><> id="rb">MAXIMUM</td><td>Sich gegenseitig ausschließende ZSL-Aufzeichnungen und Vorschau mit DNG-Erfassung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><YUV> id="rb"PREVIEW<>/td><td td td<><>JPEG id="rb"><MAXIMUM/td><td<RAW><> id="rb">MAXIMUM</td><td>Sich gegenseitig ausschließende ZSL-In-App-Verarbeitung mit weiterhin erfasster und DNG-Erfassung.</td></tr></table><br>

LEVEL-3 (CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL==CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL_3) Geräte unterstützen mindestens die folgenden Datenstromkombinationen zum Erstellen einer wiederverarbeitbaren Aufnahmesitzung zusätzlich zu geräten.CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL Beachten Sie, dass während die zweite Konfiguration gleichzeitig die Konfiguration MAXIMUMYUV und JPEG Ausgabe ermöglicht, diese Konfiguration nicht für reguläre Aufnahmesitzungen aufgeführt ist und daher keine gleichzeitige Ausgabe an beide Ziele zulässig ist.

<Table><tr><th colspan="13">LEVEL-3 zusätzliche garantierte Konfigurationen zum Erstellen einer reprocessable Capture Session<br>(PRIV Eingabe wird nur garantiert, wenn PRIVATE Reprocessing unterstützt wird. YUVEingaben sind immer gewährleistet.</th></tr tr>><<th colspan="2" id="rb">Input</th><colspan="2" id="rb">Target 1</th th><colspan="2" id="rb">Target 2</th><colspan="2" id="rb">Target 3< /th><colspan="2" id="rb">Target 4</th><colspan="2" id="rb">Target 5</th><rowspan="2">Sample use case(s)</th></tr tr><><th>Type</th><id="rb">Max size/th 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 th><th id="rb">Max size</th>><Type</th><id="rb">Max size</th></tr<>td><<YUV>/td td><td id="rb"<MAXIMUM>/td td<>tdYUV></td><td id="rb" >MAXIMUM</td><td td>PRIV<>< td id="rb"<PREVIEW>/td td><td>PRIV</td><td id="rb"><640x480/td<>td tdRAW<> td><td id="rb"<>MAXIMUM/td<>td td><>< id="rb"></td td<>td>In-app viewfinder analysis with ZSL and RAW.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MAXIMUM>/td td td>><Same as input</td td><id="rb"><MAXIMUM/td td<>td<><PRIV> id="rb"PREVIEW<>/td><td td td<><>PRIV id="rb"><640x480/td><td<RAW><> id="rb">MAXIMUM</td><td><JPEG/td td><id="rb"MAXIMUM></td td td><>In-app viewfinder analysis with ZSL, RAW, and JPEG reprocessing output.</td></tr></table><br>

Wenn ein Kameragerät die Multiauflösungseingabe YUV und die Multiauflösungsausgabe YUV unterstützt oder die Multiauflösungseingabe PRIVATE und die Multiauflösungsausgabe PRIVATE unterstützt, werden die zusätzlichen obligatorischen Datenstromkombinationen für LIMITED und FULL-Geräte unten aufgeführt (MULTI_RES in der Spalte "Max size" bezieht sich auf eine MultiResolutionImageReader für die Ausgabe und eine Multiauflösung InputConfiguration für die Eingabe): <Tabelle><tr><th colspan="11">Zusätzliche garantierte Konfigurationen auf begrenzter Ebene zum Erstellen einer reprocessablen Aufnahmesitzung mit multiauflösungsfähigen Eingaben und Multiauflösungsausgaben br( Eingabe wird nur garantiert, wenn PRIVATE Reprocessing unterstützt wird. YUV Die Eingabe wird nur gewährleistet, wenn die YUV-Neuverarbeitung unterstützt wird)</th></tr tr>><<th colspan="2" id="rb">Input</th><colspan="2" id="rb">Target 1</th><colspan="2" id="rb">Target 2</th><PRIV><th colspan="2" id="rb"Target 3/th><colspan="2" id="rb">Target 4</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>><Type</th th><id="rb">Max size</th th><>Type</th id="rb"Max size/th><id="rb">Max size</th><>Type/<<> th><id="rb">Max size</th></tr<>tr<>td/PRIV<YUV>/td td td><id="rb"MULTI_RES></td td td><>Same as input</td><td id="rb">MULTI_RES</td td td td><><JPEG /td><td id="rb">MULTI_RES</td><td td td>< td><id="rb"></td td><><<> td id="rb"></td><td>no-viewfinder still image Neuverarbeitung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MULTI_RES>/td td td><>Same as input</td td td><id="rb"><MULTI_RES/td td<>td><<>PRIV id="rb"<>PREVIEW/td><td td><><JPEG id="rb"><MULTI_RES/td td></td>< td><id="rb"></td><td td>ZSL(Zero-Shutter-Lag) wird weiterhin Bildverarbeitung ausgeführt.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MULTI_RES>/td td td><>Same as input</td td td><id="rb"><MULTI_RES/td td<>td><<>YUV id="rb"<>PREVIEW/td><td td><><JPEG id="rb"><MULTI_RES/td td></td>< td><id="rb"></td><td td>ZSL- und In-App-Verarbeitungsbildverarbeitung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MULTI_RES>/td td td>><Same as input</td td><id="rb"><MULTI_RES/td td<>td<><YUV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<JPEG><> id="rb">MULTI_RES</td><td>ZSL-In-App-Verarbeitung mit weiterhiner Erfassung.</td></tr/table br><table>><><<tr<> th colspan="11">FULL-level zusätzliche garantierte Konfigurationen für die Erstellung einer rearbeitbaren Aufnahmesitzung mit Multiauflösungseingabe und Multiauflösungsausgabe<br>(PRIV Eingabe wird nur garantiert, wenn PRIVATE Reprocessing unterstützt wird. YUV Eingabe wird nur garantiert, wenn YUV-Reprocessing unterstützt wird)</th></tr 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"rb">Target 3</th><colspan="2" id="rb">Target 4</th><rowspan="2">Sample use case(s)</th></tr tr<>><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 Type</th>><th><id="rb">Max size</th>><Type</th th><id="rb">Max size</th></tr><td>><<PRIV/td td><id="rb"><MULTI_RES/td td<><>PRIV/td td id="rb"<>MULTI_RES/td><><>PRIV><< td td id=<>"rb"><PREVIEW/td<>td>YUV< td td><id="rb"><MULTI_RES/td td td<>/td><td>< id="rb"></td td><>Maximum-resolution ZSL in-app processing with regular preview.</td></tr>><<tdPRIV<>/td td><id="rb"<>MULTI_RES/td td td>>PRIV<</td><td id="rb">MULTI_RES</td td td><td><YUV>< td id="rb"<>PREVIEW/tdYUV><>< td td><id="rb"><MULTI_RES/td><td td<>td>< id="rb"></td><td td>maximum-resolution Zwei-Eingabe-ZSL-In-App-Verarbeitung.</td></tr>><<td</>PRIVYUV/td td><id="rb"<MULTI_RES>/td td td>><Same as input</td td><id="rb"><MULTI_RES/td td<>td<><PRIV> id="rb"PREVIEW<>/td><td td td<><>YUV id="rb"><PREVIEW/td><td<JPEG><> id="rb">MULTI_RES</td><td>ZSL erfasst und in der App-Verarbeitung.</td></tr></table><br>

Geräte mit der ULTRA_HIGH_RESOLUTION_SENSOR-Funktion verfügen über einige zusätzliche Garantien, die Clients nutzen können:

<Table><tr><th colspan="13">Zusätzliche garantierte Kombinationen für ULTRA_HIGH_RESOLUTION Sensoren (YUV / PRIV Eingaben sind nur garantiert, wenn YUV / PRIVATE Reprocessing unterstützt werden)</th></tr tr><><th colspan="3" id="rb">Input</th<>Colspan="3" id="rb">Target 1</th<>colspan="3" id="rb">Target 2</th><colspan="3" id="rb">Target 3</th><rowspan="2">Beispielanwendungsfall(n)</th></tr tr><><th>Typ</th><ID="rb"> SC Map</th><id="rb">Max size</th th>><Typ</th><id="rb"> SC Map</th><id="th id="". rb">Max size</th<>>Type</th th><id="rb"> SC Map</th th><id="rb">Max size</th th>><Type</th><th id="rb"> SC Map</th><id="rb" id="rb" >Max size</th></tr<>td>><RAW</td td><id="rb"<MAX_RES>/td td td><id="rb"><MAX/td><td<>RAW>< id="rb"MAX_RES<>/td td><id="rb"/td td id="rb">MAX</t td><id="rb"<PRIV / YUV>/td td><id="rb"DEFAULT></td td td><id="rb"<>PREVIEW/td td><colspan="3" id="rb"></td td><td>RAW remosaic reprocessing with separate preview</td></tr><td>RAW><</td><td id="rb"<>MAX_RES/td td td><id="rb"><MAX/td td><td>RAW< td id="rb"<>MAX_RES/td><td id="rb"<>MAX/td td><td id="rb">PRIV / YUV</td td><id="rb"<DEFAULT>/td td><id="rb"PREVIEW></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 mit separater Vorschau</td></tr<>><td<YUV / PRIV>/td td><id="rb"<MAX_RES>/td td><id="rb">MAX</td<>td td><<>YUV / PRIV td 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 td id="rb"<>MAX_RES/td><td td id="rb"<>MAX/td td><> ultra high res priv / YUV -> YUV / JPEG reprocessing with separate preview</td<>/tr<>/table br>>< Keine zusätzlichen obligatorischen Datenstromkombinationen für RAW-Funktion und LEVEL-3-Hardwareebene. </p>

<h3>Eingeschränkte Hochgeschwindigkeitsaufzeichnung</h3>

Die Anwendung kann eine android.hardware.camera2.params.SessionConfiguration#SESSION_REGULAR normal capture session für die Erfassung mit hoher Geschwindigkeit verwenden, wenn die gewünschten FPS-Bereiche mit hoher Geschwindigkeit angekündigt CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGESwerden, in diesem Fall gelten alle API-Semantik, die normalen Aufnahmesitzungen zugeordnet sind.

Eine android.hardware.camera2.params.SessionConfiguration#SESSION_HIGH_SPEED high-speed capture session kann für die Videoaufzeichnung mit hoher Geschwindigkeit (>=120fps) verwendet werden, wenn das Kameragerät hochgeschwindigkeits-Videofunktionen unterstützt (d. h. CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES enthält CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO). Eine eingeschränkte Hochgeschwindigkeitserfassungssitzung hat im Vergleich zu einer normalen Aufnahmesitzung besondere Einschränkungen:

<Ul>

<li>Zusätzlich zu den oben angegebenen Ausgabeziel-Surface Anforderungen für reguläre Erfassungen unterstützt eine High-Speed-Aufnahmesitzung nur bis zu 2 Ausgabeoberflächen, obwohl die Anwendung möglicherweise nur eine Surface konfigurieren möchte (z. B. nur Vorschau). Alle Surfaces müssen entweder Video-Encoder-Oberflächen (erworben von android.media.MediaRecorder#getSurface oder android.media.MediaCodec#createInputSurface) oder Vorschauoberflächen (abgerufen von android.view.SurfaceView, android.graphics.SurfaceTexture über android.view.Surface#Surface(android.graphics.SurfaceTexture)). Die Surface Größen müssen eine der von StreamConfigurationMap#getHighSpeedVideoSizes. Wenn mehrere Surfaces konfiguriert sind, muss ihre Größe gleich sein.</li>

<li>Eine aktive Hochgeschwindigkeitserfassungssitzung akzeptiert nur Anforderungslisten, die über CameraConstrainedHighSpeedCaptureSession#createHighSpeedRequestListerstellt wurden, und die Anforderungsliste kann nur über CameraCaptureSession#captureBurst captureBurstoder CameraCaptureSession#setRepeatingBurst setRepeatingBurst.</li>

<li>Die FPS-Bereiche, die an diese Sitzung angefordert werden, müssen ausgewählt werden.StreamConfigurationMap#getHighSpeedVideoFpsRangesFor Die Anwendung kann weiterhin zum Steuern des gewünschten FPS-Bereichs verwendet werden CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE . Wenn Sie zu einem FPS-Bereich wechseln, der andere android.util.Range#getUpper() maximum FPS hat, können einige Neukonfigurationen von Kamerageräten ausgelöst werden, was zu einer zusätzlichen Latenz führen kann. Es wird empfohlen, dass die Anwendung unnötige maximale Ziel-FPS-Änderungen so weit wie möglich während des Hochgeschwindigkeitsstreamings vermeidet.</li>

<li>Für die an diese Sitzung übermittelten Anforderungslisten überschreibt das Kameragerät die automatische Belichtung (AE), den CaptureRequest#CONTROL_MODE control modeautomatischen Weißabgleich (AWB) und den Automatischen Fokus (AF) bzw. den Automatischen Fokus (AF).CameraMetadata#CONTROL_MODE_AUTOCameraMetadata#CONTROL_AE_MODE_ONCameraMetadata#CONTROL_AWB_MODE_AUTOCameraMetadata#CONTROL_AF_MODE_CONTINUOUS_VIDEO Alle Steuerelemente für den Blockmodus nach der Verarbeitung werden überschrieben, um FAST zu sein. Daher ist keine manuelle Steuerung der Erfassungs- und Nachbearbeitungsparameter möglich. Neben diesen funktionieren nur eine Teilmenge von Steuerelementen, weitere Details finden Sie CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO hier.</li>

</ul>

Java Dokumentation für android.hardware.camera2.CameraDevice.createCaptureSession(android.hardware.camera2.params.SessionConfiguration).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

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

Parameter

outputs
IList<Surface>
handler
Handler
Attribute

Hinweise

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: