MLVFS - a FUSE based, "on the fly" MLV to CDNG converter

Started by dmilligan, August 31, 2014, 02:01:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DeafEyeJedi

I've given up after the fact that I learned about how I didn't actually need NVIDIA/CUDA installed in my Mac Mini and now that I've uninstalled it... It still LAGS playback!

Doubtful that I had done it completely. Tried in both Terminal and through Library but couldn't find "Framework" folder in Yosemite. Used to be able to in Mavericks.

I miss using MLVFS on the fly ever since my stupidity in updating the CUDA/NVIDIA unknowing that Ill get myself into this pit.

Not sure what's to do at this point other than trying to find a older version of CUDA/NVIDIA but after learning that I don't need it with the graphic card that I'm using...

Feeling  ???  as of lately...
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

johnwangphoto

I just found out if I set the 5DIII WB other than Auto the MLVFS can read the set WB correctly but when I set it to Auto WB for some reason the DNG file from MLVFS always has the WB 3150K (very blue) no matter what the actual WB is. Can MLVFS understand Auto WB or I miss something?

Thanks for any comments.

John

dmilligan

Quote from: dmilligan on February 03, 2015, 01:26:44 AM
can you upload a sample MLV file that exhibits the problem?

or at least the output of mlv_dump -v

johnwangphoto

OK. Here is the Dropbox link for the original MLV clip and a dng file from MLVFS. The clips was shot on a sunny day with Auto WB. Let me know what can you figure out.

https://www.dropbox.com/sh/lrtgf2xnej7vpjk/AABGgmmVvKY472grMEBeGhu-a?dl=0

Thanks!

John

dmilligan


Block: WBAL
  Offset: 0x00000340
    Size: 48
    Time: 405.718000 ms
     Mode:   0
     Kelvin:   3100
     Gain R:   491
     Gain G:   1024
     Gain B:   638
     Shift GM:   0
     Shift BA:   0



        unsigned                wb_mode;  // see property.h for possible values
        unsigned                kelvin;   // wb temperature; only used when wb_mode = WB_KELVIN
        unsigned                WBGain_R; // only used when wb_mode = WB_CUSTOM
        unsigned                WBGain_G; // only used when wb_mode = WB_CUSTOM
        unsigned                WBGain_B; // only used when wb_mode = WB_CUSTOM


This is actually sort of an ML issue. If you have the WB set to "auto", then ML doesn't put any information about the actual WB in the metadata. MLVFS uses the kelvin value in the MLV file even when the mode is "auto", but this value doesn't actually contain the actual auto WB (but there's nothing else MLVFS can do!). In your case it was set to 3100. Don't ask me why. AFAIK, we may not even know how to read the Canon auto WB.

I suppose MLVFS could compute an auto WB itself, but this would be quite complicated, and I don't really see the point. WB is something your NLE/CC software should handle.

johnwangphoto

Thanks for the effort to figure it out and well like you said that is the beauty of the raw shooting: I can adjust to whatever I want. Maybe shooting a color chart and do the match in Resolve will be the best solution.

poromaa

If I pull the DNGs directly into Premiere, I get a-lot of aliasing problems at sharp edges. However, if I import the DNG trough ACR (Lightroom/Photoshop) I get a totally different result. Even turning off every single setting (noise reduction, color noise etc) I get a clearly better result from the "ACR"-version.

What am I doing wrong here?

Below is a screenshot from within Premiere, where i have stacked the two versions on top of each other.

As one can see the aliasing gets really horrible on the file loaded in Premiere (to the right)

I have checked for field order etc but can't find any problems with it. There does not seem to be any debayering-settings in Premiere either, so I don't know what it's doing. I have also played around with the chroma smoothing, but this does not fix it.

Any ideas?


dmilligan

Quote from: poromaa on February 08, 2015, 03:15:26 PM
If I pull the DNGs directly into Premiere, I get a-lot of aliasing problems at sharp edges. However, if I import the DNG trough ACR (Lightroom/Photoshop) I get a totally different result. Even turning off every single setting (noise reduction, color noise etc) I get a clearly better result from the "ACR"-version.
Well this is to be expected. Premiere does not use ACR. ACR is a very good, custom, CPU based demosaicing algorithm. It's really slow as a result, making it not so good for video. Premiere uses a more generic algorithm that can be hardware accelerated, so that playback is realtime. Therefore it is not as good at removing defects like this.

This really doesn't have anything to do with MLVFS. It's an issue with Adobe (and also the design of your camera, which uses line skipping in video mode, which causes the issue in the first place)

poromaa

Yeah, the camera (5Dmk2) has some awful aliasing and does not even support progressive dual-iso in video-mode, but I guess I can live with it if using ACR.

My workaround is simply to use daVinci Resolve instead, since that debayering currently looks more like ACR, but gives realtime playback. Drawback with that is that Resolve does not have any free denoise and noisy footage tend to break if color-correcting in Resolve (for me, I guess I have some to learn here).

Well, thanks for the info.

dubzeebass

I wish I could get realtime playback! I have an early 2013 iMac loaded to the max and I have to use node rendering to work quickly.

DeafEyeJedi

Quote from: dubzeebass on February 08, 2015, 08:32:37 PM
I wish I could get realtime playback! I have an early 2013 iMac loaded to the max and I have to use node rendering to work quickly.

@dubzeebass -- is this currently one of the only few solutions?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

dubzeebass

Quote from: DeafEyeJedi on February 08, 2015, 09:55:13 PM
@dubzeebass -- is this currently one of the only few solutions?

That or basic white balance and export as Cinelog-C then re-import the files and apply the LUTs. I often find myself skipping Cinelog-C when it's only a few clips and going right from BMD Film to Hunter's LUT. Not terribly fast but this is a good product... well, both are.

DeafEyeJedi

I'm currently going to use MLVFS via PP (DR11 stills crashes) just for basic dailies since I have no time for grading plus client likes how I shot it as it is in RAW/MLV (it was well exposed for the most part) so after playing around with @Danne's cr2hdr-r (betas and non betas) which gave me some real decent footage but today I've decided to give it a short run with your app on the "fly" -- it's currently .IDX'ing right now so hoping for good things to come.

Is it normal for it take awhile on a spanned MLV file? (up to 8 spanned files for a single MLV) it took about 3-4 minutes for to spit out an .IDX) lol...

