StreamConfigurationMap.GetOutputStallDuration Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| GetOutputStallDuration(Class, Size) |
Rufen Sie die Dauer des Stalls für die Klassen-/Größenkombination (in Nanosekunden) ab. |
| GetOutputStallDuration(Int32, Size) |
Rufen Sie die Dauer der Stände für die Kombination aus Format/Größe (in Nanosekunden) ab. |
GetOutputStallDuration(Class, Size)
Rufen Sie die Dauer des Stalls für die Klassen-/Größenkombination (in Nanosekunden) ab.
[Android.Runtime.Register("getOutputStallDuration", "(Ljava/lang/Class;Landroid/util/Size;)J", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public long GetOutputStallDuration(Java.Lang.Class? klass, Android.Util.Size? size);
[<Android.Runtime.Register("getOutputStallDuration", "(Ljava/lang/Class;Landroid/util/Size;)J", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
member this.GetOutputStallDuration : Java.Lang.Class * Android.Util.Size -> int64
Parameter
- klass
- Class
eine Klasse, die von #isOutputSupportedFor(Class) einer nicht leeren Matrix unterstützt wird und von der ein nicht leeres Array zurückgegeben wird #getOutputSizes(Class)
- size
- Size
eine ausgabekompatible Größe
Gibt zurück
Minimale Framedauer >= 0 in Nanosekunden
- Attribute
Hinweise
Rufen Sie die Dauer des Stalls für die Klassen-/Größenkombination (in Nanosekunden) ab.
Dabei wird davon ausgegangen, dass die Einstellung für die klass Verwendung ImageFormat#PRIVATEeingerichtet ist. Verwenden Sie #getOutputMinFrameDuration(int, Size)für benutzerdefinierte Formate .
klass sollte eines der Arrays sein, von #getOutputSizes(Class)denen ein nicht leeres Array zurückgegeben wird.
size sollte einer der zurückgegebenen #getOutputSizes(Class)sein.
Eine Definition einer Em-Stalldauer</em>> finden Sie #getOutputStallDuration(int, Size) unter <
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:
GetOutputStallDuration(Int32, Size)
Rufen Sie die Dauer der Stände für die Kombination aus Format/Größe (in Nanosekunden) ab.
[Android.Runtime.Register("getOutputStallDuration", "(ILandroid/util/Size;)J", "")]
public long GetOutputStallDuration(int format, Android.Util.Size? size);
[<Android.Runtime.Register("getOutputStallDuration", "(ILandroid/util/Size;)J", "")>]
member this.GetOutputStallDuration : int * Android.Util.Size -> int64
Parameter
- format
- Int32
Ein Bildformat aus ImageFormat oder PixelFormat
- size
- Size
eine ausgabekompatible Größe
Gibt zurück
Ständedauer >= 0 in Nanosekunden
- Attribute
Ausnahmen
wenn format oder size nicht unterstützt wurde
if size was was null
Hinweise
Rufen Sie die Dauer der Stände für die Kombination aus Format/Größe (in Nanosekunden) ab.
format sollte einer der zurückgegebenen #getOutputFormats()sein.
size sollte einer der zurückgegebenen #getOutputSizes(int)sein.
Eine Stalldauer ist, wie viel zusätzliche Zeit der normalen Mindestframedauer für eine wiederholte Anforderung hinzugefügt wird, die Datenströme mit Nicht-Null-Stände enthält.
Betrachten Sie beispielsweise JPEG-Aufnahmen mit den folgenden Merkmalen:
<ul><li>JPEG-Streams fungieren wie verarbeitete YUV-Datenströme in Anforderungen, für die sie nicht enthalten sind. In Anforderungen, in denen sie direkt referenziert werden, fungieren sie als JPEG-Datenströme. Dies liegt daran, dass für die Unterstützung eines JPEG-Datenstroms die zugrunde liegenden YUV-Daten immer bereit für die Verwendung durch einen JPEG-Encoder sind, der Encoder jedoch nur für Anforderungen verwendet wird, die tatsächlich auf einen JPEG-Stream verweisen. <li>Der JPEG-Prozessor kann gleichzeitig für den Rest der Kamerapipeline ausgeführt werden, kann aber nicht mehr als 1 Aufnahme gleichzeitig verarbeiten. </ul>
Anders ausgedrückt: Die Verwendung einer wiederholten YUV-Anforderung würde zu einer stetigen Bildfrequenz führen (angenommen, es ist 30 FPS). Wenn eine einzelne JPEG-Anforderung in regelmäßigen Abständen übermittelt wird, bleibt die Bildfrequenz bei 30 FPS (solange wir jedes Mal warten, bis das vorherige JPEG zurückgegeben wird). Wenn wir versuchen, eine wiederholte YUV + JPEG-Anforderung zu übermitteln, fällt die Bildfrequenz von 30 FPS ab.
Im Allgemeinen führt <>die Übermittlung einer neuen Anforderung mit einem Nicht-0-Sperrzeitdatenstrom nicht</em> zu einem Framerate-Rückgang, es sei denn, es gibt noch ausstehende Puffer für diesen Datenstrom aus früheren Anforderungen.
Das Übermitteln einer wiederholten Anforderung mit Datenströmen (Aufrufen dieses SAufrufs) entspricht dem Festlegen der mindesten Framedauer von der normalen mindesten Framedauer, die dem entspricht S, hinzugefügt mit der maximalen Ständedauer für S.
Wenn Anforderungen mit und ohne Sperrdauer interleavieren, wird eine Anforderung bis zum Maximum der verbleibenden Zeiten für jeden Can-Stall-Stream mit ausstehenden Puffern angehalten.
Dies bedeutet, dass eine Ständeanforderung erst dann einen Belichtungsbeginn hat, wenn der Stall abgeschlossen ist.
Dies sollte der Stalldauer entsprechen, wenn nur dieser Datenstrom aktiv ist, wobei alle Verarbeitungen (in der Regel in android.*.mode) auf oder OFFfestgelegt sindFAST. Wenn Sie einen der Verarbeitungsmodi so festlegen, dass HIGH_QUALITY sie effektiv zu einer unbestimmten Dauer für alle Datenströme in einer Anforderung führen (die regulären Regeln für die Berechnung von Ständen werden ignoriert).
Die folgenden Formate können immer eine Standdauer aufweisen: <ul><li li<ImageFormat#JPEG JPEG>li><>ImageFormat#RAW_SENSOR RAW16<ImageFormat#RAW_PRIVATE RAW_PRIVATE/ul>
Die folgenden Formate haben nie eine Standdauer: <ul>li li>><ImageFormat#YUV_420_888 YUV_420_888ImageFormat#PRIVATE PRIVATE</ul<>
Alle anderen Formate dürfen eine zulässige Ständedauer pro Funktion aufweisen oder nicht; CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities weitere Details finden Sie unter.
</p>
Weitere Informationen zum Berechnen der maximalen Framerate (fehlende Stände) finden Sie unter .See CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration for more information about calculating the max frame rate (absent stalls).
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.