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 3 Guests are viewing this topic.

ilia3101


andy kh

Quote from: Danne on May 26, 2019, 10:27:01 PM
So footage is 1920x818 and you export to 1920x1080 with a black border?

i get black border because i think premiere pro is intelligent. it knows the aspect ratio of my video and  maintain the height with balck border without strecthing my video height regardless of the codec or height i set
5D Mark III - 70D

andy kh

Quote from: Danne on May 26, 2019, 10:27:01 PM
Try match sequence setting. Pretty sure it won´t export dnxhd.

dnxhd comes with presets. there is no option to change to match sequence settings. what im poiting out here is that i can export using any presets wihout stretching the height in resolve/premiere pro
5D Mark III - 70D

Danne

Quote from: andy kh on May 27, 2019, 02:40:25 AM
i get black border because i think premiere pro is intelligent. it knows the aspect ratio of my video and  maintain the height with balck border without strecthing my video height regardless of the codec or height i set
FFmpeg is very versatile. It can do almost whatever with your footage. And pad output is considered basic. But it might be a cool thing to add in Mlv App. Here are two links:
https://ffmpeg.org/ffmpeg-filters.html#pad

https://superuser.com/questions/991371/ffmpeg-scale-and-pad

reddeercity

@masc , I had a problem with 50D clipping hi-lights & turning them pink , I was testing UHD(3744x1080)
I shorten one of the mlv to 50 frames (240MB) on my Google drive if you would like to have a look at it 
https://drive.google.com/file/d/1ioIJamgPBxKIxg88Gl97Zm3ZfOlwE0qf/view?usp=sharing
I had no problem with Adobe A.E. to bring back the hi-lights , here the post of the video from A.E.
https://www.magiclantern.fm/forum/index.php?topic=19336.msg217051#msg217051

andy kh

Known issue for cameras other than  for 5d mark III. Decrease the white level in raw correction
5D Mark III - 70D

reddeercity

Quote from: andy kh on May 28, 2019, 07:34:04 AM
Known issue for cameras other than  for 5d mark III. Decrease the white level in raw correction
Ok , Just tried that and no , it clips even more .

Danne

In this case it´s enought to pull down exposure and go from there. Reminder. Mlv App is not acr for good and worse:


Interesting, it´s not possible to increase white level in this mlv? Meant to be?


EDIT:
some fast color correction:

masc

Quote from: andy kh on May 28, 2019, 07:34:04 AM
Known issue for cameras other than  for 5d mark III.
Huuu?! This has nothing to do with 5D3. Can and will happen with any camera, also with 5D3.
5D3.113 | EOSM.202

andy kh

Quote from: masc on May 28, 2019, 09:50:17 AM
Huuu?! This has nothing to do with 5D3. Can and will happen with any camera, also with 5D3.

my bad. bad in explaining. i mean to say there is no need to adjust the raw white level  for the 5D mark III. i can confirm this as i own a 5D now. i can now shoot in any bit and need not touch the raw white level like i had to do for 70D if i shoot in 10/12 bits
5D Mark III - 70D

ilia3101

Reddeercity has pointed out a real issue, highlight reconstruction does not help where these flowers are clipped, luckily the flower is pink anyway so the pink clipped parts blend in. Took some time for me to notice this. Highlight reconstruction only works well for neutral colours, I have tried to fix this before and failed. I think I know how it's just difficult to make it work.

Tried to match(/exceed) ACR:




@Luther thank you!

2blackbar

Interesting is that when you switch to something else than "use camera matrix" then pink /cyan highlights disappear(turns ok and pink is turned into proper bright/ white tone).
When you use standard instead of tonemapped or film - pink/cyan frame turns ok.
So it is possible to do and MLVApp already does this properly but not in tonemapped and not when using camera matrix, maybe merging two methods( camera matrix and uncolorscience) would give proper results for highlights while preserving amazing colours of camera matrix method.
Last image with white/pink lines is the border where pink turns cyan, you cant get white but sometimes cyan line next to pink colour will cancel each other which looks like white, when you go with slider down even more then eventually cyan takes over , when you go up then magenta/pink takes over that area.

So why dont I use something else than "use camera matrix" you ask ? Because i love the colours on it that look like CMYK film.

ilia3101

Nah it's all the same method. (Unfortunately :()

Using camera matrix creates more accurate colours, but it also happens to saturate many colours including pink, so the pink highlights are more noticeable.

Standard curve clips off many stops of dynamic range, so it may cut out the pink highlights, but they are still there, just not visible as they may be clipped to white. I don't like the clipped look from standard so I rarely use it.


The horrible saturated colourful highlights you demonstrate will be gone in the BetterProcessing branch once it's completed.

2blackbar

So maybe something like another correction for pure white would be useful , cause pink/cyan should be white, they fight over this area.
Also standard is as saturated as film/tonemapped and looks quite similar but its pink/magenta treatment is much better than tonemapped/film.
I use highlights slider turned all th way down with standard and it preserves all highlights even better than tonemapped/film( makes them bit darker) but i dig the contrast(highlights rolloff) in tonemapped/film more than standard.
Tonemapped vs standard and highlights restored on both

ilia3101

"a correction for pure white", I could do that: a separate white balance setting for highlight reconstruction. This would fix any pink/cyan highlights, but it's another slider to adjust each time. So I want to make this automated.

But if anyone reallly wants it it could be a temporary solution.


Also you comparison shows standard looking better than tonemapped, which is interesting, but see how they compare when you pull the exposure down a few stops.

2blackbar

I posted another one while you answered, tonemapped vs standard.Standard has diffrent highlihts rollof and contrast than tonemapped, but i prefere tonnemapped/film (both are very similar) at this moment, its a matter of taste maybe.Just looks more like film.
Without highlights slider moving down standard does have highlights more blownoff than tonemapped like you described but testing them with highlights brought back produce similar results, darker/more contrasty on standard.

ilia3101

Thanks. Well it is interesting that standard preserves highlights better. Not sure why, nothing about it means it should. Probably something to do with perception.

2blackbar

I agree its perceptional, Id say technically its similar but contrast in standard makes the highlights darker a bit.

2blackbar

de
Quote from: Ilia3101 on May 28, 2019, 04:12:15 PM
"a correction for pure white", I could do that: a separate white balance setting for highlight reconstruction. This would fix any pink/cyan highlights, but it's another slider to adjust each time. So I want to make this automated.

But if anyone reallly wants it it could be a temporary solution.

Definitely WANT  :D It would save a lot of shots, or somethng to switch on which would force #FF00FF or #00FFFF to pure white or slightly gray , or change saturation to 0 from these two particular colour tones.
Fixing bad pixel has detection for red pixel so maybe fixig cyan/magenta could have similar, theres no magenta or cyan that saturated in real life.
It is dirty solution but so is "highlight reconstruction" , which IMO should be always on.

Luther

Quote from: masc on May 26, 2019, 09:08:39 PM
Yes, I can compile here on OSX. What OS do you use? (If it is not OSX I am sorry... I am in holiday and no Win/Linux in the near.)

On Windows 10. QT 5.9.1. QTCreator 4.7.0. Using MinGW to compile.
Errors:


C:\MLV-App\src\debayer\wb_conversion.h:14: error: unknown type name 'uint16_t'
void wb_undo( uint16_t *debayeredFrame, int width, int height, int blacklevel );
               ^



In file included from ..\..\src\processing\rbfilter\rbf_wrapper.cpp:8:0:
..\..\src\processing\rbfilter\rbf.h: In function 'void _recursive_bf(uint16_t*, float, float, int, int, int, float*)':
..\..\src\processing\rbfilter\rbf.h:148:18: warning: value computed is not used [-Wunused-value]
         *--temp_x; *temp_x = 0.5f*((*temp_x) + (*--in_x));
                  ^
..\..\src\processing\rbfilter\rbf.h:149:18: warning: value computed is not used [-Wunused-value]
         *--temp_x; *temp_x = 0.5f*((*temp_x) + (*--in_x));
                  ^
..\..\src\processing\rbfilter\rbf.h:150:18: warning: value computed is not used [-Wunused-value]
         *--temp_x; *temp_x = 0.5f*((*temp_x) + (*--in_x));
                  ^
..\..\src\processing\rbfilter\rbf.h:156:25: warning: value computed is not used [-Wunused-value]
         *--temp_factor_x; *temp_factor_x = 0.5f*((*temp_factor_x) + 1);
                         ^
..\..\src\processing\rbfilter\rbf.h:175:22: warning: value computed is not used [-Wunused-value]
             *--temp_x; *temp_x = 0.5f*((*temp_x) + ycr);
                      ^
