Author Topic: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter  (Read 924819 times)

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #375 on: December 22, 2014, 04:28:24 PM »
Color management. Compatibility. A thorough record of information for archiving, transcoding and sharing footage across programs, platforms and OS's.
Well, that's sort of the point of the DNG specification, and all that stuff is already there => all the information needed to properly and consistently interpret the DNG is already provided. If certain programs do not abide the DNG spec and ignore particular metadata (e.g. the Apple Finder ignores the blacklevel metadata), which is quite rampant (even for Adobe who created the DNG spec), then there's nothing I can really do about that.

N/A

  • Hero Member
  • *****
  • Posts: 576
  • Dreaming in 14 bit
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #376 on: December 24, 2014, 06:38:26 PM »
Yeah I definitely understand, hopefully we'll see a lot more support for CDng in the future.

Interestingly enough, I found a Quicktime and quicklooks component for playing back Dng's, but unfortunately its been discontinued.

http://hamburgpromedia.com/products/mxf4mac/codecs/dng-qt.php
7D. 600D. Rokinon 35 cine. Sigma 30 1.4
Audio and video recording/production, Random Photography
Want to help with the latest development but don't know how to compile?

Piotruchna

  • New to the forum
  • *
  • Posts: 3
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #377 on: December 28, 2014, 02:59:53 PM »
Hello,
I am not sure if anybody had this problem but Ill just type it out:

If you use latin extended characters (for me polish) in names of the folders you will not be able to mount .mlv files. Error window will come out. Just changing name from "kręcić" to "krecic" will make everything work.

Also thanks!

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #378 on: December 28, 2014, 04:08:41 PM »
Makes sense, the standard C libraries do not have multi-byte character support (UTF-8 ), only ASCII. This may or may not be a limitation that can be overcome depending on the FUSE library, I'm not sure.

bwv656

  • New to the forum
  • *
  • Posts: 6
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #379 on: January 03, 2015, 07:31:31 PM »
I just want to say Thank You to all of you made this possible.
I couldn't believe my eyes watching non-converted MLV playing real-time in resolve.

I haven't tried it on PC side yet but the OSXFUSE+MLVFS works incredibly well.
Thank you so much once again!!

limey

  • Member
  • ***
  • Posts: 134
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #380 on: January 04, 2015, 05:20:46 AM »
Help me understand where I'm messing this up.

I'm using Windows.

I've installed PFMAP.
I've registered the DLL.
In a windows explorer window I find a MLV file and use Quick Mount.

I then goto Premiere and import the first image of the image sequence on that quick mounted MLV folder that is created.

When it gets imported the file is black and only the audio works.

**initially was mounting MLV files on an external drive, but wanted to rule out that it wasn't a loading issue and copied the files to the desktop in its own folder (MLV Test). Didn't fix it.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #381 on: January 04, 2015, 09:44:41 AM »
Can you post a DNG?

limey

  • Member
  • ***
  • Posts: 134
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #382 on: January 04, 2015, 04:21:18 PM »
The M21-0244 DNG is the one that comes out black.

I tried another MLV after quick mounting it and importing to Premiere and it has a Pink overlay. This is (M10-0244)

Both files are totally fine in MLVRawViewer and I've used them both in movies doing different methods before, ie export to DNG, or straight export to .mov file.

https://www.dropbox.com/sh/6sih3x1alfcme9o/AACQj3yySqm72gQ7Cc-z2Nn6a?dl=0

Thanks for your help dmilligan.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #383 on: January 04, 2015, 05:03:48 PM »
There's nothing wrong with either DNG you posted. They both appear fine in Premiere and all the metadata looks correct. It may be some kind of issue with how Premiere is reading the data from MLVFS, but I can't really be much help with the Windows port as I don't own a Windows PC.

limey

  • Member
  • ***
  • Posts: 134
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #384 on: January 04, 2015, 05:42:40 PM »
I appreciate the time you took to look into it dmilligan.

limey

  • Member
  • ***
  • Posts: 134
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #385 on: January 04, 2015, 07:08:02 PM »
As a further sidenote.... When I export from MLVRawViewer to DNG, those will not import to premiere as a sequence, but MLV mounting does (despite the pink or black overlay). Not sure if that helps diagnose anything.

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #386 on: January 04, 2015, 07:37:59 PM »
You are running the latest Premiere CC? Have you tried SpeedGrade or Resolve or some other program?

