Jump to content

Cineform: YUV 10 Bit or RGB 12 bit

Guarino
Go to solution Solved by mariushm,

The quality difference between 10bit and 12bit will be extremely small, but the software will be much slower in general... it's not worth it.

 

With 10 bit per color/element it's possible for software to make lots of optimizations, for example they can pack a pixel into a 32 bit variable  ( 3 x 10 bit + 2 bits padding) and it also makes it possible to do much faster conversions between YCbCr 4:4:4 to 4:2:2 or 4:2:0  ... these conversions work with groups of 4 pixels so it's super easy to just play around with 32 bit blocks of data, or put 4 x 30 = 120 bits into 16 bytes ( 15 x 8 = 120 bits + 8 bits of padding for a nice round 16 bytes)

 

Having 32bit chunks of stuff makes it possible to process blocks of image with instructions like SSE and AVX more easily compared to 12 bit formats, and it also makes it easy to "upload" data to video cards - think faking the 10bit image as a texture with 32 bit per pixel (3 x 8bit per pixel + 8 bit transparency) and applying shaders and opencl magic on the texture/data for hardware acceleration)

 

with 12bit each pixel is 36 bits, so it must be packed into a 5 byte variable (actually most software at this point will just use 2 bytes per color/element) so lots of things are simply much slower.

 

 

Hey guys, i want to edit some videos taken with a DSLR and a Smartphone (all in 4k) during a trip. As it turns out, my pc is not quite ready for handling 4k editing, so it is a little sketchy to work on the timeline. Following LTT i discovered the CineForm codec, and it should solve my problems throwing in the GPU to better handle the videos in the timeline. But i discovered there are 2 (or 3 really) option to choose CineForm: YUV 10 bit or RGB 12 bit? Assuming those refer to the color space to work with, and assuming i shot the video with normal equipment and not going to do any professional color grading work on the footage, i should be ok with the YUV 10 bit one, right?

 

Also i wanted to know if i have to export the final video in CineForm and then convert to H.264, or can i directly export to H.264?

 

I'm fairly new to this kind of work, so i'm sorry if i said some noobish things :P 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Guarino said:

-SNIP-

Hi

 

Ok...

What DSLR are you using that shoot 4k video?

 

As for your main questions:

 

I would go with RGB 12 bit for just the great color range and accuracy

 

You can export directly to H.264.

LTT goes via Cineform to H.264 for some weird reason which if i was to fully explain, would take many hours and confuse the heck out of you

Roses are red

My name is Roy

We caught the alligator that ate the De Luca boy

Link to comment
Share on other sites

Link to post
Share on other sites

yuv 10 bit will be more compatible and more stuff will work natively with that , other plugins or software applications would have to convert the rgb 12bit to something else to work on it.

and 10bit is enough for the quality your smartphone produces, even for your dslr (unless maybe it can produce raw and/or with separate slog data or something like that)

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, UberGamerKing said:

What DSLR are you using that shoot 4k video?

My father currently own a GH4, and i shot some footage to test my Yi M1

 

Quote

I would go with RGB 12 bit for just the great color range and accuracy

as i said, i won't do any work to color correct (or grade) at a professional level, so why to prefer RGB 12 bit against YUV 10 bit? (RGB 12 bit should take more time to transcode and the file should be bigger if i understood something, right?)

 

Quote

You can export directly to H.264.

LTT goes via Cineform to H.264 for some weird reason which if i was to fully explain, would take many hours and confuse the heck out of you

dang it, i am curious now

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Guarino said:

as i said, i won't do any work to color correct (or grade) at a professional level, so why to prefer RGB 12 bit against YUV 10 bit? (RGB 12 bit should take more time to transcode and the file should be bigger if i understood something, right?

FIle sizes will be larger, but only 20% at max

 

Having 12 bit color means when you do your final encode/transcode, the color will be closer and more accurate to what they were in an un-compressed format

Roses are red

