# More SMPTE Color Bars

1. Here are the Y,Cb,Cr values for black, taken straight out of SMPTE RP-219, Annex B, Pattern 3:

Y = 16, Cb = 128, Cr = 128

Applying calculation #1 returns R=0,G=0,B=0 (Kr, Kg and Kb are the coefficients):

Is this right for SMPTE color bars?

Calculation #1:
Code:
```R= (255/219)*Y + (255/112)*Cr*(1-Kr) - (255*16/219 + 255*128/112*(1-Kr))

G= (255/219)*Y  - (255/112)*Cb*(1-Kb)*Kb/Kg - (255/112)*Cr*(1-Kr)*Kr/Kg - (255*16/219 - 255/112*128*(1-#Kb)*#Kb/#Kg - 255/112*128*(1-Kr)*Kr/Kg)

B= (255/219)*Y + (255/112)*Cb*(1-Kb) - (255*16/219 + 255*128/112*(1-Kb))```
Applying calculation #2 returns R=16,G=16,B=16:

Calculation #2:
Code:
```R = Y + 2*(Cr-128)*(1-Kr)

G = Y - 2*(Cb-128)*(1-Kb)*Kb/Kg - 2*(Cr-128)*(1-Kr)*Kr/Kg

B = Y + 2*(Cb-128)*(1-Kb)```
Which is correct? I would think calculation #2 is correct, returning R=16,G=16,B=16.
2. Both are correct

YCbCr 16,128,128 should result in

RGB 0,0,0 for computer range RGB
RGB 16,16,16 for studio range RGB

Most people using computers will have a display and graphics card set to output 0-255, so Calculation #1 is correct for that scenario
3. Most people using computers will have a display and graphics card set to output 0-255
Professional video facilities, such as the one I've worked at for 29 years, are designed to comply with BT.709. This means black at RGB 16-16-16. These are not just broadcast stations but facilities that produce programming for the networks including CBC, or post-production facilities producing spots for big advertising clients. I should have specified BT.709 in the o.p.

If a video is going no further than YouTube then who cares?

We've debated this in the past.

Here's what we get for yellow:

Y, Cb, Cr 168,44,136

0 - 255 range:
RGB 191,191,0

BT.709 range:
RGB 181,180,12

Thanks for the reality check.
4. Originally Posted by chris319
Most people using computers will have a display and graphics card set to output 0-255
Professional video facilities, such as the one I've worked at for 29 years, are designed to comply with BT.709. This means black at RGB 16-16-16. These are not just broadcast stations but facilities that produce programming for the networks including CBC, or post-production facilities producing spots for big advertising clients. I should have specified BT.709 in the o.p.

If a video is going no further than YouTube then who cares?

Maybe a station has a youtube channel. Almost major TV stations do. Not just youtube either; most have internet streaming on their own sites as well

That's the point - you need to be aware of both - instead of singularly focused on one, ignoring everything else. Ignoring important facts is what can lead you down a path to make mistakes

Here's what we get for yellow:

Y, Cb, Cr 168,44,136

0 - 255 range:
RGB 191,191,0

BT.709 range:
RGB 181,180,12
Looks right
5. Maybe a station has a youtube channel.
We post videos on YouTube as well as on our own web site. They are all BT.709 compliant because they are produced that way.

There is no requirement that YouTube or any on-line video be in the 0 - 255 range. If YouTube/Vimeo alters the levels after we upload it, that's out of our hands.
6. Originally Posted by chris319
Maybe a station has a youtube channel.
We post videos on YouTube as well as on our own web site. They are all BT.709 compliant because they are produced that way.

Most videos are produced that way, legal range Y16-235, CbCr16-240

And that's why you or someone at the station should "care". If you have a web presence you should "care."

There is no requirement that YouTube or any on-line video be in the 0 - 255 range. If YouTube/Vimeo alters the levels after we upload it, that's out of our hands.

Almost all end distribution video formats are in YUV. The rp219 chart values are specified in YUV values

Youtube or some host website is not doing the RGB conversion - they stream YUV video too .

