Author Topic: mlv_dump on steroids  (Read 3706 times)

k2121

  • New to the forum
  • *
  • Posts: 15
Re: mlv_dump on steroids
« Reply #25 on: March 07, 2017, 10:25:40 AM »
Hi,

In Windows 7 Service Pack 1 64-bit, program mlv_dump not working.

mlv_dump crash

Code: [Select]
Problem signature:
   Problem Event Name: APPCRASH
   Application Name: mlv_dump.exe
   Application Version: 0.0.0.0
   Timestamp applications: 589fb28f
   The name of the module with an error: ntdll.dll
   The module version with the error: 6.1.7601.23455
   The timestamp of the module with an error: 573a5463
   Exception code: c0000005
   Moving the exception: 00012c22
   OS Version: 6.1.7601.2.1.0.256.1
   Locale ID 1045
   Additional information 1: 0a9e
   Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
   Additional Information 3: 0a9e
   Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our online privacy statement:
   http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0415

If the principle of confidentiality of information online is not available, please read our privacy statement offline:
   C: \ Windows \ system32 \ en-US \ erofflps.txt

Raw Video

Is there mlv_dump_steroids_1.0 version for Windows?
650d.104 ML • SX1.200h CHDK

bouncyball

  • Member
  • ***
  • Posts: 174
Re: mlv_dump on steroids
« Reply #26 on: March 07, 2017, 01:15:51 PM »
Yay! Feedback at last! :)

Well in reality this is the problem of your .IDX xref file. It's somehow wrong or corrupted (file size is wrong and block_size is wrong after XREF header). In all versions of mlv_dump it's gonna dump the core (will crash).

Just delete this .IDX file and if you really need it, build one with the command 'mlv_dump -x your.mlv' and you'll see the difference in sizes: Your's 5980 bytes vs Generated 4504 bytes.

Regards
bb

Danne

  • Hero Member
  • *****
  • Posts: 2878
Re: mlv_dump on steroids
« Reply #27 on: March 07, 2017, 03:33:43 PM »
I just finished a cr2hdr_steroids.app(MAC) build for testing which utilize the steroid version of mlv_dump. Download here
https://bitbucket.org/Dannephoto/cr2hdr/downloads/cr2hdr_steroids.dmg
Source code for this version is inside the dmg.

It works the same as cr2hdr.app you start out with a main menu and from there you head over to the mlv_dump settings menu by selecting (m).
https://bitbucket.org/Dannephoto/cr2hdr/overview

Note that you reach darkframe and flatframe automation from the main menu, not from mlv_dump menu.

Also updated to the latest focus pixel(dfort) script with the -n switch
https://bitbucket.org/daniel_fort/ml-focus-pixels

Main menu


mlv_dump menu


bouncyball

  • Member
  • ***
  • Posts: 174
Re: mlv_dump on steroids
« Reply #28 on: March 07, 2017, 03:44:24 PM »
Hey man! Great news, thank you :)

Danne

  • Hero Member
  • *****
  • Posts: 2878
Re: mlv_dump on steroids
« Reply #29 on: March 07, 2017, 07:08:00 PM »
Uploaded a new cr2hdr_steroids version. Some small fixes around darkframe automation.
https://bitbucket.org/Dannephoto/cr2hdr/downloads/cr2hdr_steroids.dmg

All tests below with eosm in crop_rec

Tested darkframe and flatframe handling and confirmed working. Like with g3gg0/a1ex 10/12 bit mlv_dump darkframe subtraction works good with 14 and 12 bit files but with 10bit not so very nice. Instead of subtracting color noise it seems to add to it a little with 10bit. Good to know if recording 10bit footage.
A not so very nice problem is later chroma smooth(dualiso code) vs raw2dng chroma smooth code. As cs 2x2 is great with raw2dng code and for cameras in need of it like eosm the cs code in dualiso code can,t really cope with focus pixels. Have a look.
Also about focus pixels it seems not all of them are taken care of. Check to the right on the picture. Maybe the -n switch needs some checking into @dfort?

Chroma smooth artifacts


Focus pixels



Darkframe testing. Last two picture flatframe averaging

14bit original


14bit Darkframed


12bit original


12bit Darkframed


10bit original


10bit Darkframed


Original (not flatframed)


Flatframed


DeafEyeJedi

  • Hero Member
  • *****
  • Posts: 2900
  • 5D3 / M1 / 7D / 70D / SL1
mlv_dump on steroids
« Reply #30 on: March 08, 2017, 07:48:59 AM »
Loving the update so far @Danne and I really dig the new mlv_dump menu within your app. It's so funny that 10-bit looks worse after DF avg process. Seems 12-bit may be the 'sweet spot' after all. Thanks for sharing and will test thoroughly before I report anything.
5D3.113 • 5D3.123 • EOSM.203 • 7D.203 • 70D.112 • 100D.101

bouncyball

  • Member
  • ***
  • Posts: 174
Re: mlv_dump on steroids
« Reply #31 on: March 08, 2017, 08:56:28 AM »
Yes. CS issue exacly as in mlvfs. I guess the solution is: http://www.magiclantern.fm/forum/index.php?topic=7122.msg179319#msg179319.

