Are these correct? Or, is there some official reference I can consult? --Mark. KEY: ¤ —— Element exists in the field and is sampled • —— Element exists in the field but is not sampled —— (blank) Element doesn't exist in the field Reference: https://en.wikipedia.org/wiki/Chroma_subsampling Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:4 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 1 4:4:2 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤•¤• ¤•¤• 4:4:2 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ // JPEG variant according to the reference ¤¤¤¤ ¤¤¤¤ 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤••• ¤••• 4:4:0 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ 4:2:2 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤•¤• ¤•¤• 4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤••• 4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• // JPEG variant according to the reference ¤¤¤¤ ¤••• 4:2:0 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ 4:1:1 ¤¤¤¤ ¤••• ¤••• ¤¤¤¤ ¤••• ¤••• 4:1:0 ¤¤¤¤ ¤••• ¤••• ¤¤¤¤ 4:0:0 ¤¤¤¤ // My conjecture ¤¤¤¤ 3:1:1 ¤¤¤ ¤•• ¤•• // Sony variant according to the reference ¤¤¤ ¤•• ¤••
On Tue, Jul 15, 2025 at 6:00 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
Are these correct? Or, is there some official reference I can consult?
Maybe correct for packed formats only.
--Mark.
KEY: ¤ —— Element exists in the field and is sampled • —— Element exists in the field but is not sampled —— (blank) Element doesn't exist in the field
Isn't this very obvious and straightforward read? Also you forgot that chroma, when subsampled, can have different positions, top, top-left, center, ..
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:4 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 1
4:4:2 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤•¤• ¤•¤•
4:4:2 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ // JPEG variant according to the reference ¤¤¤¤ ¤¤¤¤
4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤••• ¤•••
4:4:0 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ ¤¤¤¤
4:2:2 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤•¤• ¤•¤•
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• // JPEG variant according to the reference ¤¤¤¤ ¤•••
4:2:0 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤
4:1:1 ¤¤¤¤ ¤••• ¤••• ¤¤¤¤ ¤••• ¤•••
4:1:0 ¤¤¤¤ ¤••• ¤••• ¤¤¤¤
4:0:0 ¤¤¤¤ // My conjecture ¤¤¤¤
3:1:1 ¤¤¤ ¤•• ¤•• // Sony variant according to the reference ¤¤¤ ¤•• ¤•• _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
On 15/07/2025 14.51, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 6:00 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
Are these correct? Or, is there some official reference I can consult?
Maybe correct for packed formats only.
Thanks for replying, Paul. Ya know, I've tried to read H.262 & H.264 about pixel planes and it all seems so vague to me that I finally give up looking at words that just lack meaningful content. Maybe the answers were there and I just didn't see them but I get along much better with pictures of objects than with words about objects. Specifically, where are those planes? Perhaps "plane" is a metaphor for something. I just don't know.
Isn't this very obvious and straightforward read?
Not for me. • J: horizontal sampling reference (width of the conceptual region). Usually, 4. • a: number of chrominance samples (Cr, Cb) in the first row of J pixels. • b: number of changes of chrominance samples (Cr, Cb) between first and second row of J pixels. b is usually either zero or equal to a (except in rare irregular cases like 4:4:1 and 4:2:1, which do not follow this convention). The explanation of 'b' is vague. I think it's wrong -- the wrong 'method'. I think the authors made it up -- "number of changes" -- because it somehow makes sense to them. But "irregular cases like 4:4:1 and 4:2:1" doesn't make sense, does it? I think 'b' is simply the number of chroma samples in the lines of the second field, or it's '0' if the second field isn't stored because it's not needed because it will be copied from the first field. I don't think it has anything to do with "changes". The test is: Are my 4:4:1 and 4:2:1 (below) correct?
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Also you forgot that chroma, when subsampled, can have different positions, top, top-left, center, ..
No. I didn't forget. --Mark.
On Tue, Jul 15, 2025 at 7:34 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
On 15/07/2025 14.51, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 6:00 PM Mark Filipak <markfilipak.imdb@gmail.com
wrote:
Are these correct? Or, is there some official reference I can consult?
Maybe correct for packed formats only.
Thanks for replying, Paul.
Ya know, I've tried to read H.262 & H.264 about pixel planes and it all seems so vague to me that I finally give up looking at words that just lack meaningful content. Maybe the answers were there and I just didn't see them but I get along much better with pictures of objects than with words about objects. Specifically, where are those planes? Perhaps "plane" is a metaphor for something. I just don't know.
Isn't this very obvious and straightforward read?
Not for me.
• J: horizontal sampling reference (width of the conceptual region). Usually, 4. • a: number of chrominance samples (Cr, Cb) in the first row of J pixels. • b: number of changes of chrominance samples (Cr, Cb) between first and second row of J pixels. b is usually either zero or equal to a (except in rare irregular cases like 4:4:1 and 4:2:1, which do not follow this convention).
The explanation of 'b' is vague. I think it's wrong -- the wrong 'method'. I think the authors made it up -- "number of changes" -- because it somehow makes sense to them. But "irregular cases like 4:4:1 and 4:2:1" doesn't make sense, does it?
I think 'b' is simply the number of chroma samples in the lines of the second field, or it's '0' if the second field isn't stored because it's not needed because it will be copied from the first field. I don't think it has anything to do with "changes". The test is: Are my 4:4:1 and 4:2:1 (below) correct?
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Also you forgot that chroma, when subsampled, can have different positions, top, top-left, center, ..
No. I didn't forget.
Chroma is not simply copied from 4:4:4 its weight averaged.
--Mark.
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
On 15/07/2025 15.40, Paul B Mahol wrote:
Chroma is not simply copied from 4:4:4 its weight averaged.
Nothing is copied when the chroma subsampling format is 4:4:4, so I don't know what you mean by "copied". --Mark.
On 15/07/2025 15.40, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:34 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Well, Paul, you're the expert. Are those two correct? If they are, then I'm right about how the tokens work and the folks at wikipedia are wrong. I don't care whether the wikipedia folks are right or wrong because I don't pay wikipedia any mind because I think wikipedia is a train wreck. I want to be right because I want to be knowledgeable so I can help myself and so I can help other people. --Mark.
On Tue, Jul 15, 2025 at 7:57 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
On 15/07/2025 15.40, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:34 PM Mark Filipak <markfilipak.imdb@gmail.com
wrote:
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Well, Paul, you're the expert. Are those two correct? If they are, then I'm right about how the tokens work and the folks at wikipedia are wrong. I don't care whether the wikipedia folks are right or wrong because I don't pay wikipedia any mind because I think wikipedia is a train wreck. I want to be right because I want to be knowledgeable so I can help myself and so I can help other people.
For 4:2:0 its for 4x4 luma block you have 2x2 block chroma Your attempts to explain it with ascii are comical.
--Mark.
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
On 15/07/2025 16.04, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:57 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
On 15/07/2025 15.40, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:34 PM Mark Filipak <markfilipak.imdb@gmail.com
wrote:
Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Well, Paul, you're the expert. Are those two correct? If they are, then I'm right about how the tokens work and the folks at wikipedia are wrong. I don't care whether the wikipedia folks are right or wrong because I don't pay wikipedia any mind because I think wikipedia is a train wreck. I want to be right because I want to be knowledgeable so I can help myself and so I can help other people.
For 4:2:0
its for 4x4 luma block you have 2x2 block chroma
No, no, not 4:2:0. Is my 4:4:1 correct? Is my 4:2:1 correct?
Your attempts to explain it with ascii are comical.
How so, Paul? Pictures is how I think. --Mark.
On 15/07/2025 16.04, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:57 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
On 15/07/2025 15.40, Paul B Mahol wrote:
On Tue, Jul 15, 2025 at 7:34 PM Mark Filipak <markfilipak.imdb@gmail.com
wrote:
KEY: ¤ —— Element exists in the field and is sampled • —— Element exists in the field but is not sampled —— (blank) Element doesn't exist in the field
>> Y element, pixels 0..3 / Cb element, pixels 0..3 / / Cr element, pixels 0..3 / / / 4:4:1 ¤¤¤¤ ¤¤¤¤ ¤¤¤¤ —— lines in field 0 ¤¤¤¤ ¤••• ¤••• —— lines in field 1
4:2:1 ¤¤¤¤ ¤•¤• ¤•¤• ¤¤¤¤ ¤••• ¤•••
Well, Paul, you're the expert. Are those two correct? If they are, then I'm right about how the tokens work and the folks at wikipedia are wrong. I don't care whether the wikipedia folks are right or wrong because I don't pay wikipedia any mind because I think wikipedia is a train wreck. I want to be right because I want to be knowledgeable so I can help myself and so I can help other people.
Not that you were on any hook, Paul, but I'm letting you off the hook. Of course you don't know whether my 4:4:1 and-or 4:2:1 are correct because you don't have any experience with such odd subsample formats. But I think I know how to get an answer. If you or anyone has a pro authoring tool and can create a video, any video, maybe 2 or 3 seconds, with 4:2:1 subsampling, I'll examine it and find out what's what. It's me versus wikipedia. I think I'm right about how to interpret subsample format. There's two reasons why I think I'm right. 1, I have a solution but wikipedia doesn't -- they say "except in rare irregular cases like 4:4:1 and 4:2:1, which do not follow this [their] convention". And 2, my solution works as well as theirs for the other subsample formats. So, what do you say? Can you or anyone make such a 2 or 3 second video and send it to me? --Mark.
Hi Mark Here are some article from Charles Poynton. https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf https://www.poynton.ca/PDFs/Merging_RGB_and_422.pdf And his books... Best regards Yann @@@ Yann CAINJO Photographie, photojournalisme, vidéo, prise de son, podcast & vidéo 360 VR Formateur en photographie et audiovisuel yann@yanncainjo.com http://www.yanncainjo.com Le mar. 15 juil. 2025, 20:00, Mark Filipak <markfilipak.imdb@gmail.com> a écrit :
Are these correct? Or, is there some official reference I can consult? --Mark.
On 16/07/2025 02.20, Yann Cainjo wrote:
Hi Mark
Here are some article from Charles Poynton.
https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf
https://www.poynton.ca/PDFs/Merging_RGB_and_422.pdf
And his books...
Best regards Yann
Hi Yann! Thanks for the links. That's in the spirit of friends helping friends. I like it! However, there are problems with what Poynton presents. Regarding 'Chroma_subsampling_notation.pdf', Poynton states, "The third digit has two possibilities. If the third digit is the same as the second digit, there is no vertical subsampling. If the third digit is zero, 2:1 vertical subsampling of both CB and CR is indicated." I ask, "What if the third digit isn't the same as the second digit and it isn't zero, either. What then?" Re: Figure 2, '4:2:2' and '4:1:1' and '4:2:0 (MPEG02 fr)' are shown centered on a luma pixel. That's impossible unless either 1: Subpixels are employed, or 2: Odd-even numerical averaging is employed. Subpixels are employed: Poynton says zero about subpixels. Certainly, no screen can show them without first creating a set of subpixels and then interpolating between them to derive the signal to the actual pixels, which can't move, but then, they're not the same Cb and Cr. If they're not the same Cb and Cr, he really needs to say it. Odd-even numerical averaging is employed: If this is true, then Poynton has some graphical deficiencies to clarify. Specifically, he needs to show not 4:4:4:4 but 4:4:4:4:4:4:4:4. Odd-even averaging is somewhat implied by discussions about aliasing, but again, he needs to say it. Certainly, odd-even scope averaging is the more probable method, except when it isn't. I will attempt to contact Charles Poynton to resolve these issues. --Mark.
Update. Regarding 'Chroma_subsampling_notation.pdf', Figure 2, '4:2:2', I just tried to make a 2-pixel wide Cb0-1 that's centered coincident with the center of Y0. It can't be done. So Poynton must be assuming some sort of subpixel functions are applied without mentioning it. Certainly the quality of his presentation is lacking. --Mark. On 16/07/2025 02.20, Yann Cainjo wrote:
Hi Mark
Here are some article from Charles Poynton.
https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf
https://www.poynton.ca/PDFs/Merging_RGB_and_422.pdf
And his books...
Best regards Yann
Hi Yann! Thanks for the links. That's in the spirit of friends helping friends. I like it! However, there are problems with what Poynton presents. Regarding 'Chroma_subsampling_notation.pdf', Poynton states, "The third digit has two possibilities. If the third digit is the same as the second digit, there is no vertical subsampling. If the third digit is zero, 2:1 vertical subsampling of both CB and CR is indicated." I ask, "What if the third digit isn't the same as the second digit and it isn't zero, either. What then?" Re: Figure 2, '4:2:2' and '4:1:1' and '4:2:0 (MPEG02 fr)' are shown centered on a luma pixel. That's impossible unless either 1: Subpixels are employed, or 2: Odd-even numerical averaging is employed. Subpixels are employed: Poynton says zero about subpixels. Certainly, no screen can show them without first creating a set of subpixels and then interpolating between them to derive the signal to the actual pixels, which can't move, but then, they're not the same Cb and Cr. If they're not the same Cb and Cr, he really needs to say it. Odd-even numerical averaging is employed: If this is true, then Poynton has some graphical deficiencies to clarify. Specifically, he needs to show not 4:4:4:4 but 4:4:4:4:4:4:4:4. Odd-even averaging is somewhat implied by discussions about aliasing, but again, he needs to say it. Certainly, odd-even scope averaging is the more probable method, except when it isn't. I will attempt to contact Charles Poynton to resolve these issues. --Mark.
Before I attempt to correspond with Charles Poynton, I want to give folks the opportunity to correct what I've written and to make additions. I plan to seek Charles Poynton's comments. I plan to ask specifically about his 4:2:2, 4:2:0, and 4:1:1, and whether Chroma_subsampling_notation.pdf assumes subpixel dither and averaging without saying so. --Mark. References: Wikipedia: https://en.wikipedia.org/wiki/Chroma_subsampling Poynton: https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf KEY: '•' : denotes a luma locus (i.e. a physical pixel location). '©' : denotes a chroma locus. '—' : there is no field there [1]. '©=©' : a single Cb Cr pair spans 2 pixels. '©=©=©=©' : a single Cb Cr pair spans 4 pixels. [1] There is no field data (i.e. no chroma pixels) for this field. If there is a first chroma field, the decoder copies it to the second chroma field, effectively halving vertical resolution for that chroma. If there is no first field (e.g. 4:0:0), then there are no chroma fields and composited pixels carry luma only. Shown next is the top-left corner of the sampled film. +—————————— | ¤ ¤ ¤ ¤ RGB samples | ¤ ¤ ¤ ¤ RGB samples | Shown next is Y, Cb, and Cr separated as element 'planes'. | Y Cb Cr | • • • • | © © © © | © © © © 4:4:4 | • • • • | © © © © | © © © © Poynton, Wikipedia | • • • • | © © © © | © © © © 4:4:2 | • • • • | ©=© ©=© | ©=© ©=© My conjecture | • • • • | © © © © | © © © © 4:4:1 | • • • • | ©=©=©=© | ©=©=©=© My conjecture | • • • • | © © © © | © © © © 4:4:0 | • • • • |———————— |———————— Wikipedia | • • • • | ©=© ©=© | ©=© ©=© 4:2:2 | • • • • | ©=© ©=© | ©=© ©=© Wikipedia | | +-- center is coincident with Y0(?) | | ¦ | .-- center is coincident with Y0(?) | • • |©=©• |©=©• 4:2:2 (BT.601) | • • |©=©• |©=©• Poynton | • • • • | ©=© ©=© | ©=© ©=© 4:2:1 | • • • • | ©=©=©=© | ©=©=©=© My conjecture | • • • • | ©=© ©=© | ©=© ©=© 4:2:1 (JPEG variant) | • • • • |———————— | ©=©=©=© Wikipedia | • • • • | ©=© ©=© | ©=© ©=© 4:2:0 (MPEG1, H.261) | • • • • |———————— |———————— Wikipedia | • • | ©=© | ©=© 4:2:0 (MPEG1, H.261) | • • |———— |———— Poynton | | +-- center is coincident with Y0(?) | | ¦ | .-- center is coincident with Y0(?) | • • |©=©• |©=©• 4:2:0 (MPEG2 frames) | • • |———— |———— Poynton | • • • • | ©=©=©=© | ©=©=©=© 4:1:1 | • • • • | ©=©=©=© | ©=©=©=© Wikipedia | | +-- center is coincident with Y0(?) | | ¦ | .-- center is coincident with Y2(?) | • • • • ©=©=©=©• • | •©=©=©=© 4:1:1 (480i) | • • • • ©=©=©=©• • | •©=©=©=© Poynton | • • • • |©=©=©=©• | •©=©=©=© 4:1:0 | • • • • |———————— |————————— My conjecture | • • • • |————————— |————————— 4:0:0 | • • • • |————————— |————————— My conjecture (monochrome) | • • • | ©=©=© | ©=©=© 3:1:1 (Sony) | • • • | ©=©=© | ©=©=© Poynton
On 2025-07-18 07:47, Mark Filipak wrote:
...I want to give folks the opportunity to correct what I've written and to make additions....
OK, I'll bite. In trying to follow along with this thread, i have had two difficulties: 1. not explaining the notation. It's great that your message of Fri, 18 Jul 2025 10:47:01 -0400 has a Key. That is a good start to explaining notation. But note that the first symbol you use is "¤", which is not in your Key. Also, you use terms like 4:2:2 and 4:1:1, without citing which notation system you are using. I observe that the Wikipedia article on Chroma subsampling mentions "schemes are not expressible in J:a:b notation. Instead, they adopt a Y:Cb:Cr notation". Both notations look syntactically identical. Which do you mean? When talking to an expert like Poynton, maybe this all goes without saying. But when trying to understand fundamentals, maybe it helps to be extra clear. 2. limiting yourself to character graphics. You are attempting to communicate about two-dimensional arrays of samples and loci. 2-D line graphics are a much clearer way of expressing those concepts than are character graphics. I suspect that limiting yourself to character graphics will limit your ability to express clearly what you are trying to say about two-dimensional concepts. Yes, making a line drawing is harder than making a character graphics diagram. It requires using a different tool than a text editor, for a start. But if you want to communicate clearly, maybe it is required. Now I am not an expert, so maybe my difficulties won't apply between you and Poynton. But this is my addition. Best regards, —Jim DeLaHunt
On 18/07/2025 14.37, Jim DeLaHunt wrote:
On 2025-07-18 07:47, Mark Filipak wrote:
...I want to give folks the opportunity to correct what I've written and to make additions....
OK, I'll bite.
In trying to follow along with this thread, i have had two difficulties:
1. not explaining the notation.
It's great that your message of Fri, 18 Jul 2025 10:47:01 -0400 has a Key. That is a good start to explaining notation. But note that the first symbol you use is "¤", which is not in your Key.
Good point. Thanks, Jim. I added that as an afterthought. I'll add it to the key.
Also, you use terms like 4:2:2 and 4:1:1, without citing which notation system you are using.
I think there's only one notation system. <Y_width>:<Cb_width>:<Cr_width> with the caveat that a width of zero means that the particular 'plane' doesn't exist in the pixel data.
2. limiting yourself to character graphics.
You make a valid point, but pixels lend themselves to character graphics (what some people call "texipix"). Pixels and monospace characters are both quantized and uniformly spaced. And there's no concern with how things are rendered.
Now I am not an expert, so maybe my difficulties won't apply between you and Poynton. But this is my addition.
Best regards, —Jim DeLaHunt
Thanks! --Mark.
Well, I found one mistake I made. 4:1:0 should be this: | • • • • | ©=©=©=© | ©=©=©=© 4:1:0 | • • • • | ——————— | ———————— My conjecture --Mark.
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.
Mark: On 2025-07-19 12:32, Mark Filipak wrote:
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.
As I read this draft, I don't see you asking any questions. You are just stating things as you understand them. What kind of response do you want from Poynton? I suggest you insert here a list of questions which afford concise answers. Number the questions. e.g. Q1. Is 4:4:2 subsampling correctly depicted in my diagram "4:4:2 conjecture" below? Q2. For 4:2:2 subsampling, I read a difference between your description and Wikipedia's. I have depicted them below in diagrams "4:2:2, Wikipedia" and "4:2:2 (BT.601), Poynton". As I read it, you imply that 4:2:2 subsampling involves sampling at a half-pixel offset from the luminance pixel locations, while Wikipedia implies sampling at luminance pixel locations. Do my diagrams depict you correctly? Am I correct that, in your understanding, 4:2:2 subsampling involves sampling at a half-pixel offset? [I do not claim that this is the right wording. I am only giving an example of a list of questions.]
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].
Your notation also apparently represents half pixel offsets like this: | ©== ©== |©== ©== When I saw this difference, I thought it was a formatting mistake. I suggest you add this notation to your key.
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. | • • • • | ©== ©== | ©== ©==
…[elided]…
| • • • • | ©== ©== | ©== ©== 4:2:2, Wikipedia. | • • • • | ©== ©== | ©== ©==
| • • • • |©== ©== |©== ©== 4:2:2 (BT.601), Poynton. | • • • • |©== ©== |©== ©== [2]
…[elided]…
| • • • • ©====== | ©====== 4:1:1 (480i), Poynton. | • • • • ©====== | ©====== [2]
There is no vertical line to the left of the Cb section in the diagram for "4:1:1 (480i), Poynton". Is that difference intentional? If so, what does it signify?
| • • • • | ©====== | ©====== 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.
I hope you are successful in getting expert clarification, and in updating the Wikipedia article. I suggest you ask a followup question of Poynton: for any differences with the WIkipedia article which he identifies, ask if he can suggest reliable sources[3] which documents those differences. What you are doing here sounds like what Wikipedia would call Original Research[4]. Wikipedia deals in verifiability, rather than the truth[5], for deep philosophical reasons. Thus, your improvements to Wikipedia are of most value if you can back them up with citations to reliable sources. [3] <https://en.wikipedia.org/wiki/Wikipedia:Reliable_sources> [4] <https://en.wikipedia.org/wiki/Wikipedia:No_original_research> [5] <https://en.wikipedia.org/wiki/Wikipedia:Verifiability,_not_truth> Best regards, —Jim DeLaHunt
On 19/07/2025 16.14, Jim DeLaHunt wrote: Some excellent suggestions. Thanks, Jim. The latest draft follows. 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 simplify the description and to expand the scope to include the notations that I call "conjectures", below. 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 on ffmpeg-user or Wikipedia or anywhere else without your expressed permission. Note however that I have posted drafts of this message on ffmpeg-user for comments. 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? Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your descriptions and Wikipedia's. As I see it, you show sampling that's a half-pixel offset to the left. Do my diagrams correctly depict your judgment? Thank you. I hope you respond but I also hope you don't spend much time on the response. 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 samples 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.
Here's my latest revision preceded by some of my ramblings. Oh, Brother, showing pixels as areas of light really is a siren enticing me to go overboard and swim to the island. But it's death that's on the island. I've had to remind myself, over and over, that pixels are 'dimensionless' points of light, that a 4-by-1 array of pixels is a line of dots, not an area, that a 4-by-2 array of pixels is 2 lines of dots, not an area. That dots, not areas, are sampled. That dots, not areas, are seen. With each step I take I'm amazed by how I led myself astray in the past, only to realize that I'm still leading myself astray on some unquestioned aspect. Pixels don't move. A line of 4 pixels, as a unit, doesn't mean that their sample point was half-way between the 2nd and 3rd pixel. "Of course", you say. "There's center-sample and left-sample and corner-sample". "Sure," I say, "but in those pretty pictures, the sampling points aren't shown. We know that RGB samples are taken just once, at the loci of the luma pixels, but some of what I've seen looks impossible." Sampling. Such a simple thing. How can so many get it so wrong for so long? 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 simplify the description and to expand the scope to include the five notations that I label "conjecture", below. 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 on ffmpeg-user or Wikipedia or anywhere else any replies you may make without your expressed permission. Note however that I have posted drafts of this message on ffmpeg-user, prompting for comments. 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? Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your descriptions and Wikipedia's. As I see it, you show chroma samples that are a half-pixel offset to the left. Do my diagrams correctly depict your judgment? Thank you. I hope you respond but I also wish to not burden you. Warm Regards, Mark Filipak. 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 chroma sample overlapped by a 2-chroma unit. : © = = = : a chroma sample overlapped by a 4-chroma unit. : ©= = = = : a sample made 1/2 pixel to the left of a 4-chroma unit. : © = = = = : a sample made 3/2 pixels to the left of a 4-chroma unit. : ©= = : a sample made 1/2 pixel to the left of a 2-chroma unit. : ©= =©= = : the same, plus another one. : ——[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.
On Mon, Jul 21, 2025 at 6:55 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
Here's my latest revision preceded by some of my ramblings.
Oh, Brother, showing pixels as areas of light really is a siren enticing me to go overboard and swim to the island. But it's death that's on the island.
I've had to remind myself, over and over, that pixels are 'dimensionless' points of light, that a 4-by-1 array of pixels is a line of dots, not an area, that a 4-by-2 array of pixels is 2 lines of dots, not an area. That dots, not areas, are sampled. That dots, not areas, are seen. With each step I take I'm amazed by how I led myself astray in the past, only to realize that I'm still leading myself astray on some unquestioned aspect.
Pixels don't move. A line of 4 pixels, as a unit, doesn't mean that their sample point was half-way between the 2nd and 3rd pixel. "Of course", you say. "There's center-sample and left-sample and corner-sample". "Sure," I say, "but in those pretty pictures, the sampling points aren't shown. We know that RGB samples are taken just once, at the loci of the luma pixels, but some of what I've seen looks impossible."
Sampling. Such a simple thing. How can so many get it so wrong for so long?
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 simplify the description and to expand the scope to include the five notations that I label "conjecture", below.
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 on ffmpeg-user or Wikipedia or anywhere else any replies you may make without your expressed permission. Note however that I have posted drafts of this message on ffmpeg-user, prompting for comments.
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?
Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your descriptions and Wikipedia's. As I see it, you show chroma samples that are a half-pixel offset to the left. Do my diagrams correctly depict your judgment?
Thank you. I hope you respond but I also wish to not burden you.
Warm Regards, Mark Filipak.
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 chroma sample overlapped by a 2-chroma unit. : © = = = : a chroma sample overlapped by a 4-chroma unit.
Why chroma overlaps chroma? Nonsense. Chroma U/V dimensions are same. Only Y dimension can be bigger.
: ©= = = = : a sample made 1/2 pixel to the left of a 4-chroma unit. : © = = = = : a sample made 3/2 pixels to the left of a 4-chroma unit. : ©= = : a sample made 1/2 pixel to the left of a 2-chroma unit. : ©= =©= = : the same, plus another one. : ——[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-request@ffmpeg.org with subject "unsubscribe".
On 21/07/2025 15.46, Paul B Mahol wrote:
On Mon, Jul 21, 2025 at 6:55 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
Here's my latest revision preceded by some of my ramblings.
Oh, Brother, showing pixels as areas of light really is a siren enticing me to go overboard and swim to the island. But it's death that's on the island.
I've had to remind myself, over and over, that pixels are 'dimensionless' points of light, that a 4-by-1 array of pixels is a line of dots, not an area, that a 4-by-2 array of pixels is 2 lines of dots, not an area. That dots, not areas, are sampled. That dots, not areas, are seen. With each step I take I'm amazed by how I led myself astray in the past, only to realize that I'm still leading myself astray on some unquestioned aspect.
Pixels don't move. A line of 4 pixels, as a unit, doesn't mean that their sample point was half-way between the 2nd and 3rd pixel. "Of course", you say. "There's center-sample and left-sample and corner-sample". "Sure," I say, "but in those pretty pictures, the sampling points aren't shown. We know that RGB samples are taken just once, at the loci of the luma pixels, but some of what I've seen looks impossible."
Sampling. Such a simple thing. How can so many get it so wrong for so long?
: © = : a chroma sample overlapped by a 2-chroma unit. : © = = = : a chroma sample overlapped by a 4-chroma unit.
Why chroma overlaps chroma? Nonsense.
Thanks, Paul. Yeah, I don't like that either. What do you think of this wording? : © : 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.
Chroma U/V dimensions are same. Only Y dimension can be bigger.
Do you mean that the number of Cb pixels must be equal the number of Cr pixels? That's not what I'm seeing. --Mark. The latest. 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 simplify the description and to expand the scope to include the five notations that I label "conjecture", below. 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 on ffmpeg-user or Wikipedia or anywhere else any replies you may make without your expressed permission. Note however that I have posted drafts of this message on ffmpeg-user, prompting for comments. 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? Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your descriptions and Wikipedia's. As I see it, you show chroma samples that are a half-pixel offset to the left. Do my diagrams correctly depict your judgment? Thank you. I hope you respond but I also wish to not burden you. Warm Regards, Mark Filipak. 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.
On Mon, Jul 21, 2025 at 9:17 PM Mark Filipak <markfilipak.imdb@gmail.com> wrote:
On 21/07/2025 15.46, Paul B Mahol wrote:
On Mon, Jul 21, 2025 at 6:55 PM Mark Filipak <markfilipak.imdb@gmail.com
wrote:
Here's my latest revision preceded by some of my ramblings.
Oh, Brother, showing pixels as areas of light really is a siren enticing me to go overboard and swim to the island. But it's death that's on the island.
I've had to remind myself, over and over, that pixels are 'dimensionless' points of light, that a 4-by-1 array of pixels is a line of dots, not an area, that a 4-by-2 array of pixels is 2 lines of dots, not an area. That dots, not areas, are sampled. That dots, not areas, are seen. With each step I take I'm amazed by how I led myself astray in the past, only to realize that I'm still leading myself astray on some unquestioned aspect.
Pixels don't move. A line of 4 pixels, as a unit, doesn't mean that their sample point was half-way between the 2nd and 3rd pixel. "Of course", you say. "There's center-sample and left-sample and corner-sample". "Sure," I say, "but in those pretty pictures, the sampling points aren't shown. We know that RGB samples are taken just once, at the loci of the luma pixels, but some of what I've seen looks impossible."
Sampling. Such a simple thing. How can so many get it so wrong for so long?
: © = : a chroma sample overlapped by a 2-chroma unit. : © = = = : a chroma sample overlapped by a 4-chroma unit.
Why chroma overlaps chroma? Nonsense.
Thanks, Paul. Yeah, I don't like that either. What do you think of this wording?
: © : 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.
Chroma U/V dimensions are same. Only Y dimension can be bigger.
Do you mean that the number of Cb pixels must be equal the number of Cr pixels? That's not what I'm seeing.
Number of Cb pixels === Number of Cr pixels, ALWAYS!
--Mark.
The latest.
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 simplify the description and to expand the scope to include the five notations that I label "conjecture", below.
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 on ffmpeg-user or Wikipedia or anywhere else any replies you may make without your expressed permission. Note however that I have posted drafts of this message on ffmpeg-user, prompting for comments.
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?
Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your descriptions and Wikipedia's. As I see it, you show chroma samples that are a half-pixel offset to the left. Do my diagrams correctly depict your judgment?
Thank you. I hope you respond but I also wish to not burden you.
Warm Regards, Mark Filipak.
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-request@ffmpeg.org with subject "unsubscribe".
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? Thanks, Paul --Mark.
On Mon, Jul 21, 2025 at 10:12 PM Mark Filipak <markfilipak.imdb@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.
Thanks, Paul --Mark.
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
On 21/07/2025 18.54, Paul B Mahol wrote:
On Mon, Jul 21, 2025 at 10:12 PM Mark Filipak <markfilipak.imdb@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? 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? 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.
On Mon, Jul 21, 2025 at 11:12 PM Mark Filipak <markfilipak.imdb@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.imdb@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-request@ffmpeg.org with subject "unsubscribe".
participants (4)
-
Jim DeLaHunt -
Mark Filipak -
Paul B Mahol -
Yann Cainjo