KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT (optimización de hardware expandida)
KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT se usa para controlar el caso de uso principal de captura de fotos frente a captura de vídeo. En Windows 10, este control se extiende para admitir sugerencias de optimización de hardware ampliadas.
Tabla de resumen de uso
Ámbito | Control | Tipo |
---|---|---|
versión 1 | Filtrar | Sincrónico |
Las marcas siguientes se pueden colocar en el KSCAMERA_EXTENDEDPROP_HEADER. Marca el campo a sugerencias de optimización de hardware en el controlador.
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY 0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY 0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER 0x0000000000000010
Las sugerencias PHOTO y VIDEO se seguirán usando para especificar el caso de uso principal.
Por Windows 10, las marcas de bits adicionales ayudan al equilibrio de calidad, velocidad y consumo de energía en el conductor. De forma predeterminada, el controlador debe tener KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO.
Si el controlador admite este control, debe admitir KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO y KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO.
Si el controlador no admite sugerencias de optimización, el controlador no debe implementar este control.
En la tabla siguiente se describen las funcionalidades de marca.
Marca | Descripción |
---|---|
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_DEFAULT | Se trata de una funcionalidad obligatoria. Cuando se especifica, el controlador debe borrar las sugerencias establecidas anteriormente en el controlador y aplicar la potencia predeterminada, la calidad y la latencia del controlador. |
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_PHOTO | Se trata de una funcionalidad obligatoria. Cuando se especifica, el caso de uso principal es la captura de fotos y el conductor priorizará la captura de fotos sobre la grabación de vídeo. Esta marca se puede especificar cuando el pin de vista previa está en estado detenido para seleccionar un modo de sensor en favor de la calidad de la foto, o en el estado en ejecución para la captura de fotos solo durante la grabación de vídeo. Cuando se especifica para la captura de fotos durante la grabación de vídeo, el problema en la secuencia de vídeo es aceptable en favor de una mejor calidad de la foto. Esta marca es mutuamente excluyente con la marca VIDEO y se puede usar con cualquiera o dos de las marcas QUALITY, LATENCY y POWER. |
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_VIDEO | Se trata de una funcionalidad obligatoria. Cuando se especifica, el caso de uso principal es la captura de vídeo y el controlador priorizará la grabación de vídeo sobre la captura de fotos. Esta marca se puede especificar cuando el pin de vista previa está en estado detenido para seleccionar un modo de sensor en favor de la grabación de vídeo, o en el estado en ejecución para la captura de fotos solo durante la grabación de vídeo. Cuando se especifica para la captura de fotos durante la grabación de vídeo, no se permite el error en la secuencia de vídeo. Esta marca es mutuamente excluyente con la marca PHOTO y se puede usar con cualquiera o dos de las marcas QUALITY, LATENCY y POWER. |
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY | Esta funcionalidad es opcional. Cuando se especifique, el controlador optimizará la calidad de la imagen para la captura de fotos y la calidad del vídeo para la grabación de vídeo. Esta marca se puede especificar antes de que se inicie la captura de fotos (incluida la foto normal, VPS y PS sin fotogramas del historial) o la grabación de vídeo, o cuando el pin está en estado detenido. Esta marca se puede usar con la marca PHOTO, o con marcas LATENCY o POWER junto con la marca VIDEO. |
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY | Esta funcionalidad es opcional. Cuando se especifique, el controlador optimizará la velocidad y la latencia de la captura de fotos y la grabación de vídeo. Esta marca se puede especificar antes de que se inicie la captura de fotos (incluida la foto normal, VPS y PS sin fotogramas del historial) o la grabación de vídeo, o cuando el pin esté en estado detenido. Esta marca se puede usar con la marca PHOTO o con marcas QUALITY o POWER junto con la marca VIDEO. |
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER | Esta funcionalidad es opcional. Cuando se especifique, el conductor optimizará el consumo de energía para la captura de fotos y la grabación de vídeo. Esta marca se puede especificar antes de que se inicie la captura de fotos (incluida la foto normal, VPS y PS sin historial) o la grabación de vídeo, o cuando el pin está en estado detenido. Esta marca se puede usar con la marca QUALITY o LATENCY, junto con la marca VIDEO. |
La tabla siguiente contiene las descripciones y los requisitos de los campos de estructura de KSCAMERA_EXTENDEDPROP_HEADER cuando se usa el control .
Miembro | Valor |
---|---|
Versión | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
Size | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE) |
Resultado | Indica los resultados del error de la última operación SET. Si no se ha realizado ninguna operación SET, debe ser 0. |
Capacidad | Debe ser un OR bit a bit de las marcas admitidas KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* como se ha definido anteriormente. |
Marcas | Se trata de un campo de lectura y escritura. Puede ser cualquier combinación válida de las marcas admitidas KSCAMERA_EXTENDEDPROP_OPTIMIZATION_* definidas anteriormente. |
Comentarios
Tenga en cuenta los siguientes elementos al usar sugerencias de optimización:
QUALITY/LATENCY/POWER y PHOTO/VIDEO son dos conjuntos de sugerencias independientes. Se pueden especificar juntos al mismo tiempo o de forma independiente en un momento diferente. Si se establece QUALITY/LATENCY/POWER, no se sobrescribe PHOTO/VIDEO y viceversa. Cuando se especifica en otro momento, el controlador debe devolver la configuración actual de ambos conjuntos de sugerencias en una llamada GET.
Para QUALITY/LATENCY/POWER, cuando se establecen sugerencias, el controlador debe optimizarse dentro de sus restricciones. Si no hay ninguna optimización disponible, el controlador debe omitir las sugerencias.
Cuando se especifican dos sugerencias al mismo tiempo para el caso de uso de vídeo, la optimización de cada sugerencia puede ser menor que cuando solo se especifica una sugerencia. Más concretamente:
LATENCY tiene prioridad sobre QUALITY o POWER cuando también se especifica QUALITY o POWER. En tales casos, la calidad puede ser menor que cuando solo se especifica QUALITY, y el consumo de energía puede ser mayor que cuando solo se especifica POWER.
Cuando se especifican QUALITY y POWER, la calidad puede ser menor que cuando solo se especifica QUALITY y el consumo de energía puede ser mayor que cuando solo se especifica POWER.
Una sugerencia de optimización solo se sirve como una sugerencia al controlador para facilitar los inconvenientes de procesamiento en 3A, procesamiento de ISP, selección de sensores, etc., dentro de las restricciones de los escenarios de captura especificados por la aplicación. Es importante que el desarrollador de aplicaciones seleccione y configure los controles y las API más adecuados para un escenario de captura específico con el fin de lograr los mejores resultados. De lo contrario, las sugerencias de optimización por sí solas pueden tener un efecto reducido. Por ejemplo, para la captura de fotos de alta calidad, se debe usar VPS o LowLagPhoto/TakePhoto en lugar de PS en determinadas plataformas IHV para hacer uso de la sugerencia QUALITY. De forma similar, la estabilización de vídeo debe deshabilitarse si se desea incluso una menor latencia o consumo de energía.
Las sugerencias de optimización se omitirán si se reciben en el momento o estado distintos de lo que se especifica en cada marca de funcionalidad.
Cuando el control de estabilización de vídeo también está habilitado en el controlador (ON o AUTO):
El controlador puede aplicar la estabilización de vídeo más baja agresiva, que incluye una latencia baja o un algoritmo de estabilización de vídeo de baja potencia para reducir la latencia de procesamiento o el consumo de energía si se establece la sugerencia LATENCY o POWER. Cuando la estabilización de vídeo se establece en AUTO, el controlador puede desactivar la estabilización de vídeo para reducir aún más la latencia o el consumo de energía.
El controlador puede aplicar la estabilización de vídeo más agresiva para mejorar la calidad del vídeo si se establece la sugerencia QUALITY.
Requisitos
Rúbrica: Ksmedia.h (incluye Ksmedia.h)