SX200is Porting - page 73 - DryOS Development - CHDK Forum supplierdeeply

SX200is Porting

  • 1105 Replies
  • 564473 Views
*

Offline reyalp

  • ******
  • 14118
Re: SX200is Porting
« Reply #720 on: 08 / November / 2009, 16:45:49 »
Advertisements
The correction suggested by ADamb (58 not 50) I think should help the edge overlay bug, but I don't think it will change the pallette.
Ok, that make sense.
Quote
Colours, the colour pallette on the SX200 is very restricted (display the pallete in the CHDK memus to see this).
For instance,
the problem of the Histogtram showing white for the blue Histo is due to hard coded values for the colour within the core. These will need to be changed to use the defined pallette blue (via a new CAM_USES_PALL_BLUE so we dont affect other cameras).
There's no white or gray at all ? Ouch. I'd rather find colors that were "close enough" than have yet another different ifdef from CAM_PALLETE.
Quote
Also the 2 versions of the splash screen (playback and record versions) use different colours, one uses red, but we don't have a true red (or is it pink, sorry going by memory as I dont have the code loaded yet).
So in other words, the camera uses a different pallet in play and record mode. Joy. Again, if possible just picking values that are legible everywhere might be the way to go.
Quote
The flash popup is part of the initial camera startup and looks to be controlled by the firmware, functions do exist to pop it up and down, but I have not looked at it in detail yet.
It's also possible that this code is leftover from other cameras that do have control of the flash. Diskboot is loaded quite early so I would expect that if the flash is actually under camera control, diskboot would load before that happens.
Don't forget what the H stands for.

Re: SX200is Porting
« Reply #721 on: 08 / November / 2009, 19:00:25 »
Just so everyone knows what we're up against, I've attached screenshots of some of the more common palettes of the SX200.

Palette for capture mode (P selected in this case): http://img697.imageshack.us/i/1108150422.png/
Palette for playback mode: http://img199.imageshack.us/i/1108151226.png/
Palette for the Func/Set menu (in capture mode): http://img190.imageshack.us/i/1108151021.png/

By the way, there seems to be no way for this camera to display no on-screen elements. Even when pressing display and turning off all overlays, something is always up, such as the exposure compensation, focus frame, or mode icon. This would be really handy for video capture or web cam use. ISO 3200 mode is the closest I've found, and indeed it often shows nothing, but if you point the camera at a face it shows a big white box. Turning face recognition off shows a focus frame instead. If there isn't a way to do this normally in the camera, is it possible to do in CHDK? If there's a way to write one palette color to the entire screen, this would work, as I could just write the fully transparent color. Could this be done with a script?
Cameras: SX200 IS 100c US, S3 IS US

*

Offline reyalp

  • ******
  • 14118
Re: SX200is Porting
« Reply #722 on: 08 / November / 2009, 19:41:09 »
Ezzelins post appears to show that most of the first two rows is always a gray gradient. I suggest using this for the main display elements! The goal is legibility, not good looks.

committed vid_get_viewport_fb_d change from http://chdk.setepontos.com/index.php/topic,3994.msg42532.html#msg42532

Quote from: Ezzelin
Turning face recognition off shows a focus frame instead. If there isn't a way to do this normally in the camera, is it possible to do in CHDK? If there's a way to write one palette color to the entire screen, this would work, as I could just write the fully transparent color. Could this be done with a script?
Can't do this from script. Could try to do it with ScreenLock etc. See http://chdk.kernreaktor.org/mantis/view.php?id=260

Just clearing the bitmap buffer every so often in gui would mostly get rid of it, but you'd have occasional flickering.
Don't forget what the H stands for.

Re: SX200is Porting
« Reply #723 on: 08 / November / 2009, 20:24:14 »
Quote from: Ezzelin
Turning face recognition off shows a focus frame instead. If there isn't a way to do this normally in the camera, is it possible to do in CHDK? If there's a way to write one palette color to the entire screen, this would work, as I could just write the fully transparent color. Could this be done with a script?
Can't do this from script. Could try to do it with ScreenLock etc. See http://chdk.kernreaktor.org/mantis/view.php?id=260

Just clearing the bitmap buffer every so often in gui would mostly get rid of it, but you'd have occasional flickering.
I don't think there'd be any flickering. All that is left is a couple of static elements. The camera isn't updating anything on the screen as most everything is not showing. I could probably already do this if I simply set the menu BG color and text color to fully transparent and then brought up the menu, but that isn't practical to do on a regular basis. Perhaps there could be a way of removing the border on the palette color display function? Basically, I'm not asking to keep the display at nothing, I just want to write transparency (palette color 0x00) to the entire screen once.

So for the blended histogram to work, we need a good red, green, blue, yellow, cyan, magenta, and white, correct? Well, as we can see there is no magenta at all in the palette. We have an alright green and an orangy red along with a yellow, but really we only have light blue. Certainly there are not enough shades to distinguish easily between cyan and blue. So are we out of luck for getting the blended histogram working? Or is there a way to get whatever RGB color we want? Can we alter the palette?

edit: Maybe a grid that's just the entire screen filled with the transparent color?
« Last Edit: 08 / November / 2009, 20:28:21 by Ezzelin »
Cameras: SX200 IS 100c US, S3 IS US


*

Offline reyalp

  • ******
  • 14118
