@shopify/react-native-skia 0.1.234 → 0.1.237

Sign up to get free protection for your applications and to get access to all the features.
Files changed (425) hide show
  1. package/cpp/api/JsiSkApi.h +2 -0
  2. package/cpp/api/JsiSkCanvas.h +36 -0
  3. package/cpp/api/JsiSkRSXform.h +35 -7
  4. package/cpp/api/JsiSkTypefaceFactory.h +2 -1
  5. package/cpp/rnskia/dom/JsiDomApi.h +2 -0
  6. package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +60 -0
  7. package/cpp/rnskia/dom/props/RSXformProp.h +52 -0
  8. package/cpp/rnskia/dom/props/RectProp.h +31 -0
  9. package/cpp/skia/include/android/AHardwareBufferUtils.h +23 -0
  10. package/cpp/skia/include/android/GrAHardwareBufferUtils.h +2 -0
  11. package/cpp/skia/include/android/graphite/SurfaceAndroid.h +59 -0
  12. package/cpp/skia/include/codec/SkAvifDecoder.h +1 -1
  13. package/cpp/skia/include/codec/SkBmpDecoder.h +1 -1
  14. package/cpp/skia/include/codec/SkCodec.h +21 -3
  15. package/cpp/skia/include/codec/SkGifDecoder.h +1 -1
  16. package/cpp/skia/include/codec/SkIcoDecoder.h +1 -1
  17. package/cpp/skia/include/codec/SkJpegDecoder.h +1 -1
  18. package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -1
  19. package/cpp/skia/include/codec/SkPngDecoder.h +1 -1
  20. package/cpp/skia/include/codec/SkRawDecoder.h +1 -1
  21. package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -1
  22. package/cpp/skia/include/codec/SkWebpDecoder.h +1 -1
  23. package/cpp/skia/include/config/SkUserConfig.h +3 -1
  24. package/cpp/skia/include/core/SkCanvas.h +66 -37
  25. package/cpp/skia/include/core/SkColorFilter.h +5 -2
  26. package/cpp/skia/include/core/SkContourMeasure.h +1 -0
  27. package/cpp/skia/include/core/SkDocument.h +1 -0
  28. package/cpp/skia/include/core/SkFont.h +14 -24
  29. package/cpp/skia/include/core/SkFontArguments.h +1 -1
  30. package/cpp/skia/include/core/SkFontMetrics.h +1 -1
  31. package/cpp/skia/include/core/SkFontMgr.h +0 -7
  32. package/cpp/skia/include/core/SkGraphics.h +13 -0
  33. package/cpp/skia/include/core/SkMesh.h +9 -13
  34. package/cpp/skia/include/core/SkMilestone.h +1 -1
  35. package/cpp/skia/include/core/SkPathMeasure.h +2 -0
  36. package/cpp/skia/include/core/SkSerialProcs.h +29 -11
  37. package/cpp/skia/include/core/SkSize.h +3 -3
  38. package/cpp/skia/include/core/SkStream.h +3 -13
  39. package/cpp/skia/include/core/SkSurface.h +6 -3
  40. package/cpp/skia/include/core/SkSurfaceProps.h +2 -4
  41. package/cpp/skia/include/core/SkTraceMemoryDump.h +15 -0
  42. package/cpp/skia/include/core/SkTypeface.h +8 -56
  43. package/cpp/skia/include/core/SkTypes.h +8 -0
  44. package/cpp/skia/include/core/SkVertices.h +1 -1
  45. package/cpp/skia/include/docs/SkMultiPictureDocument.h +53 -0
  46. package/cpp/skia/include/docs/SkPDFDocument.h +11 -0
  47. package/cpp/skia/include/effects/SkGradientShader.h +9 -0
  48. package/cpp/skia/include/effects/SkRuntimeEffect.h +3 -7
  49. package/cpp/skia/include/gpu/GrBackendSemaphore.h +33 -47
  50. package/cpp/skia/include/gpu/GrBackendSurface.h +2 -3
  51. package/cpp/skia/include/gpu/GrContextOptions.h +0 -6
  52. package/cpp/skia/include/gpu/GrContextThreadSafeProxy.h +44 -28
  53. package/cpp/skia/include/gpu/GrDirectContext.h +12 -31
  54. package/cpp/skia/include/gpu/GrTypes.h +1 -16
  55. package/cpp/skia/include/gpu/MutableTextureState.h +35 -80
  56. package/cpp/skia/include/gpu/ShaderErrorHandler.h +11 -1
  57. package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +2 -2
  58. package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +1 -1
  59. package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +3 -2
  60. package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h +20 -0
  61. package/cpp/skia/include/gpu/ganesh/vk/GrVkDirectContext.h +30 -0
  62. package/cpp/skia/include/gpu/gl/GrGLFunctions.h +1 -1
  63. package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -0
  64. package/cpp/skia/include/gpu/gl/glx/GrGLMakeGLXInterface.h +6 -0
  65. package/cpp/skia/include/gpu/graphite/BackendSemaphore.h +3 -3
  66. package/cpp/skia/include/gpu/graphite/BackendTexture.h +39 -27
  67. package/cpp/skia/include/gpu/graphite/Context.h +39 -13
  68. package/cpp/skia/include/gpu/graphite/ContextOptions.h +2 -0
  69. package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +2 -1
  70. package/cpp/skia/include/gpu/graphite/Image.h +106 -87
  71. package/cpp/skia/include/gpu/graphite/Recorder.h +24 -3
  72. package/cpp/skia/include/gpu/graphite/Surface.h +7 -2
  73. package/cpp/skia/include/gpu/graphite/dawn/DawnBackendContext.h +41 -2
  74. package/cpp/skia/include/gpu/graphite/dawn/DawnTypes.h +11 -6
  75. package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +1 -2
  76. package/cpp/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h +6 -6
  77. package/cpp/skia/include/gpu/mock/GrMockTypes.h +1 -0
  78. package/cpp/skia/include/gpu/vk/GrVkBackendContext.h +1 -1
  79. package/cpp/skia/include/gpu/vk/GrVkTypes.h +1 -44
  80. package/cpp/skia/include/gpu/vk/VulkanExtensions.h +1 -1
  81. package/cpp/skia/include/gpu/vk/VulkanMutableTextureState.h +25 -0
  82. package/cpp/skia/include/gpu/vk/VulkanTypes.h +44 -0
  83. package/cpp/skia/include/ports/SkFontConfigInterface.h +3 -6
  84. package/cpp/skia/include/private/SkEncodedInfo.h +5 -0
  85. package/cpp/skia/include/private/SkExif.h +102 -0
  86. package/cpp/skia/include/private/SkGainmapInfo.h +11 -1
  87. package/cpp/skia/include/private/base/SkAssert.h +16 -0
  88. package/cpp/skia/include/private/base/SkDeque.h +2 -7
  89. package/cpp/skia/include/private/base/SkLoadUserConfig.h +1 -1
  90. package/cpp/skia/include/private/base/SkTArray.h +69 -28
  91. package/cpp/skia/include/private/base/SkThreadAnnotations.h +18 -5
  92. package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +26 -30
  93. package/cpp/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h +4 -3
  94. package/cpp/skia/include/private/chromium/SkImageChromium.h +1 -1
  95. package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +8 -6
  96. package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +29 -0
  97. package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +12 -9
  98. package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +16 -11
  99. package/cpp/skia/include/third_party/vulkan/vulkan/vk_platform.h +2 -2
  100. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h +312 -0
  101. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h +77 -0
  102. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h +446 -0
  103. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h +67 -0
  104. package/cpp/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h +36 -0
  105. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan.h +9 -2
  106. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_android.h +31 -3
  107. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_core.h +10624 -5716
  108. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_ios.h +2 -1
  109. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_macos.h +2 -1
  110. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_win32.h +28 -1
  111. package/cpp/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h +2 -1
  112. package/cpp/skia/include/utils/mac/SkCGUtils.h +23 -11
  113. package/cpp/skia/modules/skcms/skcms.h +2 -410
  114. package/cpp/skia/modules/skcms/src/Transform_inl.h +831 -704
  115. package/cpp/skia/modules/skcms/src/skcms_Transform.h +161 -0
  116. package/cpp/skia/modules/skcms/src/skcms_internals.h +136 -0
  117. package/cpp/skia/modules/skcms/src/skcms_public.h +404 -0
  118. package/cpp/skia/modules/skparagraph/include/FontArguments.h +1 -1
  119. package/cpp/skia/modules/skparagraph/include/FontCollection.h +2 -0
  120. package/cpp/skia/modules/skparagraph/include/Paragraph.h +2 -2
  121. package/cpp/skia/modules/skparagraph/include/TextStyle.h +4 -3
  122. package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +1 -3
  123. package/cpp/skia/modules/skresources/include/SkResources.h +28 -17
  124. package/cpp/skia/modules/skunicode/include/SkUnicode.h +12 -0
  125. package/cpp/skia/modules/svg/include/SkSVGDOM.h +4 -1
  126. package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +4 -1
  127. package/cpp/skia/src/base/SkUTF.h +7 -0
  128. package/cpp/skia/src/core/SkTHash.h +20 -8
  129. package/lib/commonjs/dom/nodes/JsiSkDOM.d.ts +5 -3
  130. package/lib/commonjs/dom/nodes/JsiSkDOM.js +60 -57
  131. package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
  132. package/lib/commonjs/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  133. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js +47 -0
  134. package/lib/commonjs/dom/nodes/drawings/AtlasNode.js.map +1 -0
  135. package/lib/commonjs/dom/nodes/drawings/index.d.ts +1 -0
  136. package/lib/commonjs/dom/nodes/drawings/index.js +13 -0
  137. package/lib/commonjs/dom/nodes/drawings/index.js.map +1 -1
  138. package/lib/commonjs/dom/types/Drawings.d.ts +7 -1
  139. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  140. package/lib/commonjs/dom/types/NodeType.d.ts +1 -0
  141. package/lib/commonjs/dom/types/NodeType.js +1 -0
  142. package/lib/commonjs/dom/types/NodeType.js.map +1 -1
  143. package/lib/commonjs/dom/types/SkDOM.d.ts +2 -1
  144. package/lib/commonjs/dom/types/SkDOM.js.map +1 -1
  145. package/lib/commonjs/external/reanimated/buffers.d.ts +5 -0
  146. package/lib/commonjs/external/reanimated/buffers.js +48 -0
  147. package/lib/commonjs/external/reanimated/buffers.js.map +1 -0
  148. package/lib/commonjs/external/reanimated/index.d.ts +2 -0
  149. package/lib/commonjs/external/reanimated/index.js +26 -0
  150. package/lib/commonjs/external/reanimated/index.js.map +1 -1
  151. package/lib/commonjs/external/reanimated/interpolators.js +13 -1
  152. package/lib/commonjs/external/reanimated/interpolators.js.map +1 -1
  153. package/lib/commonjs/external/reanimated/moduleWrapper.d.ts +1 -0
  154. package/lib/commonjs/external/reanimated/moduleWrapper.js +5 -3
  155. package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
  156. package/lib/commonjs/external/reanimated/textures.d.ts +5 -0
  157. package/lib/commonjs/external/reanimated/textures.js +38 -0
  158. package/lib/commonjs/external/reanimated/textures.js.map +1 -0
  159. package/lib/commonjs/external/reanimated/useAnimatedImageValue.js +8 -1
  160. package/lib/commonjs/external/reanimated/useAnimatedImageValue.js.map +1 -1
  161. package/lib/commonjs/headless/index.js +1 -1
  162. package/lib/commonjs/headless/index.js.map +1 -1
  163. package/lib/commonjs/mock/index.js +8 -0
  164. package/lib/commonjs/mock/index.js.map +1 -1
  165. package/lib/commonjs/renderer/Canvas.js +1 -1
  166. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  167. package/lib/commonjs/renderer/Container.d.ts +1 -1
  168. package/lib/commonjs/renderer/Container.js +2 -1
  169. package/lib/commonjs/renderer/Container.js.map +1 -1
  170. package/lib/commonjs/renderer/HostComponents.d.ts +3 -1
  171. package/lib/commonjs/renderer/HostComponents.js +3 -0
  172. package/lib/commonjs/renderer/HostComponents.js.map +1 -1
  173. package/lib/commonjs/renderer/Offscreen.d.ts +4 -1
  174. package/lib/commonjs/renderer/Offscreen.js +28 -10
  175. package/lib/commonjs/renderer/Offscreen.js.map +1 -1
  176. package/lib/commonjs/renderer/Reconciler.d.ts +1 -1
  177. package/lib/commonjs/renderer/Reconciler.js +7 -4
  178. package/lib/commonjs/renderer/Reconciler.js.map +1 -1
  179. package/lib/commonjs/renderer/components/shapes/Atlas.d.ts +4 -0
  180. package/lib/commonjs/renderer/components/shapes/Atlas.js +17 -0
  181. package/lib/commonjs/renderer/components/shapes/Atlas.js.map +1 -0
  182. package/lib/commonjs/renderer/components/shapes/index.d.ts +1 -0
  183. package/lib/commonjs/renderer/components/shapes/index.js +13 -0
  184. package/lib/commonjs/renderer/components/shapes/index.js.map +1 -1
  185. package/lib/commonjs/skia/core/AnimatedImage.d.ts +1 -1
  186. package/lib/commonjs/skia/core/AnimatedImage.js +4 -1
  187. package/lib/commonjs/skia/core/AnimatedImage.js.map +1 -1
  188. package/lib/commonjs/skia/core/Data.d.ts +1 -1
  189. package/lib/commonjs/skia/core/Data.js +11 -4
  190. package/lib/commonjs/skia/core/Data.js.map +1 -1
  191. package/lib/commonjs/skia/core/Rect.d.ts +2 -2
  192. package/lib/commonjs/skia/types/Canvas.d.ts +16 -1
  193. package/lib/commonjs/skia/types/Canvas.js.map +1 -1
  194. package/lib/commonjs/skia/types/Image/Image.d.ts +8 -0
  195. package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
  196. package/lib/commonjs/skia/types/Matrix4.d.ts +2 -2
  197. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  198. package/lib/commonjs/skia/types/RSXform.d.ts +7 -1
  199. package/lib/commonjs/skia/types/RSXform.js.map +1 -1
  200. package/lib/commonjs/skia/types/Rect.d.ts +4 -0
  201. package/lib/commonjs/skia/types/Rect.js.map +1 -1
  202. package/lib/commonjs/skia/types/Shader/Shader.d.ts +1 -1
  203. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  204. package/lib/commonjs/skia/types/Skia.d.ts +3 -2
  205. package/lib/commonjs/skia/types/Skia.js.map +1 -1
  206. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +2 -1
  207. package/lib/commonjs/skia/web/JsiSkCanvas.js +19 -0
  208. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  209. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +8 -2
  210. package/lib/commonjs/skia/web/JsiSkRSXform.js +33 -2
  211. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  212. package/lib/commonjs/skia/web/JsiSkRect.d.ts +3 -2
  213. package/lib/commonjs/skia/web/JsiSkRect.js +7 -0
  214. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  215. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js +2 -1
  216. package/lib/commonjs/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  217. package/lib/commonjs/skia/web/JsiSkia.js +5 -0
  218. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  219. package/lib/module/dom/nodes/JsiSkDOM.d.ts +5 -3
  220. package/lib/module/dom/nodes/JsiSkDOM.js +61 -57
  221. package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
  222. package/lib/module/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  223. package/lib/module/dom/nodes/drawings/AtlasNode.js +34 -0
  224. package/lib/module/dom/nodes/drawings/AtlasNode.js.map +1 -0
  225. package/lib/module/dom/nodes/drawings/index.d.ts +1 -0
  226. package/lib/module/dom/nodes/drawings/index.js +1 -0
  227. package/lib/module/dom/nodes/drawings/index.js.map +1 -1
  228. package/lib/module/dom/types/Drawings.d.ts +7 -1
  229. package/lib/module/dom/types/Drawings.js.map +1 -1
  230. package/lib/module/dom/types/NodeType.d.ts +1 -0
  231. package/lib/module/dom/types/NodeType.js +1 -0
  232. package/lib/module/dom/types/NodeType.js.map +1 -1
  233. package/lib/module/dom/types/SkDOM.d.ts +2 -1
  234. package/lib/module/dom/types/SkDOM.js.map +1 -1
  235. package/lib/module/external/reanimated/buffers.d.ts +5 -0
  236. package/lib/module/external/reanimated/buffers.js +27 -0
  237. package/lib/module/external/reanimated/buffers.js.map +1 -0
  238. package/lib/module/external/reanimated/index.d.ts +2 -0
  239. package/lib/module/external/reanimated/index.js +2 -0
  240. package/lib/module/external/reanimated/index.js.map +1 -1
  241. package/lib/module/external/reanimated/interpolators.js +13 -1
  242. package/lib/module/external/reanimated/interpolators.js.map +1 -1
  243. package/lib/module/external/reanimated/moduleWrapper.d.ts +1 -0
  244. package/lib/module/external/reanimated/moduleWrapper.js +3 -2
  245. package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
  246. package/lib/module/external/reanimated/textures.d.ts +5 -0
  247. package/lib/module/external/reanimated/textures.js +24 -0
  248. package/lib/module/external/reanimated/textures.js.map +1 -0
  249. package/lib/module/external/reanimated/useAnimatedImageValue.js +7 -1
  250. package/lib/module/external/reanimated/useAnimatedImageValue.js.map +1 -1
  251. package/lib/module/headless/index.js +1 -1
  252. package/lib/module/headless/index.js.map +1 -1
  253. package/lib/module/mock/index.js +8 -0
  254. package/lib/module/mock/index.js.map +1 -1
  255. package/lib/module/renderer/Canvas.js +1 -1
  256. package/lib/module/renderer/Canvas.js.map +1 -1
  257. package/lib/module/renderer/Container.d.ts +1 -1
  258. package/lib/module/renderer/Container.js +2 -1
  259. package/lib/module/renderer/Container.js.map +1 -1
  260. package/lib/module/renderer/HostComponents.d.ts +3 -1
  261. package/lib/module/renderer/HostComponents.js +3 -0
  262. package/lib/module/renderer/HostComponents.js.map +1 -1
  263. package/lib/module/renderer/Offscreen.d.ts +4 -1
  264. package/lib/module/renderer/Offscreen.js +19 -9
  265. package/lib/module/renderer/Offscreen.js.map +1 -1
  266. package/lib/module/renderer/Reconciler.d.ts +1 -1
  267. package/lib/module/renderer/Reconciler.js +7 -4
  268. package/lib/module/renderer/Reconciler.js.map +1 -1
  269. package/lib/module/renderer/components/shapes/Atlas.d.ts +4 -0
  270. package/lib/module/renderer/components/shapes/Atlas.js +5 -0
  271. package/lib/module/renderer/components/shapes/Atlas.js.map +1 -0
  272. package/lib/module/renderer/components/shapes/index.d.ts +1 -0
  273. package/lib/module/renderer/components/shapes/index.js +1 -0
  274. package/lib/module/renderer/components/shapes/index.js.map +1 -1
  275. package/lib/module/skia/core/AnimatedImage.d.ts +1 -1
  276. package/lib/module/skia/core/AnimatedImage.js +4 -1
  277. package/lib/module/skia/core/AnimatedImage.js.map +1 -1
  278. package/lib/module/skia/core/Data.d.ts +1 -1
  279. package/lib/module/skia/core/Data.js +11 -4
  280. package/lib/module/skia/core/Data.js.map +1 -1
  281. package/lib/module/skia/core/Rect.d.ts +2 -2
  282. package/lib/module/skia/types/Canvas.d.ts +16 -1
  283. package/lib/module/skia/types/Canvas.js.map +1 -1
  284. package/lib/module/skia/types/Image/Image.d.ts +8 -0
  285. package/lib/module/skia/types/Image/Image.js.map +1 -1
  286. package/lib/module/skia/types/Matrix4.d.ts +2 -2
  287. package/lib/module/skia/types/Matrix4.js.map +1 -1
  288. package/lib/module/skia/types/RSXform.d.ts +7 -1
  289. package/lib/module/skia/types/RSXform.js.map +1 -1
  290. package/lib/module/skia/types/Rect.d.ts +4 -0
  291. package/lib/module/skia/types/Rect.js.map +1 -1
  292. package/lib/module/skia/types/Shader/Shader.d.ts +1 -1
  293. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  294. package/lib/module/skia/types/Skia.d.ts +3 -2
  295. package/lib/module/skia/types/Skia.js.map +1 -1
  296. package/lib/module/skia/web/JsiSkCanvas.d.ts +2 -1
  297. package/lib/module/skia/web/JsiSkCanvas.js +18 -0
  298. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  299. package/lib/module/skia/web/JsiSkRSXform.d.ts +8 -2
  300. package/lib/module/skia/web/JsiSkRSXform.js +34 -3
  301. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  302. package/lib/module/skia/web/JsiSkRect.d.ts +3 -2
  303. package/lib/module/skia/web/JsiSkRect.js +7 -0
  304. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  305. package/lib/module/skia/web/JsiSkTextBlobFactory.js +2 -1
  306. package/lib/module/skia/web/JsiSkTextBlobFactory.js.map +1 -1
  307. package/lib/module/skia/web/JsiSkia.js +5 -0
  308. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  309. package/lib/typescript/src/dom/nodes/JsiSkDOM.d.ts +5 -3
  310. package/lib/typescript/src/dom/nodes/drawings/AtlasNode.d.ts +8 -0
  311. package/lib/typescript/src/dom/nodes/drawings/index.d.ts +1 -0
  312. package/lib/typescript/src/dom/types/Drawings.d.ts +7 -1
  313. package/lib/typescript/src/dom/types/NodeType.d.ts +1 -0
  314. package/lib/typescript/src/dom/types/SkDOM.d.ts +2 -1
  315. package/lib/typescript/src/external/reanimated/buffers.d.ts +5 -0
  316. package/lib/typescript/src/external/reanimated/index.d.ts +2 -0
  317. package/lib/typescript/src/external/reanimated/moduleWrapper.d.ts +1 -0
  318. package/lib/typescript/src/external/reanimated/textures.d.ts +5 -0
  319. package/lib/typescript/src/renderer/Container.d.ts +1 -1
  320. package/lib/typescript/src/renderer/HostComponents.d.ts +3 -1
  321. package/lib/typescript/src/renderer/Offscreen.d.ts +4 -1
  322. package/lib/typescript/src/renderer/Reconciler.d.ts +1 -1
  323. package/lib/typescript/src/renderer/components/shapes/Atlas.d.ts +4 -0
  324. package/lib/typescript/src/renderer/components/shapes/index.d.ts +1 -0
  325. package/lib/typescript/src/skia/core/AnimatedImage.d.ts +1 -1
  326. package/lib/typescript/src/skia/core/Data.d.ts +1 -1
  327. package/lib/typescript/src/skia/core/Rect.d.ts +2 -2
  328. package/lib/typescript/src/skia/types/Canvas.d.ts +16 -1
  329. package/lib/typescript/src/skia/types/Image/Image.d.ts +8 -0
  330. package/lib/typescript/src/skia/types/Matrix4.d.ts +2 -2
  331. package/lib/typescript/src/skia/types/RSXform.d.ts +7 -1
  332. package/lib/typescript/src/skia/types/Rect.d.ts +4 -0
  333. package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
  334. package/lib/typescript/src/skia/types/Skia.d.ts +3 -2
  335. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +2 -1
  336. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +8 -2
  337. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +3 -2
  338. package/libs/android/arm64-v8a/libskia.a +0 -0
  339. package/libs/android/arm64-v8a/libskottie.a +0 -0
  340. package/libs/android/arm64-v8a/libskparagraph.a +0 -0
  341. package/libs/android/arm64-v8a/libsksg.a +0 -0
  342. package/libs/android/arm64-v8a/libskshaper.a +0 -0
  343. package/libs/android/arm64-v8a/libskunicode.a +0 -0
  344. package/libs/android/arm64-v8a/libsvg.a +0 -0
  345. package/libs/android/armeabi-v7a/libskia.a +0 -0
  346. package/libs/android/armeabi-v7a/libskottie.a +0 -0
  347. package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
  348. package/libs/android/armeabi-v7a/libsksg.a +0 -0
  349. package/libs/android/armeabi-v7a/libskshaper.a +0 -0
  350. package/libs/android/armeabi-v7a/libskunicode.a +0 -0
  351. package/libs/android/armeabi-v7a/libsvg.a +0 -0
  352. package/libs/android/x86/libskia.a +0 -0
  353. package/libs/android/x86/libskottie.a +0 -0
  354. package/libs/android/x86/libskparagraph.a +0 -0
  355. package/libs/android/x86/libsksg.a +0 -0
  356. package/libs/android/x86/libskshaper.a +0 -0
  357. package/libs/android/x86/libskunicode.a +0 -0
  358. package/libs/android/x86/libsvg.a +0 -0
  359. package/libs/android/x86_64/libskia.a +0 -0
  360. package/libs/android/x86_64/libskottie.a +0 -0
  361. package/libs/android/x86_64/libskparagraph.a +0 -0
  362. package/libs/android/x86_64/libsksg.a +0 -0
  363. package/libs/android/x86_64/libskshaper.a +0 -0
  364. package/libs/android/x86_64/libskunicode.a +0 -0
  365. package/libs/android/x86_64/libsvg.a +0 -0
  366. package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
  367. package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
  368. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
  369. package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
  370. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
  371. package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
  372. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
  373. package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
  374. package/libs/ios/libskshaper.xcframework/Info.plist +5 -5
  375. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
  376. package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
  377. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
  378. package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
  379. package/libs/ios/libsvg.xcframework/Info.plist +5 -5
  380. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
  381. package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
  382. package/package.json +1 -1
  383. package/src/dom/nodes/JsiSkDOM.ts +63 -56
  384. package/src/dom/nodes/drawings/AtlasNode.ts +24 -0
  385. package/src/dom/nodes/drawings/index.ts +1 -0
  386. package/src/dom/types/Drawings.ts +9 -0
  387. package/src/dom/types/NodeType.ts +1 -0
  388. package/src/dom/types/SkDOM.ts +2 -0
  389. package/src/external/reanimated/buffers.ts +53 -0
  390. package/src/external/reanimated/index.ts +2 -0
  391. package/src/external/reanimated/interpolators.ts +15 -2
  392. package/src/external/reanimated/moduleWrapper.ts +1 -0
  393. package/src/external/reanimated/textures.tsx +38 -0
  394. package/src/external/reanimated/useAnimatedImageValue.ts +15 -4
  395. package/src/headless/index.ts +1 -1
  396. package/src/mock/index.ts +8 -0
  397. package/src/renderer/Canvas.tsx +1 -1
  398. package/src/renderer/Container.tsx +3 -2
  399. package/src/renderer/HostComponents.ts +6 -1
  400. package/src/renderer/Offscreen.tsx +24 -11
  401. package/src/renderer/Reconciler.tsx +5 -2
  402. package/src/renderer/components/shapes/Atlas.tsx +8 -0
  403. package/src/renderer/components/shapes/index.ts +1 -0
  404. package/src/skia/core/AnimatedImage.ts +3 -2
  405. package/src/skia/core/Data.ts +8 -4
  406. package/src/skia/types/Canvas.ts +32 -1
  407. package/src/skia/types/Image/Image.ts +10 -0
  408. package/src/skia/types/Matrix4.ts +2 -2
  409. package/src/skia/types/RSXform.ts +7 -1
  410. package/src/skia/types/Rect.ts +6 -0
  411. package/src/skia/types/Shader/Shader.ts +6 -1
  412. package/src/skia/types/Skia.ts +10 -2
  413. package/src/skia/web/JsiSkCanvas.ts +60 -23
  414. package/src/skia/web/JsiSkRSXform.ts +28 -4
  415. package/src/skia/web/JsiSkRect.ts +12 -2
  416. package/src/skia/web/JsiSkTextBlobFactory.ts +5 -5
  417. package/src/skia/web/JsiSkia.ts +15 -0
  418. package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -142
  419. package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +0 -107
  420. package/cpp/skia/include/private/gpu/ganesh/GrMockTypesPriv.h +0 -32
  421. package/cpp/skia/include/private/gpu/ganesh/GrMtlTypesPriv.h +0 -83
  422. package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +0 -47
  423. package/cpp/skia/include/private/gpu/vk/VulkanTypesPriv.h +0 -57
  424. package/cpp/skia/include/utils/SkBase64.h +0 -53
  425. package/cpp/skia/modules/skcms/skcms_internal.h +0 -56
