supplierdeeply

Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!

  • 203 Replies
  • 42361 Views
*

Offline asm1989

  • *****
  • 527
  • SX720, SX260, SX210 & SX200
Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #40 on: 02 / October / 2010, 03:45:03 »
Advertisements
Right, If I start recording first, and then run the script It hangs at the manualexp() function
 

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #41 on: 08 / October / 2010, 03:58:18 »
It'd be great to figure out the final piece of the puzzle in order for this to run on all Digic4 camera's.
Are any of the devs with late model Digic4 camera's able to run this script?
It seems we're very close to cracking this once & for all! - I'm hoping this will become part of the main CHDK once it's all working & we can lock in ISO and Shutter from the Video Parameters menu without all the fiddling about with running scripts.






« Last Edit: 08 / October / 2010, 04:01:04 by Stimpy »

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #42 on: 09 / October / 2010, 18:28:45 »

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #43 on: 02 / December / 2010, 05:45:17 »
Finally, partial success on the IXUS 100IS!!! (& I dare say all other camera's)
See new post below...
« Last Edit: 10 / February / 2011, 16:28:27 by Stimpy »


Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #44 on: 30 / December / 2010, 08:33:23 »
I'm looking forward for your work, if I can help somehow by testing something on the S95....

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #45 on: 10 / February / 2011, 15:23:15 »
Progress!
Thanks to ASM1989, I made the same 3 changes to the original script,

Firstly,
-- this is required for event procedure AllocateMemory
if (call_event_proc("System.Create") == -1) then
    error("SystemEventInit failed")
end

Second,
 
-- this is required for event procedures SetAE_ShutterSpeed, MoveIrisToAv, SetCDSGain

if (call_event_proc("FA.Create") == -1) then
    error("FA CREATE failed")
end
if (call_event_proc("InitializeAdjustmentSystem") == -1) then
    error("InitializeAdjustmentSystem failed")
end

& Finally substituting the last change with specific IXUS 100 values, in my case...

-- go to manual exposure mode
function manualexp()
 ret=call_func_ptr(0xFF830084,0,0)
end
function autoexp()
ret=call_func_ptr(0xFF82FF40,0,0)
end

The above memory locations were taken from,

from platform/ixus100_sd780/sub/100c/stubs_entry_2.S

NHSTUB(ExpCtrlTool_StartContiAE, 0xFF82FF40) //"StartContiAE"
NHSTUB(ExpCtrlTool_StopContiAE, 0xFF830084)  //"StopContiAE"

For this to function I assume you'll need to find the exact memory locations for your specific camera.
Note the first function called is StopContiAE, which enables you to make manual adjustments.

I run the script, lock in the changes, shutter & ISO, (aperture is not available on IXUS)

While the camera is not recording, these values seem to lock in fine. I can point the camera at a bright target and the camera will not try to auto-adjust.
Unfortunately as soon as I hit record, the camera takes over ISO control again.
Damn! so close!!!


« Last Edit: 10 / February / 2011, 16:27:45 by Stimpy »

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #46 on: 10 / February / 2011, 18:16:32 »

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #47 on: 11 / February / 2011, 21:42:12 »
I've now changed the script to replace the "autoexposure" function with a "movie record" function on the following lines,

 elseif is_pressed("set") then
            print("recording")
            click "shoot_full"
            sleep(1000)

It works perfectly now!

For the SX200IS, you'll need to use the following values to replace in the manualexp function

NHSTUB(ExpCtrlTool_StopContiAE, 0xFF830504)
NHSTUB(ExpCtrlTool_StartContiAE, 0xFF8303C0)

This info was obtained here,
http://my-trac.assembla.com/chdkde/browser/trunk/platform/sx200is/sub/100c/stubs_entry_2.S?rev=455

If anyone is interested, I can post the completed script in the CHDK script section, it may be a bit rough around the edges, (hell I'm no coder!), but it achieves the desired results!




Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #48 on: 12 / February / 2011, 04:40:32 »
Hey thanks! Indeed expore is locked for some time. But on my SX200IS as soon as I start recording, even by script, the autoexposure will come in again...

This is the script I tried with, am I doing something wrong?

if (call_event_proc("System.Create") == -1) then
    error("SystemEventInit failed")
end
 
-- this is required for event procedures SetAE_ShutterSpeed, MoveIrisToAv, SetCDSGain

if (call_event_proc("FA.Create") == -1) then
    error("FA CREATE failed")
end
if (call_event_proc("InitializeAdjustmentSystem") == -1) then
    error("InitializeAdjustmentSystem failed")
end

-- go to manual exposure mode
function manualexp()
 ret=call_func_ptr(0xFF830504,0,0)
end
function autoexp()
ret=call_func_ptr(0xFF8303C0,0,0)
end


ret = manualexp()
if ret~=nil then
   print("call manualexp failed.")
end

sleep(5000)
click("shoot_full")
sleep(30000)
print "shooting"
           

Re: Video Manual Control: ISO, APERTURE & SHUTTER SPEED CONTROL, PLEASE!!!!
« Reply #49 on: 12 / February / 2011, 19:59:57 »
Please see the section "Completed and Working Scripts"

Video exposure control, modified to work on Digic 4 camera's
If you download the script and substitute with your memory locations it should work fine.


 

Related Topics