I've made quite a few simplifying revisions. What do 'you' think of it? Below is my preliminary message to Charles Poynton, which I plan to send in a week if there are no further revisions.
--Mark. ===== Dear Dr. Poynton, Thank you for providing valuable guidance to so many people for so many years. You may know that Wikipedia contains a rather tortured description of chroma subsampling. I seek to streamline the description and to expand the scope to notations not currently covered. I'm associated with the ffmpeg-user mailing list. And though I speak solely for myself, I have the entirety of ffmpeg as an audience. I would be delighted to receive the opinions of an authority. All comments are welcome. I will not post any replies to ffmpeg-user or anywhere else without your expressed permission. However, I have posted this message to ffmpeg-user for comments. Warm Regards, Mark Filipak. References. Poynton: https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf Wikipedia: https://en.wikipedia.org/wiki/Chroma_subsampling KEY: • : denotes a luma pixel. © : denotes a chroma pixel. ©== : denotes a single Cb Cr pair that spans 2 pixels. ©====== : denotes a single Cb Cr pair that spans 4 pixels. ——[1]—— : denotes that there is no chroma subpicture there [1]. Shown next is the top-left corner of the sampled film. +————————— | • • • • <== The sample loci in subpicture 0 (frame or field). | • • • • <== The sample loci in subpicture 1 (frame or field). | The above is repeated across the pixel data's columns and rows. Shown next is the loci of Y, Cb, and Cr separated as element 'planes'. | Y Cb Cr | • • • • | © © © © | © © © © 4:4:4, Poynton, Wikipedia. | • • • • | © © © © | © © © © | • • • • | © © © © | © © © © 4:4:2, conjecture. | • • • • | ©== ©== | ©== ©== | • • • • | © © © © | © © © © 4:4:1, conjecture. | • • • • | ©====== | ©====== | • • • • | © © © © | © © © © 4:4:0, Wikipedia. | • • • • | ——[1]—— | ——[1]—— | • • • • | ©== ©== | ©== ©== 4:2:2, Wikipedia. | • • • • | ©== ©== | ©== ©== | • • • • |©== ©== |©== ©== 4:2:2 (BT.601), Poynton. | • • • • |©== ©== |©== ©== [2] | • • • • | ©== ©== | ©== ©== 4:2:1, conjecture. | • • • • | ©====== | ©====== | • • • • | ©== ©== | ©== ©== 4:2:1 (JPEG variant, irregular), | • • • • | ——[1]—— | ©====== Wikipedia. | • • • • | ©== ©== | ©== ©== 4:2:0 (MPEG1, H.261), Poynton, | • • • • | ——[1]—— | ——[1]—— Wikipedia. | • • • • |©== ©== |©== ©== 4:2:0 (MPEG2 frames), Poynton. | • • • • | ——[1]—— | ——[1]—— [2] | • • • • | ©====== | ©====== 4:1:1, Wikipedia. | • • • • | ©====== | ©====== | • • • • ©====== | ©====== 4:1:1 (480i), Poynton. | • • • • ©====== | ©====== [2] | • • • • | ©====== | ©====== 4:1:0, conjecture. | • • • • | ——[1]—— | ——[1]—— | • • • • | ——[1]—— | ——[1]—— 4:0:0, (monochrome) conjecture. | • • • • | ——[1]—— | ——[1]—— | • • • | ©==== | ©==== 3:1:1 (Sony), Poynton, | • • • | ©==== | ©==== Wikipedia. [1] The chroma subpicture is void. If both chroma subpictures 0 and 1 are void (e.g. 4:0:0), then there are no chroma subpictures and the composited pixels carry luma only. Otherwise, the decoder copies chroma subpicture 0 to chroma subpicture 1. Note that though it is possible, the condition: chroma subpicture 0 void and chroma subpicture 1 populated, has not been seen in the wild. [2] The chroma pixels are shown left-shifted by one-half pixel, presumably due to sampling one-half pixel to the left. Since they cannot be moved, the pixels must be obtained by mixing (e.g. C.n = (C.n + C.n+1)/2) in un-coded pictures. Note that the appearance of the left edges of chroma spans are slightly blurred by simple mixing. Note also that chroma spans are assumed to be truncated as needed at the left edge of film edges (e.g. in 4:1:1) and that the mixing is most accurately accomplished in frame pictures. _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".