Re: SX200is Porting
« Reply #724 on: 08 / November / 2009, 21:01:55 »
I don't think there'd be any flickering. All that is left is a couple of static elements.
CHDK doesn't know when the camera updates, so if it ever updated, those elements would appear until they got wiped out again.
edit: not to say this should stop you from doing it, the rest of the CHDK osd is already this way
Quote
So for the blended histogram to work, we need a good red, green, blue, yellow, cyan, magenta, and white, correct? Well, as we can see there is no magenta at all in the palette. We have an alright green and an orangy red along with a yellow, but really we only have light blue. Certainly there are not enough shades to distinguish easily between cyan and blue. So are we out of luck for getting the blended histogram working?
With those colors, probably.
Quote
Or is there a way to get whatever RGB color we want?
Not without changing the palette...
Quote
Can we alter the palette?
Of course. Canon changes it, so it's obviously possible. Just a matter of figuring out how. But this will change any canon UI elements that use that palette entry too.
« Last Edit: 08 / November / 2009, 21:07:06 by reyalp »
Don't forget what the H stands for.

Re: SX200is Porting
« Reply #725 on: 09 / November / 2009, 01:52:16 »
OK, so I've made a grid that simply makes the screen transparent. This works great! If any UI elements pop up, it will only be very briefly. Once the camera settles down, and as long as it's not in Face Recognition mode, it never draws anything new, and I just get whatever the viewfinder image is and nothing else :D.

However, in order for this to work, I had to go manually turn off all of the other CHDK screen elements. If I don't do this, the other screen elements will blink constantly. Is there any way for the grid to take priority over other CHDK elements? It seems strange that different parts of CHDK would conflict like this. Alternately, is there any way to quickly turn off everything but the grid, along with a quick way to turn all of that back on? That could work as well. Can a grid be loaded by a script? Or can UI elements be turned off/on with a script?

edit: Do we know how to change the palette? Has this been done before on another camera?

edit 2: OK, a lot of stuff goes away from the screen when the Disp button is pressed. I could almost make everything but the grid disappear this way. However, the Misc. info does not disappear. Is there any way to make this go away when the Disp button is pressed along with other CHDK elements? I can turn it to display on Shoot only, but I'd rather not do this. Also, the current zoom value always shows if it is activated even if misc info is supposed to show on Shoot. Is this a bug?
« Last Edit: 09 / November / 2009, 02:05:38 by Ezzelin »
Cameras: SX200 IS 100c US, S3 IS US

*

Offline OldGit

  • ****
  • 303
Re: SX200is Porting
« Reply #726 on: 09 / November / 2009, 04:10:25 »
Smartkiller,
can you take a look at the attached (Histogram colors) and let me know what you think.
NOTE that I have changed the pallette so you may need to alter your color preferrences.
This was built against trunk 833 and also undefines SWIVEL SCREEN (we cant point our screen forward)
Thanks, OldGit
SX200 IS-100C

Re: SX200is Porting
« Reply #727 on: 09 / November / 2009, 05:36:23 »
OldGit, that version is great! The R, G, and B histograms are good colors now. I don't see that the palette has changed any, but the palette entries that you have assigned look good. Blend still has issues for me. I've attached screenshots of what I'm seeing on my camera now:

Y All: http://img690.imageshack.us/img690/231/1109020731.png
Blend: http://img141.imageshack.us/img141/6003/1109020754.png

Is there any way to just get the four small histograms without the big one above it? I'd just like RGB R G B if possible in the size of one histogram. I tried moving the Y All histogram off the top of the screen so as to cut off the Y histogram part, but it wouldn't let me.
« Last Edit: 09 / November / 2009, 05:47:57 by Ezzelin »
Cameras: SX200 IS 100c US, S3 IS US


*

Offline OldGit

  • ****
  • 303
Re: SX200is Porting
« Reply #728 on: 09 / November / 2009, 06:44:36 »
Blend still has issues for me.
Only diff I can see between your screens and mine is that the combined area on mine is white, what are your issues ?.
Quote
Is there any way to just get the four small histograms without the big one above it? I'd just like RGB R G B if possible in the size of one histogram. I tried moving the Y All histogram off the top of the screen so as to cut off the Y histogram part, but it wouldn't let me.
Not as far as I know, when you move the histo up to the top you are at y = 0, you get a lower number :D
Maybe you could request a new option / type of histo display ?.

By the way, when I "changed the pallette" I created a CHDK pallette number 4, and assigned valid values to it.
The Canon pallette remains untouched.

Thanks for the feed back, please let me know what your issues are with the blended histo.
OldGit

EDIT
Forgot to attach the changes for this, in case anyone wants to take a look.
« Last Edit: 09 / November / 2009, 06:48:24 by OldGit »
SX200 IS-100C

Re: SX200is Porting
« Reply #729 on: 09 / November / 2009, 15:08:18 »
Smartkiller,
can you take a look at the attached (Histogram colors) and let me know what you think.

Hallo

OldGit, that version works good. The histograms are good colors now.

Can you Work with the German Version of CHDK?

The German CHDK Compiler Tools can you found here: http://www.assembla.com/spaces/chdkde/documents/bv4qGkVd0r3QRMeJe5afGb/download/CHDK-Shell-v235-DE.exe


Smartkiller
SX200 IS Firm. 100c
SX1 IS Firm. 201a

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal