Does ISO overwrite correct work on BSI CMOS Camera as Ixus 300/310 /sx220/sx230 - General Discussion and Assistance - CHDK Forum

Does ISO overwrite correct work on BSI CMOS Camera as Ixus 300/310 /sx220/sx230

  • 22 Replies
  • 6374 Views
Advertisements
The test i do and what fail on my Ixus 1000 HS ist this

set in Canon Menu ISO auto

try a shoot indoor with low light so iso auto select without iso overwrite ISO 400 or more.
choose in chdk extra photo options
overwrite iso value set to 2
choose value factor set to 100

now in shooting mode you see in red ISO: 200

now focus and shoot a image.
My camera record the image with ISO 320 and the image is too dark exposure in compare to preview or older image.

please can somebody confirm if that test work on above camera ok or not ?
also set a ISO in canon Menu does not work ok.

The question i ask because need see if its only a Ixus 1000 problem or alle cameras have the problem

for ixus 1000 i sue propset 4 and have this code in camera lib.c this work ok with that test

void shooting_set_iso_real(short iso, short is_now)
{
    long iso2=iso;
if ((mode_get()&MODE_MASK) != MODE_PLAY){
   if (iso>0){ _SetPropertyCase(PROPCASE_ISO_MODE, &iso2, sizeof(iso2));
   //_SetPropertyCase(PROPCASE_SV_MARKET, &iso2, sizeof(iso2));
    }
}
}

but chdk trunk 1361 without that change do not work.
Ixus 1000 HS

*

Offline philmoz

  • *****
  • 3107
    • Photos
The behaviour you are seeing is correct - a CHDK ISO value of 200 will come out on the camera as roughly ISO 320.

This is because CHDK uses 'real' ISO values and the camera displays 'market' ISO values (I don't know the history behind this, it's just the way it is).

When you set an ISO override in CHDK you are asking for a 'real' ISO value. CHDK calculates the equivalent 'market' ISO value and tells the camera to use that value using _SetPropertyCase(PROPCASE_SV_MARKET...

All existing CHDK ports work this way - changing CHDK to use 'market' values for the IXUS 1000 would make this camera non-standard (from a CHDK perspective).

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)

The behaviour you are seeing is correct - a CHDK ISO value of 200 will come out on the camera as roughly ISO 320.

This is because CHDK uses 'real' ISO values and the camera displays 'market' ISO values (I don't know the history behind this, it's just the way it is).

When you set an ISO override in CHDK you are asking for a 'real' ISO value. CHDK calculates the equivalent 'market' ISO value and tells the camera to use that value using _SetPropertyCase(PROPCASE_SV_MARKET...

All existing CHDK ports work this way - changing CHDK to use 'market' values for the IXUS 1000 would make this camera non-standard (from a CHDK perspective).

Phil.


when you do the test on your Camera indoor with few light and shoot a big wide paper and exposure correct.is your image correct exposure, and the exif show the ISO you choose  ?

My shoot image is very dark.when look in Canon history in image view.what should white and 100% is only 25%

mostly i use the set of ISO value in chdk to limit the camera to not use more than ISO 200.I check and i can reach with default chdk code ISO250(show in shooting mode) when i set iso overwrite to ISO 170

.when i shoot a image, exif show then ISO 400 or ISO 1000.image is correct exposure then.
So Problem is on my camera either it not accept ISO overwrite or it exposure wrong.
« Last Edit: 18 / October / 2011, 09:28:52 by Bernd R »
Ixus 1000 HS

*

Offline philmoz

  • *****
  • 3107
    • Photos
If I understand correctly you are saying that when you set an ISO override your images can come out underexposed - if so this is the same as on my cameras.

On all three versions I've done (G12, SX30 and IXUS310) the overrides are applied after the camera calculates the exposure.

So if the camera calculated exposure was 1/20, F4, ISO800 and you set the ISO override to 200 you would get an underexposed image. If you set the shutter speed to 1/10 you would get an overexposed image.

Now I can't say for sure that this is the 'correct' behaviour - you might think that being able to set an override and have the camera correctly calculate exposure would be more useful. Of course it could also be argued that not having the camera change exposure is better as it allows you to use the override to correct cases where the camera gets the exposure wrong.

It would be interesting to see how other cameras behave.

To test this I set the camera to full auto (so the camera sets all three values) then half press the shutter and see what values the camera selects for ISO, Tv and Av.
Without changing the lighting enable a CHDK override for one of the values, half press the shutter and see what values you get.

Also you can use the 'Custom Auto ISO' settings to restrict the range of ISO values used by the camera instead of the ISO override.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)


If I understand correctly you are saying that when you set an ISO override your images can come out underexposed - if so this is the same as on my cameras.
On all three versions I've done (G12, SX30 and IXUS310) the overrides are applied after the camera calculates the exposure.

Yes this i mean

Quote
Now I can't say for sure that this is the 'correct' behaviour - you might think that being able to set an override and have the camera correctly calculate exposure would be more useful. Of course it could also be argued that not having the camera change exposure is better as it allows you to use the override to correct cases where the camera gets the exposure wrong.

My camera have only 1 long time exposure mode, i can select time from 1 sec to 15 sec
Maybe it is possible to detect in chdk the program mode, or if chdk use time overwrite or aperture overwrite  and do in automatic modes the code i use for ixus 1000 if it can work on other camera too.

