Qualcomm Camera Learning notes (i)

Source: Internet
Author: User

Qualcomm's new camera driver architecture design has undergone some changes, borrowing a structure commonly used on the Internet, with the general principle of dividing all of the camera's functions into different modules, allowing the module to determine its own things (cohesion, low coupling), and the modules need to have a unified interface and format. There is a port in the module, the module is connected by the port, and the module is hung on the bus. The connection of each port is a stream, which is managed by pipeline. Each time you start a camera, you create a session that manages everything in this camera. For each session, the module is shared, which can be a hardware resource for the camera or other resources (such as some software algorithms).

So how do you define the structure of this module?
1. Port--The port belongs to the module, if the module has only the source port, then it is a src module, if only the sink port is the sink module, if there is an intermediate module. A module without a port cannot be connected to a stream, but he can perform some other functions, such as receiving engine settings, reporting events to bus, etc. Connect to the port in the stream, which means that the stream event (Set/get) is primarily handled by the port. The engine (Set/get) is handled by the module, and of course the port can also give the event to the module to handle. The ports inside the module can be established through a module, or an internal connection can be established, and the port is related to Get/set process.
2. Module threads--Each module can have one thread to handle the things of the module. One thread corresponds to a queue, and the thread pulls the data out of the queue and answers it back.
3. Bus callback-Block a module to the bus registration, the bus to provide a callback function, when the module has an event, call this function to the bus message, and then the bus to send this message to the pipeline, the pipeline to send this message down the stream.
4. Get, set, and process for the module.

Pipeline, Engine session
The pipe has both ends, one end for reading, and the other for writing. The camera engine is responsible for monitoring the pipeline while the session manages the camera engine.

Look at this new drive architecture from a code structure
The high-pass camera Deamon code is placed in the Vendor\qcom\proprietary\mm-camera directory, and the MM-CAMERA2 in this directory is the new camera architecture location, Into the inside can see Media-controller, server-imaging, server-tuning and several other directories, we need to pay attention to here is Media-controller directory.

Media-controller
|-mct--should be the engine of the camera? It contains definitions and packages for engines, Pipiline, bus, module, stream, and event.
|-modules--This is the partition of some of the module code, the general function of the modules are as follows
|-sensor--sensor driver module? ——src Module
|-Iface--isp Interface Module--Inter Module
|-isp--is mainly the ISP's processing, and its interior contains a lot of modules-Inter Module
|-stats--Some statistical algorithm modules, such as 3a,asd,afd,is,grro and other data statistics processing--Sink Module
|-pproc--post Process Processing--Inter Module
|-imglib--is mainly a picture of some back-end processing, such as HDR, etc.--Sink Module
The above modules also contain a number of modules, the specific need to see Code analysis.

Qualcomm Camera Learning notes (i)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.