Markus

  • Senior
  • ****
  • Posts: 338
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #387 on: January 05, 2015, 04:33:45 PM »
Resolve works for me on pc. Still on premiere cs6 though so I can't try to import them there.

andy kh

  • Hero Member
  • *****
  • Posts: 538
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #388 on: January 05, 2015, 05:34:59 PM »
unable to register mlvfs.dll. getin this eror msg "the module mlvfs.dll was loaded but the entry-point DllRegisterServer was not found Make sure that mlvfs.dll is a valid DLL" can someone here help me
5D Mark III - 70D

Frank7D

  • Senior
  • ****
  • Posts: 457
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #389 on: January 05, 2015, 06:05:19 PM »
These are the steps I followed that worked:
1. Downloaded the file and renamed it to add the ".dll" on the end.
2. Copied the file to my Windows folder.
3. Left-clicked somewhere in the Windows folder.
4. Held down the shift key while right-clicking, and chose "Open Command Window Here."
5. Typed the command per ayshih.

timbytheriver

  • Senior
  • ****
  • Posts: 476
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #390 on: January 14, 2015, 10:05:12 AM »
Hello

I've installed binary on Mac OSX 10.8.5 as per instructions.

I'm not getting the services MLVFS option showing on my right-click menu > services > MLVFS

Have rebooted, repaired prefs. Can anyone help me with a solution please?

Thanks

Tim

PS I have checked in the main Preferences cp and it lists MLVFS as a ticked option for the menu. What gives? :S
5D3 1.1.3
5D2 2.1.2

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #391 on: January 14, 2015, 01:47:00 PM »
Are you right clicking on a folder?

I've installed binary on Mac OSX 10.8.5 as per instructions.
I've never tested MLVFS on 10.8 so it could be this, nor do I really have the capability (or desire) to support old OS versions. I would recommend updating to the latest (10.10)

kgv5

  • Hero Member
  • *****
  • Posts: 643
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #392 on: January 14, 2015, 01:53:46 PM »
Guys, is vertical banding correction works on windows version? Seems not but maybe i missed something.
www.pilotmovies.pl   5D Mark III, 6D, 550D

timbytheriver

  • Senior
  • ****
  • Posts: 476
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #393 on: January 14, 2015, 02:57:20 PM »
Are you right clicking on a folder?
I've never tested MLVFS on 10.8 so it could be this, nor do I really have the capability (or desire) to support old OS versions. I would recommend updating to the latest (10.10)

@dmilligan I was clicking on the mlv itself. Doh!  :o  It's working fine. My bad, sorry.

PS And thank-you for an inspirational approach in this app.
5D3 1.1.3
5D2 2.1.2

surami

  • Member
  • ***
  • Posts: 115
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #394 on: January 16, 2015, 01:02:58 PM »
I just started to play again with the MLVFS on my freshly reinstalled system.
- OS: Windows 7 Ultimate 64bit
- Pismo File Mount version: 2014.7.11
- mlvfs.dll version: latest from bitbucket (2014-10-03)
- AE CC 2014 version: 13.2.0.49 (2014.2 Release)
- ML: Nightly.2015.Jan15.550D109, mercurial changeset 4fff9f6cb33f (unified) tip

I can't import the DNG sequence into AE. After I adjust the settings in ACR (version 8.7.1) during the import process and hit OK, it gives me an error, saying:
"After Effects error: The file format module could not parse the file 45::35"

