Magic Lantern for 7D alpha 2

Started by g3gg0, December 23, 2012, 11:30:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arrinkiiii


@Audionut

Wend i enable the pick_view module its just fail to load.

tcc: error: undefined symbol "raw_info"
tcc: error: undefined symbol "raw_set_geometry"
[E] failed to link modules

The rest i think its working good. Im going out to try the new build  :D

Pelican

Quote from: Audionut on August 01, 2013, 12:02:33 PM
That's a lot cleaner then what I was doing to the code (surprise, surprise)!

Here is a new build
I've refreshed the files in the zip here so EOScard can download this version from now.
Also updated EOScard itself (bugfix).
The file_man.mo is  the newest with the date info.
EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

pit3k

Quote from: Pelican on August 01, 2013, 12:56:14 PM
I've refreshed the files in the zip here so EOScard can download this version from now.
Also updated EOScard itself (bugfix).
The file_man.mo is  the newest with the date info.

What about pick_view module?

Quote from: arrinkiiii on August 01, 2013, 12:44:18 PM
@Audionut

Wend i enable the pick_view module its just fail to load.

tcc: error: undefined symbol "raw_info"
tcc: error: undefined symbol "raw_set_geometry"
[E] failed to link modules

The rest i think its working good. Im going out to try the new build  :D

feureau

@Pelican Thanks for the update~! :D Where does EOSCard store the magiclantern-7D.203.Alpha2.zip file? I think I need to delete the old one first because it thinks the file is already downloaded and won't download the new download.

@Audionut Thanks for the update! This is awesome! :D

Pelican

Quote from: pit3k on August 01, 2013, 01:06:45 PM
What about pick_view module?
The pic_view (picture viewer) module cannot load so I didn't include that.
EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

hypermobile

Quote from: feureau on August 01, 2013, 01:24:27 PM
@Pelican Thanks for the update~! :D Where does EOSCard store the magiclantern-7D.203.Alpha2.zip file? I think I need to delete the old one first because it thinks the file is already downloaded and won't download the new download.

i Think here:

C:\Users\Hypermobile\AppData\Local\Temp\EOScard001

pit3k

It works like a charm. I took almost 50 photos and no error.

Pelican

Quote from: feureau on August 01, 2013, 01:24:27 PM
@Pelican Thanks for the update~! :D Where does EOSCard store the magiclantern-7D.203.Alpha2.zip file? I think I need to delete the old one first because it thinks the file is already downloaded and won't download the new download.

@Audionut Thanks for the update! This is awesome! :D
Thanks for the bug report I will repair EOScard soon.
It puts to the default temp folder of the user as hypermobile figured out...
EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

feureau

Quote from: Pelican on August 01, 2013, 01:30:43 PM
Thanks for the bug report I will repair EOScard soon.
It puts to the default temp folder of the user as hypermobile figured out...

You're welcome! And thanks for this!

Btw, is there an auto-ETTR module for 7D?

Pelican

EOScard 1.36 can check the date of the zip files so it downloads again if necessary.
Please test it and report any errors.

Quote from: feureau on August 01, 2013, 02:02:56 PM
Btw, is there an auto-ETTR module for 7D?
It's not working.
EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

pit3k

Quick test for sharpness: 100% middle crop of 7d with 17-55/2.8. 17mm @ 2.8

No dual iso (iso 100):



Uploaded with ImageShack.us

Dual iso 100/1600:



Uploaded with ImageShack.us

Full ress cr2 and raw files here: https://www.dropbox.com/sh/tw3lo4kblurabkn/zjZGCfABR5

feureau

Quote from: Pelican on August 01, 2013, 02:08:42 PM
EOScard 1.36 can check the date of the zip files so it downloads again if necessary.
Please test it and report any errors.
It's not working.

I see.

What's pic_view.mo btw? It would cause errors on the module and wouldn't load with dual ISO and file manager if I load them all together

a1ex

I think I've got raw histogram and zebras working in photo mode, sort of. Zebras say almost the entire picture is overexposed, most probably a wrong offset. Quick and dirty patch:


diff -r af0907c14c7d platform/7D.203/Makefile.setup.default
--- a/platform/7D.203/Makefile.setup.default Thu Aug 01 14:44:07 2013 +0300
+++ b/platform/7D.203/Makefile.setup.default Thu Aug 01 15:32:27 2013 +0300
@@ -12,5 +12,6 @@
video_hacks.o \
misc.o \
ptpbuf.o \
+ raw.o \
afma.o

