Video information is provided by the front end data acquisition-->isp image processing-->scaler to the target image size-->encode--> sent to the user (e.g. TV can be displayed)
Large amount of video data, more processing of image links. If each link saves the data to memory and then does the next move. You should know that some memory is a slow motion, so the system efficiency is very low. So the quality of the kernel driver directly determines the availability of the chip.
Now the mainstream chip manufacturers in the market through the channel technology to achieve from the image input to the video stream output.
Channel technology specific implementation methods as follows, you can refer to peers.
A--Capture data b--image processing C--scaler to target size D--encode
A data generation interrupt B is processed immediately, b processing is completed and the interrupt C is processed immediately; C Processing complete D immediately
Timely processing of data in the cache, greatly increased the speed. At the same time the above steps are different, by opening the memory pool queue to implement the pipeline, even if that one link one o'clock more time, also does not affect the system.
The above is only a few ways to drive implementation, only a thorough understanding of the drive implementation to improve the performance of design products.
This article from the "11278673" blog, reproduced please contact the author!
A detailed description of the Linux video processing driver channel