MLV App 1.14 - All in one MLV Video Post Processing App [Windows, Mac and Linux]

Started by ilia3101, July 08, 2017, 10:19:19 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

avaneev

Hi! Have the MLV App authors tried to apply non-linear "saturation" image transformations in a higher resolution, with a later downsizing step? This is not a common technique, but from the DSP standpoint it should look much better. "Aliasing" is not the whole story like in image resizing, there's also "harmonic distortion", which is not as apparent with images as it is with audio. Maybe worth a try.

avaneev

A follow-up: the same actually applies to "linearization" or sRGB->linear conversion. It's a non-conventional approach and is resource-heavy, but probably it will fix the feel of all these gamma corrections being "not right".

2blackbar

It is possible to use sinus in transfer function and create non linear curve but whats the exact formula for non linear film gamma ?

masc

Let's welcome @avaneev here in ML forum - the author of AVIR resizing algorithm. Nice to have you here and thank you again for your great work!

We already discussed the same questions a little bit here: https://github.com/avaneev/avir/issues/8#issuecomment-830816642
@Ilia: would be cool if you could join the discussion - you know best about the processing engine

@2blackbar: yes, all math functions are "poosible" but might look strange. For different profile functions you'll find the gamma variable at very different places.
5D3.113 | EOSM.202

2blackbar

where in the source i can change quality of jpeg images exports to be higher? i can see some jpg2k code but cant find quality values

masc

Quote from: 2blackbar on May 30, 2021, 02:03:32 PM
where in the source i can change quality of jpeg images exports to be higher? i can see some jpg2k code but cant find quality values

Single frame export:
Search for this line:
QImage( ( unsigned char *) imgBufferScaled8, getMlvWidth(m_pMlvObject) * stretchX, getMlvHeight(m_pMlvObject) * stretchY, QImage::Format_RGB888 ).save( fileName, "jpg", -1 );
The "-1" is the quality parameter, set to "default". This is the Qt library export function for jpg.

Video export:
For JPG2000 export we don't use any quality parameter, so we use ffmpeg default, too. If there is any quality parameter possible, you should find that in the ffmpeg documentation. https://ffmpeg.org/ffmpeg-codecs.html#jpeg2000
5D3.113 | EOSM.202

togg

small "bug", if you mute/unmute during playback is on there's no effect. Not a big deal, more of an excuse to come say hi :)

masc

Hi!  :)
Thanks for the feedback. Yes, I know about that issue and I also know why it is there... it exists because we just can sync audio to video when hitting the play button. So when enabling audio while playback, this function can't work. Maybe one day we have a better idea how to realize this...
5D3.113 | EOSM.202

togg

Got it, fair enough.
The only thing really missing from the app for me is the fast playback that MlRawViewer has/had.

masc

Quote from: togg on June 05, 2021, 12:35:03 AM
The only thing really missing from the app for me is the fast playback that MlRawViewer has/had.
Even on a 10 years old quadcore CPU you can have "close-to-realtime" playback in MLVApp when using default settings. For 1080p I get 22fps on my iMac2011. The more fancy features you use, the slower the processing will be.
5D3.113 | EOSM.202

togg

Quote from: masc on June 05, 2021, 10:53:41 AM
Even on a 10 years old quadcore CPU you can have "close-to-realtime" playback in MLVApp when using default settings. For 1080p I get 22fps on my iMac2011. The more fancy features you use, the slower the processing will be.

Wait, how? I get 5fps if open in normal resolution, 10fps in low resolution. Everything disabled. My cpu is an i7 9th gen 2.6 ghz.

masc

Quote from: togg on June 13, 2021, 04:19:56 PM
Wait, how? I get 5fps if open in normal resolution, 10fps in low resolution. Everything disabled. My cpu is an i7 9th gen 2.6 ghz.
Open the clip with default settings and hit play. For fastest speed, use alexa preset, which disables a part of the processing. Are you on macOS or Linux? On Windows it will be a bit slower, because the OS is very hungry. (i7 Quadcore Desktop CPU on Windows will get a similar speed like a i5 DualCore Mobile CPU on macOS)
10fps on a i7? I get this on a Core2Duo for 1856x1044, 14bit.
5D3.113 | EOSM.202