diff -r af0907c14c7d platform/7D.203/internals.h
--- a/platform/7D.203/internals.h Thu Aug 01 14:44:07 2013 +0300
+++ b/platform/7D.203/internals.h Thu Aug 01 15:32:27 2013 +0300
@@ -102,3 +102,5 @@

/** We can record movies in regular photo modes - M, P, Tv, Av... */
#define CONFIG_NO_DEDICATED_MOVIE_MODE
+
+#define CONFIG_RAW_PHOTO
diff -r af0907c14c7d src/raw.c
--- a/src/raw.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/raw.c Thu Aug 01 15:32:27 2013 +0300
@@ -58,6 +58,8 @@
#define RAW_LV_EDMAC 0xC0F26208
#endif

+#define RAW_LV_EDMAC 0xC0F26208
+
/**
  * Photo-mode raw buffer address
  * On old cameras, it can be intercepted from SDSf3 state object, right after sdsMem1toRAWcompress.
@@ -67,7 +69,7 @@
  * and http://a1ex.bitbucket.org/ML/states/ for state diagrams.
  */

-#if defined(CONFIG_5D2) || defined(CONFIG_50D) || defined(CONFIG_500D) || defined(CONFIG_600D) || (defined(CONFIG_DIGIC_V) && !defined(CONFIG_FULLFRAME))
+#if defined(CONFIG_5D2) || defined(CONFIG_50D) || defined(CONFIG_500D) || defined(CONFIG_600D) || (defined(CONFIG_DIGIC_V) && !defined(CONFIG_FULLFRAME)) || defined(CONFIG_7D)
#define RAW_PHOTO_EDMAC 0xc0f04A08
#endif

@@ -140,7 +142,7 @@
  * It will also work with the values from some other camera, but colors may be a little off.
  **/

-#ifdef CONFIG_5D2
+#ifdef CONFIG_7D
     //~ { "Canon EOS 5D Mark II", 0, 0x3cf0,
     //~ { 4716,603,-830,-7798,15474,2480,-1496,1937,6651 } },
     #define CAM_COLORMATRIX1                       \
@@ -242,7 +244,7 @@
  * This is only used in photo LiveView, where we can't compute it
  */

-#ifdef CONFIG_5D3
+#ifdef CONFIG_7D
static int dynamic_ranges[] = {1097, 1087, 1069, 1041, 994, 923, 830, 748, 648, 552, 464};
#endif

@@ -531,6 +533,13 @@
         skip_left = 72;
         skip_top = 52;
         #endif
+       
+        #ifdef CONFIG_7D
+        width = 5360;
+        height = 3516;
+        skip_left = 160;
+        skip_top = 52;
+        #endif

         dbg_printf("Photo raw buffer: %x (%dx%d)\n", raw_info.buffer, width, height);
         dbg_printf("Skip left:%d right:%d top:%d bottom:%d\n", skip_left, skip_right, skip_top, skip_bottom);
@@ -559,6 +568,7 @@
         prev_zoom = zoom;
     }

+    #ifdef CONFIG_RAW_LIVEVIEW
     /* in zoom mode: yuv position changed? force a refresh */
     if (lv_dispsize > 1)
     {
@@ -574,6 +584,7 @@
         prev_delta_x = delta_x;
         prev_delta_y = delta_y;
     }
+    #endif
     
     if (dirty)
     {
@@ -700,6 +711,8 @@
     int preview_skip_top = skip_top;
     int preview_width = raw_info.jpeg.width;
     int preview_height = raw_info.jpeg.height;
+   
+    #ifdef CONFIG_RAW_LIVEVIEW
     if (lv_dispsize > 1)
     {
         int delta_x, delta_y;
@@ -742,6 +755,7 @@
             preview_height = vram_hd.height / zoom_corr;
         }
     }
+    #endif
     
     raw_set_preview_rect(preview_skip_left, preview_skip_top, preview_width, preview_height);

diff -r af0907c14c7d src/state-object.c
--- a/src/state-object.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/state-object.c Thu Aug 01 15:32:27 2013 +0300
@@ -17,6 +17,7 @@

#ifdef CONFIG_7D
#define LV_STATE (*(struct state_object **)0x4458)
+#define SDS_FRONT3_STATE (*(struct state_object **)0x32DC)
#endif

#ifdef CONFIG_7D_MASTER
@@ -358,7 +359,7 @@
     int ans = StateTransition(self, x, input, z, t);
     int new_state = self->current_state;

