Log in

View Full Version : Ut Video Codec Suite - a new lossless video codec for Windows!


Pages : 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15

kolak
15th January 2012, 22:00
Can we have 10bit version with v210 pin output and 8bit pin with optional dithering (ordered+noise). Thank you - hehe :)

Latest ffmbc opened bitrate/quantizer in ProRes encoder and with q=1 it goes almost lossless- don't think it's 100% lossless, but PSNR is around 90dB (450Mbit average bitrate, HD, 24p)

Midzuki
21st January 2012, 07:54
Version 10.2.4 has been released

Changelog:

(Windows) Installer now displays "before-install" notice.

(Mac) Report more apropreate codec name to QuickTime.

http://umezawa.dyndns.info/archive/utvideo/

OR

http://www.videohelp.com/tools/Ut-Video-Codec-Suite

smok3
21st January 2012, 21:45
still waiting for that magic few words on where to drop stuff on osx....

edit: p.s. is anybody working on ffmpeg encoder as well? (the decoding seems to be working fine)

mp3dom
24th January 2012, 18:35
+1 for 10bit (it would be fantastic!). ProRes is lossy and uncompressed is extremely huge in filesize. A lossless 10bit codec would be great for original backup/archive.

SubOne
25th January 2012, 13:09
I have a newbie question... If the source is 12-bit then is 8-bit UT really lossless? If 12-bit is 0-4096 and 8-bit is 0-256, then 16 in 8-bit = 256 in 12-bit, and 17 in 8-bit = 272 in 12-bit. So what happens if a channel is at level 260 in the 12-bit source? It should be 16.2 in 8-bit but since that is not possible does it get approximated to 16 in 8-bit and thus loses accuracy? Or is there some other mojo going on that ensures UT is actually lossless even at 8-bit? Hope I am making sense at all...

By the way, X264 10-bit works great, but it's not as fast.

kolak
5th February 2012, 00:14
UT is lossless only at 8bit.

kolak
5th February 2012, 00:17
+1 for 10bit (it would be fantastic!). ProRes is lossy and uncompressed is extremely huge in filesize. A lossless 10bit codec would be great for original backup/archive.

ffmbc has open ProRes, so you can have 99.9% lossless encoding at around 500Mbit.

yup
23rd April 2012, 16:40
Hi all!
11.0 released
http://umezawa.dyndns.info/archive/utvideo/
yup.

_gl
1st May 2012, 21:35
Been using UT for a while and it rocks.

But I would kill (well maybe not kill) for a 4:4:4 YUV flavour (8bit or 10 bit).

I sometimes need to do an intermediate render in Premiere. I only use YUV effects so the entire Premiere pipe is YUV up to the output codec. So if I want it to be truly lossless, 4:4:4 YUV is the only option. Rendering to 4:2:2 (or lower) drops the chroma resolution, and rendering to RGB 8bit causes gradient damage due to the unwanted expansion from studio to PC levels (as well as the YUV->RGB conversion).

I tried using the 4:4:4 mode of HNxHD via Quicktime, but that introduces an unwanted gamma and colour shift (maybe due to Premiere incorrectly using BT601 instead of BT709 for my HD footage). So right now I'm stuck using RGB 8bit lossless (UT or Lagarith).

SubOne
2nd May 2012, 09:02
Gamma shift is a "feature" of Quicktime/MOV. As with everything Apple, there are no bugs, only features... Plus DNx is lossy.

We really need a 10-bit lossless codec though, yes.

_gl
2nd May 2012, 09:45
Gamma shift is a "feature" of Quicktime/MOV. As with everything Apple, there are no bugs, only features...

Well, useless then. But the extra colour shift seems to be Premiere using the wrong matrix - or is that also a known Quicktime issue?

Plus DNx is lossy.

Sure, but studio 4:4:4 is sometimes more important to me.

We really need a 10-bit lossless codec though, yes.

Ideally yeah. In Premiere you at least have the option of v210 (uncompressed 10bit 4:2:2), but no 4:4:4 YUV options at all.