..\..\src\processing\rbfilter\rbf.h:176:22: warning: value computed is not used [-Wunused-value]
             *--temp_x; *temp_x = 0.5f*((*temp_x) + ycg);
                      ^
..\..\src\processing\rbfilter\rbf.h:177:22: warning: value computed is not used [-Wunused-value]
             *--temp_x; *temp_x = 0.5f*((*temp_x) + ycb);
                      ^
..\..\src\processing\rbfilter\rbf.h:182:29: warning: value computed is not used [-Wunused-value]
             *--temp_factor_x;
                             ^
..\..\src\processing\rbfilter\rbf.h:271:24: warning: value computed is not used [-Wunused-value]
                 *out_++;
                        ^
..\..\src\processing\rbfilter\rbf.h:273:23: warning: value computed is not used [-Wunused-value]
             *factor_++;
                       ^




In file included from ..\..\src\debayer\wb_conversion.c:8:0:
..\..\src\debayer\wb_conversion.h:14:15: error: unknown type name 'uint16_t'
void wb_undo( uint16_t *debayeredFrame, int width, int height, int blacklevel );
               ^
..\..\src\debayer\wb_conversion.c: In function 'wb_convert':
..\..\src\debayer\wb_conversion.c:27:60: warning: unused parameter 'blacklevel' [-Wunused-parameter]
void wb_convert(float *rawData, int width, int height, int blacklevel)
                                                            ^
..\..\src\debayer\wb_conversion.c: In function 'wb_undo':
..\..\src\debayer\wb_conversion.c:58:67: warning: unused parameter 'blacklevel' [-Wunused-parameter]
void wb_undo(uint16_t *debayeredFrame, int width, int height, int blacklevel)
                                                                   ^
Makefile.Debug:8960: recipe for target 'debug/wb_conversion.o' failed
mingw32-make[1]: *** [debug/wb_conversion.o] Error 1
mingw32-make[1]: *** Waiting for unfinished jobs....
..\..\src\processing\rbfilter\RBFilterPlain.cpp: In member function 'void CRBFilterPlain::filter(uint16_t*, uint16_t*, float, float, int, int, int)':
..\..\src\processing\rbfilter\RBFilterPlain.cpp:266:29: warning: unused variable 'src_prev' [-Wunused-variable]
             const uint16_t* src_prev = src_color;
                             ^
mingw32-make[1]: Leaving directory 'C:/Users/Pichau/mlvapp/MLV-App/platform/build-MLVApp-Desktop_Qt_5_9_1_MinGW_32bit-Debug'
Makefile:36: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2
20:13:44: The process "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project MLVApp (kit: Desktop Qt 5.9.1 MinGW 32bit)
When executing step "Make"

Luther

Quote from: Ilia3101 on May 26, 2019, 03:35:27 PM
The camera matrices, do they give output with absolute colour, D65 is equal to D65? or is it something like D65 is at D50, I seem to remember andy600 mentioning that and it has been a thought in the back of my mind ever since. (I am so confused about this!!!!!!!!!!!)

Another thing.... Let's say processing will use multiple gamuts for different stages (it will, three to be exact) - some of these gamuts may have a D50 white point, some D65, and some approximately D60. When converting between these gamuts inside of processing, should the white point be adapted (relative transform) or should it use an absolute transform? I am thinking relative would be better, as it avoids white shift in some adjustments like saturation.

And: Does anyone have links to info of how perceptual gamut transforms work? (implementation, not just an explanation of how it looks)

I have no idea about those questions Ilia. In my mind I always thought that color conversion is something complicated and often not precise, so the simplest solution should always be the best one.
I noticed you seem to be using XYZ and then converting to other space, right? For example, I see you got the ACES matrix from here (XYZ-to-AP0). Wouldn't be better to just use right away the intended color space?
Might be a good idea to request help on ACES Central. They might have the answers about your white point questions.

masc

Quote from: Luther on May 28, 2019, 10:16:38 PM
On Windows 10. QT 5.9.1. QTCreator 4.7.0. Using MinGW to compile.
Errors:
...
Sounds like the compiler on windows is too stupid to use the given includes. #include "stdlib.h" or #include "stdint.h"  is missing in the file. No exact idea here and can't try.
5D3.113 | EOSM.202

Luther

Quote from: masc on May 28, 2019, 10:43:28 PM
Sounds like the compiler on windows is too stupid to use the given includes. #include "stdlib.h" or #include "stdint.h"  is missing in the file. No exact idea here and can't try.