(But they can alter YUV levels. A semi common example is the full range flag - this will cause YT to clamp YUV levels)

There are multiple points where the actual RGB conversion can occur. Sometimes it's flash that does the RGB conversion, or sometimes HTML5, sometimes it's the result of GPU setting in GPU accelerated decoding, sometimes the browser is actually responsible

If the colors are wrong, or levels are wrong, investigate it or get your IT person to investigate it. Being aware of how and what conversions are being performed can help you pinpoint and debug problems.

99.999% of computers will be using computer range RGB, and that should be used as the working assumption for everything internet on viewed on a computer .

People that have multiple monitors , HD-SDI out on a studio display monitor will know this already. That preview monitor should be calibrated and adjusted using studio range RGB
7. I don't know why you're arguing.

We produce our material to BT.709 specs for broadcast. Some of it gets uploaded to YouTube and some to our own web site. So what's the big deal? We don't have the time or personnel to massage everything we upload to 0 - 255. Management considers it perfectly watchable.

Again, if YouTube alters it, it's out of our hands.

I use the RGB values to generate my own test signals as you probably know by now. Nothing to do with the station or the company.
8. Originally Posted by chris319
I don't know why you're arguing.
I'm not arguing anything... carry on
9. Most really good facilities test against multiple references...

Audio recording studios have NS-10s and check for mono compatibility, even though they master to their surround Genelecs.

TV stations have their studio grade Trinitrons (I'm dating myself here I know), but they also have a run-of-the-mill consumer on-air fed tv as confidence.

Web developers may have awesome color-corrected monitors with the newest current main browsers, but they will often have multiple side monitors that are running old version, or odd brand browsers, and emulations of multiple different resolutions & device color capabilities.

And production/post studios do (and SHOULD) have both 601- & 709- (and now 2020-, p3-, or aces-) referenced and regularly calibrated studio monitors, but they ought also to have regular full level (0-255) RGB, both calibrated and not. That way, nothing irregular is put out by accident/unexpectedly.

But you know this already, right?

Scott
10. Originally Posted by poisondeathray
I'm not arguing anything... carry on
Thank you for your help with the ffmpeg script. I learned a lot. The script now gives me what I want.

Thanks again.
11. Originally Posted by Cornucopia
......
Web developers may have awesome color-corrected monitors with the newest current main browsers,
okay

but they will often have multiple side monitors that are running old version, or odd brand browsers, and emulations of multiple different resolutions & device color capabilities.
I doubt that. Since "some time before 1975" many (¿most?) web devilopers create code which is supposed to work only with the n00bish browsers (namely, Firefox, Safari and Chrome) plus the smartphone "apps", and when your browser is not n00bish their javascript will just tell you to "upgrade" to the latest and greatest Google's /Mozilla's /Apple's garbage.

12. 1975??
The www didn't really get going until NCSA's Mosaic in '93-'94.

Doubt what you want - there's a lot of variety in such a big industry - but I am quite intimately familiar with web dev team best practices, for many years now.

Scott
13. TV stations have their studio grade Trinitrons (I'm dating myself here I know), but they also have a run-of-the-mill consumer on-air fed tv as confidence.
We don't. We are a network O&O and we have professional demodulators feeding monitors in M.C. for confidence on each of our digital channels and subchannels. If there is video breakup we see it on those monitors.

There are consumer TV sets around the newsroom for reporters to watch news feeds but not for engineers to judge video quality or for "confidence".

We don't deal with BT.601 on the main channel any more. The subchannels run 4:3 SD programming from outside sources. Most of the programming was originally produced as 4:3 analog NTSC.

We had an SD sat receiver as a backup receiver for the network and some HD sat receivers sitting idle in racks, so I became the squeaky wheel and had them deploy one of the idle HD receivers.
14. Here are the references I've been looking for:

BT.601 section 2.5.4

BT.709 section 3.4

RD (GD,BD) = int(219 * E(R,G,B) + 16)

so for 75% bars, R (G,B) = int((219 * 0.75) + 16) = 180

Statistics