qyot27
2nd May 2012, 20:36
*cough* FFV1 already supports it *cough* (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=1eabd71c2bed13648643433249386f4b965b5c14) (it's had YUV420P10 and YUV422P10 support since May 2011)


If the underlying video is 4:2:0, then 4:4:4 rendering isn't lossless to start with. And unless Premiere can handle 4:4:4 exporting internally (and especially at higher bit depths), it'll always be doing some sort of lossy conversion before the final output render. There's a lot more involved in the situation than just making sure the export or import codecs support 10-bit 4:4:4.

_gl
2nd May 2012, 20:58
If the underlying video is 4:2:0, then 4:4:4 rendering isn't lossless to start with.

Combinations of processing (grading, sharpening etc) and/or overlaying graphics (logos, gradients etc) can create 4:4:4 detail from 4:2:0 etc. source footage.

And unless Premiere can handle 4:4:4 exporting internally

I'm pretty sure it can, it didn't loose chroma when I tested rendering to DNxHD 4:4:4, and Premiere's internal YUV pipe is actually 4:4:4. Of course it has to be tested for AVI specifically, but there's a good chance it's supported.

SubOne
6th May 2012, 09:51
The underlying acquisition footage is RGB 4:4:4, hence the requirement for a 4:4:4 lossless codec. Premiere can definitely export 4:4:4, as evidenced from testing each channel from likes of Uncompressed, DPX or DNx 444.

Mr_Khyron
13th May 2012, 23:33
Version 11.1.0

read me (http://umezawa.dyndns.info/archive/utvideo/utvideo-11.1.0-readme.en.html) / installer for Windows (http://umezawa.dyndns.info/archive/utvideo/utvideo-11.1.0-win.exe) / zip for MacOSX (http://umezawa.dyndns.info/archive/utvideo/utvideo-11.1.0-macosx.zip) / source (http://umezawa.dyndns.info/archive/utvideo/utvideo-11.1.0-src.zip)


Performance Improvements

(Mac) Add assembly language version of colorspace conversion routine from RGB to ULY2.
Common: Speed up decoding a little.
Common: Speed up encoding on x64 about 10%

Others

(Mac) encoded size becomes a little smaller by omitting unnecessary media sample flags.

johnsonlam
28th May 2012, 03:01
Version 11.1.0
(Mac) Add assembly language version of colorspace conversion routine from RGB to ULY2.
Common: Speed up decoding a little.
Common: Speed up encoding on x64 about 10%
Others
(Mac) encoded size becomes a little smaller by omitting unnecessary media sample flags.

I fail to find the Win 64bit binary, can somebody kindly tell me where?

the_weirdo
28th May 2012, 05:12
I fail to find the Win 64bit binary, can somebody kindly tell me where?

The installer will now install both 32-bit and 64-bit version of UtVideo on Windows 64-bit.

infinityloop
29th May 2012, 06:28
The installer will now install both 32-bit and 64-bit version of UtVideo on Windows 64-bit.
I'd like to add that 32-bit versions are also required under W7-64 bit, because a 32bit editing or player application can not use the 64-bit codec. :)

johnsonlam
30th May 2012, 13:03
I'd like to add that 32-bit versions are also required under W7-64 bit, because a 32bit editing or player application can not use the 64-bit codec. :)

Thanks.
If Umezawa can write down (32 and 64bit) should avoid confusion.

kypec
1st June 2012, 13:35
Thanks.
If Umezawa can write down (32 and 64bit) should avoid confusion.
He did write about it (http://umezawa.dyndns.info/archive/utvideo/utvideo-10.2.1-readme.en.html) and you can always look it up in the changelog.

zerowalker
24th June 2012, 08:12
Can Null Frames be added?
As that is one of the Main reasons i love Lagarith, as itīs just a waste to recompress identical frames.

Or maybe itīs a reason it canīt be used, something in the encoder or how it works?

Keiyakusha
24th June 2012, 16:27
Can you show any real example of where can you find identical frames in video? Most of the time even if they look the same, they are different mathematically and cant be replaced by selecting one of them or their average since this is lossless format.
edit: something like 2-3 100% black frames after my just created CG clip ends and before credits start can be it, but i doubt you'll actually save something with this...

zerowalker
25th June 2012, 06:17
There is many times where this can be found.
One is Games, letīs say.

You play 60 fps, it records 30 fps, all i fine.
Then you enter some are, and it goes down to 20 fps, then it will have to repeat some frames to make it 30 fps.

Or letīs say you go to a desk and pick up some paper with text, then it will probably be a still frame with the text on the paper.

Get what i mean:)?

Not really a big realistic use, but itīs very useful for not wasting space on digital recordings(mostly games).

For archival stuff, like analogue, it wonīt matter at all, as no screen is identical, as long as it doesnīt lag or something.

Keiyakusha
25th June 2012, 06:27
You play 60 fps, it records 30 fps, all i fine.
Then you enter some are, and it goes down to 20 fps, then it will have to repeat some frames to make it 30 fps.

Or letīs say you go to a desk and pick up some paper with text, then it will probably be a still frame with the text on the paper.
I'm not convinced. This is may be true with games but then this indicates some problem. In this case you usually want to go for lower graphic settings or upgrading hardware, not compressing badly recorded footage... As for the desk its not true. You probably will be shooting this with camera, means frames wont be the same. They will have different noise pattern and if at least 1 pixel between 2 frames is different, one of them can't be replaced by "duplicate" mark.
Also not sure how UTvideo works, but if not every frame is keyframe I wonder how it will handle absence of the actual frame in the middle of the group of picture. If group will be split, probably it will only hurt compression.
And if compression algorithm is advanced enough, it almost doesn't uses extra bits for compressing almost the same frames. This is what should be improved as much as possible.

zerowalker
25th June 2012, 08:09
Donīt get what you mean with lower settings and compressing badly recorded footage.
With recording, i am talking about Dxtory for example.
And yes itīs true that there often is movement, or if itīs some grain effect.

But in some games, it will be a completely still frame, for example a Menu or when you press start etc.
Itīs now very common maybe, but it can be very useful, think about 2D games, there itīs very useful, as there isnīt really stuff moving all the time (especially old games).

Now i understand that this isnīt something to strive for as itīs not a miracle to save some frames here and there.
But i was thinking, if the UT system allows it, i canīt see that itīs hard to add (May be wrong).

And if it can be added with ease, then i donīt see any problems. It will be the best of 2 worlds if you get what i mean.

And of course if it is as you say with the keyframes, and there is really no use, then itīs not worth anything.

But i have a Digital movie i made from a gameplay which has some identical frames (itīs from N64, so itīs 20 fps at 30 fps pretty much all the time in reality, if i didnīt speed upp or add stuff).

And there itīs quite a difference between Lagarith with Null Frames and UT, i think there is about 30% size difference.
And in the end of the video there is like 3 frames which are still for 1-2 sec or more, and there the null feature is really showing itīs usefulness.

Okay it was much more:

Lagarith: 961 MB
UT Video Codec RGB: 2.01GB

I compared them in Avisynth and they are identical, so no color conversion was made.

Keiyakusha
25th June 2012, 08:35
Donīt get what you mean with lower settings and compressing badly recorded footage.
I probably got wrong the reason why fps drops. I just remembered something like skyrim where you have 60 fps in one location then you go into some house or out of it and woohoo, its 24 fps now!


Lagarith: 961 MB
UT Video Codec RGB: 2.01GB


I'm sure most of that difference is because difference in algorythm, disregarding duplicates. UTvideo doesnt aims to be best compression-wise, decoding speed is important too. That's why lagarith is not so popular now. Even h264 lossless looks more attractive. I havent tried lagarith for a long time but it was really slow compared to haffman's implementations, they was even saying this on front page. I dont doubth that artificially generated footage indeed may have identical frames. I don't mind anything that may improve compression without affecting speed. I just think this particular feature not worth even slightest effort.

Edit: lets better make Umezawa-san add 10bit support. There is no good solutions right now. x264 vfw can be potential solution, but developers (or should i say maintainers?) are not motivated enough. Yes I know that x264 vfw is bad and everyone hate it but for example... i really want to see some working alternative to all those commercial plugins for 1K$ each.

zerowalker
25th June 2012, 10:07
Oh, well then you did get a bit wrong impression there. But that is also a case.

Hmm maybe, but when i use it for normal stuff, they are pretty much the same, letīs say Lagarith is 100gb, then UT may be like 110gb or something like that.
And yeah i know many say itīs slow, i myself hasnīt really run into any problems, even on 1920x1200, even less if i use LAV Filter for decoding.
But i guess the normal cpu doesnīt handle the stress to well, as i got 4ghz i5 and it uses about 100% of 2 cores when itīs on high resolutions, and i think itīs only optimized for 2 cores.

qyot27
25th June 2012, 19:27
The most recent versions of Lagarith are a lot more speed optimized, although I don't have any definitive numbers. It's better than it was years ago, though. It was enough for me to actually notice it on a computer that's 11 years old, so if it had to do with assembly it was in the SSE or below realm. Most (all?) of Ut's optimizations are in SSE2, as I understand it, and that's why on newer computers it can run circles around HuffYUV.

Maximizing the impact of the null frame filters for normal footage usually means pulling some AviSynth trickery beforehand, as it can level the sources enough to make it worthwhile (for instance, using Dupped (http://forum.doom9.org/showthread.php?t=134930) on it, especially if a smoother's been run on it first). It also probably has more of an effect on animation.

Feasibly, one could test the impact of null frames on a source by encoding it in Lagarith+nulls first, and then transcoding to Ut whilst preserving the nulls (so that only the real frames are being compared). And then compare the null-containing Ut file to a regular Ut encode of the same source. VirtualDub has a 'Preserve empty frames' option that might let you do a transcode from Lagarith to Ut while keeping nulls intact. If not, it can be forced to work by using avi2tc to produce a de-nulled file + timecodes, from which you can convert the de-nulled file to Ut. Nulls barely take up any space, but if you wanted, you could mux the timecodes back in so that it at least plays back at the right speeds. I use the above method for when I want to produce ffvhuff-encoded files with nulls.

zerowalker
26th June 2012, 06:24
It didnīt work, it time went with no progression by using that method on UT.

qyot27
13th August 2012, 08:08
Since I actually had need to use the null frame tactic again, I actually tested it like I said above.

Source video consists of essentially a slideshow with some fade-in/out transition effects interspersed throughout.
In other words, lots of static frames that could be dropped as nulls to show the difference it can make.

11095 total frames, 29.97fps, 06:10.203 in length

Script:
FFmpegSource2("video.flv",fpsnum=30000,fpsden=1001)
deen("w3d",3,6,8,8,8)
Dupped()

Save as Lagarith with nulls:
VirtualDub 1.9.11, Fast Recompress, Lagarith 1.3.27, Enable Null Frames, single-threaded*, RGB (Default) preserving YV12 colorspace

Convert Lagarith .avi with nulls to Ut Video with nulls by telling VDub to preserve empty frames
VirtualDub 1.9.11, Fast Recompress, Preserve empty frames, Ut Video 11.1.1 YV12, 1 thread*, Predict median

Compare by converting the same Lagarith file to Ut Video, without preserving empty frames
VirtualDub 1.9.11, Fast Recompress, Ut Video 11.1.1 YV12, 1 thread*, Predict median

*only one thread because I was testing this on an old Celeron Coppermine

I didn't test Predict left since it would only inflate the filesizes and if the goal here is to optimize space savings then it doesn't make much sense.

The result:
Lagarith 1.3.27 (with nulls) 251 MB avi2tc detected 3490 nulls out of 11095 total frames
Ut Video 11.1.1 (with nulls) 345 MB avi2tc detected 3490 nulls out of 11095 total frames,
proving that VirtualDub correctly preserved them
Ut Video 11.1.1 (without nulls) 499 MB avi2tc detected 0 nulls, proving that VirtualDub did
not preserve them when 'Preserve empty frames' was unchecked

Gser
13th August 2012, 11:59
YCbCr (BT.601) 4:2:0 8bit limitedSo basically it doesn't support BT.709?

Keiyakusha
13th August 2012, 16:19
So basically it doesn't support BT.709?
Its not something that have to be "supported"

kolak
14th August 2012, 00:21
So basically it doesn't support BT.709?

It won't when you feed RGB and request to encode as YUV- it will be always 601 (as far as I understand it).
When you encode YUV signal than it works as there is no conversion needed. I stay all the time with YUV and had no issues at all for HD sources.

Overall it could/should be improved- anything above PAL resolution should be rather converted with 709 matrix.

Zarxrax
16th August 2012, 19:36
I also found lagarith's null frames very useful for a few use cases that I had several years back. Basically creating graphic overlays for tv shows. The null frames were a huge help in compressing something like that, both in regards to filesize and in encoding/decoding speed.
However, utvideo's design philosophy seems very focused. Every frame is a keyframe. Adding new frametypes into the mix might be something that the developer doesn't want to do, and I certainly wouldn't fault him for that.

qyot27
17th August 2012, 21:18
I'd still consider it somewhat external, since it can be done without any input from the codec at all. The program (VirtualDub, ffmpeg, etc.) could be the one doing the comparison and determining whether a frame should be stored as a null or with the designated codec. Lagarith's approach internalizes the check, but there's nothing saying it has to.

JEEB
21st August 2012, 09:10
There is now (http://git.libav.org/?p=libav.git;a=commit;h=1ab5a780424ae8755858e153def1173a50a44e4c) Ut Video encoding support in libav, and ffmpeg has merged (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=1ab5a780424ae8755858e153def1173a50a44e4c) it as well.

Multithreading isn't implemented yet, but all available prediction modes (none, left, median) are available, and all supported colorspaces are implemented. The interlaced encoding mode isn't supported at the moment.

kolak
31st October 2012, 18:10
Is it possible to add 10bit+ colour spaces?

easy2Bcheesy
31st December 2012, 11:20
Love UT Codec but am perplexed by encoding at BT.601 - why can't BT.709 be supported for acknowledged HD resolutions?

keepert
9th January 2013, 09:10
Preview thumbnail does not work in win8 x64. Looking in Logs is show that error was happened in dllhost.exe in module utv_core.dll. Looks like bug appeared only in x64 version. In 32 version is okay.

Jynks
5th March 2013, 01:06
can not read in adobe premier.. any way to get that to work.. earlier in the thread people said to install the 64 and 32 bit version.. but now there is only 1 installer for wndows.

Any ideas? On howto get prem to read the files?

kypec
6th March 2013, 14:29
earlier in the thread people said to install the 64 and 32 bit version.. but now there is only 1 installer for wndows.

Yes, there's only one Windows installer but it should install both versions (x86 & x64) on 64-bit OS. ;)

foxyshadis
7th March 2013, 00:56
can not read in adobe premier.. any way to get that to work.. earlier in the thread people said to install the 64 and 32 bit version.. but now there is only 1 installer for wndows.

Any ideas? On howto get prem to read the files?

Which version of Premiere? I might be able to help, I have CS6 at work and an old one at home, don't remember exactly which offhand.

yup
30th April 2013, 17:29
New version available!
For windows http://umezawa.dyndns.info/archive/utvideo/utvideo-12.1.0-win.exe
Some speed up using AVX instruction.
yup.

kolak
30th April 2013, 18:42
On Mac decoder always outputs (A)RGB, but UTvideo always assumes 601 color spaces, so does it mean all HD (except originally RGB) files will always look wrong?

RTW47
5th June 2013, 05:32
Current version 13.0.1 readme (http://umezawa.dyndns.info/archive/utvideo/utvideo-13.0.1-readme.en.html) (English) / installer for Windows (http://umezawa.dyndns.info/archive/utvideo/utvideo-13.0.1-win.exe) / zip for MacOSX (http://umezawa.dyndns.info/archive/utvideo/utvideo-13.0.1-macosx.zip) / source (http://umezawa.dyndns.info/archive/utvideo/utvideo-13.0.1-src.zip)

Others:

Fix packaging


Version 13.0.0

New features: Add codecs that use BT.709-based colorspace conversion coefficient. (FourCC: ULH2, ULH0)Others: Changed codec names.
Changed recommended CPU: Nehalem or later.

kolak
7th June 2013, 21:35
Great- just 10 or 16 bit mode and we are done :)

SubOne
20th June 2013, 16:33
Great- just 10 or 16 bit mode and we are done :)

Exactly! 10-bit would be a good start.

kolak
20th June 2013, 21:37
Or forget 10bit and do 16bit (probably even easier). Anything which is not 16bit fill to 16bits with 0- this will compress nicely, so won't add much of bitrate (at least in my theory:) )

filler56789
26th June 2013, 05:35
Version 13.1.0

Performance Improvements

ULRG,ULRA,ULY2,ULH2: Speed up encoding from native colorspace if SSSE3 instructions are available.

ULRG,ULRA,ULY2,ULH2: Speed up decoding video that were encoded with "Optimize for compression ratio" option to native colorspace if SSSE3 instructions are available.

ULY2,ULH2: Speed up encoding video from RGB formats if SSSE3 instructions are available.

ULY2,ULH2: Speed up decoding video to RGB formats if SSE4.1 instructions are available.

http://www.videohelp.com/tools/Ut-Video-Codec-Suite

cjplay
4th July 2013, 02:12
This codec is great, but the HDYC support is what's getting me to use it. However, I noticed that the FFMPEG library still only shows the one 422 codec. Is there any chance of updating FFMPEG with the 709 version? Maybe "utvideo422709" for the codec or something like that?

Is there a library I can compile to use the 709 codec with FFMPEG?

Thanks for all your efforts. This codec is very welcome here.

Chris.