Log in

View Full Version : New version of MLC lossless codec.


Pages : 1 [2] 3

MiroLx
4th December 2007, 09:04
Okay, that's great - I appreciate what You have done.

Does 'MP' mean multi-processor, and if so, does that mean it will take advantage of the Hyper-threading of my P4 Prescott which can show up as 2 CPUs in task-manager?

Thankyou again for the really nice codec.

I use Windows XP SP2.
Thanks for Your comment. Yes with 'MP' I ment multi-processor and this will probably increase speed also on P4 Prescott.

3ngel
4th December 2007, 12:32
Hi,

i'm testing your codec, and it seems play well.

What about adding as soon the MP (at least on the decoding side) so it can be used for realtime playback?

Thanks and keep going so.

MiroLx
7th December 2007, 07:56
Hi,

i'm testing your codec, and it seems play well.

What about adding as soon the MP (at least on the decoding side) so it can be used for realtime playback?

Thanks and keep going so.

Hello.

Yes I know, playback is little bit slower, but multi-threaded version will take some time. At least I have to know that single-threaded version is really stable, it is much simpler to fix problems here...

MiroLx
29th February 2008, 18:06
Hello.

Version 0.4 of codec is now available.

I have done some speed optimizations. The biggest changes are in the fastest mode. High compression modes are not modified. Codec is backward compatible with previous version.

MiroLx
8th June 2008, 10:53
Hello.

