Hi All,
I have implemented camera driver with MMU in Win CE 6.0. One of our requirements is to disable the CCDC and ISP, change the camera pipeline with resizer and then enable the CCDC and ISP. This has to be done vice versa (please refer figure 2 and figure 3). This has to be done whenever there is a request from the application without stopping the direct show graph.
Figure 1 – Normal Initialize Sequence
Figure 2: Normal Camera Pipeline
In the above case, data from the CCDC is directly written in to the memory.
Figure 3: Camera Pipeline with resizer
In this case resizer is introduced in the camera pipeline and the data from the CCDC is written in to the memory, which will be given as resizer input and the resizer output will be written in to memory.
Adding and removing of resizer into the camera pipeline has to be done dynamically i.e. there should not be any frame drops.
What we did is, whenever there is a request to introduce the resizer or to remove the resizer from the camera pipeline, we will just disable the CCDC, check for the waiting state of MMU, then configures the CCDC, add resizer to the camera pipeline and then enable the CCDC.
Figure 5: Adding the resizer to the camera pipeline
Figure 6: Removing the resizer from the camera pipeline
We are facing an issue in the MMU; occasionally exception occurs in the MMU and the complete display gets cut off.
Can any one please tell us whether the sequence we follow is correct? And is there any sequence to be followed in case of MMU?
Thanks in advance
Salim