camera.ui3 0.0.30-alpha.0 → 0.0.30-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/interface/@camera.ui.DuwfK59t.0.0.30-alpha.3.js +3 -0
  2. package/dist/interface/@tanstack.DBBaUHTS.0.0.30-alpha.3.js +1 -0
  3. package/dist/interface/{@vee-validate.0Cv0x9aN.0.0.30-alpha.0.js → @vee-validate.BRR3_tWq.0.0.30-alpha.3.js} +1 -1
  4. package/dist/interface/@vue.BeJw0wEm.0.0.30-alpha.3.js +17 -0
  5. package/dist/interface/{@vueform.Du_niMHk.0.0.30-alpha.0.js → @vueform.Dcx-RQUw.0.0.30-alpha.3.js} +1 -1
  6. package/dist/interface/{@vueuse.Dv9U068T.0.0.30-alpha.0.js → @vueuse.Sz46sDez.0.0.30-alpha.3.js} +1 -1
  7. package/dist/interface/Account.hmetZWTc.0.0.30-alpha.3.js +1 -0
  8. package/dist/interface/Adminpanel.DxC80W0K.0.0.30-alpha.3.js +2 -0
  9. package/dist/interface/Appearance.BHZdWQlZ.0.0.30-alpha.3.js +1 -0
  10. package/dist/interface/Backup.petPSq60.0.0.30-alpha.3.js +1 -0
  11. package/dist/interface/Camera.DS7gbgwV.0.0.30-alpha.3.js +1 -0
  12. package/dist/interface/Cameras.eqceAkdR.0.0.30-alpha.3.js +1 -0
  13. package/dist/interface/Camview.DumV6nmv.0.0.30-alpha.3.js +1 -0
  14. package/dist/interface/Config.DQ5vyHcx.0.0.30-alpha.3.js +1 -0
  15. package/dist/interface/Console.CWp-LL5w.0.0.30-alpha.3.js +4 -0
  16. package/dist/interface/FirstSteps.DR2B1Gmx.0.0.30-alpha.3.js +1 -0
  17. package/dist/interface/{NewCamera.Kn9biZIb.0.0.30-alpha.0.js → NewCamera.CpENkWIP.0.0.30-alpha.3.js} +2 -2
  18. package/dist/interface/Plugin.KK2gWYUL.0.0.30-alpha.3.js +1 -0
  19. package/dist/interface/Plugins.Dy1rL-Pc.0.0.30-alpha.3.js +1 -0
  20. package/dist/interface/Recordings.Bny11D38.0.0.30-alpha.3.js +1 -0
  21. package/dist/interface/Recordings.IdGxswmI.0.0.30-alpha.3.js +1 -0
  22. package/dist/interface/Settings.D6l7BlOF.0.0.30-alpha.3.js +1 -0
  23. package/dist/interface/System.FIkCpF0A.0.0.30-alpha.3.js +4 -0
  24. package/dist/interface/User.By9sAd8k.0.0.30-alpha.3.js +1 -0
  25. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.C7ZcC7dX.0.0.30-alpha.3.js +2 -0
  26. package/dist/interface/{VConsole.BT0UxZb1.0.0.30-alpha.0.js → VConsole.BG4nEIk8.0.0.30-alpha.3.js} +1 -1
  27. package/dist/interface/VPlayer.CZqXCM-i.0.0.30-alpha.3.js +1 -0
  28. package/dist/interface/{VPluginCard.Bz3GmzAE.0.0.30-alpha.0.js → VPluginCard.B_M3puzM.0.0.30-alpha.3.js} +2 -2
  29. package/dist/interface/{ace-builds.SRW0xGs1.0.0.30-alpha.0.js → ace-builds.D4S-MJ6b.0.0.30-alpha.3.js} +1 -1
  30. package/dist/interface/{apexcharts.BV8prH5x.0.0.30-alpha.0.js → apexcharts.u0duws01.0.0.30-alpha.3.js} +1 -1
  31. package/dist/interface/{dnd-core.BdsXoke-.0.0.30-alpha.0.js → dnd-core.C4232Xyz.0.0.30-alpha.3.js} +1 -1
  32. package/dist/interface/{draggabilly.D9j4BYFu.0.0.30-alpha.0.js → draggabilly.Xgwn1bT3.0.0.30-alpha.3.js} +1 -1
  33. package/dist/interface/{engine.io-client.di4Pt8W8.0.0.30-alpha.0.js → engine.io-client.CUastNh3.0.0.30-alpha.3.js} +1 -1
  34. package/dist/interface/{ev-emitter.Dxl4QoSg.0.0.30-alpha.0.js → ev-emitter.BYRnnQXb.0.0.30-alpha.3.js} +1 -1
  35. package/dist/interface/{fast-deep-equal.BUna8KlC.0.0.30-alpha.0.js → fast-deep-equal.CqwdqDxW.0.0.30-alpha.3.js} +1 -1
  36. package/dist/interface/{highlight.js.CMosnU3p.0.0.30-alpha.0.js → highlight.js.sNLmnsuC.0.0.30-alpha.3.js} +1 -1
  37. package/dist/interface/index.html +34 -33
  38. package/dist/interface/{linkify-it.B9RFwlcp.0.0.30-alpha.0.js → linkify-it.8PrPWg7W.0.0.30-alpha.3.js} +1 -1
  39. package/dist/interface/main.gxLiydtV.0.0.30-alpha.3.js +2 -0
  40. package/dist/interface/{markdown-it.DAiultxC.0.0.30-alpha.0.js → markdown-it.Q4_2MGLy.0.0.30-alpha.3.js} +1 -1
  41. package/dist/interface/{nprogress.C2KbBHcZ.0.0.30-alpha.0.js → nprogress.DQYtKLt9.0.0.30-alpha.3.js} +1 -1
  42. package/dist/interface/{pinia.DRjp4GU7.0.0.30-alpha.0.js → pinia.DcgsdRJU.0.0.30-alpha.3.js} +2 -2
  43. package/dist/interface/{plugins.Ur_7V4x8.0.0.30-alpha.0.js → plugins.DZjXmoDp.0.0.30-alpha.3.js} +1 -1
  44. package/dist/interface/{qrcode.DrYVb5am.0.0.30-alpha.0.js → qrcode.XqSuoGPb.0.0.30-alpha.3.js} +1 -1
  45. package/dist/interface/{react-dnd-touch-backend.ByHGbrKq.0.0.30-alpha.0.js → react-dnd-touch-backend.VzlzWkdX.0.0.30-alpha.3.js} +1 -1
  46. package/dist/interface/{rxjs.Dl5P76vZ.0.0.30-alpha.0.js → rxjs.CXnJywSk.0.0.30-alpha.3.js} +1 -1
  47. package/dist/interface/{socket.io-client.Cf7ABgrO.0.0.30-alpha.0.js → socket.io-client.DiiooL5k.0.0.30-alpha.3.js} +1 -1
  48. package/dist/interface/{socket.io-parser.DHnwqfTj.0.0.30-alpha.0.js → socket.io-parser.Dsh2ZviN.0.0.30-alpha.3.js} +1 -1
  49. package/dist/interface/sw.js +1 -1
  50. package/dist/interface/{system.CRn9Cy3C.0.0.30-alpha.0.js → system.Bh4wNIkr.0.0.30-alpha.3.js} +1 -1
  51. package/dist/interface/{ui.C-XbEPHk.0.0.30-alpha.0.js → ui.B0YwbqBU.0.0.30-alpha.3.js} +1 -1
  52. package/dist/interface/{unidragger.zHlf1Df_.0.0.30-alpha.0.js → unidragger.DDL70rPA.0.0.30-alpha.3.js} +1 -1
  53. package/dist/interface/utils.mAKpSMLY.0.0.30-alpha.3.js +1 -0
  54. package/dist/interface/{v-calendar.CapJoEkJ.0.0.30-alpha.0.js → v-calendar.C8Yj7x1Q.0.0.30-alpha.3.js} +1 -1
  55. package/dist/interface/{vee-validate.DcgOEpak.0.0.30-alpha.0.js → vee-validate.BbcoErf-.0.0.30-alpha.3.js} +2 -2
  56. package/dist/interface/{vue-i18n.D2pqkMP3.0.0.30-alpha.0.js → vue-i18n.B7m8y9GA.0.0.30-alpha.3.js} +2 -2
  57. package/dist/interface/{vue-inline-svg.DorOTPIf.0.0.30-alpha.0.js → vue-inline-svg.DC2U7Qim.0.0.30-alpha.3.js} +1 -1
  58. package/dist/interface/{vue-router.BVs4qaVs.0.0.30-alpha.0.js → vue-router.B3QeItm5.0.0.30-alpha.3.js} +2 -2
  59. package/dist/interface/{vue3-apexcharts.CBV9x5vk.0.0.30-alpha.0.js → vue3-apexcharts.DVzl7xGy.0.0.30-alpha.3.js} +1 -1
  60. package/dist/interface/{vue3-dnd.CXMddGIZ.0.0.30-alpha.0.js → vue3-dnd.76cFMD9V.0.0.30-alpha.3.js} +1 -1
  61. package/dist/interface/{vue3-toastify.DE7YmDSX.0.0.30-alpha.0.js → vue3-toastify.B-AJ7WuP.0.0.30-alpha.3.js} +1 -1
  62. package/dist/interface/{vuetify.CYxxHEVN.0.0.30-alpha.0.js → vuetify.CYln2r6g.0.0.30-alpha.3.js} +1 -1
  63. package/dist/interface/zod.DnW1_kUe.0.0.30-alpha.3.js +1 -0
  64. package/dist/server/bin/cameraui.js +10 -7
  65. package/dist/server/bin/cameraui.js.map +1 -1
  66. package/dist/server/bin/fork.js +2 -2
  67. package/dist/server/bin/fork.js.map +1 -1
  68. package/dist/server/bin/installer/darwin.js +1 -1
  69. package/dist/server/bin/installer/darwin.js.map +1 -1
  70. package/dist/server/bin/installer/linux.js +1 -1
  71. package/dist/server/bin/installer/linux.js.map +1 -1
  72. package/dist/server/package.json +11 -15
  73. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  74. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  75. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  76. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  77. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  78. package/dist/server/src/api/controllers/plugins.controller.js +1 -2
  79. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/system.controller.js +1 -3
  81. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  82. package/dist/server/src/api/controllers/users.controller.js +2 -2
  83. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  84. package/dist/server/src/api/database/constants.d.ts +8 -0
  85. package/dist/server/src/api/database/constants.js +9 -0
  86. package/dist/server/src/api/database/constants.js.map +1 -0
  87. package/dist/server/src/api/database/index.d.ts +0 -8
  88. package/dist/server/src/api/database/index.js +14 -21
  89. package/dist/server/src/api/database/index.js.map +1 -1
  90. package/dist/server/src/api/database/migration.js +5 -4
  91. package/dist/server/src/api/database/migration.js.map +1 -1
  92. package/dist/server/src/api/database/types.d.ts +6 -6
  93. package/dist/server/src/api/go2rtc/api/application.js +1 -1
  94. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  95. package/dist/server/src/api/index.js.map +1 -1
  96. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  97. package/dist/server/src/api/schemas/cameras.schema.d.ts +71 -71
  98. package/dist/server/src/api/schemas/config.schema.d.ts +6 -6
  99. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +98 -98
  100. package/dist/server/src/api/schemas/users.schema.d.ts +116 -116
  101. package/dist/server/src/api/services/auth.service.js +1 -1
  102. package/dist/server/src/api/services/auth.service.js.map +1 -1
  103. package/dist/server/src/api/services/backup.service.js.map +1 -1
  104. package/dist/server/src/api/services/cameras.service.js +1 -1
  105. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  106. package/dist/server/src/api/services/system.service.js +1 -1
  107. package/dist/server/src/api/services/system.service.js.map +1 -1
  108. package/dist/server/src/api/services/users.service.js +1 -1
  109. package/dist/server/src/api/services/users.service.js.map +1 -1
  110. package/dist/server/src/api/types/index.d.ts +2 -2
  111. package/dist/server/src/api/types/index.js.map +1 -1
  112. package/dist/server/src/api/utils/cert.js.map +1 -1
  113. package/dist/server/src/api/websocket/index.js.map +1 -1
  114. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  115. package/dist/server/src/api/websocket/nsp/server.js +1 -1
  116. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  117. package/dist/server/src/api.d.ts +1 -7
  118. package/dist/server/src/api.js.map +1 -1
  119. package/dist/server/src/camera/controller.d.ts +4 -6
  120. package/dist/server/src/camera/controller.js +5 -8
  121. package/dist/server/src/camera/controller.js.map +1 -1
  122. package/dist/server/src/camera/types.d.ts +140 -13
  123. package/dist/server/src/camera/types.js.map +1 -1
  124. package/dist/server/src/decoder/index.js.map +1 -1
  125. package/dist/server/src/decoder/types.d.ts +1 -18
  126. package/dist/server/src/decoder/worker.d.ts +3 -2
  127. package/dist/server/src/decoder/worker.js +10 -22
  128. package/dist/server/src/decoder/worker.js.map +1 -1
  129. package/dist/server/src/go2rtc/index.js +2 -3
  130. package/dist/server/src/go2rtc/index.js.map +1 -1
  131. package/dist/server/src/main.js +3 -3
  132. package/dist/server/src/main.js.map +1 -1
  133. package/dist/server/src/nats/index.d.ts +3 -4
  134. package/dist/server/src/nats/index.js +1 -3
  135. package/dist/server/src/nats/index.js.map +1 -1
  136. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -2
  137. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -2
  138. package/dist/server/src/nats/proxy/coreManager.js +7 -0
  139. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  140. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -5
  141. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  142. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  143. package/dist/server/src/nats/server.js +2 -3
  144. package/dist/server/src/nats/server.js.map +1 -1
  145. package/dist/server/src/nats/types.d.ts +19 -32
  146. package/dist/server/src/nats/utils.d.ts +1 -1
  147. package/dist/server/src/nats/websocket.js.map +1 -1
  148. package/dist/server/src/plugins/index.js +11 -9
  149. package/dist/server/src/plugins/index.js.map +1 -1
  150. package/dist/server/src/plugins/interfaces/base.d.ts +1 -1
  151. package/dist/server/src/plugins/plugin.d.ts +1 -1
  152. package/dist/server/src/plugins/plugin.js +4 -4
  153. package/dist/server/src/plugins/plugin.js.map +1 -1
  154. package/dist/server/src/plugins/types.d.ts +36 -3
  155. package/dist/server/src/plugins/types.js.map +1 -1
  156. package/dist/server/src/plugins/worker.js +7 -16
  157. package/dist/server/src/plugins/worker.js.map +1 -1
  158. package/dist/server/src/services/config/constants.js +2 -2
  159. package/dist/server/src/services/config/constants.js.map +1 -1
  160. package/dist/server/src/services/config/index.d.ts +2 -0
  161. package/dist/server/src/services/config/index.js +10 -2
  162. package/dist/server/src/services/config/index.js.map +1 -1
  163. package/dist/server/src/services/logger/index.d.ts +4 -16
  164. package/dist/server/src/services/logger/index.js +4 -83
  165. package/dist/server/src/services/logger/index.js.map +1 -1
  166. package/dist/server/src/services/logger/types.d.ts +8 -0
  167. package/dist/server/src/services/logger/types.js +2 -0
  168. package/dist/server/src/services/logger/types.js.map +1 -0
  169. package/localdeps.txt +4 -0
  170. package/package.json +11 -15
  171. package/dist/interface/@tanstack.DYQ7Jj8U.0.0.30-alpha.0.js +0 -1
  172. package/dist/interface/@vue.CvjRlaU6.0.0.30-alpha.0.js +0 -17
  173. package/dist/interface/Account.Dm2FouAU.0.0.30-alpha.0.js +0 -1
  174. package/dist/interface/Adminpanel.B2Aiobnt.0.0.30-alpha.0.js +0 -2
  175. package/dist/interface/Appearance.EfH0tMdM.0.0.30-alpha.0.js +0 -1
  176. package/dist/interface/Backup.D8SRclhB.0.0.30-alpha.0.js +0 -1
  177. package/dist/interface/Camera.D-cOf4sS.0.0.30-alpha.0.js +0 -1
  178. package/dist/interface/Cameras.oolxbmXU.0.0.30-alpha.0.js +0 -1
  179. package/dist/interface/Camview.BHw8Pe3v.0.0.30-alpha.0.js +0 -1
  180. package/dist/interface/Config.DmPTI5iz.0.0.30-alpha.0.js +0 -1
  181. package/dist/interface/Console.Dq4khHFF.0.0.30-alpha.0.js +0 -4
  182. package/dist/interface/FirstSteps.Bo467abx.0.0.30-alpha.0.js +0 -1
  183. package/dist/interface/Plugin.BLTVcTt1.0.0.30-alpha.0.js +0 -1
  184. package/dist/interface/Plugins.Cp8mK__o.0.0.30-alpha.0.js +0 -1
  185. package/dist/interface/Recordings.B_JIFk_G.0.0.30-alpha.0.js +0 -1
  186. package/dist/interface/Recordings.gMbvwmk_.0.0.30-alpha.0.js +0 -1
  187. package/dist/interface/Settings.EhHJjGrl.0.0.30-alpha.0.js +0 -1
  188. package/dist/interface/System.VodoK0U6.0.0.30-alpha.0.js +0 -4
  189. package/dist/interface/User.DpcN7DEC.0.0.30-alpha.0.js +0 -1
  190. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.Br68bfQJ.0.0.30-alpha.0.js +0 -2
  191. package/dist/interface/VPlayer.DYua3Eh_.0.0.30-alpha.0.js +0 -1
  192. package/dist/interface/main.19pRAqPU.0.0.30-alpha.0.js +0 -4
  193. package/dist/interface/utils.BvINh1mj.0.0.30-alpha.0.js +0 -1
  194. package/dist/interface/zod.BaF2dDCd.0.0.30-alpha.0.js +0 -1
  195. package/dist/server/src/camera/device.d.ts +0 -29
  196. package/dist/server/src/camera/device.js +0 -20
  197. package/dist/server/src/camera/device.js.map +0 -1
  198. package/dist/server/src/camera/index.d.ts +0 -90
  199. package/dist/server/src/camera/index.js +0 -581
  200. package/dist/server/src/camera/index.js.map +0 -1
  201. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  202. package/dist/server/src/camera/interfaces/camera.js +0 -23
  203. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  204. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  205. package/dist/server/src/camera/interfaces/prebuffer.js +0 -31
  206. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  207. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  208. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  209. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  210. package/dist/server/src/camera/iou.d.ts +0 -2
  211. package/dist/server/src/camera/iou.js +0 -53
  212. package/dist/server/src/camera/iou.js.map +0 -1
  213. package/dist/server/src/camera/polygon.d.ts +0 -6
  214. package/dist/server/src/camera/polygon.js +0 -151
  215. package/dist/server/src/camera/polygon.js.map +0 -1
  216. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  217. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  218. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  219. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  220. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  221. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  222. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  223. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  224. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  225. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  226. package/dist/server/src/camera/videoFrame.js +0 -104
  227. package/dist/server/src/camera/videoFrame.js.map +0 -1
  228. package/dist/server/src/index.d.ts +0 -18
  229. package/dist/server/src/index.js +0 -5
  230. package/dist/server/src/index.js.map +0 -1
  231. package/dist/server/src/nats/connection.d.ts +0 -17
  232. package/dist/server/src/nats/connection.js +0 -66
  233. package/dist/server/src/nats/connection.js.map +0 -1
  234. package/dist/server/src/nats/constants.d.ts +0 -1
  235. package/dist/server/src/nats/constants.js +0 -2
  236. package/dist/server/src/nats/constants.js.map +0 -1
  237. package/dist/server/src/nats/error.d.ts +0 -9
  238. package/dist/server/src/nats/error.js +0 -11
  239. package/dist/server/src/nats/error.js.map +0 -1
  240. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  241. package/dist/server/src/nats/messageQueue.js +0 -132
  242. package/dist/server/src/nats/messageQueue.js.map +0 -1
  243. package/dist/server/src/nats/subscription.d.ts +0 -12
  244. package/dist/server/src/nats/subscription.js +0 -21
  245. package/dist/server/src/nats/subscription.js.map +0 -1
  246. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  247. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  248. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  249. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  250. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  251. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  252. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  253. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  254. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  255. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  256. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  257. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  258. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  259. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  260. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  261. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  262. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  263. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  264. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  265. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  266. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  267. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  268. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  269. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  270. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  271. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  272. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -423
  273. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  274. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  275. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  276. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  277. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  278. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  279. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  280. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  281. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  282. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  283. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  284. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  285. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  286. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  287. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -28
  288. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  289. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  290. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  291. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  292. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1200
  293. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  294. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  295. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  296. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  297. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  298. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  299. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  300. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  301. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  302. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  303. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1599
  304. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  305. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  306. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  307. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  308. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  309. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  310. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  311. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  312. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  313. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  314. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  315. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  316. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  317. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  318. package/dist/server/src/utils/ffmpeg.js +0 -61
  319. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  320. package/dist/server/src/utils/network.d.ts +0 -12
  321. package/dist/server/src/utils/network.js +0 -92
  322. package/dist/server/src/utils/network.js.map +0 -1
  323. package/dist/server/src/utils/npm.d.ts +0 -4
  324. package/dist/server/src/utils/npm.js +0 -128
  325. package/dist/server/src/utils/npm.js.map +0 -1
  326. package/dist/server/src/utils/packer.d.ts +0 -2
  327. package/dist/server/src/utils/packer.js +0 -17
  328. package/dist/server/src/utils/packer.js.map +0 -1
  329. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  330. package/dist/server/src/utils/pythonInstaller.js +0 -494
  331. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  332. package/dist/server/src/utils/reader.d.ts +0 -5
  333. package/dist/server/src/utils/reader.js +0 -41
  334. package/dist/server/src/utils/reader.js.map +0 -1
  335. package/dist/server/src/utils/subscribed.d.ts +0 -9
  336. package/dist/server/src/utils/subscribed.js +0 -17
  337. package/dist/server/src/utils/subscribed.js.map +0 -1
  338. package/dist/server/src/utils/utils.d.ts +0 -10
  339. package/dist/server/src/utils/utils.js +0 -165
  340. package/dist/server/src/utils/utils.js.map +0 -1
  341. /package/dist/interface/{@babel.l0sNRNKZ.0.0.30-alpha.0.js → @babel.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
  342. /package/dist/interface/{@intlify.YW_pt133.0.0.30-alpha.0.js → @intlify.YW_pt133.0.0.30-alpha.3.js} +0 -0
  343. /package/dist/interface/{@mdi.DnMbZhUH.0.0.30-alpha.0.js → @mdi.DnMbZhUH.0.0.30-alpha.3.js} +0 -0
  344. /package/dist/interface/{@popperjs.BQBsAJpH.0.0.30-alpha.0.js → @popperjs.BQBsAJpH.0.0.30-alpha.3.js} +0 -0
  345. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.30-alpha.0.js → @react-dnd.CcwRs9xb.0.0.30-alpha.3.js} +0 -0
  346. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.30-alpha.0.js → @socket.io.Dkula2eQ.0.0.30-alpha.3.js} +0 -0
  347. /package/dist/interface/{@xterm.CnserxUX.0.0.30-alpha.0.js → @xterm.-WsTvn6n.0.0.30-alpha.3.js} +0 -0
  348. /package/dist/interface/assets/{@vueform.0.0.30-alpha.0.h7tNX9p6.css → @vueform.0.0.30-alpha.3.h7tNX9p6.css} +0 -0
  349. /package/dist/interface/assets/{@xterm.0.0.30-alpha.0.CGrrDQr5.css → @xterm.0.0.30-alpha.3.CGrrDQr5.css} +0 -0
  350. /package/dist/interface/assets/{Account.0.0.30-alpha.0.Ce3OmKrC.css → Account.0.0.30-alpha.3.Ce3OmKrC.css} +0 -0
  351. /package/dist/interface/assets/{Adminpanel.0.0.30-alpha.0.CXsTAXPL.css → Adminpanel.0.0.30-alpha.3.CXsTAXPL.css} +0 -0
  352. /package/dist/interface/assets/{Backup.0.0.30-alpha.0.BIwaSlv3.css → Backup.0.0.30-alpha.3.BIwaSlv3.css} +0 -0
  353. /package/dist/interface/assets/{Camera.0.0.30-alpha.0.BDtUJ-lA.css → Camera.0.0.30-alpha.3.BDtUJ-lA.css} +0 -0
  354. /package/dist/interface/assets/{Cameras.0.0.30-alpha.0.Djx0F2MM.css → Cameras.0.0.30-alpha.3.Djx0F2MM.css} +0 -0
  355. /package/dist/interface/assets/{Camview.0.0.30-alpha.0.Ce_V-Nxj.css → Camview.0.0.30-alpha.3.Ce_V-Nxj.css} +0 -0
  356. /package/dist/interface/assets/{Config.0.0.30-alpha.0.k4QpWumg.css → Config.0.0.30-alpha.3.k4QpWumg.css} +0 -0
  357. /package/dist/interface/assets/{Console.0.0.30-alpha.0.DWrfRWs9.css → Console.0.0.30-alpha.3.DWrfRWs9.css} +0 -0
  358. /package/dist/interface/assets/{FirstSteps.0.0.30-alpha.0.B3-pv8-a.css → FirstSteps.0.0.30-alpha.3.B3-pv8-a.css} +0 -0
  359. /package/dist/interface/assets/{NewCamera.0.0.30-alpha.0.DJ3tUBT_.css → NewCamera.0.0.30-alpha.3.DJ3tUBT_.css} +0 -0
  360. /package/dist/interface/assets/{Plugin.0.0.30-alpha.0.BtRA6zDt.css → Plugin.0.0.30-alpha.3.BtRA6zDt.css} +0 -0
  361. /package/dist/interface/assets/{Plugins.0.0.30-alpha.0.Cwu0aGUO.css → Plugins.0.0.30-alpha.3.Cwu0aGUO.css} +0 -0
  362. /package/dist/interface/assets/{Settings.0.0.30-alpha.0.DC_-E3CR.css → Settings.0.0.30-alpha.3.DC_-E3CR.css} +0 -0
  363. /package/dist/interface/assets/{User.0.0.30-alpha.0.DPDcJbx8.css → User.0.0.30-alpha.3.DPDcJbx8.css} +0 -0
  364. /package/dist/interface/assets/{VConsole.0.0.30-alpha.0.BZT1WyS-.css → VConsole.0.0.30-alpha.3.BZT1WyS-.css} +0 -0
  365. /package/dist/interface/assets/{VPlayer.0.0.30-alpha.0.CZXlTn4I.css → VPlayer.0.0.30-alpha.3.CZXlTn4I.css} +0 -0
  366. /package/dist/interface/assets/{VPluginCard.0.0.30-alpha.0.CIL48ca_.css → VPluginCard.0.0.30-alpha.3.CIL48ca_.css} +0 -0
  367. /package/dist/interface/assets/{highlight.0.0.30-alpha.0.DgoK_Xib.css → highlight.0.0.30-alpha.3.DgoK_Xib.css} +0 -0
  368. /package/dist/interface/assets/{logo-256.0.0.30-alpha.0.BCQk9H1-.png → logo-256.0.0.30-alpha.3.BCQk9H1-.png} +0 -0
  369. /package/dist/interface/assets/{logo-512.0.0.30-alpha.0.DLKVOU2S.png → logo-512.0.0.30-alpha.3.DLKVOU2S.png} +0 -0
  370. /package/dist/interface/assets/{logo.0.0.30-alpha.0.DmEiRk0z.png → logo.0.0.30-alpha.3.DmEiRk0z.png} +0 -0
  371. /package/dist/interface/assets/{main.0.0.30-alpha.0.BOf8IWhK.css → main.0.0.30-alpha.3.BOf8IWhK.css} +0 -0
  372. /package/dist/interface/assets/{mode-json.0.0.30-alpha.0.Br7xisR1.js → mode-json.0.0.30-alpha.3.Br7xisR1.js} +0 -0
  373. /package/dist/interface/assets/{mode-yaml.0.0.30-alpha.0.CIYL8U3d.js → mode-yaml.0.0.30-alpha.3.CIYL8U3d.js} +0 -0
  374. /package/dist/interface/assets/{v-calendar.0.0.30-alpha.0.CtSuDYZU.css → v-calendar.0.0.30-alpha.3.CtSuDYZU.css} +0 -0
  375. /package/dist/interface/assets/{vue3-toastify.0.0.30-alpha.0.DTY1DMRs.css → vue3-toastify.0.0.30-alpha.3.DTY1DMRs.css} +0 -0
  376. /package/dist/interface/assets/{vuetify.0.0.30-alpha.0.Cd1awv3t.css → vuetify.0.0.30-alpha.3.Cd1awv3t.css} +0 -0
  377. /package/dist/interface/{axios.C-n2IhIP.0.0.30-alpha.0.js → axios.C-n2IhIP.0.0.30-alpha.3.js} +0 -0
  378. /package/dist/interface/{compare-versions.DqEOhma6.0.0.30-alpha.0.js → compare-versions.DqEOhma6.0.0.30-alpha.3.js} +0 -0
  379. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.30-alpha.0.js → dijkstrajs.D_NXgYpA.0.0.30-alpha.3.js} +0 -0
  380. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.30-alpha.0.js → engine.io-parser.BiEtp6m2.0.0.30-alpha.3.js} +0 -0
  381. /package/dist/interface/{entities.C20TfXL6.0.0.30-alpha.0.js → entities.C20TfXL6.0.0.30-alpha.3.js} +0 -0
  382. /package/dist/interface/{get-size.D1dS-IaP.0.0.30-alpha.0.js → get-size.D1dS-IaP.0.0.30-alpha.3.js} +0 -0
  383. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.30-alpha.0.js → mdurl.k9Sl0PQj.0.0.30-alpha.3.js} +0 -0
  384. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.30-alpha.0.js → punycode.js.Dj65hjkv.0.0.30-alpha.3.js} +0 -0
  385. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.3.js} +0 -0
  386. /package/dist/interface/{redux.CuxFRhX_.0.0.30-alpha.0.js → redux.CuxFRhX_.0.0.30-alpha.3.js} +0 -0
  387. /package/dist/interface/{tslib.9k7AwCpt.0.0.30-alpha.0.js → tslib.9k7AwCpt.0.0.30-alpha.3.js} +0 -0
  388. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.30-alpha.0.js → uc.micro.kMc2yuuw.0.0.30-alpha.3.js} +0 -0
  389. /package/dist/interface/{uuid.DvF23Exx.0.0.30-alpha.0.js → uuid.DvF23Exx.0.0.30-alpha.3.js} +0 -0
  390. /package/dist/interface/{vue.l0sNRNKZ.0.0.30-alpha.0.js → vue.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/decoder/child.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { DecoderFormat, ImageOptions } from '../../../decoder/types.js';
2
- import type { PluginLogger } from '../plugins/pluginLogger.js';
3
- export declare class ImageUtils {
4
- private logger;
5
- private initiated;
6
- private wasmModule?;
7
- private memoryBuffer?;
8
- private ptrs;
9
- constructor(logger: PluginLogger);
10
- initiate(): Promise<void>;
11
- processImage(imageData: Buffer | Uint8Array, inputWidth: number, inputHeight: number, inputFormat: DecoderFormat | 'rgba' | 'gray', options: ImageOptions): Promise<Uint8Array>;
12
- private convertYUVToRGB;
13
- private convertYUVToRGBA;
14
- private convertYUVToGrayscale;
15
- private convertRGBToGrayscale;
16
- private convertRGBToRGBA;
17
- private convertRGBAToRGB;
18
- private convertRGBAToGrayscale;
19
- private convertGrayscaleToRGB;
20
- private convertGrayscaleToRGBA;
21
- private cropImage;
22
- private resizeImageNearestNeighbor;
23
- private resizeImageBilinear;
24
- }
@@ -1,205 +0,0 @@
1
- import { instantiate } from '@assemblyscript/loader';
2
- import { readFileSync } from 'node:fs';
3
- import { dirname, join, resolve } from 'node:path';
4
- import { fileURLToPath } from 'node:url';
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
- export class ImageUtils {
8
- logger;
9
- initiated = false;
10
- wasmModule;
11
- memoryBuffer;
12
- ptrs = new Set();
13
- constructor(logger) {
14
- this.logger = logger;
15
- }
16
- async initiate() {
17
- if (this.initiated) {
18
- return;
19
- }
20
- this.initiated = true;
21
- this.wasmModule = await instantiate(readFileSync(resolve(join(__dirname, 'wasm', 'build', 'decoder.wasm'))), {
22
- console: {
23
- log: (messagePtr) => {
24
- this.logger.debug(this.wasmModule.exports.__getString(messagePtr));
25
- },
26
- },
27
- env: {
28
- abort: (msg, file, line, column) => {
29
- this.logger.error('WASM Decoder Error message: ', this.wasmModule.exports.__getString(msg));
30
- this.logger.error('WASM Decoder Error file: ', this.wasmModule.exports.__getString(file));
31
- this.logger.error('WASM Decoder Error line: ', line);
32
- this.logger.error('WASM Decoder Error column: ', column);
33
- },
34
- },
35
- });
36
- this.memoryBuffer = new Uint8Array(this.wasmModule.exports.memory.buffer);
37
- }
38
- async processImage(imageData, inputWidth, inputHeight, inputFormat, options) {
39
- if (!this.wasmModule) {
40
- throw new Error('Wasm not initiated');
41
- }
42
- const imageLength = imageData.length;
43
- let inputPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(imageLength, this.wasmModule.exports.Uint8Array_ID.value));
44
- this.ptrs.add(inputPtr);
45
- this.memoryBuffer.set(imageData, inputPtr);
46
- const crop = options.crop;
47
- const resize = options.resize;
48
- let format = options.format;
49
- let outputWidth = inputWidth;
50
- let outputHeight = inputHeight;
51
- let channels = inputFormat === 'yuv' ? 1.5 : inputFormat === 'rgb' ? 3 : inputFormat === 'rgba' ? 4 : 1;
52
- if (format?.to === 'gray') {
53
- if (inputFormat === 'yuv') {
54
- inputPtr = this.convertYUVToGrayscale(inputPtr, inputWidth, inputHeight);
55
- }
56
- else if (inputFormat === 'rgb') {
57
- inputPtr = this.convertRGBToGrayscale(inputPtr, inputWidth, inputHeight);
58
- }
59
- else if (inputFormat === 'rgba') {
60
- inputPtr = this.convertRGBAToGrayscale(inputPtr, inputWidth, inputHeight);
61
- }
62
- format = undefined;
63
- channels = 1;
64
- }
65
- if (crop) {
66
- if (channels === 1.5) {
67
- inputPtr = this.convertYUVToRGB(inputPtr, inputWidth, inputHeight);
68
- channels = 3;
69
- if (format?.to === 'rgb') {
70
- format = undefined;
71
- }
72
- }
73
- inputPtr = this.cropImage(inputPtr, inputWidth, inputHeight, channels, crop.top, crop.left, crop.width, crop.height);
74
- inputWidth = outputWidth = crop.width;
75
- inputHeight = outputHeight = crop.height;
76
- }
77
- if (resize) {
78
- if (channels === 1.5) {
79
- inputPtr = this.convertYUVToRGB(inputPtr, inputWidth, inputHeight);
80
- channels = 3;
81
- if (format?.to === 'rgb') {
82
- format = undefined;
83
- }
84
- }
85
- inputPtr = this.resizeImageNearestNeighbor(inputPtr, inputWidth, inputHeight, channels, resize.width, resize.height);
86
- inputWidth = outputWidth = resize.width;
87
- inputHeight = outputHeight = resize.height;
88
- }
89
- if (format?.to === 'rgb') {
90
- if (channels === 1.5) {
91
- inputPtr = this.convertYUVToRGB(inputPtr, inputWidth, inputHeight);
92
- }
93
- else if (channels === 1) {
94
- inputPtr = this.convertGrayscaleToRGB(inputPtr, inputWidth, inputHeight);
95
- }
96
- else if (channels === 4) {
97
- inputPtr = this.convertRGBAToRGB(inputPtr, inputWidth, inputHeight);
98
- }
99
- channels = 3;
100
- }
101
- if (format?.to === 'rgba') {
102
- if (channels === 1.5) {
103
- inputPtr = this.convertYUVToRGBA(inputPtr, inputWidth, inputHeight);
104
- }
105
- else if (channels === 1) {
106
- inputPtr = this.convertGrayscaleToRGBA(inputPtr, inputWidth, inputHeight);
107
- }
108
- else if (channels === 3) {
109
- inputPtr = this.convertRGBToRGBA(inputPtr, inputWidth, inputHeight);
110
- }
111
- channels = 4;
112
- }
113
- const outputLength = outputWidth * outputHeight * channels;
114
- const outputData = new Uint8Array(this.wasmModule.exports.memory.buffer, inputPtr, outputLength);
115
- this.ptrs.forEach((ptr) => this.wasmModule.exports.__unpin(ptr));
116
- this.ptrs.clear();
117
- this.wasmModule.exports.__collect();
118
- return outputData;
119
- }
120
- convertYUVToRGB(imagePtr, width, height) {
121
- const tempLength = width * height * 3;
122
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
123
- this.ptrs.add(tempPtr);
124
- this.wasmModule.exports.convertYUVToRGB(imagePtr, tempPtr, width, height);
125
- return tempPtr;
126
- }
127
- convertYUVToRGBA(imagePtr, width, height) {
128
- const tempLength = width * height * 4;
129
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
130
- this.ptrs.add(tempPtr);
131
- this.wasmModule.exports.convertYUVToRGBA(imagePtr, tempPtr, width, height);
132
- return tempPtr;
133
- }
134
- convertYUVToGrayscale(imagePtr, width, height) {
135
- const tempLength = width * height;
136
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
137
- this.ptrs.add(tempPtr);
138
- this.wasmModule.exports.convertYUVToGrayscale(imagePtr, tempPtr, width, height);
139
- return tempPtr;
140
- }
141
- convertRGBToGrayscale(imagePtr, width, height) {
142
- const tempLength = width * height;
143
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
144
- this.ptrs.add(tempPtr);
145
- this.wasmModule.exports.convertRGBToGrayscale(imagePtr, tempPtr, width, height);
146
- return tempPtr;
147
- }
148
- convertRGBToRGBA(imagePtr, width, height) {
149
- const tempLength = width * height * 4;
150
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
151
- this.ptrs.add(tempPtr);
152
- this.wasmModule.exports.convertRGBToRGBA(imagePtr, tempPtr, width, height);
153
- return tempPtr;
154
- }
155
- convertRGBAToRGB(imagePtr, width, height) {
156
- const tempLength = width * height * 3;
157
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
158
- this.ptrs.add(tempPtr);
159
- this.wasmModule.exports.convertRGBAToRGB(imagePtr, tempPtr, width, height);
160
- return tempPtr;
161
- }
162
- convertRGBAToGrayscale(imagePtr, width, height) {
163
- const tempLength = width * height;
164
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
165
- this.ptrs.add(tempPtr);
166
- this.wasmModule.exports.convertRGBAToGrayscale(imagePtr, tempPtr, width, height);
167
- return tempPtr;
168
- }
169
- convertGrayscaleToRGB(imagePtr, width, height) {
170
- const tempLength = width * height * 3;
171
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
172
- this.ptrs.add(tempPtr);
173
- this.wasmModule.exports.convertGrayscaleToRGB(imagePtr, tempPtr, width, height);
174
- return tempPtr;
175
- }
176
- convertGrayscaleToRGBA(imagePtr, width, height) {
177
- const tempLength = width * height * 4;
178
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
179
- this.ptrs.add(tempPtr);
180
- this.wasmModule.exports.convertGrayscaleToRGBA(imagePtr, tempPtr, width, height);
181
- return tempPtr;
182
- }
183
- cropImage(imagePtr, inputWidth, inputHeight, channels, top, left, width, height) {
184
- const tempLength = width * height * channels;
185
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
186
- this.ptrs.add(tempPtr);
187
- this.wasmModule.exports.cropImage(imagePtr, tempPtr, inputWidth, inputHeight, channels, top, left, width, height);
188
- return tempPtr;
189
- }
190
- resizeImageNearestNeighbor(imagePtr, inputWidth, inputHeight, channels, outputWidth, outputHeight) {
191
- const tempLength = outputWidth * outputHeight * channels;
192
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
193
- this.ptrs.add(tempPtr);
194
- this.wasmModule.exports.resizeImageNearestNeighbor(imagePtr, tempPtr, inputWidth, inputHeight, channels, outputWidth, outputHeight);
195
- return tempPtr;
196
- }
197
- resizeImageBilinear(imagePtr, inputWidth, inputHeight, channels, width, height) {
198
- const tempLength = width * height * channels;
199
- const tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(tempLength, this.wasmModule.exports.Uint8Array_ID.value));
200
- this.ptrs.add(tempPtr);
201
- this.wasmModule.exports.resizeImageBilinear(imagePtr, tempPtr, inputWidth, inputHeight, channels, width, height);
202
- return tempPtr;
203
- }
204
- }
205
- //# sourceMappingURL=imageUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imageUtils.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/decoder/imageUtils.ts"],"names":[],"mappings":"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"}
@@ -1,144 +0,0 @@
1
- declare namespace __AdaptedExports {
2
- /** Exported memory */
3
- export const memory: WebAssembly.Memory;
4
- // Exported runtime interface
5
- export function __new(size: number, id: number): number;
6
- export function __pin(ptr: number): number;
7
- export function __unpin(ptr: number): void;
8
- export function __collect(): void;
9
- export const __rtti_base: number;
10
- /** assembly/index/Uint8Array_ID */
11
- export const Uint8Array_ID: {
12
- /** @type `u32` */
13
- get value(): number
14
- };
15
- /**
16
- * assembly/index/cropImage
17
- * @param imagePtr `usize`
18
- * @param outputPtr `usize`
19
- * @param inputWidth `i32`
20
- * @param inputHeight `i32`
21
- * @param channels `i32`
22
- * @param top `i32`
23
- * @param left `i32`
24
- * @param width `i32`
25
- * @param height `i32`
26
- * @returns `i32`
27
- */
28
- export function cropImage(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number, channels: number, top: number, left: number, width: number, height: number): number;
29
- /**
30
- * assembly/index/resizeImageNearestNeighbor
31
- * @param imagePtr `usize`
32
- * @param outputPtr `usize`
33
- * @param inputWidth `i32`
34
- * @param inputHeight `i32`
35
- * @param channels `i32`
36
- * @param outputWidth `i32`
37
- * @param outputHeight `i32`
38
- * @returns `i32`
39
- */
40
- export function resizeImageNearestNeighbor(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number, channels: number, outputWidth: number, outputHeight: number): number;
41
- /**
42
- * assembly/index/resizeImageBilinear
43
- * @param imagePtr `usize`
44
- * @param outputPtr `usize`
45
- * @param inputWidth `i32`
46
- * @param inputHeight `i32`
47
- * @param channels `i32`
48
- * @param outputWidth `i32`
49
- * @param outputHeight `i32`
50
- * @returns `i32`
51
- */
52
- export function resizeImageBilinear(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number, channels: number, outputWidth: number, outputHeight: number): number;
53
- /**
54
- * assembly/index/convertRGBAToRGB
55
- * @param imagePtr `usize`
56
- * @param outputPtr `usize`
57
- * @param width `i32`
58
- * @param height `i32`
59
- * @returns `i32`
60
- */
61
- export function convertRGBAToRGB(imagePtr: number, outputPtr: number, width: number, height: number): number;
62
- /**
63
- * assembly/index/convertRGBAToGrayscale
64
- * @param imagePtr `usize`
65
- * @param outputPtr `usize`
66
- * @param width `i32`
67
- * @param height `i32`
68
- * @returns `i32`
69
- */
70
- export function convertRGBAToGrayscale(imagePtr: number, outputPtr: number, width: number, height: number): number;
71
- /**
72
- * assembly/index/convertRGBToRGBA
73
- * @param imagePtr `usize`
74
- * @param outputPtr `usize`
75
- * @param inputWidth `i32`
76
- * @param inputHeight `i32`
77
- * @returns `i32`
78
- */
79
- export function convertRGBToRGBA(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number): number;
80
- /**
81
- * assembly/index/convertRGBToGrayscale
82
- * @param imagePtr `usize`
83
- * @param outputPtr `usize`
84
- * @param inputWidth `i32`
85
- * @param inputHeight `i32`
86
- * @returns `i32`
87
- */
88
- export function convertRGBToGrayscale(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number): number;
89
- /**
90
- * assembly/index/convertYUVToRGB
91
- * @param imagePtr `usize`
92
- * @param outputPtr `usize`
93
- * @param inputWidth `i32`
94
- * @param inputHeight `i32`
95
- * @returns `i32`
96
- */
97
- export function convertYUVToRGB(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number): number;
98
- /**
99
- * assembly/index/convertYUVToRGBA
100
- * @param imagePtr `usize`
101
- * @param outputPtr `usize`
102
- * @param inputWidth `i32`
103
- * @param inputHeight `i32`
104
- * @returns `i32`
105
- */
106
- export function convertYUVToRGBA(imagePtr: number, outputPtr: number, inputWidth: number, inputHeight: number): number;
107
- /**
108
- * assembly/index/convertYUVToGrayscale
109
- * @param imagePtr `usize`
110
- * @param outputPtr `usize`
111
- * @param width `i32`
112
- * @param height `i32`
113
- * @returns `i32`
114
- */
115
- export function convertYUVToGrayscale(imagePtr: number, outputPtr: number, width: number, height: number): number;
116
- /**
117
- * assembly/index/convertGrayscaleToRGB
118
- * @param imagePtr `usize`
119
- * @param outputPtr `usize`
120
- * @param width `i32`
121
- * @param height `i32`
122
- * @returns `i32`
123
- */
124
- export function convertGrayscaleToRGB(imagePtr: number, outputPtr: number, width: number, height: number): number;
125
- /**
126
- * assembly/index/convertGrayscaleToRGBA
127
- * @param imagePtr `usize`
128
- * @param outputPtr `usize`
129
- * @param width `i32`
130
- * @param height `i32`
131
- * @returns `i32`
132
- */
133
- export function convertGrayscaleToRGBA(imagePtr: number, outputPtr: number, width: number, height: number): number;
134
- /**
135
- * assembly/console/log
136
- * @param s `~lib/string/String`
137
- */
138
- export function log(s: string): void;
139
- }
140
- /** Instantiates the compiled WebAssembly module with the given imports. */
141
- export declare function instantiate(module: WebAssembly.Module, imports: {
142
- console: unknown,
143
- env: unknown,
144
- }): Promise<typeof __AdaptedExports>;
@@ -1,65 +0,0 @@
1
- export async function instantiate(module, imports = {}) {
2
- const __module0 = imports.console;
3
- const adaptedImports = {
4
- console: Object.assign(Object.create(__module0), {
5
- log(s) {
6
- // assembly/console/log(~lib/string/String) => void
7
- s = __liftString(s >>> 0);
8
- __module0.log(s);
9
- },
10
- }),
11
- env: Object.assign(Object.create(globalThis), imports.env || {}, {
12
- abort(message, fileName, lineNumber, columnNumber) {
13
- // ~lib/builtins/abort(~lib/string/String | null?, ~lib/string/String | null?, u32?, u32?) => void
14
- message = __liftString(message >>> 0);
15
- fileName = __liftString(fileName >>> 0);
16
- lineNumber = lineNumber >>> 0;
17
- columnNumber = columnNumber >>> 0;
18
- (() => {
19
- // @external.js
20
- throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);
21
- })();
22
- },
23
- }),
24
- };
25
- const { exports } = await WebAssembly.instantiate(module, adaptedImports);
26
- const memory = exports.memory || imports.env.memory;
27
- const adaptedExports = Object.setPrototypeOf({
28
- Uint8Array_ID: {
29
- // assembly/index/Uint8Array_ID: u32
30
- valueOf() { return this.value; },
31
- get value() {
32
- return exports.Uint8Array_ID.value >>> 0;
33
- }
34
- },
35
- log(s) {
36
- // assembly/console/log(~lib/string/String) => void
37
- s = __lowerString(s) || __notnull();
38
- exports.log(s);
39
- },
40
- }, exports);
41
- function __liftString(pointer) {
42
- if (!pointer) return null;
43
- const
44
- end = pointer + new Uint32Array(memory.buffer)[pointer - 4 >>> 2] >>> 1,
45
- memoryU16 = new Uint16Array(memory.buffer);
46
- let
47
- start = pointer >>> 1,
48
- string = "";
49
- while (end - start > 1024) string += String.fromCharCode(...memoryU16.subarray(start, start += 1024));
50
- return string + String.fromCharCode(...memoryU16.subarray(start, end));
51
- }
52
- function __lowerString(value) {
53
- if (value == null) return 0;
54
- const
55
- length = value.length,
56
- pointer = exports.__new(length << 1, 2) >>> 0,
57
- memoryU16 = new Uint16Array(memory.buffer);
58
- for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);
59
- return pointer;
60
- }
61
- function __notnull() {
62
- throw TypeError("value must not be null");
63
- }
64
- return adaptedExports;
65
- }
@@ -1,106 +0,0 @@
1
- import asyncio
2
- import time
3
- from typing import Any, Literal
4
-
5
- import numpy as np
6
- from PIL import Image
7
-
8
- width = 640
9
- height = 360
10
-
11
-
12
- def yuv420_to_rgb(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
13
- frame_size = width * height
14
- uv_size = frame_size // 4
15
-
16
- raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
17
-
18
- y = raw_data[:frame_size].reshape((height, width)).astype(np.float32) - 16.0
19
- u = (
20
- raw_data[frame_size : frame_size + uv_size].reshape((height // 2, width // 2)).astype(np.float32)
21
- - 128.0
22
- )
23
- v = raw_data[frame_size + uv_size :].reshape((height // 2, width // 2)).astype(np.float32) - 128.0
24
-
25
- # Upsample U and V to match Y dimensions in one step
26
- u = u.repeat(2, axis=0).repeat(2, axis=1)
27
- v = v.repeat(2, axis=0).repeat(2, axis=1)
28
-
29
- # Perform YUV to RGB conversion
30
- r = y + 1.402 * v
31
- g = y - 0.344136 * u - 0.714136 * v
32
- b = y + 1.772 * u
33
-
34
- # return np.clip(np.stack((r, g, b), axis=-1), 0, 255).astype(np.uint8)
35
- rgb = np.stack((r, g, b), axis=-1)
36
- return np.clip(rgb, 0, 255).astype(np.uint8)
37
-
38
-
39
- def yuv420_to_rgba(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
40
- rgb = yuv420_to_rgb(yuv_bytes, width, height)
41
- alpha = np.full((height, width, 1), 255, dtype=np.uint8) # Alpha direkt als uint8
42
- rgba = np.concatenate((rgb, alpha), axis=-1)
43
- return rgba
44
-
45
-
46
- def yuv420_to_gray(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
47
- frame_size = width * height
48
- raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
49
- return raw_data[:frame_size].reshape((height, width)).astype(np.uint8)
50
-
51
-
52
- def read_yuv_file():
53
- with open("frame.yuv", "rb") as f:
54
- return f.read()
55
-
56
-
57
- def main(format: Literal["rgb", "rgba", "gray"]):
58
- yuv_bytes = read_yuv_file()
59
-
60
- if format == "rgb":
61
- rgb = yuv420_to_rgb(yuv_bytes, width, height)
62
- rgb_image = Image.fromarray(rgb)
63
- rgb_image.save("frame_rgb.jpg")
64
- elif format == "rgba":
65
- rgba = yuv420_to_rgba(yuv_bytes, width, height)
66
- rgba_image = Image.fromarray(rgba)
67
- rgba_image.save("frame_rgba.png")
68
- elif format == "gray":
69
- gray = yuv420_to_gray(yuv_bytes, width, height)
70
- gray_image = Image.fromarray(gray)
71
- gray_image.save("frame_gray.jpg")
72
-
73
-
74
- async def benchmark(format: Literal["rgb", "rgba", "gray"]):
75
- yuv_bytes = read_yuv_file()
76
-
77
- fps = 10
78
- total_frames = 3000
79
- average_latency_in_ms = 6
80
- frame_duration = 1.0 / fps
81
- current_frame = 0
82
-
83
- start = time.time()
84
-
85
- while current_frame < total_frames:
86
- if format == "rgb":
87
- rgb = yuv420_to_rgb(yuv_bytes, width, height)
88
- Image.fromarray(rgb)
89
- elif format == "rgba":
90
- rgba = yuv420_to_rgba(yuv_bytes, width, height)
91
- Image.fromarray(rgba)
92
- elif format == "gray":
93
- gray = yuv420_to_gray(yuv_bytes, width, height)
94
- Image.fromarray(gray)
95
-
96
- current_frame += 1
97
- await asyncio.sleep(frame_duration + average_latency_in_ms / 1000.0)
98
-
99
- end = time.time()
100
- print("Simulation completed! Total duration:", (end - start) * 1000, "ms")
101
-
102
-
103
- format: Literal["rgb", "rgba", "gray"] = "gray"
104
-
105
- main(format)
106
- asyncio.run(benchmark(format))