Display (bitmap overlay) - page 28 - General Discussion and Assistance - CHDK Forum supplierdeeply

Display (bitmap overlay)

  • 394 Replies
  • 87026 Views
*

Offline Ant

  • ****
  • 492
Re: Display (bitmap overlay)
« Reply #270 on: 10 / May / 2021, 14:49:38 »
Advertisements
I modified the viewport dimensions for EOS M3.(in attachment)
I checked it in chdk-ptp with help of fase frame.
But values for EVF are theoretical.(I don't have it)

*

Offline philmoz

  • *****
  • 3356
    • Photos
Re: Display (bitmap overlay)
« Reply #271 on: 10 / May / 2021, 17:53:34 »
I modified the viewport dimensions for EOS M3.(in attachment)
I checked it in chdk-ptp with help of fase frame.
But values for EVF are theoretical.(I don't have it)


Thanks Ant.


@pigeonhill


Can you please check the edge overlay and zebra display in the EVF with the attached version.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

Re: Display (bitmap overlay)
« Reply #272 on: 11 / May / 2021, 02:33:03 »
@reyalp

Haven't used zebra before, so had to work out how to use it, ie read the manual  ;)

Also, zebras don't work in ALT mode: intentional I guess?

All blinkies, blink every secondish, ie including solid. You can clearly see the blinkies being built, top to bottom, ie over about a sec, creating the additional blinking.

BTW I see there is no option to have blinkies on all the time, ie not needing to press the half shutter. IMHO this would work better when you are adjusting exposure and using blinkies.

EVF blinkies are displaced downwards. BTW I have the Canon EVF-DC2. The offset is about 3/4 of the Canon text showing exposure.

In EVF mode, as the blinkies (slowly) refresh, residue (sparse) pixels are left behind in random patterns.

Cheers

Garry
UPDATE 1
Tried pano edge overlays, with exposure warning on and off. Same result. big blocks of red, taking up about 1/3 of the screen height, with clear (slow) top to bottom scanning visible,
« Last Edit: 11 / May / 2021, 06:10:10 by pigeonhill »

*

Offline philmoz

  • *****
  • 3356
    • Photos
Re: Display (bitmap overlay)
« Reply #273 on: 27 / May / 2021, 05:02:44 »
@pigeonhill


Test version for G7X 1.00d.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


Re: Display (bitmap overlay)
« Reply #274 on: 27 / May / 2021, 05:11:56 »
@philmoz

Quick test, eg with Canon histrogram and CHDK menu and OSD etc, looks good.

As I tweak my G7X bracketing script (different to M3 version, eg lens model and focus move) I will feedback any 'strangeness'.

Cheers

Garry

Re: Display (bitmap overlay)
« Reply #275 on: 27 / May / 2021, 09:29:52 »
@philmoz

When you get a chance, could you also throw a 101d G5X build my way, or point me where to where I can download the build: sorry can't build myself.

Or are you only building to order at the moment?

Cheers

Garry

*

Offline Caefix

  • *****
  • 692
  • Sorry, busy deleting test shots...
Re: Display (bitmap overlay)
« Reply #276 on: 27 / May / 2021, 11:30:23 »
All lifetime is a loan from eternity.

Re: Display (bitmap overlay)
« Reply #277 on: 27 / May / 2021, 11:43:39 »
@Caefix

Thanks for the link.

I guess it’s more visceral that I don’t do C and build.

One day I’m sure I will make the transition.

Until then I ‘just’ stick with Lua  :)

Cheers

Garry


*

Offline philmoz

  • *****
  • 3356
    • Photos
Re: Display (bitmap overlay)
« Reply #278 on: 27 / May / 2021, 18:05:47 »
@pigeonhill


G5X version.

CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline philmoz

  • *****
  • 3356
    • Photos
Re: Display (bitmap overlay)
« Reply #279 on: 27 / May / 2021, 18:14:03 »
Below is a summary of the changes needed in case anyone wants to try the Ximr layer drawing on another camera/firmware version.
As noted in the comments I find the Ghidra de-compiler view is the easiest way to check the values that may need updating.

Use existing port as a base for comparison
   If camera has an EVF use G5X or M3 otherwise use G7X or G7X2

platform/CAMERA/makefile.inc
   Add CAM_DRAW_RBGA = 1

platform/CAMERA/platform_camera.h
   Delete CAM_SUPPORT_BITMAP_RES_CHANGE if present
   Add CAM_HAS_DISPLAY_REFRESH_FLAG
   Update CAM_BITMAP_WIDTH, CAM_BITMAP_HEIGHT, CAM_SCREEN_WIDTH and CAM_SCREEN_HEIGHT

platform/CAMERA/sub/FIRMWARE/stubs_entry2.S
   Copy the definitions for debug_logging_ptr, debug_logging_flag and mzrm_sendmsg_ret_adr from the comparison port
   Use the instructions in the comments to find the values for these

platform/CAMERA/lib.c
   Copy the Ximr code from the comparison port - should be everything from the Ximr layer typedef to the end of the file
   May also need to copy the definitions for displaytype, hdmi_out and evf_out (if camera has an EVF)
   Check and update the value for FW_YUV_LAYER_BUF using the instructions in the comments
   Delete the update_screen_dimensions function if present. Check if other functions are dependant on this code (e.g. viewport size functions using values set in this function). If so copy relevant logic to update_ui.
   Check the implementation of vid_bitmap_refresh. Will probably need to refresh both buffers by calling transfer_src_overlay twice. If you see old CHDK frames randomly flashing on screen, such as CHDK menu after leaving ALT mode then try the double call to transfer_src_overlay.

platform/CAMERA/sub/FIRMWARE/boot.c
   Copy the block of code containing debug_logging_my and patch_mzrm_sendmsg from the comparison port
   Add the call to patch_mzrm_sendmsg to the boot function
      Make sure the call is after any RAM initialisation otherwise the patch may get overwritten
   Check the firmware disassembly and update the following in debug_logging_my
      Source for the mzrm_sendmsg ‘msg’ parameter. Most ports store this in R11; but it may also be on the stack (e.g. G7X2)
      Message types to detect calls to XimrExe and XimrExeGain

Edit: added note about vid_bitmap_refresh implementation in lib.c

Edit2: removed things that are now found by finish_thumb2

« Last Edit: 05 / June / 2021, 23:41:44 by philmoz »
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

 

Related Topics