On Mon, Jul 21, 2025 at 11:12 PM Mark Filipak <markfilipak.i...@gmail.com> wrote:
> On 21/07/2025 18.54, Paul B Mahol wrote: > > On Mon, Jul 21, 2025 at 10:12 PM Mark Filipak < > markfilipak.i...@gmail.com> > > wrote: > > > >> On 21/07/2025 17.50, Paul B Mahol wrote: > >> > >>> Number of Cb pixels === Number of Cr pixels, ALWAYS! > >> > >> I know that's what a lot of people assume, but it doesn't jibe with what > >> I'm seeing. Perhaps that's part of the confusion I see. > >> > >> Do you have an authoritative source for what you write? > >> > > > > Yes, I have. Me! > > > > I'm the authority. > > Excellent! I'd welcome your comments on the following: > > > Q1. I show five conjectures: 4:4:2 and 4:4:1 and 4:2:1 and 4:1:0 and > 4:0:0. In your judgment, do those conjectured notations exist? Are they > correct? > 4:0:0 would be gray only pixel format look at ffmpeg pixfmt list, you will find yuv444, yuv420, yuv422, yuv440, yuv410, yuv411. > > Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between Poynton's > descriptions and Wikipedia's. As I see it, Poynton shows chroma samples > that are a half-pixel offset to the left. What is your judgment? Wikipedia article doesn't much elaborate on positions of Cb/Cr samples picking. And from Poynton's pdf its obvious that each standard may impose different rules. Like I was not aware that DV25 have different offsets for Cb and Cr. > > References. > Poynton: https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf > QuestTel: https://questtel.com/wiki/chroma-sub-mapping-types > Wikipedia: https://en.wikipedia.org/wiki/Chroma_subsampling > > KEY: > : • : depicts a luma pixel. > : • • : 2 consecutive luma pixels. > : • • • • : 4 consecutive luma pixels. > : = : a chroma pixel. > : = = : a unit of 2 chroma pixels. > : = = = = : a unit of 4 chroma pixels. > : © : a chroma sample. > : © = : a sample and a pixel, plus another pixel to the right. > : ©= = : a sample 1/2 pixel to the left of its 2 pixels. > : ©= =©= = : the same, plus a second one. > : © = = = : a sample and a pixel, plus 3 more pixels to the right. > : ©= = = = : a sample 1/2 pixel to the left of its 4 pixels. > : © = = = = : a sample 1 and 1/2 pixels to the left of its 4 pixels. > : ——[1]—— : asserts that there is no chroma subpicture there [1]. > > Shown next is the top-left corner of the sampled film. > +————————— > | • • • • <== Four consecutive pixels in line 0 of subpicture-0. > | • • • • <== Four consecutive pixels in line 0 of subpicture-1. > | The above illustrates how pixels populate subpictures and how > subpictures are combined. > > 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, QuestTel (vaguely > | • • • • | © = = = | © = © = described, not pictured). > > | • • • • | © = © = | © = © = 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]—— QuestTel. [2] > > | • • • • | © = = = | © = = = 4:1:1, QuestTel, 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 samples are shown left-shifted by one-half pixel, > presumably due to sampling one-half pixel to the left. Since the actual > pixels cannot be moved, their values must be derived, usually by mixing. > Note that mixing is most accurately accomplished in frame pictures and > that the left edges of spans become slightly blurry. Note also that > chroma spans are assumed to be truncated as needed at the left edge of > film frames, e.g. in 4:1:1. > > > _______________________________________________ > 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". > _______________________________________________ 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".