New version (0.5) for summer. Multithreading option is now available. So codec will be faster on processors with more cores, maybe also on HT processors (didn't try). If you find any problems please let me know.

Audionut
9th June 2008, 11:11
2100 frames ---------------------- Time ------ Size

Alpy max speed ------------------- 10 ---- 301,742,080
Huff YV12 adaptive --------------- 11 ---- 261,971,968
Lagarith YV12 - Multi threaded ---- 15 ---- 245,825,536
MLC Max speed - Multi threaded --- 17 ---- 225,757,184
MLC High Speed - Multi threaded --- 28 ---- 198,580,224
FFV1 ----------------------------- 29 ---- 219,985,920
X264 Lossless Megui Profile ------- 30 ---- 200,042,474
MLC Max comp - motion fastest --- 51 ---- 187,492,352
Alpy max comp ------------------- 1:00 ---- 266,919,936
MLC Balanced - Multi threaded ---- 1:40 ---- 182,087,680
MLC Max comp - Multi threaded --- 8:34 ---- 175,843,328

Max cpu usage with my core2duo was about 70%. I guess a little more tweaking can be done.

Best speed/compression for me is MLC in high speed mode.

video_magic
5th September 2008, 23:22
I have tried the newest version and have to report that it is too slow to capture with for me, even using the 'Maximum Speed' and multi-threading options.

This was trying to capture 720x480 29.97 with a P4 SL9KE 3.2ghz HT 2mb.
My pc system is running clean & tidy and defragged.
It just dropped too many frames to be usable. But if a newer version of MLC comes out I look forward to trying it! Thanks.

johnsonlam
24th September 2008, 09:32
2100 frames ---------------------- Time ------ Size

Alpy max speed ------------------- 10 ---- 301,742,080
Huff YV12 adaptive --------------- 11 ---- 261,971,968
Lagarith YV12 - Multi threaded ---- 15 ---- 245,825,536
MLC Max speed - Multi threaded --- 17 ---- 225,757,184
MLC High Speed - Multi threaded --- 28 ---- 198,580,224
FFV1 ----------------------------- 29 ---- 219,985,920
X264 Lossless Megui Profile ------- 30 ---- 200,042,474
MLC Max comp - motion fastest --- 51 ---- 187,492,352
Alpy max comp ------------------- 1:00 ---- 266,919,936
MLC Balanced - Multi threaded ---- 1:40 ---- 182,087,680
MLC Max comp - Multi threaded --- 8:34 ---- 175,843,328
mode.

Sorry, I'm stupid. It's hard to see from the chart above.
Did you have direct FPS or fixed size/time video to compare?

Audionut
24th September 2008, 11:15
Did you have direct FPS or fixed size/time video to compare?

I don't understand.

It was 2100 frames, at 23.976fps iirc.

johnsonlam
24th September 2008, 12:52
I don't understand.

It was 2100 frames, at 23.976fps iirc.

Sorry, the text mess-up (not in fixed-width font) so I have difficulty reading.

Now I understand ...

Which version of HuffYUV you use?
Did you try 2.30 by Squid_80 (Andrew Dunstan).

Thanks.

Audionut
24th September 2008, 13:04
huffyuv_ccesp-patch_0.2.5


Did you mean here. http://forum.doom9.org/showthread.php?t=113889

I dropped off following that thread. Last I read it wasn't real stable.

but the files will be incompatible with older huffyuv builds (and ffdshow).

MiroLx
25th September 2008, 08:47
2100 frames ---------------------- Time ------ Size

Alpy max speed ------------------- 10 ---- 301,742,080
Huff YV12 adaptive --------------- 11 ---- 261,971,968
Lagarith YV12 - Multi threaded ---- 15 ---- 245,825,536
MLC Max speed - Multi threaded --- 17 ---- 225,757,184
MLC High Speed - Multi threaded --- 28 ---- 198,580,224
FFV1 ----------------------------- 29 ---- 219,985,920
X264 Lossless Megui Profile ------- 30 ---- 200,042,474
MLC Max comp - motion fastest --- 51 ---- 187,492,352
Alpy max comp ------------------- 1:00 ---- 266,919,936
MLC Balanced - Multi threaded ---- 1:40 ---- 182,087,680
MLC Max comp - Multi threaded --- 8:34 ---- 175,843,328

Max cpu usage with my core2duo was about 70%. I guess a little more tweaking can be done.

Best speed/compression for me is MLC in high speed mode.

Hello.

Max cpu usage with my core2duo was about 70%...
You are right, but the YV12 space is worst optimized for more cores. But I'll try to improve iit n next version.

MiroLx
25th September 2008, 08:55
I have tried the newest version and have to report that it is too slow to capture with for me, even using the 'Maximum Speed' and multi-threading options.

This was trying to capture 720x480 29.97 with a P4 SL9KE 3.2ghz HT 2mb.
My pc system is running clean & tidy and defragged.
It just dropped too many frames to be usable. But if a newer version of MLC comes out I look forward to trying it! Thanks.

Hello.

It is little suprising that You have dropped frames with your PC. If I remember I could capture full PAL with no dropped frames with my old 2,4 GHz AMD single core processor. (CPU usage was almost 90%). One question - does multithreading option helped with P4 HT processor?

Audionut
2nd October 2008, 15:29
huffyuv_ccesp-patch_0.2.5

My bad. I actually used huffyuv from ffdshow. Would have been latest try-out build from the time i did the encode.

video_magic
3rd October 2008, 01:05
I cannot notice any obvious benefit from Multi-Threading - although I don't use any proper utilities to monitor the difference, sorry, but it was just too slow to capture full-frame :(

I would like to try MLC again if you bring out a new version - the compression ratios certainly look impressive.


Hello.

It is little suprising that You have dropped frames with your PC. If I remember I could capture full PAL with no dropped frames with my old 2,4 GHz AMD single core processor. (CPU usage was almost 90%). One question - does multithreading option helped with P4 HT processor?

MiroLx
7th March 2009, 15:32
Version 0.6 is now available. Added support for RGB32. Also
corrected one error in multithreading mode. I have tested that RGB32 only in VDub so if you find any problem with it please let me know.

MiroLx
17th August 2009, 09:25
New version 0.61 is available for some time. Only improved
memory managment (format compatible with 0.6 version), solved
problems with TMPGEnc.

MiroLx
26th October 2009, 18:44
Version 0.7 is ready for downloaded. Tried to improve multithreading mode - little bit more challenging than I expected but now 4 independent threads are supported. So hope it will be usefull for people with 4 (or more) core proccessors.
Some tweaks between speed and compression efficiency, key frames are now faster. New instalation program added for newer versions of Windows. If you find any problem, please let me know...

MiroLx
3rd March 2010, 18:42
Hello.
Version 0.8 is available, if anybody's interested. Changed internal memory model. New model uses less memory. Part of it was used to improve compression in modes not using ME. Speed is also better in this case..

Boulder
3rd March 2010, 18:44
Always appreciated :)

MiroLx
23rd May 2011, 13:42
Version 1.0 is available. Improved compression in higher comression (slower) modes. Also MLC codec is now open source under GNU license.

MiroLx
29th June 2011, 10:49
You can download 64 bit version of codec. It is slightly faster than 32 bit version (little surprise). Tested only in VirtualDub64, don't know many 64 bit applications using VfW...

MiroLx
30th January 2012, 09:37
Version 1.1. is ready for download. Modifications in motion estimation - better compression, but slower. 64 bit version is not available (now), I don't know if anybody use it.

Leeloo Minaļ
31st January 2012, 23:55
I am interested by a x64 build of MLC codec v1.1 !

About version 1.1 : is it normal that v1.1 is slower than v1.0 for the same settings (i.e. : maximum speed preset) ? Even without using motion estimation ?

I also noticed that x64 builds of VirtualDub don't remember multithreading option when i check it (this doen't happen with other codecs like Lagarith or UT), can you verify if it is a MLC related problem ?

Thanks

MiroLx
1st February 2012, 12:44
Hello Leeloo Minaļ.