-    #if defined(CONFIG_5D2) || defined(CONFIG_550D)
+    #if defined(CONFIG_5D2) || defined(CONFIG_550D) || defined(CONFIG_7D)
     // SDSf3:(0)  --  3 sdsMem1toRAWcompress-->(1)
     // SDSf3:(1)  --  3 sdsMem1toJpegDevelop-->(1)
     if (old_state == 0 && input == 3 && new_state == 1)
diff -r af0907c14c7d src/zebra.c
--- a/src/zebra.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/zebra.c Thu Aug 01 15:32:27 2013 +0300
@@ -827,6 +827,7 @@

int can_use_raw_overlays_photo()
{
+    return 1;
     // MRAW/SRAW are causing trouble, figure out why
     // RAW and RAW+JPEG are OK
     if ((pic_quality & 0xFE00FF) == (PICQ_RAW & 0xFE00FF))


I'll be away for a few hours; if you can clean it up (e.g. by copying dynamic range values from DxO, color matrix from dcraw, and tweaking the offsets), it will be very helpful.

arrinkiiii

Some tests

NORMAL




DUAL ISO



This is wanderful and never show up the 70error  :D

I see some things happen that i don't know if it's normal

1- Wend i back home to see the photos, i see in the structure of the CF card (in canon folders) that after i take a few photos he creates another folder and put the rest of the pictures there.

2-Wend i pick-up all the photos and drag to the cr2hdr, he fail always the first pictures. The rest of the pictures, he transcribe good and make the dng file. But almost in the end of each file, wend cr2hdr are doing is work, its show up a message saying that the exiftool didn't work, like the image below. Evan with this error the cr2hdr make is job and make the dng that i can open in photoshop for making the right tweek.

3-A problem that i come across is that is hard for make the right exposure.  Didn't, yet, get the best way to exposure.




Beside this DUAL ISO is one more great function in the ML arsenal =D.


a1ex

1) normal Canon behavior (ever used a Canon camera without ML?)

2) try working in a short directory (e.g. c:\test)

3) I expose to the right for ISO 100; if the scene needs dual ISO, it would look very dark in LiveView at ISO 100, but the histogram will touch the right side.


Gippi


Is nice to see that in this forum there are new signs of life. I appreciate the effort to give even new features to 7d.
I would like to ask what steps should I follow to use the new firmware that  you are testing in these days.

I have copied the new files in the folder  modules in magic lantern alpha 2, but I have not seen anything changed. Not able to see the New gui interface,
I did something wrong?
Could someone kindly explain to me how to do even without autoboot.

Sorry for my bad english and Thanks!

ThLDQ

@ Arrinkiiii
Impressive picture   :P !!! I've understood the interrest of dual ISO  ;)
I've tried to find cr2hdr.exe, but I failed.
I guess it's a programm that automatically blend the two pictures taken in the two different ISO.
I'm right ?
Where can I find it ? And can it be replaced by another program that runs on a Mac ?
Thierry

arrinkiiii

Quote from: a1ex on August 01, 2013, 07:03:52 PM
1) normal Canon behavior (ever used a Canon camera without ML?)

2) try working in a short directory (e.g. c:\test)

3) I expose to the right for ISO 100; if the scene needs dual ISO, it would look very dark in LiveView at ISO 100, but the histogram will touch the right side.

1- Never hehe  :D  always full ML  (im not so from photography)

2- I will try, thank you.

3- Move the camera to the left for expose with the right part of the screen/viewfinder and then frame again your subject? ...and look to the histogram for see the correct exposure?

4- Im using 100 iso in the canon menu and 1600 in the dual iso menu. Do you think that is the best settings or is the same if i change?

5 - You wrote this,
Quote from: a1ex on August 01, 2013, 02:44:59 PM
I think I've got raw histogram and zebras working in photo mode, sort of. Zebras say almost the entire picture is overexposed, most probably a wrong offset. Quick and dirty patch:


diff -r af0907c14c7d platform/7D.203/Makefile.setup.default
--- a/platform/7D.203/Makefile.setup.default Thu Aug 01 14:44:07 2013 +0300
+++ b/platform/7D.203/Makefile.setup.default Thu Aug 01 15:32:27 2013 +0300
@@ -12,5 +12,6 @@
video_hacks.o \
misc.o \
ptpbuf.o \
+ raw.o \
afma.o

diff -r af0907c14c7d platform/7D.203/internals.h
--- a/platform/7D.203/internals.h Thu Aug 01 14:44:07 2013 +0300
+++ b/platform/7D.203/internals.h Thu Aug 01 15:32:27 2013 +0300
@@ -102,3 +102,5 @@

