Log in

View Full Version : What 10-bit intermediate codec?


benwaggoner
3rd June 2014, 21:53
So, now that 10-bit encoding threatens to become mainstream with HEVC, the need for a good 10-bit interchange codec becomes pressing.

For good interchange it needs to be something that can import and export in QuickTime (Mac and Win) and DirectShow (I don't believe VfW can support 10-bit, so we might be able to put that to bed finally). And an open-source implementation that could get compiled into ffmpeg would be better yet.

Ideally it'd have a mathematically lossless mode and support for 4:2:0, 4:2:2, and 4:4:4.

And it also needs to be able to support arbitrary resolutions, frame sizes, and color spaces.

ProRes doesn't have a DirectShow implementation or a QuickTime for Windows encoder.
DNxHD is well supported (QuickTime on Windows at least) but has fixed frame sizes and color spaces.
Cineform doesn't have a free encoder
I don't know of a QuickTime or DirectShow exporter than can do H.264 High 10 profile
Same for JPEG 2000


Anyone have any suggestions? Particularly ones compatible with After Effects CC?

kieranrk
3rd June 2014, 22:06
FFv1 might be what you need.

benwaggoner
3rd June 2014, 23:47
FFv1 might be what you need.
It supports 10-bit? I didn't realize. Is that referenced somewhere?

I've installed the latest LAV Filters from here: http://forum.doom9.org/showthread.php?t=156191. Yet I don't see the FFv1 or any other new codecs showing up in any of the Adobe CC apps AVI export dialog.

The LAV Video Settings show ffv1 checked in the Filters pane.

vivan
4th June 2014, 00:32
I've installed the latest LAV Filters from here: http://forum.doom9.org/showthread.php?t=156191. Yet I don't see the FFv1 or any other new codecs showing up in any of the Adobe CC apps AVI export dialog.But LAV Filters is a splitter/decoder, not an encoder...

kolak
4th June 2014, 08:17
It supports 10-bit? I didn't realize. Is that referenced somewhere?

I've installed the latest LAV Filters from here: http://forum.doom9.org/showthread.php?t=156191. Yet I don't see the FFv1 or any other new codecs showing up in any of the Adobe CC apps AVI export dialog.

The LAV Video Settings show ffv1 checked in the Filters pane.

It supports up to YUV 16bit and RGB 12 bit.
Speed is poor.
There is new lossless 10bit codec in development, which is faster than Cineform. Well, it's already developed for Windows and it supports up to 10bit YUV and RGB. Compression is at about 2 to 3 times.
Intel 4500U can decode 4K 10bit YUV at around 100fps.
Problem- I don't think 10bit will be free.

ProRes on Windows as QT component:

http://www.miraizon.com/products/codecsoverview.html

It's a decent implementation.

Out of all of them Cineform would be the best choice, but not free.

Kurosu
4th June 2014, 09:40
Disclaimer: not used to distribution / ... workflow.

ffmpeg contains extensions of huffyuv up to 16 (or 14?) bits too, if you only need lossless. It probably better fits the description of intermediate, as ffv1.0 is more about archival and compression efficiency. I also suspect the codepath to be less optimized speed-wise than for 8bits, though.

utvideo is another equivalent to huffyuv, although the ffmpeg implementation of the codec may be slower than the official implementation

If you also need "near-lossless" in your workflow then up to you (ffmpeg contains prores encoder and decoder).

pandy
4th June 2014, 10:38
perhaps H.264 in Hi444PP profile (Intra etc)?
---
eee, sorry i just realize that vfw and x264 lossless 444 not works... perhaps MagicYUV in some near future as author mentioned support up to 16 bit per component.

benwaggoner
4th June 2014, 17:38
perhaps H.264 in Hi444PP profile (Intra etc)?
It'd be a good choice if standard video tools were able to export to it. But the Apple/Adobe tools only export H.264 in 8-bit. What I want is a DirectShow or QuickTime component that supports the 10-bit pipeline for encode and decode.

benwaggoner
4th June 2014, 17:40
But LAV Filters is a splitter/decoder, not an encoder...
Is there a DirectShow or QuickTime implementation of ffmpeg or a fork that has the encoders as well?

I want to see all those cool codec options show up in the standard export dialogs.

SeeMoreDigital
4th June 2014, 19:19
Is any of this of interest?

http://i61.tinypic.com/25hl1k6.png


Cheers

benwaggoner
4th June 2014, 20:11
Is any of this of interest?

http://i61.tinypic.com/25hl1k6.png

I've got the BlackMagic codecs already, but they're uncompressed. Wow, SheerVideo is still around? I think I consulted with Bitjazz about it 12+ years ago. Nice to see they hit all the features I recommended :).

Of course, if we're paying for encoders Cineform is also an option. I supposed paid encoder isn't too bad as long as there's a free non-watermarked decoder.

easy2Bcheesy
4th June 2014, 21:04
There is new lossless 10bit codec in development, which is faster than Cineform. Well, it's already developed for Windows and it supports up to 10bit YUV and RGB. Compression is at about 2 to 3 times.
Intel 4500U can decode 4K 10bit YUV at around 100fps.
Problem- I don't think 10bit will be free.

Are there any details on this codec?