I have not modified the fastest mode, but still it is
possible that there are small changes in speed. It happened also to me (with older version) and I don't know exact reason, probably it depends on memory allocotion in cache as I changed inner codec buffer dimensions. It also depends on processor type, when I tested it on my computer the speed was +- the same.

To your second question I am not able to repeat your problem
with multithreading option. But I noticed that when you change settings in MLC32 than also MLC64 is affected.
In any case I will prepare 64 bit version soon..

MiroLx
16th February 2012, 12:17
Version 1.1 64 bit is available.

Asmodian
17th February 2012, 06:46
Thanks! :thanks:

Edit:

Doing some tests with interlaced YUY2 and YV12 720x480 from a very noisy VHS capture. Using Win7 x64 and VirtualDub 1.9.11.

Compressing 4000 frames of uncompressed YUY2 or YV12 off of and to a ram drive with an i7 980@4Ghz.

MLC v1.1 32bit Maximum Speed
YUY2: ~190fps / 21sec 667MB, cpu @ 19%

MLC v1.1 32bit High Speed
YUY2: ~107fps / 37sec 662MB, cpu @ 19-20%

MLC v1.1 32bit Balanced
YUY2: ~16.5fps / 4:01 634MB, cpu @ 13-14%, one core at 100%

Using Lagarith 1.3.27 32 bit
YUY2: ~360fps / 11sec 753MB, cpu @ 15% - 16%

Using Huffyuv 2.1.1 32 bit Predict median
YUY2: ~540fps / 7sec 806MB, cpu @ 9-10%

MLC v1.1 64bit Maximum Speed
YUY2: ~226fps / 17sec 667MB, cpu @ 17% - 18%
YV12: ~250fps / 15sec 533MB, cpu @ 15%

MLC v1.1 64bit High Speed
YUY2: ~118fps / 33sec 662MB, cpu @ 18%

MLC v1.1 64bit Balanced
YUY2: ~17.8fps / 3:42 634MB, cpu @ 12-13%, one core at 100%
YV12: ~17.9fps / 3:39 510MB, cpu @ 10-11%, one core at 100%

Using Lagarith 1.3.27 64 bit
YUY2: ~344fps / 11sec 753MB, cpu @ 16% - 17%
YV12: ~350fps / 11sec 602MB, cpu @ 12%

Using UT Video 10.2.4 64 bit Predict median (frame divide 12)
YUY2: ~770fps / 5sec 777MB, cpu @ 25-30%, very even cpu usage on all 12 logical cores

MLC is very impressive, and with the option to turn up compression if you have extra cpu time. :D

Still room to improve SMP in the higher compression modes though. In all these tests the hyper threaded cores were all parked with light activity on five cores and most of the work on one. No core at 100% unless stated.

Great Codec!

edit: I just meant to show how much faster 64 bit MLC was vs 32 bit. A bunch of other codecs added now. :rolleyes:

kolak
18th February 2012, 02:15
Try UtVideo :)

MiroLx
18th February 2012, 08:33
Asmodian

Thank for your comment.

Still room to improve SMP in the higher compression modes though

You are right. SMP support is limited in this codec (max. 4 cores). Have some ideas, if they work I will try to implemented them in future version (maybe:sly:).

Asmodian
18th February 2012, 09:16
I added UT Video. It has very good multi-threading, I assume due to frame dividing. It is also even further up the speed vs. size curve. 32 bit UT was about the same, this clip might be too short.

Asmodian
18th February 2012, 09:36
Have some ideas, if they work I will try to implemented them in future version (maybe:sly:).

Sounds good, I'll keep and eye out. :D

I also wonder if you handle UVYV input? I ask because that is the only 4:2:2 format my capture drivers will deliver.

At least MLC doesn't show up when selecting a codec in capture mode in VirtualDub 1.9.11 and UVYV support is my best guess. :o

MiroLx
19th February 2012, 09:48
No not support for UVYV. Never heard abot that format -

http://www.fourcc.org/yuv.php. Maybe you meant UYVY.

Avisynth can help you.

Asmodian
22nd February 2012, 11:18
Oops yes, UYVY of course. I do use avisynth but I still need to capture to something else.

