asvloffscreen.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. #ifndef __ASVL_OFFSCREEN_H__
  2. #define __ASVL_OFFSCREEN_H__
  3. #include "amcomdef.h"
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. /*31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 */
  8. /* R R R R R G G G G G G B B B B B */
  9. #define ASVL_PAF_RGB16_B5G6R5 0x101
  10. /* X R R R R R G G G G G B B B B B */
  11. #define ASVL_PAF_RGB16_B5G5R5 0x102
  12. /* X X X X R R R R G G G G B B B B */
  13. #define ASVL_PAF_RGB16_B4G4R4 0x103
  14. /* T R R R R R G G G G G B B B B B */
  15. #define ASVL_PAF_RGB16_B5G5R5T 0x104
  16. /* B B B B B G G G G G G R R R R R */
  17. #define ASVL_PAF_RGB16_R5G6B5 0x105
  18. /* X B B B B B G G G G G R R R R R */
  19. #define ASVL_PAF_RGB16_R5G5B5 0x106
  20. /* X X X X B B B B G G G G R R R R */
  21. #define ASVL_PAF_RGB16_R4G4B4 0x107
  22. /* R R R R R R R R G G G G G G G G B B B B B B B B */
  23. #define ASVL_PAF_RGB24_B8G8R8 0x201
  24. /* X X X X X X R R R R R R G G G G G G B B B B B B */
  25. #define ASVL_PAF_RGB24_B6G6R6 0x202
  26. /* X X X X X T R R R R R R G G G G G G B B B B B B */
  27. #define ASVL_PAF_RGB24_B6G6R6T 0x203
  28. /* B B B B B B B B G G G G G G G G R R R R R R R R */
  29. #define ASVL_PAF_RGB24_R8G8B8 0x204
  30. /* X X X X X X B B B B B B G G G G G G R R R R R R */
  31. #define ASVL_PAF_RGB24_R6G6B6 0x205
  32. /* X X X X X X X X R R R R R R R R G G G G G G G G B B B B B B B B */
  33. #define ASVL_PAF_RGB32_B8G8R8 0x301
  34. /* A A A A A A A A R R R R R R R R G G G G G G G G B B B B B B B B */
  35. #define ASVL_PAF_RGB32_B8G8R8A8 0x302
  36. /* X X X X X X X X B B B B B B B B G G G G G G G G R R R R R R R R */
  37. #define ASVL_PAF_RGB32_R8G8B8 0x303
  38. /* B B B B B B B B G G G G G G G G R R R R R R R R A A A A A A A A */
  39. #define ASVL_PAF_RGB32_A8R8G8B8 0x304
  40. /* A A A A A A A A B B B B B B B B G G G G G G G G R R R R R R R R */
  41. #define ASVL_PAF_RGB32_R8G8B8A8 0x305
  42. /*Y0, U0, V0*/
  43. #define ASVL_PAF_YUV 0x401
  44. /*Y0, V0, U0*/
  45. #define ASVL_PAF_YVU 0x402
  46. /*U0, V0, Y0*/
  47. #define ASVL_PAF_UVY 0x403
  48. /*V0, U0, Y0*/
  49. #define ASVL_PAF_VUY 0x404
  50. /*Y0, U0, Y1, V0*/
  51. #define ASVL_PAF_YUYV 0x501
  52. /*Y0, V0, Y1, U0*/
  53. #define ASVL_PAF_YVYU 0x502
  54. /*U0, Y0, V0, Y1*/
  55. #define ASVL_PAF_UYVY 0x503
  56. /*V0, Y0, U0, Y1*/
  57. #define ASVL_PAF_VYUY 0x504
  58. /*Y1, U0, Y0, V0*/
  59. #define ASVL_PAF_YUYV2 0x505
  60. /*Y1, V0, Y0, U0*/
  61. #define ASVL_PAF_YVYU2 0x506
  62. /*U0, Y1, V0, Y0*/
  63. #define ASVL_PAF_UYVY2 0x507
  64. /*V0, Y1, U0, Y0*/
  65. #define ASVL_PAF_VYUY2 0x508
  66. /*Y0, Y1, U0, V0*/
  67. #define ASVL_PAF_YYUV 0x509
  68. /*8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes*/
  69. #define ASVL_PAF_I420 0x601
  70. /*8 bit Y plane followed by 8 bit 1x2 subsampled U and V planes*/
  71. #define ASVL_PAF_I422V 0x602
  72. /*8 bit Y plane followed by 8 bit 2x1 subsampled U and V planes*/
  73. #define ASVL_PAF_I422H 0x603
  74. /*8 bit Y plane followed by 8 bit U and V planes*/
  75. #define ASVL_PAF_I444 0x604
  76. /*8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes*/
  77. #define ASVL_PAF_YV12 0x605
  78. /*8 bit Y plane followed by 8 bit 1x2 subsampled V and U planes*/
  79. #define ASVL_PAF_YV16V 0x606
  80. /*8 bit Y plane followed by 8 bit 2x1 subsampled V and U planes*/
  81. #define ASVL_PAF_YV16H 0x607
  82. /*8 bit Y plane followed by 8 bit V and U planes*/
  83. #define ASVL_PAF_YV24 0x608
  84. /*8 bit Y plane only*/
  85. #define ASVL_PAF_GRAY 0x701
  86. /*8 bit Y plane followed by 8 bit 2x2 subsampled UV planes*/
  87. #define ASVL_PAF_NV12 0x801
  88. /*8 bit Y plane followed by 8 bit 2x2 subsampled VU planes*/
  89. #define ASVL_PAF_NV21 0x802
  90. /*8 bit Y plane followed by 8 bit 2x1 subsampled UV planes*/
  91. #define ASVL_PAF_LPI422H 0x803
  92. /*8 bit Y plane followed by 8 bit 2x1 subsampled VU planes*/
  93. #define ASVL_PAF_LPI422H2 0x804
  94. /*8 bit Y plane followed by 8 bit 4x4 subsampled VU planes*/
  95. #define ASVL_PAF_NV41 0x805
  96. /*Negative UYVY, U0, Y0, V0, Y1*/
  97. #define ASVL_PAF_NEG_UYVY 0x901
  98. /*Negative I420, 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes*/
  99. #define ASVL_PAF_NEG_I420 0x902
  100. /*Mono UYVY, UV values are fixed, gray image in U0, Y0, V0, Y1*/
  101. #define ASVL_PAF_MONO_UYVY 0xa01
  102. /*Mono I420, UV values are fixed, 8 bit Y plane followed by 8 bit 2x2 subsampled U and V planes*/
  103. #define ASVL_PAF_MONO_I420 0xa02
  104. /*P8_YUYV, 8 pixels a group, Y0Y1Y2Y3Y4Y5Y6Y7U0U1U2U3V0V1V2V3*/
  105. #define ASVL_PAF_P8_YUYV 0xb03
  106. /*P16_YUYV, 16*16 pixels a group, Y0Y1Y2Y3...U0U1...V0V1...*/
  107. #define ASVL_PAF_SP16UNIT 0xc01
  108. #define ASVL_PAF_DEPTH_U16 0xc02
  109. /*10 bits RGGB CFA raw data, each data has 2 bytes*/
  110. #define ASVL_PAF_RAW10_RGGB_10B 0xd01
  111. #define ASVL_PAF_RAW10_GRBG_10B 0xd02
  112. #define ASVL_PAF_RAW10_GBRG_10B 0xd03
  113. #define ASVL_PAF_RAW10_BGGR_10B 0xd04
  114. #define ASVL_PAF_RAW12_RGGB_12B 0xd05
  115. #define ASVL_PAF_RAW12_GRBG_12B 0xd06
  116. #define ASVL_PAF_RAW12_GBRG_12B 0xd07
  117. #define ASVL_PAF_RAW12_BGGR_12B 0xd08
  118. #define ASVL_PAF_RAW10_RGGB_16B 0xd09
  119. #define ASVL_PAF_RAW10_GRBG_16B 0xd0A
  120. #define ASVL_PAF_RAW10_GBRG_16B 0xd0B
  121. #define ASVL_PAF_RAW10_BGGR_16B 0xd0C
  122. /*10 bits gray raw data*/
  123. #define ASVL_PAF_RAW10_GRAY_10B 0xe01
  124. /*10 bits gray raw data, each data has 2 bytes*/
  125. #define ASVL_PAF_RAW10_GRAY_16B 0xe81
  126. /*Define the image format space*/
  127. typedef struct __tag_ASVL_OFFSCREEN
  128. {
  129. MUInt32 u32PixelArrayFormat;
  130. MInt32 i32Width;
  131. MInt32 i32Height;
  132. MUInt8* ppu8Plane[4];
  133. MInt32 pi32Pitch[4];
  134. }ASVLOFFSCREEN, *LPASVLOFFSCREEN;
  135. /*Define the SDK Version infos. This is the template!!!*/
  136. typedef struct __tag_ASVL_VERSION
  137. {
  138. MLong lCodebase; // Codebase version number
  139. MLong lMajor; // major version number
  140. MLong lMinor; // minor version number
  141. MLong lBuild; // Build version number, increasable only
  142. const MChar *Version; // version in string form
  143. const MChar *BuildDate; // latest build Date
  144. const MChar *CopyRight; // copyright
  145. }ASVL_VERSION;
  146. const ASVL_VERSION *ASVL_GetVersion();
  147. #ifdef __cplusplus
  148. }
  149. #endif
  150. #endif /*__ASVL_OFFSCREEN_H__*/