Author Topic: Updated MLVFS supporting Canon HW compressed MLVs  (Read 7792 times)

EuAcelasi

  • New to the forum
  • *
  • Posts: 21
Re: Updated MLVFS supporting Canon HW compressed MLVs
« Reply #50 on: September 04, 2017, 12:52:40 PM »
I`m installing on Windows 10 x64

EuAcelasi

  • New to the forum
  • *
  • Posts: 21
Re: Updated MLVFS supporting Canon HW compressed MLVs
« Reply #51 on: September 04, 2017, 02:02:21 PM »
I have it working on Windows 10, just got it up tonight. I had to install the x64 installer and it was good to go. Thank you everyone!!!

EDIT: The only bug I'm noticing is I cant close MLVFS unless I go into the task manager and end task. My raw files come out really cool/blue. Other than that everything looks great.
Installed Visual Studio... Then in Dokan installed the.msi file, all .exe files... executed the mlvfs.exe ... doesn`t work...

EuAcelasi

  • New to the forum
  • *
  • Posts: 21
Re: Updated MLVFS supporting Canon HW compressed MLVs
« Reply #52 on: September 05, 2017, 01:04:50 PM »
Hi guys,

Last two weeks I've been investigating lossles JPEG (92) specs, LJ92Lib from Andrew Baldwin and MLV files produced by both a1ex's lovely crop_rec_4k/mlv_lite and by mlv_dump from lj92 branch, also DNGs produced by MLRAWviewer.

It seems that Andrew Baldwin's implementation is somewhat weird. It encodes raw data as two images each with its own headers, one scan and one component in it. That means that encoded data has two SOI (0xFFD8, Start of image) and EOI (0xFFD9, End of image) markers and each image has its own SOF3 (0xFFC3, Start of frame header), DHT (0xFFC4, Huffman table) and SOS (0xFFDA, Start of scan header) with its own one image component with full width and half height. Also baldand chose the prediction method 6 in his encoder because of reasons explained here. If someone interested the original document is here.

Meanwile the raw data encoded (as configured by a1ex) by Canon HW compressor fully follows the specs and has one SOI/EOI, which accordingly have DHT, SOF3 and SOS in it. SOS consists of two components with full width and half height. Predictor used is number 1.

This is the reason why LJ92lib can not decode ML files out of the box despite it supports all 7 predictors while decoding (not only number 6). The component number should be correctly taken into account.

While studying all these I came across Syoyo Fujita's github account with his modified header file based on baldand's LJ92lib. ( which also was pointed out by @martinherring :) )

In short Syoyo correctly modded the main loop in parseScan function to support components and changed decoder struct and added 'components' field to it. Also he added multiple Huffmann table support to the lib which is really unnecessary at least for ML compressed data. So I edited lj92.c accordingly. Unfortunatelly encoder still needs some work. However for MLVFS encoder is unnecessary :)

Using all this info I pathched MLVFS and it works nicely with all its bells and whistles (on the fly raw processing). I want to thank Danne as usual :) for testing/support and MAC binary.

David Milligan merged changes to MLVFS repo.
Download latest MAC binary here and Windows x64 binary here.
The latest 'DokanSetup_redist.exe' installer is here.

I also modified mlv_dump-on-steroids but unfortunatelly it's not ready for prime time yet. Needs more time. Always time :P. Now supports all latest stuff plus some features that none of the mlv_dump versions have. Binaries uploaded.

regards
bb
Is it a x64 binary in the link? It is a mlvfs.exe rather then a mlvfs_64.exe and it I can`t mount the drive with it... in the Command Prompt it gives an error...

COMMANDES

  • New to the forum
  • *
  • Posts: 22
Re: Updated MLVFS supporting Canon HW compressed MLVs
« Reply #53 on: September 15, 2017, 07:04:55 PM »
Hello, what about the removal of AF points (EOSM)?
I have in my folder the required * .fpm profiles, but mlvfs does not use them.

Canon 650D, Canon EF-S 18-55mm f/3.5-5.6, Canon EF 40mm f/2.8 STM, Tamron EF 28-75mm f/2.8, Canon EF 70-200mm f/4L USM, Helios 44M 58mm f/2