My name is Roy

We caught the alligator that ate the De Luca boy

Link to comment
Share on other sites

Link to post
Share on other sites

The quality difference between 10bit and 12bit will be extremely small, but the software will be much slower in general... it's not worth it.

 

With 10 bit per color/element it's possible for software to make lots of optimizations, for example they can pack a pixel into a 32 bit variable  ( 3 x 10 bit + 2 bits padding) and it also makes it possible to do much faster conversions between YCbCr 4:4:4 to 4:2:2 or 4:2:0  ... these conversions work with groups of 4 pixels so it's super easy to just play around with 32 bit blocks of data, or put 4 x 30 = 120 bits into 16 bytes ( 15 x 8 = 120 bits + 8 bits of padding for a nice round 16 bytes)

 

Having 32bit chunks of stuff makes it possible to process blocks of image with instructions like SSE and AVX more easily compared to 12 bit formats, and it also makes it easy to "upload" data to video cards - think faking the 10bit image as a texture with 32 bit per pixel (3 x 8bit per pixel + 8 bit transparency) and applying shaders and opencl magic on the texture/data for hardware acceleration)

 

with 12bit each pixel is 36 bits, so it must be packed into a 5 byte variable (actually most software at this point will just use 2 bytes per color/element) so lots of things are simply much slower.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, Guarino said:

Hey guys, i want to edit some videos taken with a DSLR and a Smartphone (all in 4k) during a trip. As it turns out, my pc is not quite ready for handling 4k editing, so it is a little sketchy to work on the timeline. Following LTT i discovered the CineForm codec, and it should solve my problems throwing in the GPU to better handle the videos in the timeline. But i discovered there are 2 (or 3 really) option to choose CineForm: YUV 10 bit or RGB 12 bit? Assuming those refer to the color space to work with, and assuming i shot the video with normal equipment and not going to do any professional color grading work on the footage, i should be ok with the YUV 10 bit one, right?

 

Also i wanted to know if i have to export the final video in CineForm and then convert to H.264, or can i directly export to H.264?

 

I'm fairly new to this kind of work, so i'm sorry if i said some noobish things :P 

Did you film into an internal memory card on the GH4 or used an external video recorder via the HDMI output?  The GH4 offers a 10-bit signal via HDMI out at best, and onto an internal memory card 4:2:2 8-bit.

 

You won't gain any advantage or benefits in transcoding to a 12-bit version of a codec.

 

If your computer can't handle the 4K files, just produce lower resolution proxies to work with, such as 720p versions.  Then upon final export replace those proxy files with the full res versions.

https://blogs.adobe.com/creativecloud/taking-advantage-of-new-proxy-workflows-in-premiere-pro-cc/

That is not dead which can eternal lie.  And with strange aeons even death may die. - The Call of Cthulhu

A university is not a "safe space". If you need a safe space, leave, go home, hug your teddy & suck your thumb until ready for university.  - Richard Dawkins

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, UberGamerKing said:

I would go with RGB 12 bit for just the great color range and accuracy

The GH4 is capable of offering a 10-bit video file at best using an external recorder like an Atomos Shogun, transcoding to a 12-bit version of a codec offers no benefits.

That is not dead which can eternal lie.  And with strange aeons even death may die. - The Call of Cthulhu

A university is not a "safe space". If you need a safe space, leave, go home, hug your teddy & suck your thumb until ready for university.  - Richard Dawkins

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, AkiraDaarkst said:

Did you film into an internal memory card on the GH4 or used an external video recorder via the HDMI output?  The GH4 offers a 10-bit signal via HDMI out at best, and onto an internal memory card 4:2:2 8-bit.

 

You won't gain any advantage or benefits in transcoding to a 12-bit version of a codec.

 

If your computer can't handle the 4K files, just produce lower resolution proxies to work with, such as 720p versions.  Then upon final export replace those proxy files with the full res versions.

https://blogs.adobe.com/creativecloud/taking-advantage-of-new-proxy-workflows-in-premiere-pro-cc/

I filmed on a memory card, since thise shots were taken on the go...ty for the proxies suggestion.

Link to comment
Share on other sites

Link to post
Share on other sites

On 22.2.2017 at 5:23 PM, zMeul said:

if you're exporting in H264 I guess it's won't matter at all since it doesn't support those color spaces

H264 supports 4:4:4 chroma and up to 14bit per pixel.

 

4:4:4 chroma and 10bit per pixel can be achieved with the free x264 10bit encoder

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, .spider. said:

H264 supports 4:4:4 chroma and up to 14bit per pixel.

 

4:4:4 chroma and 10bit per pixel can be achieved with the free x264 10bit encoder

from my own research those are not standard

10bit H264 Handbrake only works with custom DLLs on nightly builds

Link to comment
Share on other sites

Link to post
Share on other sites

20 minutes ago, zMeul said:

from my own research those are not standard

10bit H264 Handbrake only works with custom DLLs on nightly builds

Like I said it requires a 10bit version of x264 but nevertheless it is supported by the h264 specification. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, .spider. said:

Like I said it requires a 10bit version of x264 but nevertheless it is supported by the h264 specification. 

do you have h264 10bit sample? link

 

I can't find any o.O

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, zMeul said:

no, video file sample

You can encode your own with the 10bit exe

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, zMeul said:

 

What's your problem?

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, .spider. said:

What's your problem?

chill mate

it was a joke o.O

 

I don't have time to make my own h264 10bit samples

already the system is convoluted with me trying to find a proper HEVC main10 decoder

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, zMeul said:

chill mate

it was a joke o.O

 

I don't have time to make my own h264 10bit samples

already the system is convoluted with me trying to find a proper HEVC main10 decoder

Encoding a few 10s samples with preset "faster" won't take hours.

Link to comment
Share on other sites

Link to post
Share on other sites

44 minutes ago, mariushm said:

Lots of samples here :http://demo-uhd3d.com

Just have to dig deep for 10bit AND h264 AND 2k/8k  ... most 10bit is HEVC

only one .. the IMAX one - downloading now

the rest are HEVC

 

---

 

it can't be decoded HW, CUVID nor DXVA2

I'll do some more testing; curious if my HDR TV can decode it

Edited by zMeul
Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, zMeul said:

only one .. the IMAX one - downloading now

the rest are HEVC

 

---

 

it can't be decoded HW, CUVID nor DXVA2

I'll do some more testing; curious if my HDR TV can decode it

Some H.264 10-bit sample video files can be downloaded here.  The ones marked XAVC are H.264.

http://zsyst.com/sony-4k-camera-page/sony-f55-sample-footage-downloadable-samples/

 

These sample files should be straight out of the camera files, meaning very high bit rate.  Not post-production files that have been compressed down to a lower bit rate.

 

Note: if you have stuttering issues playing them on VLC in Windows, use a media player like MPC-HC to get a smoother playback experience.  OSX version of VLC should have no problem.

That is not dead which can eternal lie.  And with strange aeons even death may die. - The Call of Cthulhu

A university is not a "safe space". If you need a safe space, leave, go home, hug your teddy & suck your thumb until ready for university.  - Richard Dawkins

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, AkiraDaarkst said:

Some H.264 10-bit sample video files can be downloaded here.  The ones marked XAVC are H.264.

http://zsyst.com/sony-4k-camera-page/sony-f55-sample-footage-downloadable-samples/

 

These sample files should be straight out of the camera files, meaning very high bit rate.  Not post-production files that have been compressed down to a lower bit rate.

 

Note: if you have stuttering issues playing them on VLC in Windows, use a media player like MPC-HC to get a smoother playback experience.  OSX version of VLC should have no problem.

it plays them but same as above, in software mode

both DXVA2 and CUVID don't recognise the format

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×