/** We can record movies in regular photo modes - M, P, Tv, Av... */
#define CONFIG_NO_DEDICATED_MOVIE_MODE
+
+#define CONFIG_RAW_PHOTO
diff -r af0907c14c7d src/raw.c
--- a/src/raw.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/raw.c Thu Aug 01 15:32:27 2013 +0300
@@ -58,6 +58,8 @@
#define RAW_LV_EDMAC 0xC0F26208
#endif

+#define RAW_LV_EDMAC 0xC0F26208
+
/**
  * Photo-mode raw buffer address
  * On old cameras, it can be intercepted from SDSf3 state object, right after sdsMem1toRAWcompress.
@@ -67,7 +69,7 @@
  * and http://a1ex.bitbucket.io/ML/states/ for state diagrams.
  */

-#if defined(CONFIG_5D2) || defined(CONFIG_50D) || defined(CONFIG_500D) || defined(CONFIG_600D) || (defined(CONFIG_DIGIC_V) && !defined(CONFIG_FULLFRAME))
+#if defined(CONFIG_5D2) || defined(CONFIG_50D) || defined(CONFIG_500D) || defined(CONFIG_600D) || (defined(CONFIG_DIGIC_V) && !defined(CONFIG_FULLFRAME)) || defined(CONFIG_7D)
#define RAW_PHOTO_EDMAC 0xc0f04A08
#endif

@@ -140,7 +142,7 @@
  * It will also work with the values from some other camera, but colors may be a little off.
  **/

-#ifdef CONFIG_5D2
+#ifdef CONFIG_7D
     //~ { "Canon EOS 5D Mark II", 0, 0x3cf0,
     //~ { 4716,603,-830,-7798,15474,2480,-1496,1937,6651 } },
     #define CAM_COLORMATRIX1                       \
@@ -242,7 +244,7 @@
  * This is only used in photo LiveView, where we can't compute it
  */

-#ifdef CONFIG_5D3
+#ifdef CONFIG_7D
static int dynamic_ranges[] = {1097, 1087, 1069, 1041, 994, 923, 830, 748, 648, 552, 464};
#endif

@@ -531,6 +533,13 @@
         skip_left = 72;
         skip_top = 52;
         #endif
+       
+        #ifdef CONFIG_7D
+        width = 5360;
+        height = 3516;
+        skip_left = 160;
+        skip_top = 52;
+        #endif

         dbg_printf("Photo raw buffer: %x (%dx%d)\n", raw_info.buffer, width, height);
         dbg_printf("Skip left:%d right:%d top:%d bottom:%d\n", skip_left, skip_right, skip_top, skip_bottom);
@@ -559,6 +568,7 @@
         prev_zoom = zoom;
     }

+    #ifdef CONFIG_RAW_LIVEVIEW
     /* in zoom mode: yuv position changed? force a refresh */
     if (lv_dispsize > 1)
     {
@@ -574,6 +584,7 @@
         prev_delta_x = delta_x;
         prev_delta_y = delta_y;
     }
+    #endif
     
     if (dirty)
     {
@@ -700,6 +711,8 @@
     int preview_skip_top = skip_top;
     int preview_width = raw_info.jpeg.width;
     int preview_height = raw_info.jpeg.height;
+   
+    #ifdef CONFIG_RAW_LIVEVIEW
     if (lv_dispsize > 1)
     {
         int delta_x, delta_y;
@@ -742,6 +755,7 @@
             preview_height = vram_hd.height / zoom_corr;
         }
     }
+    #endif
     
     raw_set_preview_rect(preview_skip_left, preview_skip_top, preview_width, preview_height);

diff -r af0907c14c7d src/state-object.c
--- a/src/state-object.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/state-object.c Thu Aug 01 15:32:27 2013 +0300
@@ -17,6 +17,7 @@

#ifdef CONFIG_7D
#define LV_STATE (*(struct state_object **)0x4458)
+#define SDS_FRONT3_STATE (*(struct state_object **)0x32DC)
#endif

#ifdef CONFIG_7D_MASTER
@@ -358,7 +359,7 @@
     int ans = StateTransition(self, x, input, z, t);
     int new_state = self->current_state;

-    #if defined(CONFIG_5D2) || defined(CONFIG_550D)
+    #if defined(CONFIG_5D2) || defined(CONFIG_550D) || defined(CONFIG_7D)
     // SDSf3:(0)  --  3 sdsMem1toRAWcompress-->(1)
     // SDSf3:(1)  --  3 sdsMem1toJpegDevelop-->(1)
     if (old_state == 0 && input == 3 && new_state == 1)