Yep, that's it. Including stdint.h to wb_conversion.h makes it work.
Patch:


*** wb_conversion.h.orig Tue May 28 21:02:42 2019
--- wb_conversion.h Tue May 28 20:58:55 2019
***************
*** 10,15 ****
--- 10,17 ----
 
 
  #include "stdlib.h"
+ #include "stdint.h"
+
 
  void wb_convert(float *rawData, int width, int height, int blacklevel );
  void wb_undo( uint16_t *debayeredFrame, int width, int height, int blacklevel );



masc

Whyever this is needed. Through the include chain this should be included more than once already - and unix hasn't this problem. But commited it now, so hopefully this makes no more problems for everybody on windows. Thank you for trying out.
5D3.113 | EOSM.202

reddeercity

Here the dng from A.E. with correction M26-2103_000000.dng , below is the ExifTool info with tonemap from adobe , maybe useful to help figure out the issue .
ExifTool Version Number         : 10.45
File Name                       : M26-2103_000000.dng
File Size                       : 4.8 MB
File Type                       : DNG
File Type Extension             : dng
Image Width                     : 3744
Image Height                    : 1080
Bits Per Sample                 : 10
XMP Toolkit                     : Adobe XMP Core 5.3-c007 1.136881, 2010/06/10-1
8:11:35
Creator Tool                    : MLV App
Lens                            : EF24-70mm f/2.8L USM
Approximate Focus Distance      : 54
Document ID                     : 580971C0A7FFD28D0CF11913E78136B1
Original Document ID            : 580971C0A7FFD28D0CF11913E78136B1
Instance ID                     : xmp.iid:103FF4F6DC80E9118557F6C2F85389A2
Format                          : image/dng
Raw File Name                   : M26-2103_000000.dng
Version                         : 7.0
Process Version                 : 6.7
White Balance                   : Custom
Color Temperature               : 4950
Tint                            : 0
Exposure                        : 0.00
Shadows                         : 5
Brightness                      : +50
Contrast                        : +25
Saturation                      : +5
Sharpness                       : 51
Luminance Smoothing             : 24
Color Noise Reduction           : 37
Vignette Amount                 : 0
Shadow Tint                     : -16
Red Hue                         : -14
Red Saturation                  : +18
Green Hue                       : +2
Green Saturation                : -12
Blue Hue                        : +3
Blue Saturation                 : -3
Fill Light                      : 0
Vibrance                        : -8
Highlight Recovery              : 0
Clarity                         : 0
Defringe                        : 1
Hue Adjustment Red              : -8
Hue Adjustment Orange           : 0
Hue Adjustment Yellow           : +29
Hue Adjustment Green            : +7
Hue Adjustment Aqua             : +8
Hue Adjustment Blue             : +1
Hue Adjustment Purple           : +32
Hue Adjustment Magenta          : +3
Saturation Adjustment Red       : -5
Saturation Adjustment Orange    : 0
Saturation Adjustment Yellow    : +26
Saturation Adjustment Green     : +3
Saturation Adjustment Aqua      : 0
Saturation Adjustment Blue      : +19
Saturation Adjustment Purple    : +48
Saturation Adjustment Magenta   : +28
Luminance Adjustment Red        : -45
Luminance Adjustment Orange     : +7
Luminance Adjustment Yellow     : +16
Luminance Adjustment Green      : -7
Luminance Adjustment Aqua       : +8
Luminance Adjustment Blue       : +12
Luminance Adjustment Purple     : 0
Luminance Adjustment Magenta    : +33
Split Toning Shadow Hue         : 44
Split Toning Shadow Saturation  : 5
Split Toning Highlight Hue      : 27
Split Toning Highlight Saturation: 10
Split Toning Balance            : 0
Parametric Shadows              : -16
Parametric Darks                : -16
Parametric Lights               : -18
Parametric Highlights           : +34
Parametric Shadow Split         : 10
Parametric Midtone Split        : 39
Parametric Highlight Split      : 70
Sharpen Radius                  : +1.0
Sharpen Detail                  : 25
Sharpen Edge Masking            : 0
Post Crop Vignette Amount       : 0
Grain Amount                    : 0
Luminance Noise Reduction Detail: 33
Color Noise Reduction Detail    : 43
Luminance Noise Reduction Contrast: 35
Lens Profile Enable             : 1
Lens Manual Distortion Amount   : 0
Perspective Vertical            : 0
Perspective Horizontal          : 0
Perspective Rotate              : 0.0
Perspective Scale               : 100
Auto Lateral CA                 : 1
Exposure 2012                   : -1.15
Contrast 2012                   : -20
Highlights 2012                 : 0
Shadows 2012                    : 0
Whites 2012                     : 0
Blacks 2012                     : 0
Clarity 2012                    : +20
Convert To Grayscale            : False
Tone Curve Name                 : Medium Contrast
Tone Curve Name 2012            : Linear
Camera Profile                  : Adobe Standard
Camera Profile Digest           : 4E39CA4544970CFCDA0480DEF985A334
Lens Profile Setup              : LensDefaults
Lens Profile Name               : Adobe (Canon EF 24-70mm f/2.8 L USM)
Lens Profile Filename           : Canon EOS-1Ds Mark III (Canon EF 24-70mm f2.8
L USM) - RAW.lcp
Lens Profile Digest             : 6DC973F8007CD1B1219A7C2170B93681
Lens Profile Distortion Scale   : 100
Lens Profile Chromatic Aberration Scale: 100
Lens Profile Vignetting Scale   : 100
Has Settings                    : True
Has Crop                        : False
Already Applied                 : False
History Action                  : saved
History Instance ID             : xmp.iid:103FF4F6DC80E9118557F6C2F85389A2
History When                    : 2019:05:27 18:10:13-06:00
History Software Agent          : Adobe Photoshop Camera Raw 7.0 (Windows)
History Changed                 : /metadata
Tone Curve                      : 0, 0, 32, 22, 64, 56, 128, 128, 192, 196, 255,
255
Tone Curve Red                  : 0, 0, 255, 255
Tone Curve Green                : 0, 0, 255, 255
Tone Curve Blue                 : 0, 0, 255, 255
Tone Curve PV2012               : 0, 0, 255, 255
Tone Curve PV2012 Red           : 0, 0, 255, 255
Tone Curve PV2012 Green         : 0, 0, 255, 255
Tone Curve PV2012 Blue          : 0, 0, 255, 255
CFA Repeat Pattern Dim          : 2 2
CFA Pattern 2                   : 0 1 1 2
Exposure Time                   : 1/48
F Number                        : 8.0
ISO                             : 800
Sensitivity Type                : ISO Speed
Exif Version                    : 0230
Shutter Speed Value             : 1/45
Aperture Value                  : 8.0
Subject Distance                : 54 m
Focal Length                    : 24.0 mm
Focal Plane X Resolution        : 5315.436242
Focal Plane Y Resolution        : 5315.436242
Focal Plane Resolution Unit     : inches
Lens Model                      : EF24-70mm f/2.8L USM
DNG Version                     : 1.4.0.0
Unique Camera Model             : Canon EOS 50D
Black Level                     : 112
White Level                     : 1013
Default Scale                   : 1 1
Default Crop Origin             : 0 0
Default Crop Size               : 3744 1080
Color Matrix 1                  : 0.5852 -0.0578 -0.0041 -0.4691 1.1696 0.3427 -
0.0886 0.2323 0.6879
Color Matrix 2                  : 0.492 0.0616 -0.0593 -0.6493 1.3964 0.2784 -0.
1774 0.3178 0.7005
As Shot Neutral                 : 0.4767212258 1 0.7424952295
Baseline Exposure               : 0
Camera Serial Number            : 190DA874
Calibration Illuminant 1        : Standard Light A
Calibration Illuminant 2        : D65
Active Area                     : 0 0 1080 3744
Forward Matrix 1                : 0.8716 -0.0692 0.1618 0.3408 0.8077 -0.1486 -0
.0013 -0.6583 1.4847
Forward Matrix 2                : 0.9485 -0.115 0.1308 0.4313 0.7807 -0.212 0.02
93 -0.2826 1.0785
Time Codes                      : 00:00:00.00
Frame Rate                      : 23.976
Reel Name                       : I:/50D_Reg's_in_3xcrop/5-26-2019/M26-2103
Baseline Exposure Offset        : 0
Aperture                        : 8.0
CFA Pattern                     : [Red,Green][Green,Blue]
Image Size                      : 3744x1080
Megapixels                      : 4.0
Shutter Speed                   : 1/48
Focal Length                    : 24.0 mm
Light Value                     : 8.6