foxyshadis
4th June 2014, 23:01
You guys are all thinking lossless. Lossy is acceptable too, based on the first post's options. (ProRes, DNxHD, and Cineform are all lossy.) You don't sacrifice any visual quality to halve the file size, but you can easily save a couple of external hard drives on a full movie that way.

Finding anything that works on Quicktime is probably going to be the limiting factor. :( Adobe on Windows uses VFW for export, though, so that opens up some options; VFW can easily support 16-bit if the codec can, or you have raw 16-bit output with FourCC Y416.

If x264vfw could be updated to support 10-bit, that'd be a very viable option.

pandy
5th June 2014, 09:42
It'd be a good choice if standard video tools were able to export to it. But the Apple/Adobe tools only export H.264 in 8-bit. What I want is a DirectShow or QuickTime component that supports the 10-bit pipeline for encode and decode.

i understand but x264vfw meet almost all criteria except perhaps 10 bit and this is issue... ffdshow is also limited to 8 (AFAIR) bit...

kolak
5th June 2014, 14:41
Are there any details on this codec?

What would you like to know?
8bit is faster than UtVideo with a bit better compression ratio. 10bit is about 1.5-2x slower than 8bit.
For 10bit it accepts v210, R210 and R10K (BM and AJA 10bit RGB). It outputs the same format as input- no conversion is implemented yet for 10bit.

No name given as I don't want to announce it before developer does it.

Motenai Yoda
5th June 2014, 19:56
Ut Video?

kolak
5th June 2014, 20:54
Yes, utvideo lossless codec

http://forum.doom9.org/showthread.php?t=143624

benwaggoner
5th June 2014, 21:21
Yes, utvideo lossless codec

http://forum.doom9.org/showthread.php?t=143624
Looks great. But After Effects CC shows all the modes except the UtVideo Pro YUV422 10-bit mode. It shows up in VirtualDub 64-bit, but of course VirtualDub can't do 10-bit.

Are there any known apps that have 10-bit pipelines that can write to Ut Video 10-bit?

kolak
5th June 2014, 22:04
Ben, its not utvideo. There is a bit of misunderstanding.
I thought someone is asking what utvideo is. I clearly said that codec is faster, etc, than urvideo, so it can't be utvideo.

Utvideo also got 10bit support (v210 only), but its very early build, which is slooow.
I'm talking about new codec, not utvideo.

Problem is with AE internal vfw engine. It may simply not support anything different than 8bit, but I think 10bit or more in vfw is possible.

kolak
5th June 2014, 22:06
Vdub can pass 10bit, to other codecs (Cineform, utvideo), but only from v210 avi.

Motenai Yoda
5th June 2014, 23:08
Ben, its not utvideo. There is a bit of misunderstanding.
I thought someone is asking what utvideo is. I clearly said that codec is faster, etc, than urvideo, so it can't be utvideo.
I've replied to ben's question, not to your post...:scared:

kolak
5th June 2014, 23:25
Ok, I think it's clear now.

benwaggoner
6th June 2014, 19:41
Vdub can pass 10bit, to other codecs (Cineform, utvideo), but only from v210 avi.
That's a great tip! Thanks!

kolak
6th June 2014, 22:17
Here is better one.
Look at vapoursynth (and lsmash source plugin) and its virtual file system.
You can process files at high precission (through fmtconv, which is great) and than mount them as fake v210 avi. No rendering, storage etc needed. All stays as fake avi file. 10bit pipe has been tested and works with all software:AE, Premiere, Resolve etc. If you need MOV load fake v210 avi to QT 7 and export as reference mov.
For cmd line tools there is vspipe with support for 10bit+. You can build great workflows around it.
I've created the finest BD discs using this pipe :p

kolak
6th June 2014, 22:24
That's a great tip! Thanks!

Just set Color Depth to v210 for in/out.
There are just few codecs which will work with it: CF, utvideo pro and this new one :p
I asked developer to add v210 pass from ffmpeg based import plugin. Not sure if this is easy.

WorBry
7th June 2014, 01:15
... utvideo pro...

What's that, as in the 'Pro' part? Are you referring to the latest UT Video version with 10-bit (v210) support or is there some other variant ?

BTW- if the 'new' lossless codec you are referring to is the one I think it is, I thought the developer had already given it a name? Now there's a riddle if ever there was one ;)

kolak
7th June 2014, 21:22
Yes, utvideo 10bit.

Developer of the new codec will annouce it himself, be patient.

WorBry
7th June 2014, 22:21
Oooh, I love surprises ;)

easy2Bcheesy
5th October 2014, 19:04
Just wondering if there is any news on the new codec, kolak?

kolak
9th October 2014, 11:09
Yes,

http://magicyuv.com/

Private builds of MagicYUV (not part of the public releases) support the following 10-bit formats:

RGB formats: r210, R10k
YUV 4:2:2 formats: v210

There is also an SDK for integration into other tools.
Soon one of the pro tools may have magicyuv implemented, so capturing using AJA, BM etc cards will be possible.

pieter3d
19th October 2014, 03:31
VP9 Profile 1 supports 10/12 bits, 4:2:2 and 4:4:4. Lossless support is there as well.

kolak
21st October 2014, 15:21
Can it do 100fps+ decoding for 4K 10bit lossless stream on 6 core i7?