This happens only with my new MLV file (recorded today). If I import an older MLV file, which was recorded with a nightly build from previous year (I don't know the date), then everything works fine.

Somebody could help me out with checking the MLV files?
550D + nightly ML

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #395 on: January 16, 2015, 10:12:56 PM »
They both work fine on the current Mac version, and there doesn't appear to be much difference between the two. I guess you'll have to wait until somebody with Windows and some programming skills updates the Windows version.

swinxx

  • Hero Member
  • *****
  • Posts: 606
MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #396 on: January 16, 2015, 10:50:40 PM »
Is it possible to speed up dual iso conversion (on mac) ?? Thx

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #397 on: January 17, 2015, 03:56:20 AM »
Yes. Use mean32 interpolation instead of AMaZE, or figure out how to optimize this code from cr2hdr, 75% of the time is spent here (I don't even understand how it works/what its doing, much less being able to optimize it, so good luck):
Code: [Select]
        for (int y = 5; y < h-5; y ++)
        {
            int s = (is_bright[y%4] == is_bright[(y+1)%4]) ? -1 : 1;    /* points to the closest row having different exposure */
            for (int x = 5; x < w-5; x ++)
            {
                int e_best = INT_MAX;
                int d_best = d0;
                int dmin = 0;
                int dmax = COUNT(edge_directions)-1;
                int search_area = 5;
               
                /* only use high accuracy on the dark exposure where the bright ISO is overexposed */
                if (!BRIGHT_ROW)
                {
                    /* interpolating bright exposure */
                    if (fullres_curve[raw_get_pixel32(x, y)] > fullres_thr)
                    {
                        /* no high accuracy needed, just interpolate vertically */
                        not_shadow++;
                        dmin = d0;
                        dmax = d0;
                    }
                    else
                    {
                        /* deep shadows, unlikely to use fullres, so we need a good interpolation */
                        deep_shadow++;
                    }
                }
                else if (raw_get_pixel32(x, y) < white_darkened)
                {
                    /* interpolating dark exposure, but we also have good data from the bright one */
                    not_overexposed++;
                    dmin = d0;
                    dmax = d0;
                }
                else
                {
                    /* interpolating dark exposure, but the bright one is clipped */
                    semi_overexposed++;
                }
               
                if (dmin == dmax)
                {
                    d_best = dmin;
                }
                else
                {
                    for (int d = dmin; d <= dmax; d++)
                    {
                        int e = 0;
                        for (int j = -search_area; j <= search_area; j++)
                        {
                            int dx1 = edge_directions[d].ack.x + j;
                            int dy1 = edge_directions[d].ack.y * s;
                            int p1 = raw2ev[gray[x+dx1 + (y+dy1)*w]];
                            int dx2 = edge_directions[d].a.x + j;
                            int dy2 = edge_directions[d].a.y * s;
                            int p2 = raw2ev[gray[x+dx2 + (y+dy2)*w]];
                            int dx3 = edge_directions[d].b.x + j;
                            int dy3 = edge_directions[d].b.y * s;
                            int p3 = raw2ev[gray[x+dx3 + (y+dy3)*w]];
                            int dx4 = edge_directions[d].bck.x + j;
                            int dy4 = edge_directions[d].bck.y * s;
                            int p4 = raw2ev[gray[x+dx4 + (y+dy4)*w]];
                            e += ABS(p1-p2) + ABS(p2-p3) + ABS(p3-p4);
                        }
                       
                        /* add a small penalty for diagonal directions */
                        /* (the improvement should be significant in order to choose one of these) */
                        e += ABS(d - d0) * EV_RESOLUTION/8;
                       
                        if (e < e_best)
                        {
                            e_best = e;
                            d_best = d;
                        }
                    }
                }
               
                edge_direction[x + y*w] = d_best;
            }
        }

My dual ISO preview code only takes about 10ms per frame :P The cr2hdr stuff I didn't write, nor do I totally understand everything it does.

andy kh

  • Hero Member
  • *****
  • Posts: 538
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #398 on: January 17, 2015, 09:10:58 AM »

This happens only with my new MLV file (recorded today). If I import an older MLV file, which was recorded with a nightly build from previous year (I don't know the date), then everything works fine.

i also have problem with new mlv files recorded @ 23.97 fps which i recorded recently. i am unable to import xml in resolve. older mlv files which i recorded last year wirth t2i  works fine.
5D Mark III - 70D

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: MLVFS - a FUSE based, "on the fly" MLV to CDNG converter
« Reply #399 on: January 17, 2015, 08:55:57 PM »
Updates:
fixed issues causing MLVFS to not work with full res silent pictures MLVs
enabled SSE2 extensions for AMaZE (AMaZE itself is faster, but the cr2hdr stuff overall isn't really any faster)
ability to override the framerate