Menu: proper handling of RAW/JPG/H.264-specific features

#730 Open

Bitbucket cannot automatically merge this request.

The commits that make up this pull request have been removed.

Bitbucket cannot automatically merge this request due to conflicts.

Review the conflicts on the Overview tab. You can then either decline the request or merge it manually on your local system using the following commands:

hg update 7a3b5fa3f4c6
# Note: This will create a new head!
hg merge 6d1c3f49fa73
hg commit -m 'Merged in menu-raw-yuv-features (pull request #730)'
  1. Alex

This is basically a subset of the older menu-rework branch. That branch touched a bit too much at once, so I've decided to split it into smaller parts. This part contains the handling of RAW/JPG/H.264-specific features.

The problems that are going to be addressed:

  • There are a bunch of video features that only work with H.264; however, they are not marked as such (so users are tempted to enable them and expect them to work with RAW as well).
  • Also, there are YUV-based overlays that don't make much sense when shooting RAW, because the result is incorrect.
  • Finally, the submenus and default settings for the overlays that can be RAW-based (zebra, histogram and spotmeter) are not very clear. For example, overexposure threshold only applies to YUV zebras, but it's not obvious. Spotmeter is YUV by default, which leads to issues like this. You can set it to RAW, but then you can no longer choose a configuration for JPG/H.264. Histogram is a little better - you can choose a RAW-based histogram (classic or histobar), and it falls back to the closest match.

What does this PR do?

  • Video features that only work with H.264 are grayed out in menu (DEP_MOVIE_MODE_H264).
  • Same for video features that only work with RAW (DEP_MOVIE_MODE_H264). Currently only mlv_snd fits here. Side note: ettr and dual_iso also work only with raw, but these two have custom checks.
  • YUV-based overlays (false colors, waveform and vectorscope) are disabled when shooting RAW. Reason: there are users who think these are raw-based, but they are not.
  • Overlays that can be RAW-based (zebra, histogram, spotmeter) will be RAW whenever you are shooting RAW. Exception: you have an option to use YUV zebras in LiveView, for speed reasons (I prefer Luma Fast even when shooting RAW because it's realtime, even if it overestimates the clipped areas a bit).
  • RAW/YUV submenu options that are not used in the current mode (e.g. YUV settings when shooting RAW) are hidden, to reduce menu clutter.

Note: in the previous implementation (menu-rework branch), the options that were not relevant to the current shooting mode were hidden from menu (not just grayed out). I'm not sure it is the way to go - users may think the features were removed completely. On the other hand, the menu feels much nicer without the irrelevant stuff.

Comments (5)

  1. Audionut

    In either case, I think we just change the questions from, "why this thing greyed out", to, "why this thing missing". I vote for less clutter.

    1. nikfreak

      +1 on what Audionut said. In either cases ppl will ask but hiding gives us the advantage of less clutter.

      1. nikfreak

        If it helps merging: I already tested this when doing the first comment in May. If greyed out or hidden. Approved from my side.