Advertisement
proteu

features.h

Feb 16th, 2017
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.63 KB | None | 0 0
  1. /**
  2.  * Main ML feature set
  3.  *
  4.  * You can:
  5.  *
  6.  * 1) include this file from platform/CAMERA/features.h (recommended for stable ports) and override a few things,
  7.  *       or
  8.  * 2) you can start from scratch with a minimal feature set (just define what you need).
  9.  *
  10.  * Basically, if feature X works on most cameras, it's probably a good idea to put it here.
  11.  *
  12.  * If feature X depends on some backend thingie, you can add the condition here
  13.  *
  14.  * e.g.
  15.  *
  16.  *      #ifdef CONFIG_VARIANGLE_DISPLAY
  17.  *          #define FEATURE_IMAGE_ORIENTATION
  18.  *          #define FEATURE_AUTO_MIRRORING_HACK
  19.  *      #endif
  20.  *
  21.  * can be read as "all cameras with a flip-out display will have these two features".
  22.  *
  23.  */
  24.  
  25. /** Audio menu **/
  26.  
  27. #ifdef CONFIG_AUDIO_CONTROLS
  28.     #undef FEATURE_ANALOG_GAIN
  29.     #undef FEATURE_DIGITAL_GAIN
  30.     #undef FEATURE_AGC_TOGGLE
  31.     #undef FEATURE_WIND_FILTER
  32.     #undef FEATURE_INPUT_SOURCE
  33.     #undef FEATURE_MIC_POWER
  34.     #define FEATURE_HEADPHONE_MONITORING
  35.     #undef FEATURE_HEADPHONE_OUTPUT_VOLUME
  36. #endif
  37.  
  38.     #undef FEATURE_AUDIO_METERS
  39.  
  40. #ifdef CONFIG_BEEP
  41.     #undef FEATURE_BEEP
  42. #endif
  43.     //~ #define FEATURE_WAV_RECORDING
  44.     //~ #define FEATURE_VOICE_TAGS
  45.  
  46. /** Expo menu **/
  47.  
  48.     #undef FEATURE_EXPO_ISO_DIGIC
  49.  
  50. #ifdef CONFIG_PROP_REQUEST_CHANGE
  51.     #undef FEATURE_WHITE_BALANCE
  52.     #undef FEATURE_EXPO_ISO
  53.     #undef FEATURE_EXPO_SHUTTER
  54.     #undef FEATURE_EXPO_APERTURE
  55.     //~ #define FEATURE_INTERMEDIATE_ISO_PHOTO_DISPLAY // only for rebels, not for high-end bodies
  56.     //~ #define FEATURE_INTERMEDIATE_ISO_INTERCEPT_SCROLLWHEEL // 550D trick
  57.  
  58.     #undef FEATURE_PICSTYLE
  59.     #undef FEATURE_REC_PICSTYLE
  60.  
  61.     #undef FEATURE_EXPO_LOCK
  62.     #undef FEATURE_EXPO_PRESET
  63.  
  64. #ifdef CONFIG_EXPSIM
  65.     #undef FEATURE_EXPSIM
  66. #endif
  67.  
  68.     #undef FEATURE_EXPO_OVERRIDE
  69.  
  70. #endif
  71.  
  72. /** Overlay menu **/
  73.  
  74.     #define FEATURE_GLOBAL_DRAW
  75.     #define FEATURE_ZEBRA
  76.     #undef FEATURE_ZEBRA_FAST
  77.     #undef FEATURE_FOCUS_PEAK
  78.     //~ #define FEATURE_FOCUS_PEAK_DISP_FILTER // too slow
  79.     #undef FEATURE_MAGIC_ZOOM
  80. #ifdef CONFIG_CAN_REDIRECT_DISPLAY_BUFFER_EASILY
  81.     #undef FEATURE_MAGIC_ZOOM_FULL_SCREEN
  82. #endif
  83.  
  84.     #undef FEATURE_CROPMARKS
  85.     #undef FEATURE_GHOST_IMAGE
  86.     #define FEATURE_SPOTMETER
  87.     #undef FEATURE_FALSE_COLOR
  88.     #define FEATURE_HISTOGRAM
  89.     #define FEATURE_WAVEFORM
  90.     #define FEATURE_VECTORSCOPE
  91.  
  92.     #undef FEATURE_OVERLAYS_IN_PLAYBACK_MODE
  93.  
  94.  
  95. #if defined(CONFIG_RAW_PHOTO) || defined(CONFIG_RAW_LIVEVIEW)
  96.     #define FEATURE_RAW_HISTOGRAM
  97.     #define FEATURE_RAW_SPOTMETER
  98. #endif
  99.  
  100. #ifdef CONFIG_RAW_PHOTO
  101.     #define FEATURE_RAW_ZEBRAS
  102. #endif
  103.  
  104. /** Movie menu **/
  105.     #undef FEATURE_NITRATE
  106.     //~ #define FEATURE_NITRATE_WAV_RECORD // not user-proof at all
  107.     //~ #define FEATURE_VIDEO_HACKS // for experts only
  108.  
  109.     #undef FEATURE_REC_INDICATOR
  110.     #undef FEATURE_MOVIE_LOGGING
  111.     #undef FEATURE_MOVIE_RESTART
  112.     #undef FEATURE_REC_NOTIFY
  113.     //~ #define FEATURE_REC_NOTIFY_BEEP // this may interfere with sound recording, so only enable it where we know it works
  114.     #undef FEATURE_MOVIE_REC_KEY
  115.     #undef FEATURE_FORCE_LIVEVIEW
  116.  
  117. #ifdef CONFIG_PROP_REQUEST_CHANGE
  118.     #undef FEATURE_SHUTTER_LOCK
  119. #endif
  120.  
  121. #ifdef CONFIG_FRAME_ISO_OVERRIDE
  122.     #undef FEATURE_GRADUAL_EXPOSURE
  123. #endif
  124.  
  125.     #undef FEATURE_FPS_OVERRIDE
  126.     #undef FEATURE_FPS_RAMPING
  127.     //~ #define FEATURE_FPS_WAV_RECORD
  128.  
  129. #ifdef CONFIG_FRAME_ISO_OVERRIDE
  130.     #undef FEATURE_HDR_VIDEO
  131.     //~ #define FEATURE_HDR_EXTENDED // for experts only
  132. #endif
  133.  
  134.     #undef FEATURE_IMAGE_EFFECTS
  135.  
  136.     #undef FEATURE_VIGNETTING_CORRECTION
  137.  
  138. #ifdef CONFIG_FRAME_SHUTTER_OVERRIDE
  139.     #undef FEATURE_SHUTTER_FINE_TUNING
  140. #endif
  141.  
  142.     // 50D movie hacks
  143.     //~ #define FEATURE_MOVIE_RECORDING_50D
  144.  
  145.     // 650D / EOSM hacks
  146.     //~ #define FEATURE_CROP_MODE_HACK
  147. /** Shoot menu **/
  148.  
  149. #ifdef CONFIG_PROP_REQUEST_CHANGE
  150.     #undef FEATURE_HDR_BRACKETING
  151. #endif
  152.     #undef FEATURE_INTERVALOMETER
  153.     //~ #define FEATURE_INTERVALOMETER_MOVIE // will be moved to scripts
  154.  
  155. #ifdef CONFIG_PROP_REQUEST_CHANGE
  156.     #undef FEATURE_BULB_TIMER
  157.     #undef FEATURE_BULB_TIMER_SHOW_PREVIOUS_PIC   /* previous picture during exposure */
  158. #endif
  159.  
  160. #ifdef CONFIG_LCD_SENSOR
  161.     #undef FEATURE_LCD_SENSOR_REMOTE
  162.     #undef FEATURE_LCD_SENSOR_SHORTCUTS
  163. #endif
  164.  
  165. #ifdef CONFIG_AUDIO_CONTROLS
  166.     #undef FEATURE_AUDIO_REMOTE_SHOT   /* requires audio controls, otherwise there's no sound in photo mode */
  167. #endif
  168.  
  169.     #undef FEATURE_MOTION_DETECT
  170.  
  171. #ifdef CONFIG_PROP_REQUEST_CHANGE
  172.     #undef FEATURE_MLU
  173.     #undef FEATURE_MLU_HANDHELD
  174.  
  175.     //~ #define FEATURE_MLU_HANDHELD_DEBUG
  176.     //~ #define FEATURE_MLU_DIRECT_PRINT_SHORTCUT // for 5Dc
  177.  
  178.     #undef FEATURE_FLASH_TWEAKS
  179.     #undef FEATURE_FLASH_NOFLASH
  180. //~ #define FEATURE_LV_3RD_PARTY_FLASH // rebels only
  181.  
  182.     // can do permanent damage, for research only!
  183.     //~ #define FEATURE_PICQ_DANGEROUS
  184. #endif
  185.  
  186.     #undef FEATURE_SNAP_SIM
  187.  
  188. /** Focus menu **/
  189.     #undef FEATURE_TRAP_FOCUS
  190.  
  191. #ifdef CONFIG_PROP_REQUEST_CHANGE
  192.     #undef FEATURE_FOLLOW_FOCUS
  193.     #undef FEATURE_RACK_FOCUS
  194.     #undef FEATURE_FOCUS_STACKING
  195.     #undef FEATURE_AF_PATTERNS
  196. #endif
  197.  
  198. /** Display menu **/
  199.     #undef FEATURE_DIGIC_FOCUS_PEAKING
  200.     #undef FEATURE_LV_BRIGHTNESS_CONTRAST
  201.     #undef FEATURE_LV_SATURATION
  202.     #undef FEATURE_LV_CRAZY_COLORS
  203.     #undef FEATURE_LV_DISPLAY_GAIN
  204.     #undef FEATURE_COLOR_SCHEME
  205.     #undef FEATURE_CLEAR_OVERLAYS
  206.  
  207. #ifdef CONFIG_DISPLAY_FILTERS
  208.     #undef FEATURE_DEFISHING_PREVIEW
  209.     #undef FEATURE_ANAMORPHIC_PREVIEW
  210. #endif
  211.  
  212. #ifdef CONFIG_ELECTRONIC_LEVEL
  213. #ifdef CONFIG_PROP_REQUEST_CHANGE
  214.     #undef FEATURE_LEVEL_INDICATOR
  215. #endif
  216. #endif
  217.  
  218.     #undef FEATURE_SCREEN_LAYOUT
  219.     #undef FEATURE_IMAGE_POSITION
  220.     #undef FEATURE_UPSIDE_DOWN
  221.  
  222. #ifdef CONFIG_VARIANGLE_DISPLAY
  223. #ifdef CONFIG_PROP_REQUEST_CHANGE
  224.     #undef FEATURE_IMAGE_ORIENTATION   // for flip-out display only
  225.     #undef FEATURE_AUTO_MIRRORING_HACK
  226. #endif
  227. #endif
  228.  
  229.     #undef FEATURE_FORCE_HDMI_VGA
  230.  
  231.     //~ #define FEATURE_DISPLAY_SHAKE // looks ugly :P
  232.  
  233. /** Prefs menu **/
  234.  
  235.     #undef FEATURE_SET_MAINDIAL
  236.     #undef FEATURE_PLAY_EXPOSURE_FUSION
  237.     #undef FEATURE_PLAY_COMPARE_IMAGES
  238.     #undef FEATURE_PLAY_TIMELAPSE
  239.     #undef FEATURE_PLAY_EXPOSURE_ADJUST
  240.  
  241.     #undef FEATURE_IMAGE_REVIEW_PLAY
  242.     #undef FEATURE_QUICK_ZOOM
  243. #ifdef CONFIG_Q_MENU_PLAYBACK
  244.     #undef FEATURE_LV_BUTTON_PROTECT
  245.     #undef FEATURE_LV_BUTTON_RATE
  246.     #undef FEATURE_LV_BUTTON_RATE_UPDOWN // disable to use up/down in play mode otherwise
  247. #endif
  248.     #undef FEATURE_QUICK_ERASE
  249.  
  250. #ifdef CONFIG_PROP_REQUEST_CHANGE
  251.     #undef FEATURE_LV_ZOOM_SETTINGS
  252.     #undef FEATURE_LV_ZOOM_SHARP_CONTRAST
  253.     #ifdef CONFIG_EXPSIM
  254.     #undef FEATURE_LV_ZOOM_AUTO_EXPOSURE
  255.     #endif
  256.     //~ #define FEATURE_ZOOM_TRICK_5D3 // not reliable
  257.  
  258.     #undef FEATURE_LV_FOCUS_BOX_FAST
  259.     #undef FEATURE_LV_FOCUS_BOX_SNAP
  260.     //~ #define FEATURE_LV_FOCUS_BOX_SNAP_TO_X5_RAW
  261.     #undef FEATURE_LV_FOCUS_BOX_AUTOHIDE
  262.  
  263.     #undef FEATURE_ARROW_SHORTCUTS
  264.  
  265.     #undef FEATURE_STICKY_DOF
  266.     #undef FEATURE_STICKY_HALFSHUTTER
  267.  
  268. #endif
  269.     //~ #define FEATURE_SWAP_MENU_ERASE // useful for 60D only
  270.     //~ #define FEATURE_SWAP_INFO_PLAY // useful for 6D only
  271.  
  272.     #undef FEATURE_WARNINGS_FOR_BAD_SETTINGS
  273.  
  274. #ifdef CONFIG_PROP_REQUEST_CHANGE
  275.     #undef FEATURE_POWERSAVE_LIVEVIEW
  276. #endif
  277.  
  278.     #undef FEATURE_LV_DISPLAY_PRESETS
  279.  
  280.     //~ #define FEATURE_EYEFI_TRICKS  // EyeFi tricks confirmed working only on 600D-60D
  281.  
  282.     //~ #define FEATURE_DIGITAL_ZOOM_SHORTCUT
  283.  
  284.     /* to be refactored with the lvinfo engine */
  285.     #undef FEATURE_FLEXINFO
  286.  
  287.     //~ #define FEATURE_GPS_TWEAKS  // 6D only for now
  288.  
  289. /** Debug menu **/
  290.  
  291.     //~ #define FEATURE_SHOW_OVERLAY_FPS
  292.  
  293.     #undef FEATURE_SCREENSHOT
  294.  
  295.     #undef FEATURE_DONT_CLICK_ME
  296.  
  297.     #undef FEATURE_SHOW_TASKS
  298.     #undef FEATURE_SHOW_CPU_USAGE
  299.     #undef FEATURE_SHOW_GUI_EVENTS
  300.  
  301.     #undef FEATURE_SHOW_IMAGE_BUFFERS_INFO
  302.     #undef FEATURE_SHOW_FREE_MEMORY
  303.     #undef FEATURE_SHOW_SHUTTER_COUNT
  304.     #undef FEATURE_SHOW_CMOS_TEMPERATURE
  305.     #undef FEATURE_SHOW_EDMAC_INFO
  306.  
  307.     //~ #define FEATURE_UNMOUNT_SD_CARD
  308.  
  309.     //~ #define FEATURE_GUIMODE_TEST // dangerous
  310.     //~ #define FEATURE_SHOW_STATE_FPS // useful for finding vsync hooks
  311.  
  312.  
  313.  
  314. #undef FEATURE_DIGITAL_ZOOM_SHORTCUT
  315. #undef FEATURE_LV_3RD_PARTY_FLASH
  316. #undef FEATURE_EYEFI_TRICKS
  317. #undef FEATURE_FLASH_TWEAKS
  318.  
  319. #undef FEATURE_INTERMEDIATE_ISO_PHOTO_DISPLAY
  320.  
  321. #undef FEATURE_FLEXINFO
  322.  
  323. //#undef FEATURE_SHOW_TASKS
  324. //#undef FEATURE_SHOW_CPU_USAGE
  325. //#undef FEATURE_SHOW_GUI_EVENTS
  326.  
  327. #undef FEATURE_SHOW_IMAGE_BUFFERS_INFO
  328. #undef FEATURE_SHOW_EDMAC_INFO
  329.  
  330. #undef CONFIG_TSKMON
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement