GithubHelp home page GithubHelp logo

Comments (13)

JamesH65 avatar JamesH65 commented on June 30, 2024

I don't believe EV has to be measured in particular increments. We simply specify it from -10 to +10, giving a finer grained measure than, for example, 3rds, or halves. You can assume (I think) that -10 would be, for example, max -ve on a actual camera (independent on whether the camera is set up for EV increments in 1/3rds or 1/2's), and +10 will be the max positive EV.

from userland.

towolf avatar towolf commented on June 30, 2024

The definition of Ev is that an increment of 1 corresponds to 1 stop.

For example, if you want to lower ISO from 400 to 100 (-2 stops) and have a correct exposure you would have to compensate with Ev +2, which ought to increase exposure time by 2 stops since aperture is fixed.

So the question is, does the camera use a conventional exposure calculation internally, and there is some evidence that it does.

from userland.

JamesH65 avatar JamesH65 commented on June 30, 2024

The camera code need to be suitable for multiple customer, who often require different EV increments. My DSLR allows you to specify the increment. This means that the range needs to be fine grained enough to cope with that. So our -10 to +10 corresponds, I think, to to -3 to +3 stops. I'll need to double check the code.

from userland.

6by9 avatar 6by9 commented on June 30, 2024

The command-line/MMAL value for EV is counting in 1/6ths of a stop. Therefore ev=6 would be +1 stop. The range is up to +/- 24, or +/- 4 stops.

I would update the API, that would break any app that is expecting the current behaviour.
(I can switch MMAL to take either an int32 or a MMAL_RATIONAL_T, as the difference can be deduced by the different size of the parameter structure - I'll add it to the to-do list, but it won't change raspistill).

from userland.

waveform80 avatar waveform80 commented on June 30, 2024

Ah, sounds like this might be related to an issue I've run across in picamera before: waveform80/picamera#71 - when setting certain +ve EV values, if you subsequently query the EV value it comes back as the value specified minus one.

However, an eagle eyed user noticed (in the linked issue) that values where %3==0, always come back correct. Sounds like there's some sort of floor rounding going on (which would explain why the -ve values always work).

from userland.

6by9 avatar 6by9 commented on June 30, 2024

Groan. That rounding bug was fixed on our main dev branch a year ago, but never got pulled to the Pi tree. Time for another cherry-pick.

from userland.

towolf avatar towolf commented on June 30, 2024

Thanks for the info.

If you don’t want to change the range mapping, please at least document the step size of 1/6 EV in the help and the usage string of raspi{vid,still}.

from userland.

6by9 avatar 6by9 commented on June 30, 2024

Firmware change for fixing the EV rounding has been pushed internally. It will be released when Dom does his next release cycle.
I'll leave the help text update to JamesH.

from userland.

6by9 avatar 6by9 commented on June 30, 2024

Firmware change for fixing the EV rounding has been released with commit raspberrypi/firmware@9c7c2cd
MMAL_PARAMETER_EXPOSURE_COMP will now take either a MMAL_PARAMETER_INT32_T or MMAL_PARAMETER_RATIONAL_T, and do the appropriate thing based on the size of the parameter.

I'll leave the help text update to JamesH.

from userland.

Ruffio avatar Ruffio commented on June 30, 2024

@towolf is this still an issue?

from userland.

6by9 avatar 6by9 commented on June 30, 2024

PR #279 now merged which adds help text stating that EV is in steps of 1/6 stop.
Please close unless you think there is something further to do.

from userland.

Ruffio avatar Ruffio commented on June 30, 2024

@towolf is this still an issue? It looks like it has been solved.

from userland.

towolf avatar towolf commented on June 30, 2024

No

from userland.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.