SD1000 ISO Settings Error - page 2 - AllBest's Builds - CHDK Forum supplierdeeply

SD1000 ISO Settings Error

  • 30 Replies
  • 18740 Views
*

Offline whim

  • ******
  • 2046
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: SD1000 ISO Settings Error
« Reply #10 on: 26 / February / 2008, 16:55:00 »
Advertisements
@sd10001000
re #35, this probably refers to a fresh compile from the trunk. In other words, this has not been officially released by
Allbest yet. If you want the latest unofficial version you will have to learn to compile your own, you can read about it
here: Compiling CHDK under Windows - CHDK Wiki

@ixus
Quote
...  I tried to go through Allbest source code, but it's very complicated, to say the least. There is very little comments/documentation and I don't have an IDE that would allow me to load the project and follow function calls for example.

Maybe this source code cross-reference in HTML form helps ?
Cross-referencing code from trunk (latest: #306)

have fun,
wim
« Last Edit: 26 / February / 2008, 17:05:17 by whim »

*

Offline ixus

  • *
  • 25
  • SD1000/IXUS70
Re: SD1000 ISO Settings Error
« Reply #11 on: 26 / February / 2008, 19:58:38 »
Yes, I just compile the latest source code. Sorry for the confusion. Latest official build is #34.

Does anyone know a good IDE for loading the souce code? Do the developers use some kind of IDE or just text files?


*

Offline wontolla

  • ****
  • 413
  • S3 & G9 & A720
Re: SD1000 ISO Settings Error
« Reply #12 on: 27 / February / 2008, 05:55:46 »
ixus, may be this helps

Which IDE/Editor you like better?!

*

Offline ixus

  • *
  • 25
  • SD1000/IXUS70
Re: SD1000 ISO Settings Error
« Reply #13 on: 28 / February / 2008, 11:04:50 »
Thanks.


Re: SD1000 ISO Settings Error
« Reply #14 on: 05 / March / 2008, 06:26:34 »
Hi, Ixus!
Some clarifications that i promised
There are four main propery caces that have an influence or describe state of camera ISO:
Digic || group:
PROPCASE_ISO_MODE                  21
PROPCASE_SV                        73
PROPCASE_DELTA_SV                  70
PROPCASE_SV_MARKET                 72
Digic ||| group:
PROPCASE_ISO_MODE                149
PROPCASE_SV                        247
PROPCASE_DELTA_SV                  79
PROPCASE_SV_MARKET              246
As you understand your script changes fixed ISO_MODE  before shoot. After half press of the shutter release button (in time of execution shoot command in the script or "press "shoot_half" command correspondingly) camera firmware calculates exposure and sets values of av and tv because it knows about current iso before shoot! Every time you change ISO_MODE to fixed values firmware sets values for property cases PROPCASE_SV (real sensitivity in APEX standard. See link APEX system - Wikipedia, the free encyclopedia ) Camera uses this value in exposure calculations. As in AUTO (HI) ISO modes value of property case PROPCASE_ISO_MODE is equal to 0(1) and it don't say us about ISO value at all in this mode. Therefore base value for ISO is PROPCASE_SV. This property case has some value always! Second property case, that give us additional information in Auto (HI) ISO modes is PROPCASE_DELTA_SV, that show us changing of SV from some base value. Setting of this value is important in AUTO or HI ISO modes additionally to PROPCASE_SV.
What override engine does when it sets ISO? It sets value of SV and other adjoining parameters AFTER camera has compute exposure! (in the same way all another overrides works and here is difference between script engine and override engine). Moreover we have no possibility  to set PROPCASE_ISO_MODE in limits of override engine because it has no any effect for current shoot. We can do it ONLY via script engine
I've test ISO setting  via ISO mode for three camera models:
I found that all values that are out of the standard for current model sequence (50(80),100,200,400,800,1600,3200) are not working. At least Every JPG in this case has wrong white balance in contrast to RAW file. Moreover I found that real ISO change was limited by 800 for a650 for example (this camera has ISO 3200 mode!). It was marginally confirmed by analysis of the size of DNG-file that was generated from RAW. (And I doubt that ixus70 has more best results!)
As opposed to this methods of ISO setting we have correct white balance for all arbitrary values of ISO in limits of admissible for current camera ISO diapason and gradual brightness change when we do ISO change via the CHDK algorithm (In AUTO and HI AUTO ISO modes)

Example scripts for ISO testing:
Cyclic ISO mode change with output:
Code: [Select]
@title Test ISO mode
@param a Number of ?steps
@default a 10
@param b step size
@default b 10
@param c prop case type
@default c 0
@param d pause
@default d 10

sleep 500

print_screen 1

t=d*1000

if c=0 then
 p=21
 q=149
else
 p=149
 q=246
endif
 
 for n=1 to a
  set_prop p n*10*b
  sleep 500
  rem initiation (just in case)
  press "shoot_half"
  sleep 500
  release "shoot_half"
  set_tv96 480
  set_av96 288
  set_nd_filter 2
  press "shoot_half"
  sleep 1000
  get_iso_real i
  get_iso_market m
  get_sv96 s
  get_prop q a
  print "ISO:", i, " ISOM:", m, " Sv:", s, "Svm:", a
  press "shoot_full"
  release "shoot_full"
  release "shoot_half"
  rem  for possible raw save
  sleep t
 next n
end
Here you need to set prop case type to 1

Output example for a650 (see PR_SCREEN.TXT in your script directory):
ISO: 65  ISOM: 100  Sv: 411 Svm: 480
ISO: 130  ISOM: 200  Sv: 507 Svm: 576
ISO: 197  ISOM: 300  Sv: 564 Svm: 632
ISO: 261  ISOM: 400  Sv: 603 Svm: 672
ISO: 327  ISOM: 500  Sv: 634 Svm: 703
ISO: 391  ISOM: 600  Sv: 659 Svm: 728
ISO: 459  ISOM: 700  Sv: 681 Svm: 749
ISO: 523  ISOM: 800  Sv: 699 Svm: 768
ISO: 591  ISOM: 900  Sv: 716 Svm: 784
ISO: 654  ISOM: 1000  Sv: 730 Svm: 799
ISO: 718  ISOM: 1100  Sv: 743 Svm: 812
ISO: 783  ISOM: 1200  Sv: 755 Svm: 824
ISO: 848  ISOM: 1300  Sv: 766 Svm: 835
ISO: 912  ISOM: 1400  Sv: 776 Svm: 845
ISO: 980  ISOM: 1500  Sv: 786 Svm: 855
ISO: 1046  ISOM: 1600  Sv: 795 Svm: 864
ISO: 1116  ISOM: 1700  Sv: 804 Svm: 872
ISO: 1174  ISOM: 1800  Sv: 811 Svm: 880

It is interesting that for IXUS 800 (SD700)  we can't change Sv value upper then limit that correspond to ISO 800 (i.e. as result of this script execution we see repeatable values of SV from some level)

Second script:
Code: [Select]
@title Test ISO mode
@param a Number of ?steps
@default a 10
@param b intial
@default b 100
@param c prop case type
@default c 0
@param d pause
@default d 10

sleep 500

print_screen 1

t=d*1000

if c=0 then
 p=21
 q=149
else
 p=149
 q=246
endif
 v=b
 for n=1 to a
  set_prop p v
  sleep 500
  rem initiation (just in case)
  press "shoot_half"
  sleep 500
  release "shoot_half"
  set_tv96 480
  set_av96 288
  set_nd_filter 2
  press "shoot_half"
  sleep 1000
  get_iso_real i
  get_iso_market m
  get_sv96 s
  get_prop q w
  print "ISO:", i, " ISOM:", m, " Sv:", s, "Svm:", w
  press "shoot_full"
  release "shoot_full"
  release "shoot_half"
  rem  for possible raw save
  sleep t
  v=v*2
 next n
end
Here you can observe divisible ISO change. For example: 50-100-200-400-800....
Example output for a650:

ISO: 65  ISOM: 100  Sv: 411 Svm: 480
ISO: 130  ISOM: 200  Sv: 507 Svm: 576
ISO: 261  ISOM: 400  Sv: 603 Svm: 672
ISO: 523  ISOM: 800  Sv: 699 Svm: 768
ISO: 1046  ISOM: 1600  Sv: 795 Svm: 864
ISO: 2092  ISOM: 3200  Sv: 891 Svm: 960
ISO: 4185  ISOM: 6400  Sv: 987 Svm: 1056
ISO: 8371  ISOM: 12800  Sv: 1083 Svm: 1152
ISO: 16742  ISOM: 25600  Sv: 1179 Svm: 1248

And third script:

Code: [Select]
@title Set ISO
@param a Number of ?steps
@default a 10
@param b init value
@default b 10
@param c step size
@default c 10
@param d prop case type
@default d 0
@param e pause
@default e 2


sleep 500

print_screen 1

p=e*1000

if d=0 then
 q=149
else
 q=246
endif

v=b
for n=1 to a
 set_tv96 480
 set_av96 288
 set_nd_filter 2
 set_iso_real v
 rem set iso in time of shoot
 shoot
 get_iso_real i
 get_iso_market m
 get_sv96 s
 get_prop q w
 print "ISO:", i, " ISOM:", m, " Sv:", s, " Svm:", w
 
 sleep p
 v=v+c
next n
end
Here your camera must be in AUTO(HI) ISO mode (desirable). It's a way of CHDK ISO set
Example output for a650:
ISO: 9  ISOM: 13  Sv: 150  Svm: 480
ISO: 39  ISOM: 60  Sv: 342  Svm: 480
ISO: 69  ISOM: 106  Sv: 420  Svm: 480
ISO: 99  ISOM: 152  Sv: 469  Svm: 480
ISO: 129  ISOM: 198  Sv: 506  Svm: 480
ISO: 158  ISOM: 243  Sv: 534  Svm: 480
ISO: 189  ISOM: 290  Sv: 558  Svm: 480
ISO: 219  ISOM: 336  Sv: 579  Svm: 480
ISO: 248  ISOM: 381  Sv: 596  Svm: 480
ISO: 279  ISOM: 429  Sv: 612  Svm: 480
ISO: 308  ISOM: 473  Sv: 626  Svm: 480
ISO: 339  ISOM: 521  Sv: 639  Svm: 480
ISO: 369  ISOM: 567  Sv: 651  Svm: 480
ISO: 397  ISOM: 610  Sv: 661  Svm: 480
ISO: 427  ISOM: 656  Sv: 671  Svm: 480
ISO: 459  ISOM: 706  Sv: 681  Svm: 480
ISO: 486  ISOM: 747  Sv: 689  Svm: 480
ISO: 519  ISOM: 798  Sv: 698  Svm: 480
ISO: 546  ISOM: 840  Sv: 705  Svm: 480
ISO: 578  ISOM: 889  Sv: 713  Svm: 480
ISO: 608  ISOM: 935  Sv: 720  Svm: 480
ISO: 635  ISOM: 976  Sv: 726  Svm: 480
ISO: 668  ISOM: 1027  Sv: 733  Svm: 480
ISO: 698  ISOM: 1073  Sv: 739  Svm: 480
ISO: 729  ISOM: 1121  Sv: 745  Svm: 480
ISO: 756  ISOM: 1163  Sv: 750  Svm: 480
ISO: 789  ISOM: 1213  Sv: 756  Svm: 480
ISO: 818  ISOM: 1258  Sv: 761  Svm: 480
ISO: 848  ISOM: 1304  Sv: 766  Svm: 480
ISO: 879  ISOM: 1352  Sv: 771  Svm: 480
ISO: 905  ISOM: 1392  Sv: 775  Svm: 480
ISO: 939  ISOM: 1444  Sv: 780  Svm: 480
ISO: 966  ISOM: 1486  Sv: 784  Svm: 480
ISO: 994  ISOM: 1529  Sv: 788  Svm: 480
ISO: 1024  ISOM: 1575  Sv: 792  Svm: 480
ISO: 1054  ISOM: 1621  Sv: 796  Svm: 480
ISO: 1084  ISOM: 1667  Sv: 800  Svm: 480
ISO: 1116  ISOM: 1716  Sv: 804  Svm: 480
ISO: 1149  ISOM: 1767  Sv: 808  Svm: 480
ISO: 1174  ISOM: 1806  Sv: 811  Svm: 480
ISO: 1208  ISOM: 1858  Sv: 815  Svm: 480
ISO: 1235  ISOM: 1900  Sv: 818  Svm: 480
ISO: 1262  ISOM: 1941  Sv: 821  Svm: 480
ISO: 1299  ISOM: 1998  Sv: 825  Svm: 480
ISO: 1327  ISOM: 2041  Sv: 828  Svm: 480
ISO: 1357  ISOM: 2087  Sv: 831  Svm: 480
ISO: 1386  ISOM: 2132  Sv: 834  Svm: 480
ISO: 1417  ISOM: 2180  Sv: 837  Svm: 480


Manually changing propcase 149 in SD1000 has been very predictable in my case. The camera displays the right ISO on screen,
It's only visualization. You can see here 16 ISO or 8000 ISO for example  but this value not always corresponds to real ISO value

adjusts aperture/shutter speeds automatically, and display right ISO in Exif. It works as if its a built in setting of original firmware.
Because values of ISO mode is set before camera exposure calculation when this type of script is used! Unfortunately overrode values is set after camera exposure calculation

Setting ISO using Allbest results in wrong ISO display on screen, no auto aperture/shutter setttings, and wrong ISO in exif.
Because CHDK changes ISO mode to AUTO you need to see "real" ISO values via EXIFtool by Feel Harvey

I haven't tested white balance. However, the pictures look ok at ISO 3200/6400, nothing different from one step lower ISO's. ISO 2500 looks purple. What would be the procedure to test for correct white balance?
You can see that all photos (at least in jpg format) that was captured in intermediate ISO modes have incorrect white balance (when your camera is in one of the fixed ISO modes). Intermediate ISO values possible only in AUTO(HI) ISO modes with correct white balance

In my testing Prop 79 is always 0 and prop 247 displays some value (maybe encoded in some way?) that does not correspond to ISO.
I've explained it

I am able to get ISO 3200, 6400 with very good results. At 6400 the image is very noisy and has green hue, but I think this is the case on all cameras at ISO 6400.
Can you upload examples? 400 800 1600 3200 6400 in RAW format?

but the ISO override on SD1000 either does not work, or I am doing something wrong
Your camera must be in AUTO(HI) ISO mode for correct playing with CHDK ISO override


Where is the ISO override function located? Maybe I can play around with it and see what happens.
/trunk/platform/generic/shooting.c - chdk - Trac shooting_set_sv96

Thanks :)
« Last Edit: 10 / March / 2008, 17:16:09 by Allbest »

*

Offline quietschi

  • ***
  • 116
  • Ixus70 102a
Re: SD1000 ISO Settings Error
« Reply #15 on: 07 / March / 2008, 07:10:07 »
Hi Allbest
For your Information
Tested your Scripts with my Ixus70_SD1000 102a

PR_SCREEN.TXT for Script 1

ISO: 65  ISOM: 100  Sv: 411 Svm: 480
ISO: 130  ISOM: 200  Sv: 507 Svm: 576
ISO: 197  ISOM: 300  Sv: 564 Svm: 632
ISO: 261  ISOM: 400  Sv: 603 Svm: 672
ISO: 327  ISOM: 500  Sv: 634 Svm: 703
ISO: 391  ISOM: 600  Sv: 659 Svm: 728
ISO: 459  ISOM: 700  Sv: 681 Svm: 749
ISO: 523  ISOM: 800  Sv: 699 Svm: 768
ISO: 591  ISOM: 900  Sv: 716 Svm: 784
ISO: 654  ISOM: 1000  Sv: 730 Svm: 799
ISO: 718  ISOM: 1100  Sv: 743 Svm: 812
ISO: 783  ISOM: 1200  Sv: 755 Svm: 824
ISO: 848  ISOM: 1300  Sv: 766 Svm: 835
ISO: 912  ISOM: 1400  Sv: 776 Svm: 845
ISO: 980  ISOM: 1500  Sv: 786 Svm: 855
ISO: 1046  ISOM: 1600  Sv: 795 Svm: 864
ISO: 1116  ISOM: 1700  Sv: 804 Svm: 872
ISO: 1174  ISOM: 1800  Sv: 811 Svm: 880
ISO: 1244  ISOM: 1900  Sv: 819 Svm: 887
ISO: 1308  ISOM: 2000  Sv: 826 Svm: 895
ISO: 1376  ISOM: 2100  Sv: 833 Svm: 901
ISO: 1437  ISOM: 2200  Sv: 839 Svm: 908
ISO: 1501  ISOM: 2300  Sv: 845 Svm: 914
ISO: 1567  ISOM: 2400  Sv: 851 Svm: 920
ISO: 1637  ISOM: 2500  Sv: 857 Svm: 926
ISO: 1697  ISOM: 2600  Sv: 862 Svm: 931
ISO: 1759  ISOM: 2700  Sv: 867 Svm: 936
ISO: 1824  ISOM: 2800  Sv: 872 Svm: 941
ISO: 1891  ISOM: 2900  Sv: 877 Svm: 946
ISO: 1961  ISOM: 3000  Sv: 882 Svm: 951
ISO: 2033  ISOM: 3100  Sv: 887 Svm: 955
ISO: 2092  ISOM: 3200  Sv: 891 Svm: 960

PR_SCREEN.TXT for Script 2

ISO: 48  ISOM: 50  Sv: 371 Svm: 384
ISO: 65  ISOM: 100  Sv: 411 Svm: 480
ISO: 130  ISOM: 200  Sv: 507 Svm: 576
ISO: 261  ISOM: 400  Sv: 603 Svm: 672
ISO: 523  ISOM: 800  Sv: 699 Svm: 768
ISO: 1046  ISOM: 1600  Sv: 795 Svm: 864
ISO: 2092  ISOM: 3200  Sv: 891 Svm: 960
ISO: 4185  ISOM: 6400  Sv: 987 Svm: 1056
ISO: 8371  ISOM: 12800  Sv: 1083 Svm: 1152
ISO: 16742  ISOM: 25600  Sv: 1179 Svm: 1248

PR_SCREEN.TXT for Script 3

ISO: 9  ISOM: 13  Sv: 150  Svm: 480
ISO: 19  ISOM: 29  Sv: 246  Svm: 480
ISO: 29  ISOM: 44  Sv: 303  Svm: 480
ISO: 39  ISOM: 60  Sv: 342  Svm: 480
ISO: 49  ISOM: 75  Sv: 373  Svm: 480
ISO: 59  ISOM: 90  Sv: 399  Svm: 480
ISO: 69  ISOM: 106  Sv: 420  Svm: 480
ISO: 79  ISOM: 121  Sv: 438  Svm: 480
ISO: 89  ISOM: 136  Sv: 455  Svm: 480
ISO: 99  ISOM: 152  Sv: 469  Svm: 480
ISO: 109  ISOM: 167  Sv: 483  Svm: 480
ISO: 119  ISOM: 183  Sv: 495  Svm: 480
ISO: 129  ISOM: 198  Sv: 506  Svm: 480
ISO: 139  ISOM: 213  Sv: 516  Svm: 480
ISO: 148  ISOM: 227  Sv: 525  Svm: 480
ISO: 158  ISOM: 243  Sv: 534  Svm: 480
ISO: 169  ISOM: 260  Sv: 543  Svm: 480
ISO: 179  ISOM: 275  Sv: 551  Svm: 480
ISO: 189  ISOM: 290  Sv: 558  Svm: 480
ISO: 198  ISOM: 304  Sv: 565  Svm: 480

For Test 1:
Camera shuts down after setting ISO to 3300
Wrong White Balance for every JPG's except ISO 100, 200, 400, 500, 800, 1600, 3200
Every RAW's White Balance is ok.

For Test 2:
Camera shuts down after setting ISO to 51200
Wrong White Balance for JPG's with ISO 12800 and 25600
Every RAW's White Balance is ok.

For Test 3:
No Difference in the first 4 JPG's. First Difference between ISO64 and ISO80.

For Me it seems Camera supports ISO Values between ISO 64 and ISO 25600 (normally ISO 80 - ISO 1600), above ISO 3200 only Full Values (6400, 12800, 25600).

If you wish I can upload some RAW and JPG's.

cheers quietschi


Re: SD1000 ISO Settings Error
« Reply #16 on: 07 / March / 2008, 08:11:19 »
Deleted
« Last Edit: 22 / April / 2008, 12:41:55 by Barney Fife »
[acseven/admin commented out: please refrain from more direct offensive language to any user. FW complaints to me] I felt it imperative to withdraw my TOTAL participation. Nobody has my permission, nor the right, to reinstate MY posts. Make-do with my quoted text in others' replies only. Bye

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: SD1000 ISO Settings Error
« Reply #17 on: 07 / March / 2008, 08:45:22 »
quietschi, yes please, upload some of those extreme iso raws (converted to jpg). how's noise?


*

Offline quietschi

  • ***
  • 116
  • Ixus70 102a
Re: SD1000 ISO Settings Error
« Reply #18 on: 07 / March / 2008, 13:12:35 »
Hi PhyrePhoX and Barney Fife

About the Noise it's heavy above ISO 1600. Notice I didn't manipulate the Files in any Way.
IMG_1596.JPG and CRW_1596.CRW is ISO 1000 from Test 1.
The other Files are from Test 2 ISO 3200 - ISO 25600

Be Aware Download Size about 67MB

zSHARE - test_iso2.zip

CHDK Version from Trunk 320
cheers quietschi

Re: SD1000 ISO Settings Error
« Reply #19 on: 07 / March / 2008, 17:46:05 »
Deleted
« Last Edit: 22 / April / 2008, 12:42:17 by Barney Fife »
[acseven/admin commented out: please refrain from more direct offensive language to any user. FW complaints to me] I felt it imperative to withdraw my TOTAL participation. Nobody has my permission, nor the right, to reinstate MY posts. Make-do with my quoted text in others' replies only. Bye

 

Related Topics