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?

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.


_______________________________________________
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".

Reply via email to