I really don't understand what is the big deal about the camera functionality!!!
Raspberry Pi has a CSI connector camera interface. It means all smart phones' CMOS sensors (cameras) can be connected to the board, as it mentioned before these high quality cameras such as OV5650 which has CSI interface come with a very low price (under 10$). (Even older cameras with I2C interface such as TCM8240MD can be connected by using CSI-2 Camera Bridge IC).
Then, RaspberryPi has a nice GPU which support OpenMAX technology. OpenMAX is programming interface that responsible for processing huge amount of multimedia task such as audio and video encoding,decoding,playing,recording, image processing and ... in an efficient way on the hardware. It means the GPU on the RaspberryPi can access the camera, fetch the raw image, enhances the image, encodes the video and records the video. Actually OpenMAX has 3 layers, the first layer is called "Application Layer" which defines high-level playback and recording API, this layer provides us with an interface to not only fetch raw image data from camera but also access all of the feature of the camera such as flash, focusing, metering, exposure compensation, sensitivity, shutter speed, aperture, white balance, and zoom.
Finally, the conclusion is, if RaspberryPi Foundation provides its customers with the API for OpenMAX AL, and OpenMAX IL, using the camera on the device would be piece of cake.
