Cámara Android-HAL-Rockchip-hal3

introducción:

Para la capa HAL de la cámara de Android, implementa un conjunto de interfaces Framework API y realiza la interacción con el kernel a través del marco V4L2. Diferentes plataformas tendrán diferentes implementaciones. Es principalmente la implementación de la interfaz de Android HAL3. ¿Ves cómo Rockchip soporta hal3?

Directorio de códigos:

hardware/chip de roca/cámara/

hardware/rockchip/camera_engine_rkisp/

Estructura basica:

 

El control 3A interactúa con camera_engine_isp a través de la interfaz del bucle de control.

La implementación de algunos otros componentes o funciones también llamará a otras bibliotecas de terceros:

relacionado con cameraBuffer, llamada a Gralloc

codificación jpeg, llamada a Hwjpeg

Componentes básicos:

 

 

Los módulos de Camera hal3 incluyen principalmente AAL y PSL.
AL:

Principalmente responsable de interactuar con el marco, camera_module y la instancia de interfaz API camera3_device_ops se definen en este módulo. Este módulo encapsula esta API, envía la solicitud al PSL y espera a que el PSL receptor devuelva el flujo de datos correspondiente y los parámetros de control.

PSL:

Es la implementación específica de la capa física. Gcss, GraphConifg y MediaController en la base son los principales responsables del análisis del archivo de configuración xml y la configuración de la canalización subyacente, y ControlUnit es el principal responsable de la interacción con el camera_engine_isp para realizar el control de 3a, transferir algunas solicitudes y procesar y recopilar informes de metadatos. ImgUnit, OutputFrameWork y postProcessPipeline son los principales responsables de obtener marcos de datos, procesarlos en consecuencia e informar sobre ellos. V4l2device y V4l2Subdevice son responsables de interactuar con el controlador v4l2 para implementar operaciones io específicas

xml de ajuste

El archivo de ajuste es un archivo de parámetros de efectos.

El método de denominación del archivo: <sensor_name>_<module_name>_<lens_name>.xml, y envíe el archivo al directorio /vendor/etc/camera/rkisp1 de la placa. Finalmente, la biblioteca 3a leerá los archivos de ajuste que cumplan con las reglas de este directorio.

Al depurar la ruta de datos del sensor sin procesar, también puede omitir el ISP primero. . Simplemente configure el tipo de sensor en SOC. En este momento, el archivo de ajuste no se puede configurar temporalmente.

cámara3_perfiles.xml

camera3_profiles.xml contiene varios nodos de perfiles y el nodo Perfiles contiene una lista completa de atributos de cámara. Se conectan varios sensores a la placa de desarrollo, es decir, es necesario configurar varios nodos de perfiles.

 La información relevante se puede obtener mediante el siguiente comando:

$ adb shell dumpsys media.camera

Genere la biblioteca después de la compilación:

1) Biblioteca Hal3: /vendor/lib/hw/camera.rk30board.so

2) librkisp: /vendor/lib/librkisp.so

3) 3a lib: /vendor/lib/rkisp//

4) Archivo de configuración: /vendor/etc/camera/

El archivo de configuración anterior sirve para copiar los archivos en /etc/camera al directorio de salida de Android mediante precompilación. Después de modificar el código fuente y compilar, solo necesita presionar camera.rk30board.so. Si modifica el archivo de configuración, solo necesita presionar el archivo de configuración correspondiente.

Supongo que te gusta

Origin blog.csdn.net/haigand/article/details/132463701
Recomendado
Clasificación