diff -r af0907c14c7d src/zebra.c
--- a/src/zebra.c Thu Aug 01 14:44:07 2013 +0300
+++ b/src/zebra.c Thu Aug 01 15:32:27 2013 +0300
@@ -827,6 +827,7 @@

int can_use_raw_overlays_photo()
{
+    return 1;
     // MRAW/SRAW are causing trouble, figure out why
     // RAW and RAW+JPEG are OK
     if ((pic_quality & 0xFE00FF) == (PICQ_RAW & 0xFE00FF))


I'll be away for a few hours; if you can clean it up (e.g. by copying dynamic range values from DxO, color matrix from dcraw, and tweaking the offsets), it will be very helpful.

I just learn pascal in my old years of school. I Don't understand this but if exist anything that i can do just tell me. Vacations time.


I think my doubts is the doubts of a lot of people here in this post. More one time thanks for thinking in the 7D and for this great function.

arrinkiiii

Quote from: ThLDQ on August 01, 2013, 07:58:44 PM
@ Arrinkiiii
Impressive picture   :P !!! I've understood the interrest of dual ISO  ;)
I've tried to find cr2hdr.exe, but I failed.
I guess it's a programm that automatically blend the two pictures taken in the two different ISO.
I'm right ?
Where can I find it ? And can it be replaced by another program that runs on a Mac ?
Thierry

Thank you ThLDQ  :D could have been better if i know how to exposure correct, i will try the way that a1ex told to expose.

Here is the link for the app for past from cr2 (raw) to DNG = from interlaced iso to normal iso. For windows and mac.

http://www.magiclantern.fm/forum/index.php?topic=7139.0   it's in the first post.


Quote from: Gippi on August 01, 2013, 07:44:14 PM
Is nice to see that in this forum there are new signs of life. I appreciate the effort to give even new features to 7d.
I would like to ask what steps should I follow to use the new firmware that  you are testing in these days.

I have copied the new files in the folder  modules in magic lantern alpha 2, but I have not seen anything changed. Not able to see the New gui interface,
I did something wrong?
Could someone kindly explain to me how to do even without autoboot.

Sorry for my bad English and Thanks!

You need to bootflag your 7D for  accept the new ML with the dual iso module, its the only way to do it. Go here to see the post of britom, he explain everything very well.

http://www.magiclantern.fm/forum/index.php?topic=3974.msg62242#msg62242



arrinkiiii

I think that this treat should be update with the new version of ML for the 7D and maybe also putting the explanation of britom for better achievement.

What ML community think?


jphansen

DOOOH--- my bad.. Had the wrong folder.. sorry..  :o

Now I need to sound stupid.. I tried the tutorial britom did via Parallels (Yea yea I'm a mac dude). But when I try the "Type bspatch.exe 7d000123.fir firmware.fir patch.bsdiff and press enter" I get an error that says bspatch.exe is not recognized as an internal or external command, operable program or patch?!?! Any idea?

angelom

Quote from: arrinkiiii on August 01, 2013, 10:32:39 PM
I think that this treat should be update with the new version of ML for the 7D and maybe also putting the explanation of britom for better achievement.

What ML community think?
I think that this thread, as per his title, should be closed and a new one should be opened, now the topic is (almost) totally different than the original one.
I'd suggest that the new thread should be opened by Britom and then put sticky.

pit3k

Quote from: a1ex on August 01, 2013, 07:03:52 PM
1) normal Canon behavior (ever used a Canon camera without ML?)

2) try working in a short directory (e.g. c:\test)

3) I expose to the right for ISO 100; if the scene needs dual ISO, it would look very dark in LiveView at ISO 100, but the histogram will touch the right side.

1) What a1ex was trying to say is that after picture nr 9999 Canon automatically creates new folder, because it would overwrite existing pictures (It's starts all over with nr 0001).

@arrinkiiii

I think that your example is misleading. Isn't it the same picture with different settings in cameraRAW? For appropriate test you should take two photos: one with dual iso off and another with dual iso ON. And expose for gray card.

jphansen

Now i'm in the step that says: click OK and Select the firmware.fir file from the first folder. Click OK Again. Now is that the firmware.fir file I just made.. and should I select the one from the card or the same file from the folder where I made it?

pit3k

Quote from: jphansen on August 01, 2013, 11:53:47 PM
Now i'm in the step that says: click OK and Select the firmware.fir file from the first folder. Click OK Again. Now is that the firmware.fir file I just made.. and should I select the one from the card or the same file from the folder where I made it?

"From the first folder" not from the cf card.