StreamConfigurationMap.GetOutputStallDuration Método

Definição

Sobrecargas

Nome Description
GetOutputStallDuration(Class, Size)

Obtenha a duração da parada para a combinação de classe/tamanho (em nanossegundos).

GetOutputStallDuration(Int32, Size)

Obtenha a duração da parada para a combinação de formato/tamanho (em nanossegundos).

GetOutputStallDuration(Class, Size)

Obtenha a duração da parada para a combinação de classe/tamanho (em nanossegundos).

[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

Parâmetros

klass
Class

uma classe que tem suporte e tem uma matriz não vazia retornada #isOutputSupportedFor(Class) por #getOutputSizes(Class)

size
Size

um tamanho compatível com saída

Retornos

uma duração >= mínima de quadro 0 em nanossegundos

Atributos

Comentários

Obtenha a duração da parada para a combinação de classe/tamanho (em nanossegundos).

Isso pressupõe que o klass está configurado para uso ImageFormat#PRIVATE. Para formatos definidos pelo usuário, use #getOutputMinFrameDuration(int, Size).

klass deve ser um dos com uma matriz não vazia retornada por #getOutputSizes(Class).

size deve ser um dos retornados por #getOutputSizes(Class).

Consulte #getOutputStallDuration(int, Size) uma definição de duração<></em> stall em.

Java documentação para android.hardware.camera2.params.StreamConfigurationMap.getOutputStallDuration(java.lang.Class<T>, android.util.Size).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

GetOutputStallDuration(Int32, Size)

Obtenha a duração da parada para a combinação de formato/tamanho (em nanossegundos).

[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

Parâmetros

format
Int32

um formato de imagem de ImageFormat ou PixelFormat

size
Size

um tamanho compatível com saída

Retornos

uma duração >= de parada 0 em nanossegundos

Atributos

Exceções

se format ou size não tiver suporte

se size fosse null

Comentários

Obtenha a duração da parada para a combinação de formato/tamanho (em nanossegundos).

format deve ser um dos retornados por #getOutputFormats().

size deve ser um dos retornados por #getOutputSizes(int).

Uma duração de parada é quanto tempo extra seria adicionado à duração normal do quadro mínimo para uma solicitação repetida que tem fluxos com uma parada diferente de zero.

Por exemplo, considere capturas JPEG que têm as seguintes características:

<os fluxos ul><li>JPEG agem como fluxos YUV processados em solicitações para as quais eles não estão incluídos; em solicitações nas quais são referenciados diretamente, eles atuam como fluxos JPEG. Isso ocorre porque o suporte a um fluxo JPEG requer que os dados YUV subjacentes estejam sempre prontos para uso por um codificador JPEG, mas o codificador será usado apenas (e afetará a duração do quadro) em solicitações que realmente referenciam um fluxo JPEG. <li>O processador JPEG pode ser executado simultaneamente no restante do pipeline da câmera, mas não pode processar mais de 1 captura por vez. </ul>

Em outras palavras, o uso de uma solicitação YUV recorrente resultaria em uma taxa de quadros constante (digamos que seja 30 FPS). Se uma única solicitação JPEG for enviada periodicamente, a taxa de quadros permanecerá em 30 FPS (contanto que aguardemos o JPEG anterior retornar a cada vez). Se tentarmos enviar uma solicitação YUV + JPEG repetida, a taxa de quadros cairá de 30 FPS.

Em geral, o envio de uma nova solicitação com um fluxo de tempo de parada não 0 causará <><> uma queda na taxa de quadros, a menos que ainda haja buffers pendentes para esse fluxo de solicitações anteriores.

Enviar uma solicitação repetida com fluxos (chamar isso S) é o mesmo que definir a duração mínima do quadro da duração do quadro mínimo normal correspondente a S, adicionada com a duração máxima da parada para S.

Se as solicitações de intercalação com e sem uma duração de parada, uma solicitação será paralisada pelo máximo dos tempos restantes para cada fluxo de barramento de latas com buffers pendentes.

Isso significa que uma solicitação de paralisação não terá um início de exposição até que a parada seja concluída.

Isso deve corresponder à duração da parada quando somente esse fluxo estiver ativo, com todo o processamento (normalmente em android.*.mode) definido como FAST ou OFF. Definir qualquer um dos modos de processamento para HIGH_QUALITY efetivamente resultar em uma duração de parada indeterminado para todos os fluxos em uma solicitação (as regras de cálculo de parada regulares são ignoradas).

Os seguintes formatos podem sempre ter uma duração de parada: <ul><li><ImageFormat#JPEG JPEGli<>ImageFormat#RAW_SENSOR RAW16li>ImageFormat#RAW_PRIVATE RAW_PRIVATE</ul>

Os seguintes formatos nunca terão uma duração de parada: ul>li li><ImageFormat#YUV_420_888 YUV_420_888ImageFormat#PRIVATE PRIVATE></ul<<>

Todos os outros formatos podem ou não ter uma duração de parada permitida por funcionalidade; Consulte para CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities obter mais detalhes.

</p>

Confira CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration mais informações sobre como calcular a taxa máxima de quadros (paradas ausentes).

Java documentação para android.hardware.camera2.params.StreamConfigurationMap.getOutputStallDuration(int, android.util.Size).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Confira também

Aplica-se a