Thanks again @dmilligan!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

DeafEyeJedi

Also here's what I've BEEN dealing with regarding DR11 for some time now whenever I use MLVFS (I know you mentioned this is solely DR's problem and not with your app) but thought it was worth sharing...

https://vimeo.com/119791222

Another reason why it can be rather difficult to use @Andy600's Cinelogs LUTS in conjunction w MLVFS if DR11 cannot hold up it's performance on my supposedly POS late 2012 modified MacMini!

Perhaps, any one out there have similar experiences?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

Danne

Hi David! How doyou find kelvin values in the mlv files? Are they not to be shown in exiftool efter export with mlv_dump? All I can see is asShotneutral values. Also looking for time code values which alse seems to show somewhere?

Danne


dmilligan

DNG metadata only stores white balance as RGB multipliers (AsShotNeutral). So if you have kelvin in the MLV file, you have to convert it to RGB multipliers for the DNG, and converting to/from kelvin is rather complicated and involves using the cam->XYZ matrices and doing a bunch of matrix transformations.

http://www.magiclantern.fm/forum/index.php?topic=13152.msg128304#msg128304

dmilligan

I have implemented some experimental GIF previews. They are 1/4 res, black and white (from the green pixels so we don't have to debayer; and also because GIF is limited to a 256 color palette, which is further limited to 128 colors b/c of the simplistic way I needed to implement LZW, so it's easiest to just have the color palette be 127 shades of gray), and loop through 10 frames of the MLV file.

These will show up as _PREVIEW.gif in the mount and also in the file tables in the webgui. This is somewhat experimental and needs further testing (you will very likely run into bugs), so I'm not updating the .dmg download in the first post, instead use this link if you would like to test it out: https://bitbucket.org/dmilligan/mlvfs/downloads/MLVFS_GIFPreviews.dmg

Let me know what you think.

Danne

Nice work.
I click the name and got them bigger. Good. Press the back button and you,re back in thumbnail mode. Very handy.




chainick


Pedr

Am I right in thinking that you need to mount each directory separately?

For example if my directory structure is:

- shoots
  - 15_01_07
  - 16_01_07
  - 19_01_07

If I run the MLVFS service on shoots, I just get it's children as empty dirs in the mounted dir. The only way to get CDNGs from the contents of these dirs is to mount them individually. Is there any way to mount a whole directory structure so that any mlvs within child directories are mounted as CDNGs? I Need to use shots from a large number of directories in a project, so individually mounting each directory every time is a bit of an issue.

DeafEyeJedi

Love the thumbnails preview @dmilligan... looking forward to its progress!

Possible to have the backspace button work as a "Back" as well as oppose to just coming from right-click only?

Thanks!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

dmilligan

Quote from: Pedr on February 19, 2015, 10:35:57 AM
Am I right in thinking that you need to mount each directory separately?
No. You shouldn't need to. You can mount an entire directory structure, it should work just fine.

dmilligan

Quote from: DeafEyeJedi on February 19, 2015, 11:26:00 AM
Possible to have the backspace button work as a "Back" as well as oppose to just coming from right-click only?
Are you talking about in the web browser? I can't do anything about the way your web browser works.