isp_venc_shake_driver.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * Copyright (C) 2021 - 2022 Alibaba Group. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation; either version 2
  7. * of the License, or (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  17. */
  18. #ifndef _ISP_VENC_SHAKE_DRIVER_H_
  19. #define _ISP_VENC_SHAKE_DRIVER_H_
  20. #include <linux/ioctl.h>
  21. #define THEAD_IOC_MAGIC 't'
  22. #define THEAD_IOCH_CONFIG_IVS _IOR(THEAD_IOC_MAGIC, 3, unsigned long *)
  23. #define THEAD_IOCH_START_IVS _IOR(THEAD_IOC_MAGIC, 4, unsigned long *)
  24. #define THEAD_IOCH_RESET_IVS _IOR(THEAD_IOC_MAGIC, 5, unsigned long *)
  25. #define THEAD_IOCH_GET_STATE _IOR(THEAD_IOC_MAGIC, 6, int *)
  26. #define THEAD_IOC_MAXNR 6
  27. typedef int8_t i8;
  28. typedef uint8_t u8;
  29. typedef int16_t i16;
  30. typedef uint16_t u16;
  31. typedef int32_t i32;
  32. typedef uint32_t u32;
  33. typedef int64_t i64;
  34. typedef uint64_t u64;
  35. typedef enum _theadivs_state
  36. {
  37. THEADIVS_IDLE,
  38. THEADIVS_READY,
  39. THEADIVS_RUNNING,
  40. THEADIVS_ERROR
  41. } theadivs_state;
  42. struct ivs_parameter
  43. {
  44. u32 pic_width;
  45. u32 pic_height;
  46. u32 encode_width;
  47. u32 encode_height;
  48. u32 wid_y;
  49. u32 wid_uv;
  50. u32 sram_size;
  51. u32 encode_n;
  52. u32 stride_y;
  53. u32 stride_uv;
  54. //u32 clear;
  55. u32 encode_x;
  56. u32 encode_y;
  57. //u32 start;
  58. //u32 int_state;
  59. //u32 int_clean;
  60. u32 int_mask;
  61. //u32 signal_resv;
  62. };
  63. #endif /* !_ISP_VENC_SHAKE_DRIVER_H_ */