BUG? Project Media "Color Depth" displaying half of what it should

NickHope wrote on 4/1/2017, 11:20 PM

As I understand it, the Color Depth reported in the Project Media window should be a summation of the bit-depth per red, green, blue and alpha channel.

Hence I have DV .avi files which are correctly reported as "24" (R8+G8+B8) and Cineform .avi files which are correctly reported as "32" (R8+G8+B8+A8).

However my HDV .m2t files and my UHD .mp4 files are reported as "12", when they should be "24". And now 10-bit HEVC files are reported as "15", when they should be "30" (R10+G10+B10) (thank you @D7K for spotting this).

To add to the confusion, the color depth is wrongly reported as "32" for both 8 and 10-bit HEVC in the Attributes section Media Properties. e.g. "1920x1088x32"

Any explanation for this or is it simply a bug?

If this is a bug, it's been with us since at least VP10.

To see the "Color Depth" column, right-click on a column header in the Project Media window and choose View.

Comments

Jam_One wrote on 4/2/2017, 12:35 PM

OK, the Media Color Depth is about Stored/compressed Bitness.

(NV12 is not exactly 24-bit-worth inside. Especially remembering the 3 pixels out of every 4 do carry only luma while don't carry any chroma information at all.)

The value below the Preview window is about Project Bitness, it seems to be OK too.

So, the value below the Media List is the only left to be understood. It is intuitively supposed to mean the Decompressed Bitness, but in this case the 10 bit video would be (straight forward) expected to display 30 or 40.

I didn't work much with anything above "8 bit", so I had no chance before to have doubts it is about Decompressed Bitness.

Last changed by Jam_One on 4/2/2017, 1:41 PM, changed a total of 1 times.

Win 7 Ultimate | Intel i7-4790K @ 4GHz | nVidia GTX 760 4GB * 2

SSD | 32 GB RAM | No Swap file | No Overclock | GPU-in-CPU OFF

t.A.T.u. F.o.R.e.V.e.R.!

 

NickHope wrote on 4/2/2017, 1:17 PM
...(NV12 is not exactly 24-bit-worth inside. Especially remembering the 3 pixels out of every 4 do not carry any luma information at all.)...

Thanks for the reply. I think you mean chroma, not luma. As I understand it, in a 4:2:0 image the chroma value is shared between square blocks of 4 pixels, but each pixel has its own luma value.

Are you saying that the 3 pixels that share the 1st pixel's chroma have effectively 1/3 of the 1st pixel's color depth (luma only, no chroma), and so Vegas is averaging the color depth of all the pixels and comparing it to what the value would be for 4:4:4 (i.e. comparing the bandwidth required for each uncompressed signal)? Seems plausible, but then it's not doing that for DV, which is also 4:2:0.

Chroma subsampling and color bit depth are not my strong point. Am I right to think uncompressed 4:2:0 uses half the bandwidth of 4:4:4 (for the same color depth)?

Jam_One wrote on 4/2/2017, 1:40 PM

Yes, thank you very much, you are correct:

the chroma value is shared between square blocks of 4 pixels, but each pixel has its own luma value.

(I was in a hurry too much. Going to correct my post to prevent misleading. Excuse me, everybody!)

So, we effectively have one 24bit pixel accompanied by the three 8bit pixels in a group of four.

This gives us (24 + (3*8)) / 4 = 12 bits average value.

 

Are you saying that the 3 pixels that share the 1st pixel's chroma have effectively 1/4 of the 1st pixel's color depth...

1/3 of the 1st pixel's depth?

Am I right to think uncompressed 4:2:0 uses half the bandwidth of 4:4:4 (for the same color depth)?

Haven't done lots of this math in the near past :))) But arithmetically 96/48=2 you seem to be absolutely right! :)))

DV is quite a special story. Unfortunately, an url about DV I stored in my "favorites" is no longer up... In short, I suppose Vegas shows us the data output by codec (which is a pretty normal idea), and DV codec outputs the image as upsampled to 4:4:4.

 

 

Last changed by Jam_One on 4/2/2017, 2:07 PM, changed a total of 3 times.

Win 7 Ultimate | Intel i7-4790K @ 4GHz | nVidia GTX 760 4GB * 2

SSD | 32 GB RAM | No Swap file | No Overclock | GPU-in-CPU OFF

t.A.T.u. F.o.R.e.V.e.R.!

 

NickHope wrote on 4/2/2017, 1:57 PM

Thanks again. Makes sense.

It seems a bit unconventional for Vegas to be reporting color depth in this way. The world in general talks about "8-bit 4:2:0", "10-bit 4:2:2" etc.. Perhaps it would be better if Vegas started reporting in that fashion.

Anyway the questions still remain about 4:2:0 DV .avi reported as "24", and 10-bit HEVC showing "32" in the media properties.

Jam_One wrote on 4/2/2017, 2:13 PM

It seems a bit unconventional for Vegas to be reporting color depth in this way.

Actually, from my personal point of view, it looks more scientific.

I believe it is not needed for... errr... gamers in Vegas Movie Studio (no offense intended), but in Pro version it's OK to see "what the stored pixel format we are dealing with today".

I mean, when it comes to color grading, there is a difference between 8bit-real color (24 per pixel) on one hand and 3bit-average (12 average per pixel) presented as "8bit color" on the other hand. This difference may potentially influence somebody's decisions on one's workflow.

Last changed by Jam_One on 4/2/2017, 2:28 PM, changed a total of 4 times.

Win 7 Ultimate | Intel i7-4790K @ 4GHz | nVidia GTX 760 4GB * 2

SSD | 32 GB RAM | No Swap file | No Overclock | GPU-in-CPU OFF

t.A.T.u. F.o.R.e.V.e.R.!

 

john_dennis wrote on 4/2/2017, 3:57 PM

I'm too distracted to do the math today. Does the theory hold up in these two examples?
XAVC-I

MPEG-PS from DVD

 

Jam_One wrote on 4/2/2017, 4:29 PM

...So?... What about these two examples?

Regarding DVD I know for sure its YV12 unless this DVD is non-compliant.

8bit? It is Per Channel resolution, not per pixel.

The channels are clearly declared to be YUV -- the internal nature of almost every normal video -- they all become RGB while being decompressed (with exception of some specific RGB compressed/uncompressed formats).

Four pixels in a square group share the same UV value in 4:2:0 case.
Two pixels in a row share the same UV value in 4:2:2 case.
All four pixels in a square group carry unique Y value in both cases.

More strictly speaking, "YUV" is a loose description, the exact scientific one would be YCbCr. But... it's not a really big deal.

...Anyways...

For subsampling scheme 4:2:2 we will have (2 * (24 + 8)) / 4 = 16 bits average value.

 

_________

P.S.:
...And that's not just "theory", it's also a "practice"...

_________________________________
* Corrected erroneous NV12 to the right YV12 *

Last changed by Jam_One on 4/4/2017, 5:10 AM, changed a total of 3 times.

Win 7 Ultimate | Intel i7-4790K @ 4GHz | nVidia GTX 760 4GB * 2

SSD | 32 GB RAM | No Swap file | No Overclock | GPU-in-CPU OFF

t.A.T.u. F.o.R.e.V.e.R.!

 

Marco. wrote on 4/2/2017, 4:57 PM

Mmh, there are 10 bit 4:2:2 clips (MXF AVC) which Vegas Pro reports as 32 bit

and other 10 bit 4:2:2 clips (MP4 AVC) which Vegas Pro reports as 16 bit.

NickHope wrote on 4/2/2017, 10:31 PM
 

Are you saying that the 3 pixels that share the 1st pixel's chroma have effectively 1/4 of the 1st pixel's color depth...

1/3 of the 1st pixel's depth?

Yes! Of course. 1/3 not 1/4. Realised this as I was climbing into bed last night and then apparently dreamed about chroma sampling and bit depth as, sadly, it was the first thing I thought about this morning when I woke up. Have edited my comment.

So to recap on the initial issue, the figure reported in the Color Depth column of the Project Media window is the average total-bit-depth per pixel, and not a summation of the individual R/G/B/A channel bit-depths for the stream. And DV is a special case.

However I'm struggling to find any consistent logic in the color depth figures reported in the media properties. The Help says that figure is "..the color depth... of the file". If anyone from Magix is reading, please comment.

If anyone, like me, is wondering what NV12 is, the technical answer is here or here.

And this helps understand chroma subsampling:

Jam_One wrote on 4/4/2017, 5:17 AM

I have to apologize.
I am sorry, I made an error.
Please disregard "NV12", it is wrong / mistyped identification.
The correct one is YV12.

YV12 at FOURCC.ORG . YV12 at VIDEOLAN.ORG

__________________
P.S.: By the way, Nick Hope provides excellent information again!