this programs on my camera do time aperture, automatic depend on ISO.

   { MODE_AUTO,               32768  },
   { MODE_P,                  32772  },
   { MODE_EASY,               33314  }, // Changed in SX210
   { MODE_PORTRAIT,           32783  }, // Changed in SX210
   { MODE_NIGHT_SNAPSHOT,     32781  }, // Changed in SX210
   { MODE_LANDSCAPE,          32782  }, // Changed in SX210
   { MODE_VIDEO_COLOR_ACCENT, 2610   }, //??
   { MODE_VIDEO_COLOR_SWAP,   2611   }, //??
   { MODE_VIDEO_STD,          2612   },// Changed in SX210
   { MODE_KIDS_PETS,          32786  },// Changed in SX210
   { MODE_INDOOR,             32787  },// Changed in SX210
 
« Last Edit: 19 / October / 2011, 13:11:38 by Bernd R »
Ixus 1000 HS

It would be interesting to see how other cameras behave.
On the SD940,  when I change the ISO override the camera uses the same exposure values (i.e. does not adjust for the changed ISO value) and the resulting pictures are darker when the ISO is forced lower and brighter when the ISO is forced higher.   Pretty much the same thing you are seeing with your cameras.

UPDATE :  same behavior on the G10
« Last Edit: 19 / October / 2011, 19:59:17 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

My camera have only 1 long time exposure mode, i can select time from 1 sec to 15 sec
Maybe it is possible to detect in chdk the program mode, or if chdk use time overwrite or aperture overwrite  and do in automatic modes the code i use for ixus 1000 if it can work on other camera too.

this programs on my camera do time aperture, automatic depend on ISO.

   { MODE_AUTO,               32768  },
   { MODE_P,                  32772  },
   { MODE_EASY,               33314  }, // Changed in SX210
   { MODE_PORTRAIT,           32783  }, // Changed in SX210
   { MODE_NIGHT_SNAPSHOT,     32781  }, // Changed in SX210
   { MODE_LANDSCAPE,          32782  }, // Changed in SX210
   { MODE_VIDEO_COLOR_ACCENT, 2610   }, //??
   { MODE_VIDEO_COLOR_SWAP,   2611   }, //??
   { MODE_VIDEO_STD,          2612   },// Changed in SX210
   { MODE_KIDS_PETS,          32786  },// Changed in SX210
   { MODE_INDOOR,             32787  },// Changed in SX210
 

Is this suggestion somehow related to your original post about CHDK ISO vs market ISO values and how CHDK sets  ISO override after the camera has determine shutter speed and aperture settings ?  Or is it something new ?
Ported :   A1200    SD940   G10    Powershot N    G16

My camera have only 1 long time exposure mode, i can select time from 1 sec to 15 sec
Maybe it is possible to detect in chdk the program mode, or if chdk use time overwrite or aperture overwrite  and do in automatic modes the code i use for ixus 1000 if it can work on other camera too.

this programs on my camera do time aperture, automatic depend on ISO.

   { MODE_AUTO,               32768  },
   { MODE_P,                  32772  },
   { MODE_EASY,               33314  }, // Changed in SX210
   { MODE_PORTRAIT,           32783  }, // Changed in SX210
   { MODE_NIGHT_SNAPSHOT,     32781  }, // Changed in SX210
   { MODE_LANDSCAPE,          32782  }, // Changed in SX210
   { MODE_VIDEO_COLOR_ACCENT, 2610   }, //??
   { MODE_VIDEO_COLOR_SWAP,   2611   }, //??
   { MODE_VIDEO_STD,          2612   },// Changed in SX210
   { MODE_KIDS_PETS,          32786  },// Changed in SX210
   { MODE_INDOOR,             32787  },// Changed in SX210
 

Is this suggestion somehow related to your original post about CHDK ISO vs market ISO values and how CHDK sets  ISO override after the camera has determine shutter speed and aperture settings ?  Or is it something new ?

Yes because i think when use this automatic programs  the ISO overwrite should work so, exposure is correct.because the user can not modify.only of course if chdk time or aperture overwrite is used.
I get now in mind, I use in IXus 1000 Code, another call in 100d shooting.c .this is also need, to set correct exposure.but with original code it do not help

        "BL      shooting_expo_param_override\n" 
        "BL      sub_FF883D88\n"
        "BL      shooting_expo_param_override\n"  // +
                 "BL      sub_FF880F24\n"
Ixus 1000 HS


*

Offline msl

  • *****
  • 1262
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
I understand this problem not really. For more than 75 cameras the ISO override function works fine, and for the Ixus1000 not?

The CHDK overrides are functions without manual recalculation like in a manual mode. You can make a calculation in a script. There is a simple formula: Tv + Av = Bv + Sv. The APEX96 system is a good helper.

msl
CHDK-DE:  CHDK-DE links

I understand this problem not really. For more than 75 cameras the ISO override function works fine, and for the Ixus1000 not?

The CHDK overrides are functions without manual recalculation like in a manual mode. You can make a calculation in a script. There is a simple formula: Tv + Av = Bv + Sv. The APEX96 system is a good helper.

msl

yes for this example maybe, I have only write the test, because it is easy to test.
but what i want do is use of ISO Limit.
this feature have many camera but not my Canon.

in other camera you can set a ISO max value and the camera do not choose a higher ISO value.

with default chdk code it not work,  my camera give as soon ISO is limit wrong exposured pictures.
Does on other Camera auto iso with MAX ISO high 20 setting work and limit ISO and do correct exposured pictures ?
« Last Edit: 21 / October / 2011, 12:53:13 by Bernd R »
Ixus 1000 HS

 

Related Topics