Cropped zebra or zebra specific OSD - page 5 - Feature Requests - CHDK Forum

Cropped zebra or zebra specific OSD

  • 90 Replies
  • 40375 Views
*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Cropped zebra or zebra specific OSD
« Reply #40 on: 18 / December / 2008, 20:18:21 »
Advertisements
hm, well, ok, so we need a master of puzzles then :D
right now i dont have much time on my hands, but a lot of hands on my time, so i definitly can't do it :(

*

Offline dzsemx

  • ****
  • 302
  • [SX40HS][A650][A630]
Re: Cropped zebra or zebra specific OSD
« Reply #41 on: 19 / December / 2008, 03:49:40 »
master of puzzles  :lol
maybe it's more easy to rewrite the whole thing from the beginning by knowing the bugs

*

Offline fudgey

  • *****
  • 1705
  • a570is
Re: Cropped zebra or zebra specific OSD
« Reply #42 on: 19 / December / 2008, 18:10:51 »
Good golly. I just read back the thread a bit to remind myself what the status was and found that I had prepared a diff for juciphox 484 but it was never applied because 485 was already broken by the incorrect patch that caused ugly character borders and was later reversed...

I looked at the revisions and it became clear to me that the important bits are still the same. So, it was easy to port the juciphox 484 diff to current trunk, see the attached diff against trunk 645. It only changes core/gui_osd.c. As the old diffs, it also speeds up blink modes because with this improved zebra their old main purpose of providing a way to read Canon OSD is no longer needed.

It appears to work on a570is 100e and builds on all platforms in trunk 645. There is one problem that was not present with allbest 443: parts of CHDK OSD (misc values / dof calculator at least) seem to disappear if zebra is draw. Sometimes in full, sometimes partially. I have no clue why this happens or how to fix it. Histogram is always ok, though.



For those who don't yet know the purpose of this modification: Without this the patch, when zebra is drawn, Canon's OSD elements disappear. That means Tv, Av, ISO settings etc if you had them visible. In automatic modes this means that if zebra is active, the values chosen by the camera only blink very shortly on screen, almost too fast to be seen. Blink zebra modes allow one to periodically see those values, but it makes people seasick ;).

This patch makes CHDK draw zebra under the OSD so that all half shoot OSD including Canon's and CHDK's stays visible. It does not suffer from the "ugly characters" problem, at least not on my camera it doesn't.

The very slight drawback of the patch is that zebra will naturally no longer alert you from things that are under osd elements. But in half-shoot mode that's not a large portion of the screen unless you choose a hugest histogram there is and fill the screen with all the . And when hand held, you can always move the camera around slightly to cover every last bit if you need to be sure. Of course you can also disable OSD temporarily too.

Please note that the CHDK histogram has text elements (like the multiplier thingy) which are not always visible, but always have an area reserved. Zebra will not draw over this reserved area even though it looks it's empty. To see what I mean, enable hsitogram, point the camera at a dark spot, half shoot, then while still half shooting, move the camera to a lamp and you'll see which parts of the screen don't have active zebra.

*

Offline whim

  • ******
  • 2041
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: Cropped zebra or zebra specific OSD
« Reply #43 on: 19 / December / 2008, 20:02:12 »
@fudgey

Excellent !

applied patch and compiled flawlessly (just the usual main.c warnings typical for 4.3.2) (CHDKShell+GCC 4.3.2)

Works 'as advertised' on A590_101b and ixus70_sd1000_101b - thanks for this  :xmas gift

just a quick test w/ blink 2 + histo though - time for sleep here ...


wim



*

Offline fudgey

  • *****
  • 1705
  • a570is
Re: Cropped zebra or zebra specific OSD
« Reply #44 on: 20 / December / 2008, 04:23:47 »
Oh and to fill in on the osd overwrite problem, there is no problem. When testing, I just forgot we have the "draw over zebra" option.

When it's "OSD", Canon OSD, CHDK OSD and CHDK Histogram all are fine.
When it's "Histo", Canon OSD, and CHDK Histogram are fine, but CHDK OSD gets overwritten by zebra as it should.


The "Restore original screen" and "Restore OSD" options may have no purpose now, but I'm not sure. Someone may still want to use them, but the default should probably be OFF. When "Restore original screen" is enabled, Zebra BLINK mode blinks CHDK OSD letting one periodically see the entire image (but it blinks zebra too, so the option does not increase zebra area). If "Restore OSD" is also enabled, only parts of the OSD are blinked (at least MISC and Histogram stay put, but battery and disk space indicators blink).

I did notice a bug when both "Restore original screen" and "Restore OSD" were enabled (they are by default): Zebra BLINK mode sometimes (quite rarely) causes Canon's autoexposure selected Tv value to toggle between two values on screen in rythm of the zebra blink (one of the Tv values is correct, the other one is an old value from another display buffer, I'm guessing a "restored" one).

I'm not sure if these restore screen/osd options affect this bug at all, but I'm leaving them off for now because without them I haven't yet been able to reproduce it (but note that I'm not able to quickly reproduce it even with them enabled). Also, in "zebra 1" I haven't noticed incorrect Tv being displayed when compared to the photo exif display of play mode.


*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Cropped zebra or zebra specific OSD
« Reply #45 on: 20 / December / 2008, 13:09:54 »
added in 648. i hope this issue is solved now - if not, please report :)

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Cropped zebra or zebra specific OSD
« Reply #46 on: 20 / December / 2008, 15:09:12 »
So, if new zebra is enabled, only 40-50k free memory remains in a710 (CHDK folder is empty). Maybe zebra like edge overlay is useless fCHDK feature for a710.
p.s. Of course, this is not problem personally for me (I use own build), but for other users...
« Last Edit: 20 / December / 2008, 15:11:33 by ewavr »

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Cropped zebra or zebra specific OSD
« Reply #47 on: 20 / December / 2008, 15:12:28 »
what do you mean, does it crash?

edit: and did it use so much ram before the latest revision as well?
« Last Edit: 20 / December / 2008, 15:15:04 by PhyrePhoX »


*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: Cropped zebra or zebra specific OSD
« Reply #48 on: 20 / December / 2008, 16:14:49 »
what do you mean, does it crash?
No, if no additional files are loaded. If loaded symbol font (7k) + menu font (12k) + language file (12k) + badpixel.bin (22k for my camera), it crashes at shooting.
Quote
edit: and did it use so much ram before the latest revision as well?
Before latest version, zebra memory requirement was 360*240=85k. Now this amount was doubled.
« Last Edit: 20 / December / 2008, 16:18:12 by ewavr »

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: Cropped zebra or zebra specific OSD
« Reply #49 on: 20 / December / 2008, 16:30:32 »
hm, this is not good then.
can either of these things be optimized?
« Last Edit: 24 / December / 2008, 06:15:58 by PhyrePhoX »

 

Related Topics