In this example, after debayering, you have 960x540 of real red data, and the rest is interpolated (guessed). Same for blue. Green has twice as much real resolution, so half of the green pixels are real, half interpolated.
The color resolution in a debayered image is usually lower, but most algorithms are able to reconstruct full-resolution luma by exploiting inter-channel correlation.
Check resolution with "dcraw -i -v". For example, on 5D3 photo:
Thumb size: 5760 x 3840
Full size: 5920 x 3950
The small one is called "active area", and it has valid pixel data. The rest is called "optical black", and it's used by the electronics for black level clamping, and then by software for estimating noise level, fine-tuning black level and so on.
Canon JPEG is a little smaller: the JPEG size is 36 pixels smaller than the active area IIRC. With dcraw, you can squeeze a few more pixels (it's in the
dcraw FAQ), but it may still throw away a tiny number of border pixels.
With raw video, the active area sizes (rounded a bit) is here:
http://www.magiclantern.fm/forum/index.php?topic=6215The exact sizes can be found from a silent picture (DNG), because they also include the optical black areas. Raw video does not record these, for speed reasons.
On 5D3, the full raw size is 2080x1318 (exact), active area is 1934x1290 (maybe 2-3 pixels more) , and the YUV buffer size is 1904x1274.
If you develop with "dcraw -h", you will skip the debayer process and get a half-resolution image, with no interpolated values. If you downsample it from a full-res debayered image, you should get better results (you can run some comparisons), so the guesswork from the debayering algorithms is usually pretty good.
Some good info:
http://pixinsight.com/doc/tools/Debayer/Debayer.html