Display (bitmap overlay)

  • 126 Replies
  • 41869 Views
*

Offline Ant

  • ****
  • 369
Re: Display (bitmap overlay)
« Reply #120 on: 21 / December / 2017, 14:11:43 »
Advertisements
I've shifted text strings rendered by SflwWrpDrawStringWithinRect, but some text stayed on the same positions.
So Canon OSD is rendered by JediDraw unlike menus.

*

Offline srsa_4c

  • ******
  • 3728
Re: Display (bitmap overlay)
« Reply #121 on: 21 / December / 2017, 14:17:08 »
I was about to write that
Quote
With JediDraw and SflwWrpDrawStringWithinRect messages blocked, all Canon drawings disappear from screen.
when I found out that I still get text on screen when I enter the shooting mode selection menu. So, apparently there are other ways to draw text (and make it move/disappear), still to be found out.
About the length of JediDraw messages: I suspect that it's this word in Ant's example: 000000c0. In some cases, certain bytes of the structure are not initialized, showing the usual uninitialized memory junk.

Some JediDraw messages refer to resources in ROM - my guess is that those are bitmap or vector images - unfortunately, in an unknown format.

edit:
The message used for drawing text on the shooting mode selection menu is OAE_PackerSeaflowDrawWithinRect. Maybe that's all, maybe there's more. This message can also be blocked without consequences.
« Last Edit: 02 / January / 2018, 15:09:41 by srsa_4c »

*

Offline Ant

  • ****
  • 369
Re: Display (bitmap overlay)
« Reply #122 on: 04 / January / 2018, 17:49:45 »
edit:
The message used for drawing text on the shooting mode selection menu is OAE_PackerSeaflowDrawWithinRect.

Older cameras (M3, G7X, SX60, SX280) don't have this message.

*

Offline srsa_4c

  • ******
  • 3728
Re: Display (bitmap overlay)
« Reply #123 on: 27 / August / 2018, 15:43:30 »
Parts of CHDK assume that viewport dimensions match the bitmap overlay dimensions. The ones I know of are
- zebra
- edge overlay

When HDMI output is active (and it is fullHD res), viewport and overlay dimensions are different - viewport is fullHD, overlay is quarter of that (960x540 on DIGIC 6).
Under these conditions, edge overlay simply misbehaves (blocks physw, no display), but current zebra code overflows the overlay buffers (which, depending on camera RAM layout, can cause a crash).
The above modules can probably be fixed(*), but until that happens, I'm considering to add checks to skip problematic parts of their code when viewport is larger than overlay.

*That fix is only "easy" when overlay size is quarter of viewport size. There are alternative viewport buffers in rec mode that are sized differently.


Re: Display (bitmap overlay)
« Reply #124 on: 27 / August / 2018, 19:53:56 »
Question: can HDMI output be active in shoot mode?

Re: Display (bitmap overlay)
« Reply #125 on: 27 / August / 2018, 23:43:59 »
Question: can HDMI output be active in shoot mode?
AFAIK, you could get HDMI (or at least some sort of live video?) on older Powershots but Canon disabled that feature several (?) years ago.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 11592
Re: Display (bitmap overlay)
« Reply #126 on: 28 / August / 2018, 00:44:12 »
Question: can HDMI output be active in shoot mode?
AFAIK, you could get HDMI (or at least some sort of live video?) on older Powershots but Canon disabled that feature several (?) years ago.
Many cameras, including recent models allow analog video out. Canon dropped this capability on lower end cameras.

The EOS M cameras are the only CHDK supported models which allow HDMI out in rec mode.
Don't forget what the H stands for.

 

Related Topics