Asmodian
7th March 2012, 01:04
Sorry to ask again but do you support UYVY? (you only mentioned you didn't support the fictional format UVYV)

I would love to be able to capture to MLC.

from your www.fourcc.org link:

"UYVY is probably the most popular of the various YUV 4:2:2 formats. It is output as the format of choice by the Radius Cinepak codec and is often the second choice of software MPEG codecs after YV12."

Which makes me think support for this pixel format would help more than just me. I assume the conversion to YUY2 internally would be straight forward?

Thanks!

mariush
7th March 2012, 04:39
That text is ancient ... Radius Cinepak codec was popular when Windows 95 and Windows 98 were all the rage. Things have evolved since then.

I would say the most common color spaces used nowadays are YV12 and NV12, simply because they're very well supported in hardware by video cards and their internal hardware video decoders. Sure, technically UYVY does hold more color information but only if your source actually has that information (you capture the screen, games or you have a camera that doesn't record straight to MPEG2 or MPEG4. Even in this case, if you upload the video somewhere like Youtube, they're going to recompress it and convert it to YV12..

MiroLx
7th March 2012, 09:22
Hello Asmodian.

Sorry for late answer. No MLC does not support this format - only YUY2 and YV12 from YUV family. Difference between this format and YUY2 is minimal while the last mentioned is much more popular. Still if there is hardware or software which only supports UYVY I can consider adding support to next release of codec.

Asmodian
7th March 2012, 20:49
I would say the most common color spaces used nowadays are YV12 and NV12, simply because they're very well supported in hardware by video cards and their internal hardware video decoders. Sure, technically UYVY does hold more color information but only if your source actually has that information (you capture the screen, games or you have a camera that doesn't record straight to MPEG2 or MPEG4. Even in this case, if you upload the video somewhere like Youtube, they're going to recompress it and convert it to YV12..

Of course YV12/NV12 is much more widely supported as the standard color space for DVDs & blurays. However my Blackmagic Intensity Pro will only give UYVY to Virtualdub. Also as this is interlaced material I would not want to subsample to YV12 until after deinterlacing, not that I can anyway. I do think UYVY support would help more than just me.
Still if there is hardware or software which only supports UYVY I can consider adding support to next release of codec.

Please consider supporting UYVY but no need to keep it as UYVY, as you said YUY2 is the standard 4:2:2 format for the current video tools. Blackmagic's capture cards are one of the few good consumer options for lossless video capture in Windows 7 x64.

MiroLx
8th March 2012, 08:56
Please consider supporting UYVY but no need to keep it as UYVY, as you said YUY2 is the standard 4:2:2 format for the current video tools. Blackmagic's capture cards are one of the few good consumer options for lossless video capture in Windows 7 x64.

You mean convert UYVY to YUY2 at input and then use only this format. Looks like a good idea (also keeps things consistent), I will very probably add it to the next release of codec.

Asmodian
9th March 2012, 03:36
You mean convert UYVY to YUY2 at input and then use only this format. Looks like a good idea (also keeps things consistent), I will very probably add it to the next release of codec.

That sounds wonderful! :thanks:

MiroLx
26th March 2012, 11:27
OK. Version 1.11 is available. Added support for UYVY as discussed above. Doesn't have many chances to test it, so if you find any problem please let me know.

Asmodian
31st March 2012, 22:42
Thanks a lot! That was fast.

Sorry I have been having some trouble with my capture computer but will try it out as soon as I get it back up and running.

:thanks:

therobin
7th April 2012, 06:40
Can you add HDYC input support for use with Blackmagic capture devices? I'd like to find something other than huffyuv I can use to capture HD footage.

MiroLx
10th April 2012, 09:48
HDYC.

Looks like very similar to UYVY. Only interpretation of colors is different, which is transparent for codec. In this case I can add support for this colorspace. Problem is how to test it.

therobin
13th April 2012, 21:25
I can test it for you since I have blackmagic hardware.

MiroLx
16th April 2012, 15:18
OK. I will prepare some test version soon.

MiroLx
23rd April 2012, 19:16
Hello therobin.

You can download new experimental version with support for HDYC at:

http://www.linek.sk/mlc/mlcv112zzz.zip

I really don't know if it works or not. I am not able to test in
even in VDub (it looks that it always convert this format to YUY2 before calling codec). Only 32 bit version is available, hope it will be sufficient. Waiting for your reply.

therobin
30th April 2012, 23:34
Unfortunately, it did not work.

I see "MLC v1.12" in VDub when video editing. But when I am in capture mode, it does not show up.

http://desmond.imageshack.us/Himg11/scaled.php?server=11&filename=nomlc.png&res=landing

MiroLx
1st May 2012, 14:52
Thanks.

There was an error in the codec. Made a new version with the same name. Hope this time it will be better.

(created 1.5.2012).

therobin
1st May 2012, 23:02
Ok, it shows up now.

http://desmond.imageshack.us/Himg705/scaled.php?server=705&filename=mlcz.png&res=landing

However, it just crashes when I try to capture something. But it still works fine in video editing mode.

MiroLx
2nd May 2012, 12:12
However, it just crashes when I try to capture something.

This is a kind of answer I was affraid of.:o

Tried that capture mode in Vdub with MLC and my Lifeview capture card. It worked, don't know colorspace but probably YUY2. But codec behaves very similar with different colorspaces.
Have you also tried some different codecs when capturing -
FFv1 in ffdshow for example?