Danne

  • Hero Member
  • *****
  • Posts: 2878
Re: mlv_dump on steroids
« Reply #32 on: March 08, 2017, 01:42:03 PM »
Think I got something working with the -n swith in the focus pixel list.

This:
Code: [Select]
##
# output_row() function
# Write a row of focus pixel coordinates to the output file.
#
output_row() {
  for i in $(seq 72 $((raw_width)) ); do # 0-71 is out of bounds
    if (( (($i + $shift1)) % x_rep == 0 )) || (( (($i + $shift2)) % x_rep == 0 )); then
      if [[ "$cropXY" == no ]]; then
        ((x = $i))
        ((y = $j))
      echo -e "$x \t $y" >> "$output"
      else
        ((x = $i - $cropX))
        ((y = $j - $cropY))
      if (( "$x" >= 0 )) && (( "$y" >= 0 )); then
        if (( "$x" < "$width" )) && (( "$y" < "$height" )); then
          if [[ "$format" == fpm ]]; then
            echo -e "$x \t $y" >> "$output"
          else echo -e "$x \t $y \t 0" >> "$output"
          fi
        fi
      fi
    fi
  fi
  done
}


instead of:
Code: [Select]
##
# output_row() function
# Write a row of focus pixel coordinates to the output file.
#
output_row() {
  for i in $(seq 72 $((raw_width)) ); do # 0-71 is out of bounds
    if (( (($i + $shift1)) % x_rep == 0 )) || (( (($i + $shift2)) % x_rep == 0 )); then
      if [[ "$cropXY" == no ]]; then
        ((x = $i))
        ((y = $j))
      else
        ((x = $i - $cropX))
        ((y = $j - $cropY))
      fi
      if (( "$x" >= 0 )) && (( "$y" >= 0 )); then
        if (( "$x" < "$width" )) && (( "$y" < "$height" )); then
          if [[ "$format" == fpm ]]; then
            echo -e "$x \t $y" >> "$output"
          else echo -e "$x \t $y \t 0" >> "$output"
          fi
        fi
      fi
    fi
  done
}

bouncyball

  • Member
  • ***
  • Posts: 174
Re: mlv_dump on steroids
« Reply #33 on: March 08, 2017, 05:38:36 PM »
Nicely done! :)

output_row() {
  for i in $(seq 72 $((raw_width)) ); do # 0-71 is out of bounds
    if (( (($i + $shift1)) % x_rep == 0 )) || (( (($i + $shift2)) % x_rep == 0 )); then
      if [[ "$cropXY" == no ]]; then
        ((x = $i))
        ((y = $j))
+       if (( "$x" >= 0 )) && (( "$y" >= 0 )); then
+         if [[ "$format" == fpm ]]; then
+            echo -e "$x \t $y" >> "$output"
+         else.
+            echo -e "$x \t $y \t 0" >> "$output"
+          fi
+        fi
      else
        ((x = $i - $cropX))
        ((y = $j - $cropY))
        if (( "$x" >= 0 )) && (( "$y" >= 0 )); then
          if (( "$x" < "$width" )) && (( "$y" < "$height" )); then
            if [[ "$format" == fpm ]]; then
              echo -e "$x \t $y" >> "$output"
            else.
              echo -e "$x \t $y \t 0" >> "$output"
            fi
          fi
        fi
      fi
    fi
  done
}

Just a small correction. Now this does not break dcraw style output (zero at the end of line) and makes sure there're no negative coordinates (x,y >= 0).

DeafEyeJedi

  • Hero Member
  • *****
  • Posts: 2900
  • 5D3 / M1 / 7D / 70D / SL1
Re: mlv_dump on steroids
« Reply #34 on: March 08, 2017, 06:16:32 PM »
Loving the collaborations from you two! [emoji56]
5D3.113 • 5D3.123 • EOSM.203 • 7D.203 • 70D.112 • 100D.101

Danne

  • Hero Member
  • *****
  • Posts: 2878
Re: mlv_dump on steroids
« Reply #35 on: March 08, 2017, 06:30:04 PM »
That extra dcraw else function isn,t really working. I think the
Code: [Select]
if [[ "$format" == fpm ]] Needs an actual fpm file to be fed to the script else it won,t recognize outputting fpm and it will take it for a dcraw output anyway. At least that,s what my tests shown.
I think like this. The -n switch will probably only be used for the mlvfs focus pixel code in your steroid version and otherwise we run the script without the -n switch and then we,re back to the extra 0.

*Unless I specify the -f for fpm file, huh, just noticed that little detail. Will test again.
Ok, your little extras are working since I specified the -f switch as well. Then I tested the old focus pixel code with the -f switch but that din,t work, go figure. I will add your extra lines to dforts script. Great.

Updated cr2hdr_steroids.app with the latest fpm.sh script.

bouncyball

  • Member
  • ***
  • Posts: 174
Re: mlv_dump on steroids
« Reply #36 on: March 09, 2017, 09:36:37 AM »
Yup that -f is there from the beginning :)

-f -n does what I really was after when adding -n.

bb