Author Topic: MLV App 1.14 - All in one MLV Video Post Processing App [Windows, Mac and Linux]  (Read 1342405 times)

avaneev

  • New to the forum
  • *
  • Posts: 2
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

  • New to the forum
  • *
  • Posts: 2
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

  • Hero Member
  • *****
  • Posts: 517
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

  • Hero Member
  • *****
  • Posts: 517
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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:
Code: [Select]
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

  • Senior
  • ****
  • Posts: 444
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

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

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

  • Senior
  • ****
  • Posts: 444
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2307
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

  • Senior
  • ****
  • Posts: 444
Maybe I get it, my files are compressed 14bit.

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
Indeed, uncompressing lossless files is one of the MLVApp tasks to be done and that needs some time.
5D3.113 | EOSM.202

EdwardLatour

  • Just arrived
  • *
  • Posts: 1
Hi @masc, maybe this is useful information.

Nvidia has recently released their nvJPEG2000 framework/API for GPU-accelerated decoding of JPEG 2000 image compression


https://developer.nvidia.com/blog/accelerating-jpeg-2000-decoding-for-digital-pathology-and-satellite-images-using-the-nvjpeg2000-library/


https://developer.nvidia.com/nvjpeg

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

  • New to the forum
  • *
  • Posts: 21
Has anyone got this to build as a Visual Studio project?

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
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

  • Hero Member
  • *****
  • Posts: 1014
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

  • Freshman
  • **
  • Posts: 64
  • meerkat
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 2125
@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

  • Hero Member
  • *****
  • Posts: 1014
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

  • Senior
  • ****
  • Posts: 444
+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)

wib

  • Member
  • ***
  • Posts: 118
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