csi_camera_property.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /*
  2. * Copyright (C) 2021 Alibaba Group Holding Limited
  3. * Author: LuChongzhi <chongzhi.lcz@alibaba-inc.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. */
  9. #ifndef __CSI_CAMERA_PROPERTY_H__
  10. #define __CSI_CAMERA_PROPERTY_H__
  11. /* Camera Property ID */
  12. #define CSI_CAMERA_PID_BASE (0x009a0000 | 0x900)
  13. #define CSI_CAMERA_FLAG_NEXT_CTRL 0x80000000
  14. /* image processing releated */
  15. #define CSI_CAMERA_PID_HFLIP (CSI_CAMERA_PID_BASE + 0x1)
  16. #define CSI_CAMERA_PID_VFLIP (CSI_CAMERA_PID_BASE + 0x2)
  17. #define CSI_CAMERA_PID_ROTATE (CSI_CAMERA_PID_BASE + 0x3)
  18. /* exposure related */
  19. #define CSI_CAMERA_PID_EXPOSURE_MODE (CSI_CAMERA_PID_BASE + 0x11)
  20. enum CSI_CAMERA_EXPOSURE_MODE {
  21. CSI_CAMERA_EXPOSURE_MODE_AUTO = 0,
  22. CSI_CAMERA_EXPOSURE_MANUAL = 1,
  23. CSI_CAMERA_EXPOSURE_SHUTTER_PRIORITY = 2,
  24. CSI_CAMERA_EXPOSURE_APERTURE_PRIORITY = 3,
  25. };
  26. #define CSI_CAMERA_PID_EXPOSURE_ABSOLUTE (CSI_CAMERA_PID_BASE + 0x12)
  27. #define CSI_CAMERA_PID_EXPOSURE_AUTO_PRIORITY (CSI_CAMERA_PID_BASE + 0x13)
  28. #define CSI_CAMERA_PID_EXPOSURE_BIAS (CSI_CAMERA_PID_BASE + 0x14)
  29. #define CSI_CAMERA_PID_EXPOSURE_METERING (CSI_CAMERA_PID_BASE + 0x15)
  30. enum CSI_CAMERA_PID_EXPOSURE_METERING_MODE {
  31. CSI_CAMERA_EXPOSURE_METERING_AVERAGE = 0,
  32. CSI_CAMERA_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
  33. CSI_CAMERA_EXPOSURE_METERING_SPOT = 2,
  34. CSI_CAMERA_EXPOSURE_METERING_MATRIX = 3,
  35. };
  36. /* Focus related */
  37. #define CSI_CAMERA_PID_FOCUS_ABSOLUTE (CSI_CAMERA_PID_BASE + 0x21)
  38. #define CSI_CAMERA_PID_FOCUS_RELATIVE (CSI_CAMERA_PID_BASE + 0x22)
  39. #define CSI_CAMERA_PID_FOCUS_AUTO (CSI_CAMERA_PID_BASE + 0x23)
  40. #define CSI_CAMERA_PID_AUTO_FOCUS_START (CSI_CAMERA_PID_BASE + 0x24)
  41. #define CSI_CAMERA_PID_AUTO_FOCUS_STOP (CSI_CAMERA_PID_BASE + 0x25)
  42. #define CSI_CAMERA_PID_AUTO_FOCUS_STATUS (CSI_CAMERA_PID_BASE + 0x26)
  43. #define CSI_CAMERA_AUTO_FOCUS_STATUS_IDLE (1<<0)
  44. #define CSI_CAMERA_AUTO_FOCUS_STATUS_BUSY (1<<1)
  45. #define CSI_CAMERA_AUTO_FOCUS_STATUS_REACHED (1<<2)
  46. #define CSI_CAMERA_AUTO_FOCUS_STATUS_FAILED (1<<3)
  47. /* 3A misc */
  48. #define CSI_CAMERA_PID_AUTO_PRESET_WHITE_BALANCE (CSI_CAMERA_PID_BASE + 0x31)
  49. enum CSI_CAMERA_AUTO_PRESET_WHITE_BALANCE_MODE {
  50. CSI_CAMERA_WHITE_BALANCE_MANUAL = 0,
  51. CSI_CAMERA_WHITE_BALANCE_AUTO = 1,
  52. CSI_CAMERA_WHITE_BALANCE_CUSTOM1 = 2,
  53. CSI_CAMERA_WHITE_BALANCE_CUSTOM2 = 3,
  54. };
  55. #define CSI_CAMERA_PID_3A_LOCK (CSI_CAMERA_PID_BASE + 0x32)
  56. #define CSI_CAMERA_LOCK_EXPOSURE (1 << 0)
  57. #define CSI_CAMERA_LOCK_WHITE_BALANCE (1 << 1)
  58. #define CSI_CAMERA_LOCK_FOCUS (1 << 2)
  59. /* Gain */
  60. #define CSI_CAMERA_PID_RED_GAIN (CSI_CAMERA_PID_BASE + 0x41)
  61. #define CSI_CAMERA_PID_GREEN_GAIN (CSI_CAMERA_PID_BASE + 0x42)
  62. #define CSI_CAMERA_PID_BLUE_GAIN (CSI_CAMERA_PID_BASE + 0x43)
  63. #define CSI_CAMERA_PID_WIDE_DYNAMIC_RANGE (CSI_CAMERA_PID_BASE + 0x44)
  64. #define CSI_CAMERA_PID_ZOOM_ABSOLUTE (CSI_CAMERA_PID_BASE + 0x45)
  65. #define CSI_CAMERA_PID_ZOOM_RELATIVE (CSI_CAMERA_PID_BASE + 0x46)
  66. #define CSI_CAMERA_PID_ZOOM_CONTINOUS (CSI_CAMERA_PID_BASE + 0x47)
  67. /* PAN & TILT */
  68. #define CSI_CAMERA_PID_PAN_RELATIVE (CSI_CAMERA_PID_BASE + 0x51)
  69. #define CSI_CAMERA_PID_TILT_RELATIVE (CSI_CAMERA_PID_BASE + 0x52)
  70. #define CSI_CAMERA_PID_PAN_ABSOLUTE (CSI_CAMERA_PID_BASE + 0x53)
  71. #define CSI_CAMERA_PID_TILT_ABSOLUTE (CSI_CAMERA_PID_BASE + 0x54)
  72. #define CSI_CAMERA_PID_PAN_RESET (CSI_CAMERA_PID_BASE + 0x55)
  73. #define CSI_CAMERA_PID_TILT_RESET (CSI_CAMERA_PID_BASE + 0x56)
  74. /* misc enhance */
  75. #define CSI_CAMERA_PID_HDR_MODE (CSI_CAMERA_PID_BASE + 0x61)
  76. #define CSI_CAMERA_PID_BAND_STOP_FILTER (CSI_CAMERA_PID_BASE + 0x62)
  77. #define CSI_CAMERA_PID_IMAGE_STABILIZATION (CSI_CAMERA_PID_BASE + 0x63)
  78. #endif /* __CSI_CAMERA_PROPERTY_H__ */