supplierdeeply

IXUS 950 (SD 850) 1.00C port

  • 33 Replies
  • 10141 Views
*

Offline whoever

  • ****
  • 280
  • IXUS950
  • Publish
    IXUS 950 (SD 850) 1.00C port
    « on: 31 / January / 2008, 03:21:36 »
    Advertisements
    Dear everybody,

    Here is an initial port to IXUS 950 (SD 850) 1.00C, binaries and relevant source. I used "trunk" r264 that defaults to AllBest sources.

    Some info on this cam is available here: http://chdk.wikia.com/wiki/SD850IS/IXUS950IS. It turned out that it is rather similar to ixus70_sd1000, a port to which has just been made by quietschi, http://chdk.setepontos.com/index.php/topic,300.0.html. I heavily borrowed from quietschi's results, and I still have to carefully go through his last sources. With minor exceptions, I tried to leave the non-platform-specific code intact for compatibility reasons.

    Some testing and feedback would be appreciated, especially from people that have experience with CHDK. I'm not a great tester myself, as I still barely understand what about a half of CHDK features are supposed to do. As far as I can tell, the following (main, IMHO) things do function: RAW (see below), video, histogram, zebra, motion detection, USB remote, Tv, Av (sort of, see below), ISO.

    Focus override does not, and should not work, as this cam lacks manual focus. Dear developers, what are the prospects of focus control in such cams?

    Please note that it's a "new" 8 MP CCD, the same as in A720 and S5 IS. As far as I am aware, the only prog that "out-of-the-box" converts the corresponding RAW to DNG is DNG4PS-2 beta.

    It appears that the physical aperture is fixed (fully open), and that the apparent smaller setting is achieved by a ND filter (for a related discussion, see http://chdk.wikia.com/wiki/SD700_CHDK_Porting). In this "smart" design, the apparent aperture thus only has two settings, MIN and MAX. It would make sense to change the Av override menu accordingly but, as said, I so far abstained from modifying non-platform code.

  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #1 on: 31 / January / 2008, 04:09:12 »
    Damn I'm at work and can't test it right now...I was eagerly awaiting for this!!!
    I'll use (erh, test  ;) ) it and report.

    Well I also have no clue of what can I do exactly with CHDK because this is my first Canon camera, and I'm not a photography expert... but ... we will see.

    Thank you really really much!
    « Last Edit: 31 / January / 2008, 04:11:02 by dloading »

    *

    Offline quietschi

    • ***
    • 116
    • Ixus70 102a
  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #2 on: 31 / January / 2008, 05:31:56 »
    Here is an initial port to IXUS 950 (SD 850) 1.00C, binaries and relevant source. I used "trunk" r264 that defaults to AllBest sources.

    Hi whoever
    Nice work. It's good that my port can help you a little. Maybe now some other guys with different cameras can also follow your way and add more cameras to chdk, so the community is growing.
    quietschi

  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #3 on: 31 / January / 2008, 17:23:59 »
    Focus override does not, and should not work, as this cam lacks manual focus. Dear developers, what are the prospects of focus control in such cams?

    Read this:
    http://chdk.setepontos.com/index.php/topic,321.msg2130.html#msg2130
    http://chdk.setepontos.com/index.php/topic,396.msg3039.html#msg3039

    then try yourself and report here:

    http://chdk.setepontos.com/index.php/topic,321.msg2130.html#msg2130


    Cheers
      nirschi


    *

    Offline whoever

    • ****
    • 280
    • IXUS950
  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #4 on: 01 / February / 2008, 04:00:20 »
    Thanks dude, I'll see what I can do.

    *

    Offline whoever

    • ****
    • 280
    • IXUS950
  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #5 on: 02 / February / 2008, 05:34:51 »
    Good news for RAW shooters. In his endless strive for perfection, dear ArtDen has recently discovered and implemented a new method of obtaining camera's color profile. As a result, IXUS 950 is now fully supported by his DNG4PS-2 beta, with nice colors! Those interested in his progress may want to take a look here.

    Another news is that, after some experimenting, I dare to say that this cam in principle supports fully manual focus. Although actually implementing this mode in CHDK in a reliable fashion is a different story...

    *

    Offline whoever

    • ****
    • 280
    • IXUS950
  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #6 on: 03 / February / 2008, 06:09:27 »
    Dear everybody,

    Those of you who appreciate ArtDen's DNG4PS-2 and now wish to use in addition Dave Coffin's dcraw with ArtDen's color profile, please find it attached. On how to compile in Win, see here. On why it doesn't work in Vista, or "Monkey Tricks of Billy Gates", see here.

    Yesterday I promised the fully manual focus, so here it goes. The only difference compared to the initial binaries (or at least so I hope) is that MF is enabled and fully functional. A quick guide (otherwise see in AllBest's Usage on Wiki). The cam will switch to MF as long as Extra_photo_operations -> Override_Subj._Dist._factor is set to anything other than "Off". In the upper-left of the screen then appears SD: <value>, FACTOR: <factor>. The subject distance is approximately "value" in mm. Now, while in ALT mode and provided that Miscellaneous -> Use_zoom_for_MF is set, "value" can be changed in steps of "factor" with the zoom lever. "Factor" is changed by pressing "right" and "left". If "factor" is decreased beyond the minimal "1", i.e., effectively set to "Off", the cam falls back to autofocus. Focusing in macro range is possible without the need to set the macro-mode, but only at the widest zoom (this is Canon's limitation, not CHDK's). The lens is not adjusted continuously, but rather steps through a set of discrete values. This means that changing SD over some ranges will have no effect. Such is, for example, the range between 2 and 70 at wide angle ("2" is then the smallest setting, and surely it doesn't give you 2mm distance...)

    Now to the attention of those who compile on their own -- here's what to do.

    Add the following into stubs_entry_2.S:
    Code: [Select]
    NHSTUB(MFOn, 0xFFB1AF88)
    NHSTUB(MFOff, 0xFFB1AF98)
    (and later ignore compiler warnings about implicit function declaration).

    In core\gui.c, locate and edit this code (add what is shown in red):
    Code: [Select]
    const char* gui_subj_dist_override_value_enum(int change, int arg) {
    static const int koef[] = {0, 1,10,100,1000};
        static char buf[8];
        conf.subj_dist_override_value+=(change*koef[conf.subj_dist_override_koef]);
    [color=red]//[/color]    if (conf.subj_dist_override_value<0)
    [color=red]    if (conf.subj_dist_override_value<2)[/color]
            conf.subj_dist_override_value=65500;
        else if (conf.subj_dist_override_value>65500)
    [color=red]//[/color]        conf.subj_dist_override_value=0;
            [color=red]conf.subj_dist_override_value=2;[/color]
        sprintf(buf, "%d", (int)conf.subj_dist_override_value);
        return buf;
    }
    and this:
    Code: [Select]
    const char* gui_subj_dist_override_koef_enum(int change, int arg) {
        static const char* modes[]={ "Off","1", "10","100","1000"};

        conf.subj_dist_override_koef+=change;
        if (conf.subj_dist_override_koef<0) conf.subj_dist_override_koef=0;
        else if (conf.subj_dist_override_koef>=(sizeof(modes)/sizeof(modes[0])))
            conf.subj_dist_override_koef=sizeof(modes)/sizeof(modes[0])-1;
        [color=red]if (conf.subj_dist_override_koef) _MFOn(); else _MFOff();[/color]
        return modes[conf.subj_dist_override_koef];
    }

    That's all there is to it.
    « Last Edit: 04 / February / 2008, 02:58:59 by whoever »

  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #7 on: 03 / February / 2008, 17:15:55 »

    Hi whoever.

    The only difference compared to the initial binaries (or at least so I hope) is that MF is enabled and fully functional

    How do you define MF fully functional?
    Is there any readout?
    Is there a MF bar?
    Is the center of the life-view magnified?

    Locking auto-focusing out can also be done by means of AFL half-shoot+left on IXUS cams.

    Moving the focus lens by means of calling shooting_set_focus() == focus distance override == poor mans MF mode does not require real MF mode.
    After auto-focusing, the focus distance gets overridden, as the name implies.
    see http://chdk.setepontos.com/index.php/topic,396.msg3039.html#msg3039
    And see the source of my test build here: http://chdk.setepontos.com/index.php/topic,321.msg3348.html#msg3348

    BTW, would you like to do the 6 tests described there with your build and report?
    Simply use the smallest SD: and FACTOR: values that you support.

    I have no access to an IXUS950.

    Thank you
      nirschi

     


    *

    Offline whoever

    • ****
    • 280
    • IXUS950
  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #8 on: 04 / February / 2008, 03:06:49 »
    I just realized that I left some debug code in the last binaries that was activated on shoot_half+right press. Now the file is updated, so if anybody is testing, please re-download. Also the phrase "subject distance is approximately value*factor in mm" is corrected to read "subject distance is approximately 'value' in mm". It is the subject distance bracketing step that is bracketing_value*bracketing_factor in mm. I know it sounds confusing, but that's how AllBest did it.

    Now, nirschi.

    By "fully functional MF" I mean fully functional in CHDK fashion (that's what the whole story is about), i.e., with the corresponding CHDK features functioning as designed. Shots are marked "Focus mode - MF", "Focus type - Manual" in EXIF. As far as MF bar and such, AllBest's intension was precisely to have better means of control than that. Yet there are MF bar-related functions in FW, which I may some day investigate. I consider it a low priority though.

  • Publish
    Re: IXUS 950 (SD 850) 1.00C port
    « Reply #9 on: 04 / February / 2008, 03:51:07 »
    Shots are marked "Focus mode - MF", "Focus type - Manual" in EXIF.

    That's a real advantage. Unfortunately, not all IXUS cams have a living MFon(). They need to go the other way.

    ...I consider it a low priority though.

    100% agree, we need no MF bar.
    But a magnified live-view would be really helpful... see http://chdk.setepontos.com/index.php/topic,419.msg3008.html#msg3008

    No - I simply thought you had found the 'big red master switch'. I'm glad you didn't.  :)


    « Last Edit: 04 / February / 2008, 05:26:50 by nirschi »

     

    Related Topics