reddeercity

Just got my i7 10th Gen (10700K 16threads) up and running on Win10pro fresh load on the 21H1 update on a 1TB WD Black SN750 (MVMe SSD)
So I put the 2 file on my desktop (so the file where on my MVMe SSD) and run a quick test with the new MLV App 1.12 x64 , with default setting .
loaded up 2 files (crop_rec) 10 bit uncompressed 2600x1200 23.976fps no audio
and (3x3) 12bit uncompressed 1856x1044 23.976fps with audio 44.1KHz.
The crop_rec 2.6k playback run at 21-22 fps , the 3x3 payback with audio was real time , so 23.976 fps playback .
Being this CPU can be overclock , I left it at default clock speed (3.8 GHz) so I should get real time at 4k 10bit uncompressed when I overclock it .




togg


masc

Indeed, uncompressing lossless files is one of the MLVApp tasks to be done and that needs some time.
5D3.113 | EOSM.202

EdwardLatour


masc

MLVApp v1.13 is out:
- Debayer udpate for IGV and LMMSE from [librtprocess](https://github.com/CarVac/librtprocess)
- Added debayer RCD and DCB from [librtprocess](https://github.com/CarVac/librtprocess)
- Update to [AVIR](https://github.com/avaneev/avir) 2.9
- H.265 export playable on Apple devices
- Update for faster recursive bilinear filtering (Clarity, Shadows, Highlights, RBF Denoiser)
- Fix for SSL handshake problem on focus pixel map auto install
- DNxHR export with variable resolution
https://mlv.app
5D3.113 | EOSM.202

CommanderLake


masc

Quote from: CommanderLake on July 07, 2021, 10:26:57 PM
Has anyone got this to build as a Visual Studio project?
I had no luck to compile in Visiual Studio. The Microsoft compiler doesn't like some standard C++ libraries and can't compile so far. No such problems with MinGW on Windows. So better use this. If you get the project compiled in VS, feel free to add a pull request.
5D3.113 | EOSM.202

IDA_ML

Masc,

You did a great job with this v. 1.13! Thanks a lot!

I did not have time for a thorough test but it seems to be more stable than v. 1.12 and I generally like the results better.  It seems to handle better blown out highlights and high-contrast scenes.  It also seems to be faster in rendering clips with complex adjustments.  The automatic FPM update is fantastic too.  And finally, the eye dropper tool for skin tone correction on a single click is the best I have ever seen!

I do have a question.  Which "Profile preset" and "Processing gamuth" settings would you recommend for landscape high-resolution videography which may also include high-contrast scenes requiring complex adjustments to retain maximum image quality?

ChristianEOS

I would also like to say thank you. I would say the versions before worked for me also stable. I didn't test highlight fix. But already thank you very much.
Christian Bruno James

masc

@IDA_ML:
Thank you. Good to hear it works fine.
I mostly use the preset "Film", or "Tonemapped" for very high contrast scenes (default). On top of that, adjust Dark Strength/Range and Light Strength/Range. With that you should get the maximum contrast and image information from RAW to something processed.
5D3.113 | EOSM.202

IDA_ML

Thank you again, Masc, for this useful information.  MLVApp keeps getting better and better and adds substantial value to our old ML-capable Canon cameras.  Just keep going!

togg

+1 to the fact that the default values are perfect. It's one of the strenghts of the app. Here a video where I used the ProRes straight from the app (a few h264 shots are in) https://vimeo.com/519886116

wib

super reportage ! les gars sont passionnés !

so what was your set up ?
EOS 5D3 123 crop_rec_4k_mlv_snd_isogain_1x3_presets_2020Dec11.5D3123