@@ -500,11 +500,6 @@ enum class GrBackendObjectOwnership : bool {
500
500
  kOwned = true
501
501
  };
502
502
 
503
- /*
504
- * Object for CPU-GPU synchronization
505
- */
506
- typedef uint64_t GrFence;
507
-
508
503
  /**
509
504
  * Used to include or exclude specific GPU path renderers for testing purposes.
510
505
  */
@@ -546,6 +541,7 @@ enum class GrColorType {
546
541
  kUnknown,
547
542
  kAlpha_8,
548
543
  kBGR_565,
544
+ kRGB_565,
549
545
  kABGR_4444, // This name differs from SkColorType. kARGB_4444_SkColorType is misnamed.
550
546
  kRGBA_8888,
551
547
  kRGBA_8888_SRGB,
@@ -595,6 +591,7 @@ static constexpr SkColorType GrColorTypeToSkColorType(GrColorType ct) {
595
591
  case GrColorType::kUnknown: return kUnknown_SkColorType;
596
592
  case GrColorType::kAlpha_8: return kAlpha_8_SkColorType;
597
593
  case GrColorType::kBGR_565: return kRGB_565_SkColorType;
594
+ case GrColorType::kRGB_565: return kUnknown_SkColorType;
598
595
  case GrColorType::kABGR_4444: return kARGB_4444_SkColorType;
599
596
  case GrColorType::kRGBA_8888: return kRGBA_8888_SkColorType;
600
597
  case GrColorType::kRGBA_8888_SRGB: return kSRGBA_8888_SkColorType;
@@ -665,6 +662,7 @@ static constexpr uint32_t GrColorTypeChannelFlags(GrColorType ct) {
665
662
  case GrColorType::kUnknown: return 0;
666
663
  case GrColorType::kAlpha_8: return kAlpha_SkColorChannelFlag;
667
664
  case GrColorType::kBGR_565: return kRGB_SkColorChannelFlags;
665
+ case GrColorType::kRGB_565: return kRGB_SkColorChannelFlags;
668
666
  case GrColorType::kABGR_4444: return kRGBA_SkColorChannelFlags;
669
667
  case GrColorType::kRGBA_8888: return kRGBA_SkColorChannelFlags;
670
668
  case GrColorType::kRGBA_8888_SRGB: return kRGBA_SkColorChannelFlags;
@@ -800,6 +798,8 @@ static constexpr GrColorFormatDesc GrGetColorTypeDesc(GrColorType ct) {
800
798
  return GrColorFormatDesc::MakeAlpha(8, GrColorTypeEncoding::kUnorm);
801
799
  case GrColorType::kBGR_565:
802
800
  return GrColorFormatDesc::MakeRGB(5, 6, 5, GrColorTypeEncoding::kUnorm);
801
+ case GrColorType::kRGB_565:
802
+ return GrColorFormatDesc::MakeRGB(5, 6, 5, GrColorTypeEncoding::kUnorm);
803
803
  case GrColorType::kABGR_4444:
804
804
  return GrColorFormatDesc::MakeRGBA(4, GrColorTypeEncoding::kUnorm);
805
805
  case GrColorType::kRGBA_8888:
@@ -897,6 +897,7 @@ static constexpr size_t GrColorTypeBytesPerPixel(GrColorType ct) {
897
897
  case GrColorType::kUnknown: return 0;
898
898
  case GrColorType::kAlpha_8: return 1;
899
899
  case GrColorType::kBGR_565: return 2;
900
+ case GrColorType::kRGB_565: return 2;
900
901
  case GrColorType::kABGR_4444: return 2;
901
902
  case GrColorType::kRGBA_8888: return 4;
902
903
  case GrColorType::kRGBA_8888_SRGB: return 4;
@@ -970,7 +971,8 @@ static constexpr const char* GrColorTypeToStr(GrColorType ct) {
970
971
  switch (ct) {
971
972
  case GrColorType::kUnknown: return "kUnknown";
972
973
  case GrColorType::kAlpha_8: return "kAlpha_8";
973
- case GrColorType::kBGR_565: return "kRGB_565";
974
+ case GrColorType::kBGR_565: return "kBGR_565";
975
+ case GrColorType::kRGB_565: return "kRGB_565";
974
976
  case GrColorType::kABGR_4444: return "kABGR_4444";
975
977
  case GrColorType::kRGBA_8888: return "kRGBA_8888";
976
978
  case GrColorType::kRGBA_8888_SRGB: return "kRGBA_8888_SRGB";
@@ -10,6 +10,33 @@
10
10
 
11
11
  namespace skgpu::graphite {
12
12
 
13
+ /**
14
+ * Used to include or exclude a specific path rendering technique for testing purposes.
15
+ */
16
+ enum class PathRendererStrategy {
17
+ /**
18
+ * Graphite selects the best path rendering technique for each shape. This is the default
19
+ * behavior.
20
+ */
21
+ kDefault,
22
+
23
+ /**
24
+ * All paths are rasterized into coverage masks using a GPU compute approach. This method
25
+ * always uses analytic anti-aliasing.
26
+ */
27
+ kComputeAnalyticAA,
28
+
29
+ /**
30
+ * All paths are rasterized into coverage masks using the CPU raster backend.
31
+ */
32
+ kRasterAA,
33
+
34
+ /**
35
+ * Render paths using tessellation and stencil-and-cover.
36
+ */
37
+ kTessellation,
38
+ };
39
+
13
40
  /**
14
41
  * Private options that are only meant for testing within Skia's tools.
15
42
  */
@@ -27,6 +54,8 @@ struct ContextOptionsPriv {
27
54
  * that created it. Used by readPixels() and other methods that normally require a Context.
28
55
  */
29
56
  bool fStoreContextRefInRecorder = false;
57
+
58
+ PathRendererStrategy fPathRendererStrategy = PathRendererStrategy::kDefault;
30
59
  };
31
60
 
32
61
  } // namespace skgpu::graphite
@@ -16,30 +16,33 @@ namespace skgpu::graphite {
16
16
  struct DawnTextureSpec {
17
17
  DawnTextureSpec()
18
18
  : fFormat(wgpu::TextureFormat::Undefined)
19
- , fUsage(wgpu::TextureUsage::None) {}
19
+ , fUsage(wgpu::TextureUsage::None)
20
+ , fAspect(wgpu::TextureAspect::All) {}
20
21
  DawnTextureSpec(const DawnTextureInfo& info)
21
- : fFormat(info.fFormat)
22
- , fUsage(info.fUsage) {}
22
+ : fFormat(info.fFormat), fUsage(info.fUsage), fAspect(info.fAspect) {}
23
23
 
24
24
  bool operator==(const DawnTextureSpec& that) const {
25
- return fUsage == that.fUsage &&
26
- fFormat == that.fFormat;
25
+ return fUsage == that.fUsage && fFormat == that.fFormat && fAspect == that.fAspect;
27
26
  }
28
27
 
29
28
  bool isCompatible(const DawnTextureSpec& that) const {
30
29
  // The usages may match or the usage passed in may be a superset of the usage stored within.
31
- return fFormat == that.fFormat &&
32
- (fUsage & that.fUsage) == fUsage;
30
+ // The aspect should either match the plane aspect or should be All.
31
+ return fFormat == that.fFormat && (fUsage & that.fUsage) == fUsage &&
32
+ (fAspect == that.fAspect || fAspect == wgpu::TextureAspect::All);
33
33
  }
34
34
 
35
35
  SkString toString() const {
36
- return SkStringPrintf("format=0x%08X,usage=0x%08X",
36
+ return SkStringPrintf("format=0x%08X,usage=0x%08X,aspect=0x%08X",
37
37
  static_cast<unsigned int>(fFormat),
38
- static_cast<unsigned int>(fUsage));
38
+ static_cast<unsigned int>(fUsage),
39
+ static_cast<unsigned int>(fAspect));
39
40
  }
40
41
 
42
+ // `fFormat` is always single plane format or plane view format for a multiplanar wgpu::Texture.
41
43
  wgpu::TextureFormat fFormat;
42
44
  wgpu::TextureUsage fUsage;
45
+ wgpu::TextureAspect fAspect;
43
46
  };
44
47
 
45
48
  DawnTextureInfo DawnTextureSpecToTextureInfo(const DawnTextureSpec& dawnSpec,
@@ -10,6 +10,7 @@
10
10
 
11
11
  #include "include/core/SkString.h"
12
12
  #include "include/gpu/graphite/vk/VulkanGraphiteTypes.h"
13
+ #include "include/private/gpu/vk/SkiaVulkan.h"
13
14
 
14
15
  namespace skgpu::graphite {
15
16
 
@@ -20,14 +21,16 @@ struct VulkanTextureSpec {
20
21
  , fImageTiling(VK_IMAGE_TILING_OPTIMAL)
21
22
  , fImageUsageFlags(0)
22
23
  , fSharingMode(VK_SHARING_MODE_EXCLUSIVE)
23
- , fAspectMask(VK_IMAGE_ASPECT_COLOR_BIT) {}
24
+ , fAspectMask(VK_IMAGE_ASPECT_COLOR_BIT)
25
+ , fYcbcrConversionInfo({}) {}
24
26
  VulkanTextureSpec(const VulkanTextureInfo& info)
25
27
  : fFlags(info.fFlags)
26
28
  , fFormat(info.fFormat)
27
29
  , fImageTiling(info.fImageTiling)
28
30
  , fImageUsageFlags(info.fImageUsageFlags)
29
31
  , fSharingMode(info.fSharingMode)
30
- , fAspectMask(info.fAspectMask) {}
32
+ , fAspectMask(info.fAspectMask)
33
+ , fYcbcrConversionInfo(info.fYcbcrConversionInfo) {}
31
34
 
32
35
  bool operator==(const VulkanTextureSpec& that) const {
33
36
  return fFlags == that.fFlags &&
@@ -35,7 +38,8 @@ struct VulkanTextureSpec {
35
38
  fImageTiling == that.fImageTiling &&
36
39
  fImageUsageFlags == that.fImageUsageFlags &&
37
40
  fSharingMode == that.fSharingMode &&
38
- fAspectMask == that.fAspectMask;
41
+ fAspectMask == that.fAspectMask &&
42
+ fYcbcrConversionInfo == that.fYcbcrConversionInfo;
39
43
  }
40
44
 
41
45
  bool isCompatible(const VulkanTextureSpec& that) const {
@@ -45,7 +49,8 @@ struct VulkanTextureSpec {
45
49
  fImageTiling == that.fImageTiling &&
46
50
  fSharingMode == that.fSharingMode &&
47
51
  fAspectMask == that.fAspectMask &&
48
- (fImageUsageFlags & that.fImageUsageFlags) == fImageUsageFlags;
52
+ (fImageUsageFlags & that.fImageUsageFlags) == fImageUsageFlags &&
53
+ fYcbcrConversionInfo == that.fYcbcrConversionInfo;
49
54
  }
50
55
 
51
56
  SkString toString() const {
@@ -60,13 +65,13 @@ struct VulkanTextureSpec {
60
65
  fAspectMask);
61
66
  }
62
67
 
63
- VkImageCreateFlags fFlags;
64
- VkFormat fFormat;
65
- VkImageTiling fImageTiling;
66
- VkImageUsageFlags fImageUsageFlags;
67
- VkSharingMode fSharingMode;
68
- VkImageAspectFlags fAspectMask;
69
- // GrVkYcbcrConversionInfo fYcbcrConversionInfo;
68
+ VkImageCreateFlags fFlags;
69
+ VkFormat fFormat;
70
+ VkImageTiling fImageTiling;
71
+ VkImageUsageFlags fImageUsageFlags;
72
+ VkSharingMode fSharingMode;
73
+ VkImageAspectFlags fAspectMask;
74
+ VulkanYcbcrConversionInfo fYcbcrConversionInfo;
70
75
  };
71
76
 
72
77
  VulkanTextureInfo VulkanTextureSpecToTextureInfo(const VulkanTextureSpec& vkSpec,
@@ -2,7 +2,7 @@
2
2
  // File: vk_platform.h
3
3
  //
4
4
  /*
5
- ** Copyright 2014-2021 The Khronos Group Inc.
5
+ ** Copyright 2014-2023 The Khronos Group Inc.
6
6
  **
7
7
  ** SPDX-License-Identifier: Apache-2.0
8
8
  */
@@ -42,7 +42,7 @@ extern "C"
42
42
  #define VKAPI_CALL __stdcall
43
43
  #define VKAPI_PTR VKAPI_CALL
44
44
  #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
45
- #error "Vulkan isn't supported for the 'armeabi' NDK ABI"
45
+ #error "Vulkan is not supported for the 'armeabi' NDK ABI"
46
46
  #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
47
47
  // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
48
48
  // calling convention, i.e. float parameters are passed in registers. This
@@ -0,0 +1,312 @@
1
+ #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
2
+ #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
3
+
4
+ /*
5
+ ** Copyright 2015-2023 The Khronos Group Inc.
6
+ **
7
+ ** SPDX-License-Identifier: Apache-2.0
8
+ */
9
+
10
+ /*
11
+ ** This header is generated from the Khronos Vulkan XML API Registry.
12
+ **
13
+ */
14
+
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+
21
+
22
+ // vulkan_video_codec_h264std is a preprocessor guard. Do not pass it to API calls.
23
+ #define vulkan_video_codec_h264std 1
24
+ #include "vulkan_video_codecs_common.h"
25
+ #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
26
+ #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
27
+ #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
28
+ #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6
29
+ #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
30
+ #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
31
+ #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
32
+ #define STD_VIDEO_H264_NO_REFERENCE_PICTURE 0xFF
33
+
34
+ typedef enum StdVideoH264ChromaFormatIdc {
35
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
36
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
37
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
38
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
39
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
40
+ STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
41
+ } StdVideoH264ChromaFormatIdc;
42
+
43
+ typedef enum StdVideoH264ProfileIdc {
44
+ STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
45
+ STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
46
+ STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
47
+ STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
48
+ STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
49
+ STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
50
+ } StdVideoH264ProfileIdc;
51
+
52
+ typedef enum StdVideoH264LevelIdc {
53
+ STD_VIDEO_H264_LEVEL_IDC_1_0 = 0,
54
+ STD_VIDEO_H264_LEVEL_IDC_1_1 = 1,
55
+ STD_VIDEO_H264_LEVEL_IDC_1_2 = 2,
56
+ STD_VIDEO_H264_LEVEL_IDC_1_3 = 3,
57
+ STD_VIDEO_H264_LEVEL_IDC_2_0 = 4,
58
+ STD_VIDEO_H264_LEVEL_IDC_2_1 = 5,
59
+ STD_VIDEO_H264_LEVEL_IDC_2_2 = 6,
60
+ STD_VIDEO_H264_LEVEL_IDC_3_0 = 7,
61
+ STD_VIDEO_H264_LEVEL_IDC_3_1 = 8,
62
+ STD_VIDEO_H264_LEVEL_IDC_3_2 = 9,
63
+ STD_VIDEO_H264_LEVEL_IDC_4_0 = 10,
64
+ STD_VIDEO_H264_LEVEL_IDC_4_1 = 11,
65
+ STD_VIDEO_H264_LEVEL_IDC_4_2 = 12,
66
+ STD_VIDEO_H264_LEVEL_IDC_5_0 = 13,
67
+ STD_VIDEO_H264_LEVEL_IDC_5_1 = 14,
68
+ STD_VIDEO_H264_LEVEL_IDC_5_2 = 15,
69
+ STD_VIDEO_H264_LEVEL_IDC_6_0 = 16,
70
+ STD_VIDEO_H264_LEVEL_IDC_6_1 = 17,
71
+ STD_VIDEO_H264_LEVEL_IDC_6_2 = 18,
72
+ STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF,
73
+ STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
74
+ } StdVideoH264LevelIdc;
75
+
76
+ typedef enum StdVideoH264PocType {
77
+ STD_VIDEO_H264_POC_TYPE_0 = 0,
78
+ STD_VIDEO_H264_POC_TYPE_1 = 1,
79
+ STD_VIDEO_H264_POC_TYPE_2 = 2,
80
+ STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
81
+ STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF
82
+ } StdVideoH264PocType;
83
+
84
+ typedef enum StdVideoH264AspectRatioIdc {
85
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
86
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1,
87
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2,
88
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3,
89
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4,
90
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5,
91
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6,
92
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7,
93
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8,
94
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9,
95
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10,
96
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11,
97
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12,
98
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13,
99
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14,
100
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15,
101
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
102
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
103
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
104
+ STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
105
+ } StdVideoH264AspectRatioIdc;
106
+
107
+ typedef enum StdVideoH264WeightedBipredIdc {
108
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
109
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
110
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
111
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
112
+ STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF
113
+ } StdVideoH264WeightedBipredIdc;
114
+
115
+ typedef enum StdVideoH264ModificationOfPicNumsIdc {
116
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0,
117
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
118
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
119
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
120
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
121
+ STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF
122
+ } StdVideoH264ModificationOfPicNumsIdc;
123
+
124
+ typedef enum StdVideoH264MemMgmtControlOp {
125
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0,
126
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1,
127
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2,
128
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3,
129
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
130
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
131
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
132
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
133
+ STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF
134
+ } StdVideoH264MemMgmtControlOp;
135
+
136
+ typedef enum StdVideoH264CabacInitIdc {
137
+ STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
138
+ STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
139
+ STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
140
+ STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
141
+ STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF
142
+ } StdVideoH264CabacInitIdc;
143
+
144
+ typedef enum StdVideoH264DisableDeblockingFilterIdc {
145
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
146
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
147
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
148
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
149
+ STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF
150
+ } StdVideoH264DisableDeblockingFilterIdc;
151
+
152
+ typedef enum StdVideoH264SliceType {
153
+ STD_VIDEO_H264_SLICE_TYPE_P = 0,
154
+ STD_VIDEO_H264_SLICE_TYPE_B = 1,
155
+ STD_VIDEO_H264_SLICE_TYPE_I = 2,
156
+ STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
157
+ STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
158
+ } StdVideoH264SliceType;
159
+
160
+ typedef enum StdVideoH264PictureType {
161
+ STD_VIDEO_H264_PICTURE_TYPE_P = 0,
162
+ STD_VIDEO_H264_PICTURE_TYPE_B = 1,
163
+ STD_VIDEO_H264_PICTURE_TYPE_I = 2,
164
+ STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
165
+ STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
166
+ STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
167
+ } StdVideoH264PictureType;
168
+
169
+ typedef enum StdVideoH264NonVclNaluType {
170
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0,
171
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1,
172
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2,
173
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3,
174
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
175
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
176
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
177
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
178
+ STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF
179
+ } StdVideoH264NonVclNaluType;
180
+ typedef struct StdVideoH264SpsVuiFlags {
181
+ uint32_t aspect_ratio_info_present_flag : 1;
182
+ uint32_t overscan_info_present_flag : 1;
183
+ uint32_t overscan_appropriate_flag : 1;
184
+ uint32_t video_signal_type_present_flag : 1;
185
+ uint32_t video_full_range_flag : 1;
186
+ uint32_t color_description_present_flag : 1;
187
+ uint32_t chroma_loc_info_present_flag : 1;
188
+ uint32_t timing_info_present_flag : 1;
189
+ uint32_t fixed_frame_rate_flag : 1;
190
+ uint32_t bitstream_restriction_flag : 1;
191
+ uint32_t nal_hrd_parameters_present_flag : 1;
192
+ uint32_t vcl_hrd_parameters_present_flag : 1;
193
+ } StdVideoH264SpsVuiFlags;
194
+
195
+ typedef struct StdVideoH264HrdParameters {
196
+ uint8_t cpb_cnt_minus1;
197
+ uint8_t bit_rate_scale;
198
+ uint8_t cpb_size_scale;
199
+ uint8_t reserved1;
200
+ uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
201
+ uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
202
+ uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
203
+ uint32_t initial_cpb_removal_delay_length_minus1;
204
+ uint32_t cpb_removal_delay_length_minus1;
205
+ uint32_t dpb_output_delay_length_minus1;
206
+ uint32_t time_offset_length;
207
+ } StdVideoH264HrdParameters;
208
+
209
+ typedef struct StdVideoH264SequenceParameterSetVui {
210
+ StdVideoH264SpsVuiFlags flags;
211
+ StdVideoH264AspectRatioIdc aspect_ratio_idc;
212
+ uint16_t sar_width;
213
+ uint16_t sar_height;
214
+ uint8_t video_format;
215
+ uint8_t colour_primaries;
216
+ uint8_t transfer_characteristics;
217
+ uint8_t matrix_coefficients;
218
+ uint32_t num_units_in_tick;
219
+ uint32_t time_scale;
220
+ uint8_t max_num_reorder_frames;
221
+ uint8_t max_dec_frame_buffering;
222
+ uint8_t chroma_sample_loc_type_top_field;
223
+ uint8_t chroma_sample_loc_type_bottom_field;
224
+ uint32_t reserved1;
225
+ const StdVideoH264HrdParameters* pHrdParameters;
226
+ } StdVideoH264SequenceParameterSetVui;
227
+
228
+ typedef struct StdVideoH264SpsFlags {
229
+ uint32_t constraint_set0_flag : 1;
230
+ uint32_t constraint_set1_flag : 1;
231
+ uint32_t constraint_set2_flag : 1;
232
+ uint32_t constraint_set3_flag : 1;
233
+ uint32_t constraint_set4_flag : 1;
234
+ uint32_t constraint_set5_flag : 1;
235
+ uint32_t direct_8x8_inference_flag : 1;
236
+ uint32_t mb_adaptive_frame_field_flag : 1;
237
+ uint32_t frame_mbs_only_flag : 1;
238
+ uint32_t delta_pic_order_always_zero_flag : 1;
239
+ uint32_t separate_colour_plane_flag : 1;
240
+ uint32_t gaps_in_frame_num_value_allowed_flag : 1;
241
+ uint32_t qpprime_y_zero_transform_bypass_flag : 1;
242
+ uint32_t frame_cropping_flag : 1;
243
+ uint32_t seq_scaling_matrix_present_flag : 1;
244
+ uint32_t vui_parameters_present_flag : 1;
245
+ } StdVideoH264SpsFlags;
246
+
247
+ typedef struct StdVideoH264ScalingLists {
248
+ uint16_t scaling_list_present_mask;
249
+ uint16_t use_default_scaling_matrix_mask;
250
+ uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
251
+ uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
252
+ } StdVideoH264ScalingLists;
253
+
254
+ typedef struct StdVideoH264SequenceParameterSet {
255
+ StdVideoH264SpsFlags flags;
256
+ StdVideoH264ProfileIdc profile_idc;
257
+ StdVideoH264LevelIdc level_idc;
258
+ StdVideoH264ChromaFormatIdc chroma_format_idc;
259
+ uint8_t seq_parameter_set_id;
260
+ uint8_t bit_depth_luma_minus8;
261
+ uint8_t bit_depth_chroma_minus8;
262
+ uint8_t log2_max_frame_num_minus4;
263
+ StdVideoH264PocType pic_order_cnt_type;
264
+ int32_t offset_for_non_ref_pic;
265
+ int32_t offset_for_top_to_bottom_field;
266
+ uint8_t log2_max_pic_order_cnt_lsb_minus4;
267
+ uint8_t num_ref_frames_in_pic_order_cnt_cycle;
268
+ uint8_t max_num_ref_frames;
269
+ uint8_t reserved1;
270
+ uint32_t pic_width_in_mbs_minus1;
271
+ uint32_t pic_height_in_map_units_minus1;
272
+ uint32_t frame_crop_left_offset;
273
+ uint32_t frame_crop_right_offset;
274
+ uint32_t frame_crop_top_offset;
275
+ uint32_t frame_crop_bottom_offset;
276
+ uint32_t reserved2;
277
+ const int32_t* pOffsetForRefFrame;
278
+ const StdVideoH264ScalingLists* pScalingLists;
279
+ const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
280
+ } StdVideoH264SequenceParameterSet;
281
+
282
+ typedef struct StdVideoH264PpsFlags {
283
+ uint32_t transform_8x8_mode_flag : 1;
284
+ uint32_t redundant_pic_cnt_present_flag : 1;
285
+ uint32_t constrained_intra_pred_flag : 1;
286
+ uint32_t deblocking_filter_control_present_flag : 1;
287
+ uint32_t weighted_pred_flag : 1;
288
+ uint32_t bottom_field_pic_order_in_frame_present_flag : 1;
289
+ uint32_t entropy_coding_mode_flag : 1;
290
+ uint32_t pic_scaling_matrix_present_flag : 1;
291
+ } StdVideoH264PpsFlags;
292
+
293
+ typedef struct StdVideoH264PictureParameterSet {
294
+ StdVideoH264PpsFlags flags;
295
+ uint8_t seq_parameter_set_id;
296
+ uint8_t pic_parameter_set_id;
297
+ uint8_t num_ref_idx_l0_default_active_minus1;
298
+ uint8_t num_ref_idx_l1_default_active_minus1;
299
+ StdVideoH264WeightedBipredIdc weighted_bipred_idc;
300
+ int8_t pic_init_qp_minus26;
301
+ int8_t pic_init_qs_minus26;
302
+ int8_t chroma_qp_index_offset;
303
+ int8_t second_chroma_qp_index_offset;
304
+ const StdVideoH264ScalingLists* pScalingLists;
305
+ } StdVideoH264PictureParameterSet;
306
+
307
+
308
+ #ifdef __cplusplus
309
+ }
310
+ #endif
311
+
312
+ #endif
@@ -0,0 +1,77 @@
1
+ #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
2
+ #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
3
+
4
+ /*
5
+ ** Copyright 2015-2023 The Khronos Group Inc.
6
+ **
7
+ ** SPDX-License-Identifier: Apache-2.0
8
+ */
9
+
10
+ /*
11
+ ** This header is generated from the Khronos Vulkan XML API Registry.
12
+ **
13
+ */
14
+
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+
21
+
22
+ // vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls.
23
+ #define vulkan_video_codec_h264std_decode 1
24
+ #include "vulkan_video_codec_h264std.h"
25
+
26
+ #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27
+
28
+ #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
29
+ #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
30
+ #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
31
+
32
+ typedef enum StdVideoDecodeH264FieldOrderCount {
33
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
34
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
35
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
36
+ STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
37
+ } StdVideoDecodeH264FieldOrderCount;
38
+ typedef struct StdVideoDecodeH264PictureInfoFlags {
39
+ uint32_t field_pic_flag : 1;
40
+ uint32_t is_intra : 1;
41
+ uint32_t IdrPicFlag : 1;
42
+ uint32_t bottom_field_flag : 1;
43
+ uint32_t is_reference : 1;
44
+ uint32_t complementary_field_pair : 1;
45
+ } StdVideoDecodeH264PictureInfoFlags;
46
+
47
+ typedef struct StdVideoDecodeH264PictureInfo {
48
+ StdVideoDecodeH264PictureInfoFlags flags;
49
+ uint8_t seq_parameter_set_id;
50
+ uint8_t pic_parameter_set_id;
51
+ uint8_t reserved1;
52
+ uint8_t reserved2;
53
+ uint16_t frame_num;
54
+ uint16_t idr_pic_id;
55
+ int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
56
+ } StdVideoDecodeH264PictureInfo;
57
+
58
+ typedef struct StdVideoDecodeH264ReferenceInfoFlags {
59
+ uint32_t top_field_flag : 1;
60
+ uint32_t bottom_field_flag : 1;
61
+ uint32_t used_for_long_term_reference : 1;
62
+ uint32_t is_non_existing : 1;
63
+ } StdVideoDecodeH264ReferenceInfoFlags;
64
+
65
+ typedef struct StdVideoDecodeH264ReferenceInfo {
66
+ StdVideoDecodeH264ReferenceInfoFlags flags;
67
+ uint16_t FrameNum;
68
+ uint16_t reserved;
69
+ int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
70
+ } StdVideoDecodeH264ReferenceInfo;
71
+
72
+
73
+ #ifdef __cplusplus
74
+ }
75
+ #endif
76
+
77
+ #endif