@yume-chan/scrcpy 0.0.23 → 1.0.0

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 (1043) hide show
  1. package/CHANGELOG.md +45 -2
  2. package/LICENSE +1 -1
  3. package/README.md +49 -204
  4. package/esm/1_15/impl/back-or-screen-on.d.ts +10 -0
  5. package/esm/1_15/impl/back-or-screen-on.d.ts.map +1 -0
  6. package/esm/1_15/impl/back-or-screen-on.js +10 -0
  7. package/esm/1_15/impl/back-or-screen-on.js.map +1 -0
  8. package/esm/1_15/impl/clipboard-stream.d.ts +16 -0
  9. package/esm/1_15/impl/clipboard-stream.d.ts.map +1 -0
  10. package/esm/1_15/impl/clipboard-stream.js +28 -0
  11. package/esm/1_15/impl/clipboard-stream.js.map +1 -0
  12. package/esm/1_15/impl/control-message-types.d.ts +3 -0
  13. package/esm/1_15/impl/control-message-types.d.ts.map +1 -0
  14. package/esm/1_15/impl/control-message-types.js +16 -0
  15. package/esm/1_15/impl/control-message-types.js.map +1 -0
  16. package/esm/1_15/impl/defaults.d.ts +17 -0
  17. package/esm/1_15/impl/defaults.d.ts.map +1 -0
  18. package/esm/1_15/impl/defaults.js +17 -0
  19. package/esm/1_15/impl/defaults.js.map +1 -0
  20. package/esm/1_15/impl/index.d.ts +15 -0
  21. package/esm/1_15/impl/index.d.ts.map +1 -0
  22. package/esm/1_15/impl/index.js +15 -0
  23. package/esm/1_15/impl/index.js.map +1 -0
  24. package/{src/options/1_16/init.ts → esm/1_15/impl/init.d.ts} +34 -30
  25. package/esm/1_15/impl/init.d.ts.map +1 -0
  26. package/esm/{options/1_16/codec-options.js → 1_15/impl/init.js} +14 -3
  27. package/esm/1_15/impl/init.js.map +1 -0
  28. package/esm/1_15/impl/inject-touch.d.ts +34 -0
  29. package/esm/1_15/impl/inject-touch.d.ts.map +1 -0
  30. package/esm/1_15/impl/inject-touch.js +39 -0
  31. package/esm/1_15/impl/inject-touch.js.map +1 -0
  32. package/esm/1_15/impl/media-stream-transformer.d.ts +13 -0
  33. package/esm/1_15/impl/media-stream-transformer.d.ts.map +1 -0
  34. package/esm/1_15/impl/media-stream-transformer.js +38 -0
  35. package/esm/1_15/impl/media-stream-transformer.js.map +1 -0
  36. package/esm/1_15/impl/parse-display.d.ts +3 -0
  37. package/esm/1_15/impl/parse-display.d.ts.map +1 -0
  38. package/esm/1_15/impl/parse-display.js +10 -0
  39. package/esm/1_15/impl/parse-display.js.map +1 -0
  40. package/esm/1_15/impl/parse-video-stream-metadata.d.ts +14 -0
  41. package/esm/1_15/impl/parse-video-stream-metadata.d.ts.map +1 -0
  42. package/esm/1_15/impl/parse-video-stream-metadata.js +35 -0
  43. package/esm/1_15/impl/parse-video-stream-metadata.js.map +1 -0
  44. package/esm/1_15/impl/scroll-controller.d.ts +34 -0
  45. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -0
  46. package/esm/{options/1_16/scroll.js → 1_15/impl/scroll-controller.js} +16 -12
  47. package/esm/1_15/impl/scroll-controller.js.map +1 -0
  48. package/esm/1_15/impl/serialize-order.d.ts +2 -0
  49. package/esm/1_15/impl/serialize-order.d.ts.map +1 -0
  50. package/esm/1_15/impl/serialize-order.js +16 -0
  51. package/esm/1_15/impl/serialize-order.js.map +1 -0
  52. package/esm/1_15/impl/serialize.d.ts +2 -0
  53. package/esm/1_15/impl/serialize.d.ts.map +1 -0
  54. package/esm/1_15/impl/serialize.js +5 -0
  55. package/esm/1_15/impl/serialize.js.map +1 -0
  56. package/esm/1_15/impl/set-clipboard.d.ts +12 -0
  57. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -0
  58. package/esm/1_15/impl/set-clipboard.js +6 -0
  59. package/esm/1_15/impl/set-clipboard.js.map +1 -0
  60. package/esm/1_15/impl/set-list-display.d.ts +3 -0
  61. package/esm/1_15/impl/set-list-display.d.ts.map +1 -0
  62. package/esm/1_15/impl/set-list-display.js +7 -0
  63. package/esm/1_15/impl/set-list-display.js.map +1 -0
  64. package/esm/1_15/index.d.ts +3 -0
  65. package/esm/1_15/index.d.ts.map +1 -0
  66. package/esm/1_15/index.js +3 -0
  67. package/esm/1_15/index.js.map +1 -0
  68. package/esm/1_15/options.d.ts +45 -0
  69. package/esm/1_15/options.d.ts.map +1 -0
  70. package/esm/1_15/options.js +60 -0
  71. package/esm/1_15/options.js.map +1 -0
  72. package/esm/1_16.d.ts +2 -0
  73. package/esm/1_16.d.ts.map +1 -0
  74. package/esm/1_16.js +2 -0
  75. package/esm/1_16.js.map +1 -0
  76. package/esm/1_17/impl/defaults.d.ts +18 -0
  77. package/esm/1_17/impl/defaults.d.ts.map +1 -0
  78. package/esm/1_17/impl/defaults.js +6 -0
  79. package/esm/1_17/impl/defaults.js.map +1 -0
  80. package/esm/1_17/impl/index.d.ts +7 -0
  81. package/esm/1_17/impl/index.d.ts.map +1 -0
  82. package/esm/1_17/impl/index.js +6 -0
  83. package/esm/1_17/impl/index.js.map +1 -0
  84. package/esm/1_17/impl/init.d.ts +5 -0
  85. package/esm/1_17/impl/init.d.ts.map +1 -0
  86. package/esm/{options/1_22 → 1_17/impl}/init.js.map +1 -1
  87. package/esm/1_17/impl/parse-encoder.d.ts +4 -0
  88. package/esm/1_17/impl/parse-encoder.d.ts.map +1 -0
  89. package/esm/1_17/impl/parse-encoder.js +9 -0
  90. package/esm/1_17/impl/parse-encoder.js.map +1 -0
  91. package/esm/1_17/impl/prev.d.ts +2 -0
  92. package/esm/1_17/impl/prev.d.ts.map +1 -0
  93. package/esm/1_17/impl/prev.js +2 -0
  94. package/esm/1_17/impl/prev.js.map +1 -0
  95. package/esm/1_17/impl/serialize-order.d.ts +2 -0
  96. package/esm/1_17/impl/serialize-order.d.ts.map +1 -0
  97. package/esm/1_17/impl/serialize-order.js +6 -0
  98. package/esm/1_17/impl/serialize-order.js.map +1 -0
  99. package/esm/1_17/impl/set-list-encoder.d.ts +3 -0
  100. package/esm/1_17/impl/set-list-encoder.d.ts.map +1 -0
  101. package/esm/1_17/impl/set-list-encoder.js +7 -0
  102. package/esm/1_17/impl/set-list-encoder.js.map +1 -0
  103. package/esm/1_17/index.d.ts +3 -0
  104. package/esm/1_17/index.d.ts.map +1 -0
  105. package/esm/1_17/index.js +3 -0
  106. package/esm/1_17/index.js.map +1 -0
  107. package/esm/1_17/options.d.ts +48 -0
  108. package/esm/1_17/options.d.ts.map +1 -0
  109. package/esm/1_17/options.js +66 -0
  110. package/esm/1_17/options.js.map +1 -0
  111. package/esm/1_18/impl/back-or-screen-on.d.ts +13 -0
  112. package/esm/1_18/impl/back-or-screen-on.d.ts.map +1 -0
  113. package/esm/1_18/impl/back-or-screen-on.js +10 -0
  114. package/esm/1_18/impl/back-or-screen-on.js.map +1 -0
  115. package/esm/1_18/impl/control-message-types.d.ts +3 -0
  116. package/esm/1_18/impl/control-message-types.d.ts.map +1 -0
  117. package/esm/1_18/impl/control-message-types.js +9 -0
  118. package/esm/1_18/impl/control-message-types.js.map +1 -0
  119. package/esm/1_18/impl/defaults.d.ts +19 -0
  120. package/esm/1_18/impl/defaults.d.ts.map +1 -0
  121. package/esm/1_18/impl/defaults.js +9 -0
  122. package/esm/1_18/impl/defaults.js.map +1 -0
  123. package/esm/1_18/impl/index.d.ts +9 -0
  124. package/esm/1_18/impl/index.d.ts.map +1 -0
  125. package/esm/1_18/impl/index.js +8 -0
  126. package/esm/1_18/impl/index.js.map +1 -0
  127. package/esm/1_18/impl/init.d.ts +17 -0
  128. package/esm/1_18/impl/init.d.ts.map +1 -0
  129. package/esm/1_18/impl/init.js +9 -0
  130. package/esm/1_18/impl/init.js.map +1 -0
  131. package/esm/1_18/impl/parse-encoder.d.ts +2 -0
  132. package/esm/1_18/impl/parse-encoder.d.ts.map +1 -0
  133. package/esm/1_18/impl/parse-encoder.js +2 -0
  134. package/esm/1_18/impl/parse-encoder.js.map +1 -0
  135. package/esm/1_18/impl/prev.d.ts +2 -0
  136. package/esm/1_18/impl/prev.d.ts.map +1 -0
  137. package/esm/1_18/impl/prev.js +2 -0
  138. package/esm/1_18/impl/prev.js.map +1 -0
  139. package/esm/1_18/impl/serialize-order.d.ts +2 -0
  140. package/esm/1_18/impl/serialize-order.d.ts.map +1 -0
  141. package/esm/1_18/impl/serialize-order.js +6 -0
  142. package/esm/1_18/impl/serialize-order.js.map +1 -0
  143. package/esm/1_18/index.d.ts +3 -0
  144. package/esm/1_18/index.d.ts.map +1 -0
  145. package/esm/1_18/index.js +3 -0
  146. package/esm/1_18/index.js.map +1 -0
  147. package/esm/1_18/options.d.ts +49 -0
  148. package/esm/1_18/options.d.ts.map +1 -0
  149. package/esm/1_18/options.js +66 -0
  150. package/esm/1_18/options.js.map +1 -0
  151. package/esm/1_19.d.ts +2 -0
  152. package/esm/1_19.d.ts.map +1 -0
  153. package/esm/1_19.js +2 -0
  154. package/esm/1_19.js.map +1 -0
  155. package/esm/1_20.d.ts +2 -0
  156. package/esm/1_20.d.ts.map +1 -0
  157. package/esm/1_20.js +2 -0
  158. package/esm/1_20.js.map +1 -0
  159. package/esm/1_21/impl/defaults.d.ts +20 -0
  160. package/esm/1_21/impl/defaults.d.ts.map +1 -0
  161. package/esm/1_21/impl/defaults.js +6 -0
  162. package/esm/1_21/impl/defaults.js.map +1 -0
  163. package/esm/1_21/impl/index.d.ts +7 -0
  164. package/esm/1_21/impl/index.d.ts.map +1 -0
  165. package/esm/1_21/impl/index.js +6 -0
  166. package/esm/1_21/impl/index.js.map +1 -0
  167. package/esm/1_21/impl/init.d.ts +5 -0
  168. package/esm/1_21/impl/init.d.ts.map +1 -0
  169. package/esm/1_21/impl/init.js +2 -0
  170. package/esm/1_21/impl/init.js.map +1 -0
  171. package/esm/1_21/impl/parse-encoder.d.ts +2 -0
  172. package/esm/1_21/impl/parse-encoder.d.ts.map +1 -0
  173. package/esm/1_21/impl/parse-encoder.js +2 -0
  174. package/esm/1_21/impl/parse-encoder.js.map +1 -0
  175. package/esm/1_21/impl/prev.d.ts +2 -0
  176. package/esm/1_21/impl/prev.d.ts.map +1 -0
  177. package/esm/1_21/impl/prev.js +2 -0
  178. package/esm/1_21/impl/prev.js.map +1 -0
  179. package/esm/1_21/impl/serialize.d.ts +2 -0
  180. package/esm/1_21/impl/serialize.d.ts.map +1 -0
  181. package/esm/1_21/impl/serialize.js +22 -0
  182. package/esm/1_21/impl/serialize.js.map +1 -0
  183. package/esm/1_21/impl/set-clipboard.d.ts +28 -0
  184. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -0
  185. package/esm/1_21/impl/set-clipboard.js +54 -0
  186. package/esm/1_21/impl/set-clipboard.js.map +1 -0
  187. package/esm/1_21/index.d.ts +3 -0
  188. package/esm/1_21/index.d.ts.map +1 -0
  189. package/esm/1_21/index.js +3 -0
  190. package/esm/1_21/index.js.map +1 -0
  191. package/esm/1_21/options.d.ts +50 -0
  192. package/esm/1_21/options.d.ts.map +1 -0
  193. package/esm/1_21/options.js +73 -0
  194. package/esm/1_21/options.js.map +1 -0
  195. package/esm/1_22/impl/defaults.d.ts +23 -0
  196. package/esm/1_22/impl/defaults.d.ts.map +1 -0
  197. package/esm/1_22/impl/defaults.js +8 -0
  198. package/esm/1_22/impl/defaults.js.map +1 -0
  199. package/esm/1_22/impl/index.d.ts +6 -0
  200. package/esm/1_22/impl/index.d.ts.map +1 -0
  201. package/esm/1_22/impl/index.js +5 -0
  202. package/esm/1_22/impl/index.js.map +1 -0
  203. package/esm/{options/1_22 → 1_22/impl}/init.d.ts +2 -2
  204. package/esm/1_22/impl/init.d.ts.map +1 -0
  205. package/esm/1_22/impl/init.js +2 -0
  206. package/esm/1_22/impl/init.js.map +1 -0
  207. package/esm/1_22/impl/parse-video-stream-metadata.d.ts +5 -0
  208. package/esm/1_22/impl/parse-video-stream-metadata.d.ts.map +1 -0
  209. package/esm/1_22/impl/parse-video-stream-metadata.js +11 -0
  210. package/esm/1_22/impl/parse-video-stream-metadata.js.map +1 -0
  211. package/esm/1_22/impl/prev.d.ts +2 -0
  212. package/esm/1_22/impl/prev.d.ts.map +1 -0
  213. package/esm/1_22/impl/prev.js +2 -0
  214. package/esm/1_22/impl/prev.js.map +1 -0
  215. package/esm/1_22/impl/scroll-controller.d.ts +27 -0
  216. package/esm/1_22/impl/scroll-controller.d.ts.map +1 -0
  217. package/esm/1_22/impl/scroll-controller.js +16 -0
  218. package/esm/1_22/impl/scroll-controller.js.map +1 -0
  219. package/esm/1_22/index.d.ts +3 -0
  220. package/esm/1_22/index.d.ts.map +1 -0
  221. package/esm/1_22/index.js +3 -0
  222. package/esm/1_22/index.js.map +1 -0
  223. package/esm/1_22/options.d.ts +53 -0
  224. package/esm/1_22/options.d.ts.map +1 -0
  225. package/esm/1_22/options.js +73 -0
  226. package/esm/1_22/options.js.map +1 -0
  227. package/esm/1_23/impl/defaults.d.ts +24 -0
  228. package/esm/1_23/impl/defaults.d.ts.map +1 -0
  229. package/esm/1_23/impl/defaults.js +6 -0
  230. package/esm/1_23/impl/defaults.js.map +1 -0
  231. package/esm/1_23/impl/index.d.ts +5 -0
  232. package/esm/1_23/impl/index.d.ts.map +1 -0
  233. package/esm/1_23/impl/index.js +4 -0
  234. package/esm/1_23/impl/index.js.map +1 -0
  235. package/esm/1_23/impl/init.d.ts +5 -0
  236. package/esm/1_23/impl/init.d.ts.map +1 -0
  237. package/esm/1_23/impl/init.js +2 -0
  238. package/esm/1_23/impl/init.js.map +1 -0
  239. package/esm/1_23/impl/media-stream-transformer.d.ts +6 -0
  240. package/esm/1_23/impl/media-stream-transformer.d.ts.map +1 -0
  241. package/esm/1_23/impl/media-stream-transformer.js +47 -0
  242. package/esm/1_23/impl/media-stream-transformer.js.map +1 -0
  243. package/esm/1_23/impl/prev.d.ts +2 -0
  244. package/esm/1_23/impl/prev.d.ts.map +1 -0
  245. package/esm/1_23/impl/prev.js +2 -0
  246. package/esm/1_23/impl/prev.js.map +1 -0
  247. package/esm/1_23/index.d.ts +3 -0
  248. package/esm/1_23/index.d.ts.map +1 -0
  249. package/esm/1_23/index.js +3 -0
  250. package/esm/1_23/index.js.map +1 -0
  251. package/esm/1_23/options.d.ts +54 -0
  252. package/esm/1_23/options.d.ts.map +1 -0
  253. package/esm/1_23/options.js +73 -0
  254. package/esm/1_23/options.js.map +1 -0
  255. package/esm/1_24/impl/defaults.d.ts +25 -0
  256. package/esm/1_24/impl/defaults.d.ts.map +1 -0
  257. package/esm/1_24/impl/defaults.js +6 -0
  258. package/esm/1_24/impl/defaults.js.map +1 -0
  259. package/esm/1_24/impl/index.d.ts +4 -0
  260. package/esm/1_24/impl/index.d.ts.map +1 -0
  261. package/esm/1_24/impl/index.js +3 -0
  262. package/esm/1_24/impl/index.js.map +1 -0
  263. package/esm/1_24/impl/init.d.ts +5 -0
  264. package/esm/1_24/impl/init.d.ts.map +1 -0
  265. package/esm/1_24/impl/init.js +2 -0
  266. package/esm/1_24/impl/init.js.map +1 -0
  267. package/esm/1_24/impl/prev.d.ts +2 -0
  268. package/esm/1_24/impl/prev.d.ts.map +1 -0
  269. package/esm/1_24/impl/prev.js +2 -0
  270. package/esm/1_24/impl/prev.js.map +1 -0
  271. package/esm/1_24/index.d.ts +3 -0
  272. package/esm/1_24/index.d.ts.map +1 -0
  273. package/esm/1_24/index.js +3 -0
  274. package/esm/1_24/index.js.map +1 -0
  275. package/esm/1_24/options.d.ts +55 -0
  276. package/esm/1_24/options.d.ts.map +1 -0
  277. package/esm/1_24/options.js +73 -0
  278. package/esm/1_24/options.js.map +1 -0
  279. package/esm/1_25/impl/index.d.ts +3 -0
  280. package/esm/1_25/impl/index.d.ts.map +1 -0
  281. package/esm/1_25/impl/index.js +3 -0
  282. package/esm/1_25/impl/index.js.map +1 -0
  283. package/esm/1_25/impl/prev.d.ts +2 -0
  284. package/esm/1_25/impl/prev.d.ts.map +1 -0
  285. package/esm/1_25/impl/prev.js +2 -0
  286. package/esm/1_25/impl/prev.js.map +1 -0
  287. package/esm/1_25/impl/scroll-controller.d.ts +28 -0
  288. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -0
  289. package/esm/1_25/impl/scroll-controller.js +35 -0
  290. package/esm/1_25/impl/scroll-controller.js.map +1 -0
  291. package/esm/1_25/index.d.ts +3 -0
  292. package/esm/1_25/index.d.ts.map +1 -0
  293. package/esm/1_25/index.js +3 -0
  294. package/esm/1_25/index.js.map +1 -0
  295. package/esm/1_25/options.d.ts +55 -0
  296. package/esm/1_25/options.d.ts.map +1 -0
  297. package/esm/1_25/options.js +73 -0
  298. package/esm/1_25/options.js.map +1 -0
  299. package/esm/2_0/impl/defaults.d.ts +39 -0
  300. package/esm/2_0/impl/defaults.d.ts.map +1 -0
  301. package/esm/2_0/impl/defaults.js +20 -0
  302. package/esm/2_0/impl/defaults.js.map +1 -0
  303. package/esm/2_0/impl/index.d.ts +11 -0
  304. package/esm/2_0/impl/index.d.ts.map +1 -0
  305. package/esm/2_0/impl/index.js +11 -0
  306. package/esm/2_0/impl/index.js.map +1 -0
  307. package/esm/2_0/impl/init.d.ts +25 -0
  308. package/esm/2_0/impl/init.d.ts.map +1 -0
  309. package/esm/2_0/impl/init.js +18 -0
  310. package/esm/2_0/impl/init.js.map +1 -0
  311. package/esm/2_0/impl/inject-touch.d.ts +29 -0
  312. package/esm/2_0/impl/inject-touch.d.ts.map +1 -0
  313. package/esm/2_0/impl/inject-touch.js +19 -0
  314. package/esm/2_0/impl/inject-touch.js.map +1 -0
  315. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +5 -0
  316. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -0
  317. package/esm/2_0/impl/parse-audio-stream-metadata.js +80 -0
  318. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -0
  319. package/esm/2_0/impl/parse-display.d.ts +3 -0
  320. package/esm/2_0/impl/parse-display.d.ts.map +1 -0
  321. package/esm/2_0/impl/parse-display.js +16 -0
  322. package/esm/2_0/impl/parse-display.js.map +1 -0
  323. package/esm/2_0/impl/parse-encoder.d.ts +3 -0
  324. package/esm/2_0/impl/parse-encoder.d.ts.map +1 -0
  325. package/esm/2_0/impl/parse-encoder.js +12 -0
  326. package/esm/2_0/impl/parse-encoder.js.map +1 -0
  327. package/esm/2_0/impl/parse-video-stream-metadata.d.ts +6 -0
  328. package/esm/2_0/impl/parse-video-stream-metadata.d.ts.map +1 -0
  329. package/esm/2_0/impl/parse-video-stream-metadata.js +49 -0
  330. package/esm/2_0/impl/parse-video-stream-metadata.js.map +1 -0
  331. package/esm/2_0/impl/prev.d.ts +2 -0
  332. package/esm/2_0/impl/prev.d.ts.map +1 -0
  333. package/esm/2_0/impl/prev.js +2 -0
  334. package/esm/2_0/impl/prev.js.map +1 -0
  335. package/esm/2_0/impl/set-list-display.d.ts +3 -0
  336. package/esm/2_0/impl/set-list-display.d.ts.map +1 -0
  337. package/esm/2_0/impl/set-list-display.js +4 -0
  338. package/esm/2_0/impl/set-list-display.js.map +1 -0
  339. package/esm/2_0/impl/set-list-encoder.d.ts +3 -0
  340. package/esm/2_0/impl/set-list-encoder.d.ts.map +1 -0
  341. package/esm/2_0/impl/set-list-encoder.js +4 -0
  342. package/esm/2_0/impl/set-list-encoder.js.map +1 -0
  343. package/esm/2_0/index.d.ts +3 -0
  344. package/esm/2_0/index.d.ts.map +1 -0
  345. package/esm/2_0/index.js +3 -0
  346. package/esm/2_0/index.js.map +1 -0
  347. package/esm/2_0/options.d.ts +69 -0
  348. package/esm/2_0/options.d.ts.map +1 -0
  349. package/esm/2_0/options.js +76 -0
  350. package/esm/2_0/options.js.map +1 -0
  351. package/esm/2_1/impl/defaults.d.ts +40 -0
  352. package/esm/2_1/impl/defaults.d.ts.map +1 -0
  353. package/esm/2_1/impl/defaults.js +7 -0
  354. package/esm/2_1/impl/defaults.js.map +1 -0
  355. package/esm/2_1/impl/index.d.ts +4 -0
  356. package/esm/2_1/impl/index.d.ts.map +1 -0
  357. package/esm/2_1/impl/index.js +3 -0
  358. package/esm/2_1/impl/index.js.map +1 -0
  359. package/esm/2_1/impl/init.d.ts +6 -0
  360. package/esm/2_1/impl/init.d.ts.map +1 -0
  361. package/esm/2_1/impl/init.js +2 -0
  362. package/esm/2_1/impl/init.js.map +1 -0
  363. package/esm/2_1/impl/prev.d.ts +2 -0
  364. package/esm/2_1/impl/prev.d.ts.map +1 -0
  365. package/esm/2_1/impl/prev.js +2 -0
  366. package/esm/2_1/impl/prev.js.map +1 -0
  367. package/esm/2_1/index.d.ts +3 -0
  368. package/esm/2_1/index.d.ts.map +1 -0
  369. package/esm/2_1/index.js +3 -0
  370. package/esm/2_1/index.js.map +1 -0
  371. package/esm/2_1/options.d.ts +71 -0
  372. package/esm/2_1/options.d.ts.map +1 -0
  373. package/esm/2_1/options.js +76 -0
  374. package/esm/2_1/options.js.map +1 -0
  375. package/esm/2_2/impl/defaults.d.ts +49 -0
  376. package/esm/2_2/impl/defaults.d.ts.map +1 -0
  377. package/esm/2_2/impl/defaults.js +15 -0
  378. package/esm/2_2/impl/defaults.js.map +1 -0
  379. package/esm/2_2/impl/index.d.ts +5 -0
  380. package/esm/2_2/impl/index.d.ts.map +1 -0
  381. package/esm/2_2/impl/index.js +4 -0
  382. package/esm/2_2/impl/index.js.map +1 -0
  383. package/esm/2_2/impl/init.d.ts +13 -0
  384. package/esm/2_2/impl/init.d.ts.map +1 -0
  385. package/esm/2_2/impl/init.js +2 -0
  386. package/esm/2_2/impl/init.js.map +1 -0
  387. package/esm/2_2/impl/parse-display.d.ts +3 -0
  388. package/esm/2_2/impl/parse-display.d.ts.map +1 -0
  389. package/esm/2_2/impl/parse-display.js +14 -0
  390. package/esm/2_2/impl/parse-display.js.map +1 -0
  391. package/esm/2_2/impl/prev.d.ts +2 -0
  392. package/esm/2_2/impl/prev.d.ts.map +1 -0
  393. package/esm/2_2/impl/prev.js +2 -0
  394. package/esm/2_2/impl/prev.js.map +1 -0
  395. package/esm/2_2/index.d.ts +3 -0
  396. package/esm/2_2/index.d.ts.map +1 -0
  397. package/esm/2_2/index.js +3 -0
  398. package/esm/2_2/index.js.map +1 -0
  399. package/esm/2_2/options.d.ts +80 -0
  400. package/esm/2_2/options.d.ts.map +1 -0
  401. package/esm/2_2/options.js +79 -0
  402. package/esm/2_2/options.js.map +1 -0
  403. package/esm/2_3/impl/index.d.ts +3 -0
  404. package/esm/2_3/impl/index.d.ts.map +1 -0
  405. package/esm/2_3/impl/index.js +2 -0
  406. package/esm/2_3/impl/index.js.map +1 -0
  407. package/esm/2_3/impl/init.d.ts +5 -0
  408. package/esm/2_3/impl/init.d.ts.map +1 -0
  409. package/esm/2_3/impl/init.js +2 -0
  410. package/esm/2_3/impl/init.js.map +1 -0
  411. package/esm/2_3/impl/prev.d.ts +2 -0
  412. package/esm/2_3/impl/prev.d.ts.map +1 -0
  413. package/esm/2_3/impl/prev.js +2 -0
  414. package/esm/2_3/impl/prev.js.map +1 -0
  415. package/esm/2_3/index.d.ts +3 -0
  416. package/esm/2_3/index.d.ts.map +1 -0
  417. package/esm/2_3/index.js +3 -0
  418. package/esm/2_3/index.js.map +1 -0
  419. package/esm/2_3/options.d.ts +80 -0
  420. package/esm/2_3/options.d.ts.map +1 -0
  421. package/esm/2_3/options.js +79 -0
  422. package/esm/2_3/options.js.map +1 -0
  423. package/esm/2_4/impl/control-message-types.d.ts +3 -0
  424. package/esm/2_4/impl/control-message-types.d.ts.map +1 -0
  425. package/esm/2_4/impl/control-message-types.js +10 -0
  426. package/esm/2_4/impl/control-message-types.js.map +1 -0
  427. package/esm/2_4/impl/index.d.ts +5 -0
  428. package/esm/2_4/impl/index.d.ts.map +1 -0
  429. package/esm/2_4/impl/index.js +5 -0
  430. package/esm/2_4/impl/index.js.map +1 -0
  431. package/esm/2_4/impl/prev.d.ts +2 -0
  432. package/esm/2_4/impl/prev.d.ts.map +1 -0
  433. package/esm/2_4/impl/prev.js +2 -0
  434. package/esm/2_4/impl/prev.js.map +1 -0
  435. package/esm/2_4/impl/serialize-uhid-create.d.ts +14 -0
  436. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -0
  437. package/esm/2_4/impl/serialize-uhid-create.js +10 -0
  438. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -0
  439. package/esm/2_4/impl/uhid-output-stream.d.ts +19 -0
  440. package/esm/2_4/impl/uhid-output-stream.d.ts.map +1 -0
  441. package/esm/2_4/impl/uhid-output-stream.js +31 -0
  442. package/esm/2_4/impl/uhid-output-stream.js.map +1 -0
  443. package/esm/2_4/index.d.ts +3 -0
  444. package/esm/2_4/index.d.ts.map +1 -0
  445. package/esm/2_4/index.js +3 -0
  446. package/esm/2_4/index.js.map +1 -0
  447. package/esm/2_4/options.d.ts +82 -0
  448. package/esm/2_4/options.d.ts.map +1 -0
  449. package/esm/2_4/options.js +94 -0
  450. package/esm/2_4/options.js.map +1 -0
  451. package/esm/2_5.d.ts +2 -0
  452. package/esm/2_5.d.ts.map +1 -0
  453. package/esm/2_5.js +2 -0
  454. package/esm/2_5.js.map +1 -0
  455. package/esm/2_6/impl/defaults.d.ts +50 -0
  456. package/esm/2_6/impl/defaults.d.ts.map +1 -0
  457. package/esm/2_6/impl/defaults.js +6 -0
  458. package/esm/2_6/impl/defaults.js.map +1 -0
  459. package/esm/2_6/impl/index.d.ts +4 -0
  460. package/esm/2_6/impl/index.d.ts.map +1 -0
  461. package/esm/2_6/impl/index.js +3 -0
  462. package/esm/2_6/impl/index.js.map +1 -0
  463. package/esm/2_6/impl/init.d.ts +6 -0
  464. package/esm/2_6/impl/init.d.ts.map +1 -0
  465. package/esm/2_6/impl/init.js +2 -0
  466. package/esm/2_6/impl/init.js.map +1 -0
  467. package/esm/2_6/impl/prev.d.ts +2 -0
  468. package/esm/2_6/impl/prev.d.ts.map +1 -0
  469. package/esm/2_6/impl/prev.js +2 -0
  470. package/esm/2_6/impl/prev.js.map +1 -0
  471. package/esm/2_6/index.d.ts +3 -0
  472. package/esm/2_6/index.d.ts.map +1 -0
  473. package/esm/2_6/index.js +3 -0
  474. package/esm/2_6/index.js.map +1 -0
  475. package/esm/2_6/options.d.ts +83 -0
  476. package/esm/2_6/options.d.ts.map +1 -0
  477. package/esm/2_6/options.js +92 -0
  478. package/esm/2_6/options.js.map +1 -0
  479. package/esm/2_7/impl/control-message-types.d.ts +3 -0
  480. package/esm/2_7/impl/control-message-types.d.ts.map +1 -0
  481. package/esm/2_7/impl/control-message-types.js +9 -0
  482. package/esm/2_7/impl/control-message-types.js.map +1 -0
  483. package/esm/2_7/impl/index.d.ts +4 -0
  484. package/esm/2_7/impl/index.d.ts.map +1 -0
  485. package/esm/2_7/impl/index.js +4 -0
  486. package/esm/2_7/impl/index.js.map +1 -0
  487. package/esm/2_7/impl/prev.d.ts +2 -0
  488. package/esm/2_7/impl/prev.d.ts.map +1 -0
  489. package/esm/2_7/impl/prev.js +2 -0
  490. package/esm/2_7/impl/prev.js.map +1 -0
  491. package/esm/2_7/impl/serialize-uhid-create.d.ts +16 -0
  492. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -0
  493. package/esm/2_7/impl/serialize-uhid-create.js +12 -0
  494. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -0
  495. package/esm/2_7/index.d.ts +3 -0
  496. package/esm/2_7/index.d.ts.map +1 -0
  497. package/esm/2_7/index.js +3 -0
  498. package/esm/2_7/index.js.map +1 -0
  499. package/esm/2_7/options.d.ts +83 -0
  500. package/esm/2_7/options.d.ts.map +1 -0
  501. package/esm/2_7/options.js +92 -0
  502. package/esm/2_7/options.js.map +1 -0
  503. package/esm/3_0/impl/control-message-types.d.ts +3 -0
  504. package/esm/3_0/impl/control-message-types.d.ts.map +1 -0
  505. package/esm/3_0/impl/control-message-types.js +9 -0
  506. package/esm/3_0/impl/control-message-types.js.map +1 -0
  507. package/esm/3_0/impl/defaults.d.ts +57 -0
  508. package/esm/3_0/impl/defaults.d.ts.map +1 -0
  509. package/esm/3_0/impl/defaults.js +13 -0
  510. package/esm/3_0/impl/defaults.js.map +1 -0
  511. package/esm/3_0/impl/index.d.ts +7 -0
  512. package/esm/3_0/impl/index.d.ts.map +1 -0
  513. package/esm/3_0/impl/index.js +6 -0
  514. package/esm/3_0/impl/index.js.map +1 -0
  515. package/esm/3_0/impl/init.d.ts +43 -0
  516. package/esm/3_0/impl/init.d.ts.map +1 -0
  517. package/esm/3_0/impl/init.js +68 -0
  518. package/esm/3_0/impl/init.js.map +1 -0
  519. package/esm/3_0/impl/parse-encoder.d.ts +3 -0
  520. package/esm/3_0/impl/parse-encoder.d.ts.map +1 -0
  521. package/esm/3_0/impl/parse-encoder.js +27 -0
  522. package/esm/3_0/impl/parse-encoder.js.map +1 -0
  523. package/esm/3_0/impl/prev.d.ts +2 -0
  524. package/esm/3_0/impl/prev.d.ts.map +1 -0
  525. package/esm/3_0/impl/prev.js +2 -0
  526. package/esm/3_0/impl/prev.js.map +1 -0
  527. package/esm/3_0/index.d.ts +3 -0
  528. package/esm/3_0/index.d.ts.map +1 -0
  529. package/esm/3_0/index.js +3 -0
  530. package/esm/3_0/index.js.map +1 -0
  531. package/esm/3_0/options.d.ts +89 -0
  532. package/esm/3_0/options.d.ts.map +1 -0
  533. package/esm/3_0/options.js +92 -0
  534. package/esm/3_0/options.js.map +1 -0
  535. package/esm/android/index.d.ts +4 -0
  536. package/esm/android/index.d.ts.map +1 -0
  537. package/esm/android/index.js +4 -0
  538. package/esm/android/index.js.map +1 -0
  539. package/esm/android/key-event.d.ts +190 -0
  540. package/esm/android/key-event.d.ts.map +1 -0
  541. package/esm/android/key-event.js +191 -0
  542. package/esm/android/key-event.js.map +1 -0
  543. package/esm/android/motion-event.d.ts +28 -0
  544. package/esm/android/motion-event.d.ts.map +1 -0
  545. package/esm/android/motion-event.js +27 -0
  546. package/esm/android/motion-event.js.map +1 -0
  547. package/esm/android/screen-power-mode.d.ts +6 -0
  548. package/esm/android/screen-power-mode.d.ts.map +1 -0
  549. package/esm/android/screen-power-mode.js +6 -0
  550. package/esm/android/screen-power-mode.js.map +1 -0
  551. package/esm/base/audio.d.ts +27 -0
  552. package/esm/base/audio.d.ts.map +1 -0
  553. package/esm/base/audio.js +20 -0
  554. package/esm/base/audio.js.map +1 -0
  555. package/esm/base/control-message-type.d.ts +22 -0
  556. package/esm/base/control-message-type.d.ts.map +1 -0
  557. package/esm/base/control-message-type.js +22 -0
  558. package/esm/base/control-message-type.js.map +1 -0
  559. package/esm/base/device-message.d.ts +7 -0
  560. package/esm/base/device-message.d.ts.map +1 -0
  561. package/esm/base/device-message.js +2 -0
  562. package/esm/base/device-message.js.map +1 -0
  563. package/esm/base/display.d.ts +5 -0
  564. package/esm/base/display.d.ts.map +1 -0
  565. package/esm/base/display.js +2 -0
  566. package/esm/base/display.js.map +1 -0
  567. package/esm/base/encoder.d.ts +9 -0
  568. package/esm/base/encoder.d.ts.map +1 -0
  569. package/esm/base/encoder.js +2 -0
  570. package/esm/base/encoder.js.map +1 -0
  571. package/esm/base/index.d.ts +11 -0
  572. package/esm/base/index.d.ts.map +1 -0
  573. package/esm/base/index.js +11 -0
  574. package/esm/base/index.js.map +1 -0
  575. package/esm/base/media.d.ts +12 -0
  576. package/esm/base/media.d.ts.map +1 -0
  577. package/esm/base/media.js +2 -0
  578. package/esm/base/media.js.map +1 -0
  579. package/esm/base/option-value.d.ts +6 -0
  580. package/esm/base/option-value.d.ts.map +1 -0
  581. package/esm/base/option-value.js +22 -0
  582. package/esm/base/option-value.js.map +1 -0
  583. package/esm/base/options.d.ts +33 -0
  584. package/esm/base/options.d.ts.map +1 -0
  585. package/esm/base/options.js +2 -0
  586. package/esm/base/options.js.map +1 -0
  587. package/esm/base/scroll-controller.d.ts +5 -0
  588. package/esm/base/scroll-controller.d.ts.map +1 -0
  589. package/esm/base/scroll-controller.js +2 -0
  590. package/esm/base/scroll-controller.js.map +1 -0
  591. package/esm/base/video.d.ts +19 -0
  592. package/esm/base/video.d.ts.map +1 -0
  593. package/esm/base/video.js +14 -0
  594. package/esm/base/video.js.map +1 -0
  595. package/esm/codec/av1.d.ts +459 -30
  596. package/esm/codec/av1.d.ts.map +1 -1
  597. package/esm/codec/av1.js +621 -34
  598. package/esm/codec/av1.js.map +1 -1
  599. package/esm/codec/h264.d.ts +35 -35
  600. package/esm/codec/h264.d.ts.map +1 -1
  601. package/esm/codec/h264.js +33 -35
  602. package/esm/codec/h264.js.map +1 -1
  603. package/esm/codec/h265.d.ts +39 -83
  604. package/esm/codec/h265.d.ts.map +1 -1
  605. package/esm/codec/h265.js +35 -37
  606. package/esm/codec/h265.js.map +1 -1
  607. package/esm/codec/nalu.d.ts +0 -9
  608. package/esm/codec/nalu.d.ts.map +1 -1
  609. package/esm/codec/nalu.js +56 -129
  610. package/esm/codec/nalu.js.map +1 -1
  611. package/esm/control/empty.d.ts +8 -0
  612. package/esm/control/empty.d.ts.map +1 -0
  613. package/esm/control/empty.js +3 -0
  614. package/esm/control/empty.js.map +1 -0
  615. package/esm/control/index.d.ts +3 -9
  616. package/esm/control/index.d.ts.map +1 -1
  617. package/esm/control/index.js +3 -9
  618. package/esm/control/index.js.map +1 -1
  619. package/esm/control/inject-key-code.d.ts +17 -0
  620. package/esm/control/inject-key-code.d.ts.map +1 -0
  621. package/esm/control/inject-key-code.js +10 -0
  622. package/esm/control/inject-key-code.js.map +1 -0
  623. package/esm/control/inject-text.d.ts +9 -7
  624. package/esm/control/inject-text.d.ts.map +1 -1
  625. package/esm/control/inject-text.js +2 -5
  626. package/esm/control/inject-text.js.map +1 -1
  627. package/esm/control/message-type-map.d.ts +15 -0
  628. package/esm/control/message-type-map.d.ts.map +1 -0
  629. package/esm/control/message-type-map.js +23 -0
  630. package/esm/control/message-type-map.js.map +1 -0
  631. package/esm/control/serializer.d.ts +24 -16
  632. package/esm/control/serializer.d.ts.map +1 -1
  633. package/esm/control/serializer.js +63 -23
  634. package/esm/control/serializer.js.map +1 -1
  635. package/esm/control/set-screen-power-mode.d.ts +10 -10
  636. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  637. package/esm/control/set-screen-power-mode.js +2 -10
  638. package/esm/control/set-screen-power-mode.js.map +1 -1
  639. package/esm/control/start-app.d.ts +10 -0
  640. package/esm/control/start-app.d.ts.map +1 -0
  641. package/esm/control/start-app.js +6 -0
  642. package/esm/control/start-app.js.map +1 -0
  643. package/esm/control/uhid.d.ts +20 -0
  644. package/esm/control/uhid.d.ts.map +1 -0
  645. package/esm/control/uhid.js +9 -0
  646. package/esm/control/uhid.js.map +1 -0
  647. package/esm/control/writer.d.ts +16 -6
  648. package/esm/control/writer.d.ts.map +1 -1
  649. package/esm/control/writer.js +44 -19
  650. package/esm/control/writer.js.map +1 -1
  651. package/esm/index.d.ts +24 -2
  652. package/esm/index.d.ts.map +1 -1
  653. package/esm/index.js +24 -2
  654. package/esm/index.js.map +1 -1
  655. package/esm/latest.d.ts +2 -0
  656. package/esm/latest.d.ts.map +1 -0
  657. package/esm/latest.js +2 -0
  658. package/esm/latest.js.map +1 -0
  659. package/esm/utils/clamp.d.ts +2 -0
  660. package/esm/utils/clamp.d.ts.map +1 -0
  661. package/esm/utils/clamp.js +10 -0
  662. package/esm/utils/clamp.js.map +1 -0
  663. package/esm/utils/constants.d.ts +2 -0
  664. package/esm/utils/constants.d.ts.map +1 -0
  665. package/esm/utils/constants.js +2 -0
  666. package/esm/utils/constants.js.map +1 -0
  667. package/esm/utils/index.d.ts +5 -0
  668. package/esm/utils/index.d.ts.map +1 -0
  669. package/esm/utils/index.js +5 -0
  670. package/esm/utils/index.js.map +1 -0
  671. package/esm/utils/omit.d.ts +2 -0
  672. package/esm/utils/omit.d.ts.map +1 -0
  673. package/esm/utils/omit.js +5 -0
  674. package/esm/utils/omit.js.map +1 -0
  675. package/esm/utils/wrapper.d.ts +37 -0
  676. package/esm/utils/wrapper.d.ts.map +1 -0
  677. package/esm/utils/wrapper.js +76 -0
  678. package/esm/utils/wrapper.js.map +1 -0
  679. package/package.json +14 -16
  680. package/src/1_15/impl/back-or-screen-on.ts +21 -0
  681. package/src/1_15/impl/clipboard-stream.ts +43 -0
  682. package/src/1_15/impl/control-message-types.ts +16 -0
  683. package/src/1_15/impl/defaults.ts +19 -0
  684. package/src/1_15/impl/index.ts +14 -0
  685. package/src/1_15/impl/init.ts +154 -0
  686. package/src/1_15/impl/inject-touch.ts +55 -0
  687. package/src/1_15/impl/media-stream-transformer.ts +56 -0
  688. package/src/1_15/impl/parse-display.ts +11 -0
  689. package/src/1_15/impl/parse-video-stream-metadata.ts +53 -0
  690. package/src/{options/1_16/scroll.ts → 1_15/impl/scroll-controller.ts} +25 -17
  691. package/src/1_15/impl/serialize-order.ts +17 -0
  692. package/src/1_15/impl/serialize.ts +5 -0
  693. package/src/1_15/impl/set-clipboard.ts +19 -0
  694. package/src/1_15/impl/set-list-display.ts +8 -0
  695. package/src/1_15/index.ts +2 -0
  696. package/src/1_15/options.ts +129 -0
  697. package/src/1_16.ts +4 -0
  698. package/src/1_17/impl/defaults.ts +8 -0
  699. package/src/1_17/impl/index.ts +6 -0
  700. package/src/1_17/impl/init.ts +5 -0
  701. package/src/1_17/impl/parse-encoder.ts +14 -0
  702. package/src/1_17/impl/prev.ts +1 -0
  703. package/src/1_17/impl/serialize-order.ts +8 -0
  704. package/src/1_17/impl/set-list-encoder.ts +8 -0
  705. package/src/1_17/index.ts +2 -0
  706. package/src/1_17/options.ts +141 -0
  707. package/src/1_18/impl/back-or-screen-on.ts +26 -0
  708. package/src/1_18/impl/control-message-types.ts +10 -0
  709. package/src/1_18/impl/defaults.ts +11 -0
  710. package/src/1_18/impl/index.ts +11 -0
  711. package/src/1_18/impl/init.ts +24 -0
  712. package/src/1_18/impl/parse-encoder.ts +1 -0
  713. package/src/1_18/impl/prev.ts +1 -0
  714. package/src/1_18/impl/serialize-order.ts +8 -0
  715. package/src/1_18/index.ts +2 -0
  716. package/src/1_18/options.ts +141 -0
  717. package/src/1_19.ts +4 -0
  718. package/src/1_20.ts +4 -0
  719. package/src/1_21/impl/defaults.ts +8 -0
  720. package/src/1_21/impl/index.ts +10 -0
  721. package/src/1_21/impl/init.ts +5 -0
  722. package/src/1_21/impl/parse-encoder.ts +1 -0
  723. package/src/1_21/impl/prev.ts +1 -0
  724. package/src/1_21/impl/serialize.ts +31 -0
  725. package/src/1_21/impl/set-clipboard.ts +80 -0
  726. package/src/1_21/index.ts +2 -0
  727. package/src/1_21/options.ts +151 -0
  728. package/src/1_22/impl/defaults.ts +10 -0
  729. package/src/1_22/impl/index.ts +8 -0
  730. package/src/{options/1_22 → 1_22/impl}/init.ts +2 -2
  731. package/src/1_22/impl/parse-video-stream-metadata.ts +18 -0
  732. package/src/1_22/impl/prev.ts +1 -0
  733. package/src/1_22/impl/scroll-controller.ts +32 -0
  734. package/src/1_22/index.ts +2 -0
  735. package/src/1_22/options.ts +151 -0
  736. package/src/1_23/impl/defaults.ts +8 -0
  737. package/src/1_23/impl/index.ts +7 -0
  738. package/src/1_23/impl/init.ts +5 -0
  739. package/src/1_23/impl/media-stream-transformer.ts +64 -0
  740. package/src/1_23/impl/prev.ts +1 -0
  741. package/src/1_23/index.ts +2 -0
  742. package/src/1_23/options.ts +151 -0
  743. package/src/1_24/impl/defaults.ts +8 -0
  744. package/src/1_24/impl/index.ts +3 -0
  745. package/src/1_24/impl/init.ts +5 -0
  746. package/src/1_24/impl/prev.ts +1 -0
  747. package/src/1_24/index.ts +2 -0
  748. package/src/1_24/options.ts +151 -0
  749. package/src/1_25/impl/index.ts +6 -0
  750. package/src/1_25/impl/prev.ts +1 -0
  751. package/src/1_25/impl/scroll-controller.ts +51 -0
  752. package/src/1_25/index.ts +2 -0
  753. package/src/1_25/options.ts +151 -0
  754. package/src/2_0/impl/defaults.ts +26 -0
  755. package/src/2_0/impl/index.ts +13 -0
  756. package/src/2_0/impl/init.ts +45 -0
  757. package/src/2_0/impl/inject-touch.ts +35 -0
  758. package/src/2_0/impl/parse-audio-stream-metadata.ts +99 -0
  759. package/src/2_0/impl/parse-display.ts +17 -0
  760. package/src/2_0/impl/parse-encoder.ts +15 -0
  761. package/src/2_0/impl/parse-video-stream-metadata.ts +72 -0
  762. package/src/2_0/impl/prev.ts +1 -0
  763. package/src/2_0/impl/set-list-display.ts +5 -0
  764. package/src/2_0/impl/set-list-encoder.ts +5 -0
  765. package/src/2_0/index.ts +2 -0
  766. package/src/2_0/options.ts +158 -0
  767. package/src/2_1/impl/defaults.ts +9 -0
  768. package/src/2_1/impl/index.ts +3 -0
  769. package/src/2_1/impl/init.ts +6 -0
  770. package/src/2_1/impl/prev.ts +1 -0
  771. package/src/2_1/index.ts +2 -0
  772. package/src/2_1/options.ts +158 -0
  773. package/src/2_2/impl/defaults.ts +17 -0
  774. package/src/2_2/impl/index.ts +4 -0
  775. package/src/2_2/impl/init.ts +14 -0
  776. package/src/2_2/impl/parse-display.ts +15 -0
  777. package/src/2_2/impl/prev.ts +1 -0
  778. package/src/2_2/index.ts +2 -0
  779. package/src/2_2/options.ts +162 -0
  780. package/src/2_3/impl/index.ts +2 -0
  781. package/src/2_3/impl/init.ts +5 -0
  782. package/src/2_3/impl/prev.ts +1 -0
  783. package/src/2_3/index.ts +2 -0
  784. package/src/2_3/options.ts +162 -0
  785. package/src/2_4/impl/control-message-types.ts +11 -0
  786. package/src/2_4/impl/index.ts +4 -0
  787. package/src/2_4/impl/prev.ts +1 -0
  788. package/src/2_4/impl/serialize-uhid-create.ts +23 -0
  789. package/src/2_4/impl/uhid-output-stream.ts +51 -0
  790. package/src/2_4/index.ts +2 -0
  791. package/src/2_4/options.ts +189 -0
  792. package/src/2_5.ts +4 -0
  793. package/src/2_6/impl/defaults.ts +8 -0
  794. package/src/2_6/impl/index.ts +3 -0
  795. package/src/2_6/impl/init.ts +6 -0
  796. package/src/2_6/impl/prev.ts +1 -0
  797. package/src/2_6/index.ts +2 -0
  798. package/src/2_6/options.ts +187 -0
  799. package/src/2_7/impl/control-message-types.ts +10 -0
  800. package/src/2_7/impl/index.ts +6 -0
  801. package/src/2_7/impl/prev.ts +1 -0
  802. package/src/2_7/impl/serialize-uhid-create.ts +26 -0
  803. package/src/2_7/index.ts +2 -0
  804. package/src/2_7/options.ts +187 -0
  805. package/src/3_0/impl/control-message-types.ts +10 -0
  806. package/src/3_0/impl/defaults.ts +16 -0
  807. package/src/3_0/impl/index.ts +11 -0
  808. package/src/3_0/impl/init.ts +121 -0
  809. package/src/3_0/impl/parse-encoder.ts +31 -0
  810. package/src/3_0/impl/prev.ts +1 -0
  811. package/src/3_0/index.ts +2 -0
  812. package/src/3_0/options.ts +187 -0
  813. package/src/android/index.ts +3 -0
  814. package/src/android/key-event.ts +218 -0
  815. package/src/android/motion-event.ts +33 -0
  816. package/src/android/screen-power-mode.ts +8 -0
  817. package/src/{options/codec.ts → base/audio.ts} +10 -38
  818. package/src/base/control-message-type.ts +24 -0
  819. package/src/base/device-message.ts +9 -0
  820. package/src/base/display.ts +5 -0
  821. package/src/base/encoder.ts +8 -0
  822. package/src/base/index.ts +10 -0
  823. package/src/base/media.ts +15 -0
  824. package/src/base/option-value.ts +35 -0
  825. package/src/base/options.ts +76 -0
  826. package/src/base/scroll-controller.ts +7 -0
  827. package/src/base/video.ts +32 -0
  828. package/src/codec/av1.ts +721 -30
  829. package/src/codec/h264.ts +34 -34
  830. package/src/codec/h265.ts +36 -36
  831. package/src/codec/nalu.ts +67 -154
  832. package/src/control/empty.ts +9 -0
  833. package/src/control/index.ts +3 -9
  834. package/src/control/inject-key-code.ts +25 -0
  835. package/src/control/inject-text.ts +9 -7
  836. package/src/control/message-type-map.ts +30 -0
  837. package/src/control/serializer.ts +97 -35
  838. package/src/control/set-screen-power-mode.ts +10 -11
  839. package/src/control/start-app.ts +14 -0
  840. package/src/control/uhid.ts +27 -0
  841. package/src/control/writer.ts +67 -32
  842. package/src/index.ts +24 -2
  843. package/src/latest.ts +15 -0
  844. package/src/utils/clamp.ts +11 -0
  845. package/src/utils/constants.ts +1 -0
  846. package/src/utils/index.ts +4 -0
  847. package/src/utils/omit.ts +11 -0
  848. package/src/utils/wrapper.ts +131 -0
  849. package/tsconfig.build.json +1 -1
  850. package/tsconfig.build.tsbuildinfo +1 -1
  851. package/CHANGELOG.json +0 -217
  852. package/esm/control/back-or-screen-on.d.ts +0 -3
  853. package/esm/control/back-or-screen-on.d.ts.map +0 -1
  854. package/esm/control/back-or-screen-on.js +0 -2
  855. package/esm/control/back-or-screen-on.js.map +0 -1
  856. package/esm/control/basic.d.ts +0 -5
  857. package/esm/control/basic.d.ts.map +0 -1
  858. package/esm/control/basic.js +0 -3
  859. package/esm/control/basic.js.map +0 -1
  860. package/esm/control/hover-helper.d.ts +0 -18
  861. package/esm/control/hover-helper.d.ts.map +0 -1
  862. package/esm/control/hover-helper.js +0 -43
  863. package/esm/control/hover-helper.js.map +0 -1
  864. package/esm/control/inject-keycode.d.ts +0 -194
  865. package/esm/control/inject-keycode.d.ts.map +0 -1
  866. package/esm/control/inject-keycode.js +0 -199
  867. package/esm/control/inject-keycode.js.map +0 -1
  868. package/esm/control/inject-scroll.d.ts +0 -3
  869. package/esm/control/inject-scroll.d.ts.map +0 -1
  870. package/esm/control/inject-scroll.js +0 -2
  871. package/esm/control/inject-scroll.js.map +0 -1
  872. package/esm/control/inject-touch.d.ts +0 -33
  873. package/esm/control/inject-touch.d.ts.map +0 -1
  874. package/esm/control/inject-touch.js +0 -35
  875. package/esm/control/inject-touch.js.map +0 -1
  876. package/esm/control/rotate-device.d.ts +0 -5
  877. package/esm/control/rotate-device.d.ts.map +0 -1
  878. package/esm/control/rotate-device.js +0 -3
  879. package/esm/control/rotate-device.js.map +0 -1
  880. package/esm/control/set-clipboard.d.ts +0 -3
  881. package/esm/control/set-clipboard.d.ts.map +0 -1
  882. package/esm/control/set-clipboard.js +0 -2
  883. package/esm/control/set-clipboard.js.map +0 -1
  884. package/esm/control/type.d.ts +0 -29
  885. package/esm/control/type.d.ts.map +0 -1
  886. package/esm/control/type.js +0 -41
  887. package/esm/control/type.js.map +0 -1
  888. package/esm/device-message/ack-clipboard.d.ts +0 -9
  889. package/esm/device-message/ack-clipboard.d.ts.map +0 -1
  890. package/esm/device-message/ack-clipboard.js +0 -6
  891. package/esm/device-message/ack-clipboard.js.map +0 -1
  892. package/esm/device-message/clipboard.d.ts +0 -10
  893. package/esm/device-message/clipboard.d.ts.map +0 -1
  894. package/esm/device-message/clipboard.js +0 -7
  895. package/esm/device-message/clipboard.js.map +0 -1
  896. package/esm/device-message/index.d.ts +0 -5
  897. package/esm/device-message/index.d.ts.map +0 -1
  898. package/esm/device-message/index.js +0 -5
  899. package/esm/device-message/index.js.map +0 -1
  900. package/esm/device-message/stream.d.ts +0 -8
  901. package/esm/device-message/stream.d.ts.map +0 -1
  902. package/esm/device-message/stream.js +0 -35
  903. package/esm/device-message/stream.js.map +0 -1
  904. package/esm/device-message/type.d.ts +0 -5
  905. package/esm/device-message/type.d.ts.map +0 -1
  906. package/esm/device-message/type.js +0 -7
  907. package/esm/device-message/type.js.map +0 -1
  908. package/esm/options/1_16/codec-options.d.ts +0 -20
  909. package/esm/options/1_16/codec-options.d.ts.map +0 -1
  910. package/esm/options/1_16/codec-options.js.map +0 -1
  911. package/esm/options/1_16/float-to-uint16.d.ts +0 -5
  912. package/esm/options/1_16/float-to-uint16.d.ts.map +0 -1
  913. package/esm/options/1_16/float-to-uint16.js +0 -27
  914. package/esm/options/1_16/float-to-uint16.js.map +0 -1
  915. package/esm/options/1_16/index.d.ts +0 -7
  916. package/esm/options/1_16/index.d.ts.map +0 -1
  917. package/esm/options/1_16/index.js +0 -7
  918. package/esm/options/1_16/index.js.map +0 -1
  919. package/esm/options/1_16/init.d.ts +0 -66
  920. package/esm/options/1_16/init.d.ts.map +0 -1
  921. package/esm/options/1_16/init.js +0 -16
  922. package/esm/options/1_16/init.js.map +0 -1
  923. package/esm/options/1_16/message.d.ts +0 -32
  924. package/esm/options/1_16/message.d.ts.map +0 -1
  925. package/esm/options/1_16/message.js +0 -37
  926. package/esm/options/1_16/message.js.map +0 -1
  927. package/esm/options/1_16/options.d.ts +0 -49
  928. package/esm/options/1_16/options.d.ts.map +0 -1
  929. package/esm/options/1_16/options.js +0 -151
  930. package/esm/options/1_16/options.js.map +0 -1
  931. package/esm/options/1_16/scroll.d.ts +0 -26
  932. package/esm/options/1_16/scroll.d.ts.map +0 -1
  933. package/esm/options/1_16/scroll.js.map +0 -1
  934. package/esm/options/1_17.d.ts +0 -33
  935. package/esm/options/1_17.d.ts.map +0 -1
  936. package/esm/options/1_17.js +0 -41
  937. package/esm/options/1_17.js.map +0 -1
  938. package/esm/options/1_18.d.ts +0 -60
  939. package/esm/options/1_18.d.ts.map +0 -1
  940. package/esm/options/1_18.js +0 -78
  941. package/esm/options/1_18.js.map +0 -1
  942. package/esm/options/1_21.d.ts +0 -42
  943. package/esm/options/1_21.d.ts.map +0 -1
  944. package/esm/options/1_21.js +0 -51
  945. package/esm/options/1_21.js.map +0 -1
  946. package/esm/options/1_22/index.d.ts +0 -4
  947. package/esm/options/1_22/index.d.ts.map +0 -1
  948. package/esm/options/1_22/index.js +0 -4
  949. package/esm/options/1_22/index.js.map +0 -1
  950. package/esm/options/1_22/init.d.ts.map +0 -1
  951. package/esm/options/1_22/options.d.ts +0 -36
  952. package/esm/options/1_22/options.d.ts.map +0 -1
  953. package/esm/options/1_22/options.js +0 -36
  954. package/esm/options/1_22/options.js.map +0 -1
  955. package/esm/options/1_22/scroll.d.ts +0 -17
  956. package/esm/options/1_22/scroll.d.ts.map +0 -1
  957. package/esm/options/1_22/scroll.js +0 -15
  958. package/esm/options/1_22/scroll.js.map +0 -1
  959. package/esm/options/1_23.d.ts +0 -37
  960. package/esm/options/1_23.d.ts.map +0 -1
  961. package/esm/options/1_23.js +0 -44
  962. package/esm/options/1_23.js.map +0 -1
  963. package/esm/options/1_24.d.ts +0 -35
  964. package/esm/options/1_24.d.ts.map +0 -1
  965. package/esm/options/1_24.js +0 -22
  966. package/esm/options/1_24.js.map +0 -1
  967. package/esm/options/1_25/index.d.ts +0 -3
  968. package/esm/options/1_25/index.d.ts.map +0 -1
  969. package/esm/options/1_25/index.js +0 -3
  970. package/esm/options/1_25/index.js.map +0 -1
  971. package/esm/options/1_25/options.d.ts +0 -11
  972. package/esm/options/1_25/options.d.ts.map +0 -1
  973. package/esm/options/1_25/options.js +0 -22
  974. package/esm/options/1_25/options.js.map +0 -1
  975. package/esm/options/1_25/scroll.d.ts +0 -20
  976. package/esm/options/1_25/scroll.d.ts.map +0 -1
  977. package/esm/options/1_25/scroll.js +0 -34
  978. package/esm/options/1_25/scroll.js.map +0 -1
  979. package/esm/options/2_0.d.ts +0 -91
  980. package/esm/options/2_0.d.ts.map +0 -1
  981. package/esm/options/2_0.js +0 -242
  982. package/esm/options/2_0.js.map +0 -1
  983. package/esm/options/2_1.d.ts +0 -48
  984. package/esm/options/2_1.d.ts.map +0 -1
  985. package/esm/options/2_1.js +0 -23
  986. package/esm/options/2_1.js.map +0 -1
  987. package/esm/options/2_2.d.ts +0 -67
  988. package/esm/options/2_2.d.ts.map +0 -1
  989. package/esm/options/2_2.js +0 -44
  990. package/esm/options/2_2.js.map +0 -1
  991. package/esm/options/codec.d.ts +0 -52
  992. package/esm/options/codec.d.ts.map +0 -1
  993. package/esm/options/codec.js +0 -25
  994. package/esm/options/codec.js.map +0 -1
  995. package/esm/options/index.d.ts +0 -15
  996. package/esm/options/index.d.ts.map +0 -1
  997. package/esm/options/index.js +0 -15
  998. package/esm/options/index.js.map +0 -1
  999. package/esm/options/latest.d.ts +0 -11
  1000. package/esm/options/latest.d.ts.map +0 -1
  1001. package/esm/options/latest.js +0 -7
  1002. package/esm/options/latest.js.map +0 -1
  1003. package/esm/options/types.d.ts +0 -88
  1004. package/esm/options/types.d.ts.map +0 -1
  1005. package/esm/options/types.js +0 -85
  1006. package/esm/options/types.js.map +0 -1
  1007. package/src/control/back-or-screen-on.ts +0 -4
  1008. package/src/control/basic.ts +0 -3
  1009. package/src/control/hover-helper.ts +0 -53
  1010. package/src/control/inject-keycode.ts +0 -215
  1011. package/src/control/inject-scroll.ts +0 -4
  1012. package/src/control/inject-touch.ts +0 -38
  1013. package/src/control/rotate-device.ts +0 -6
  1014. package/src/control/set-clipboard.ts +0 -4
  1015. package/src/control/type.ts +0 -49
  1016. package/src/device-message/ack-clipboard.ts +0 -10
  1017. package/src/device-message/clipboard.ts +0 -11
  1018. package/src/device-message/index.ts +0 -4
  1019. package/src/device-message/stream.ts +0 -49
  1020. package/src/device-message/type.ts +0 -5
  1021. package/src/options/1_16/codec-options.ts +0 -67
  1022. package/src/options/1_16/float-to-uint16.ts +0 -33
  1023. package/src/options/1_16/index.ts +0 -6
  1024. package/src/options/1_16/message.ts +0 -55
  1025. package/src/options/1_16/options.ts +0 -230
  1026. package/src/options/1_17.ts +0 -66
  1027. package/src/options/1_18.ts +0 -137
  1028. package/src/options/1_21.ts +0 -83
  1029. package/src/options/1_22/index.ts +0 -3
  1030. package/src/options/1_22/options.ts +0 -52
  1031. package/src/options/1_22/scroll.ts +0 -26
  1032. package/src/options/1_23.ts +0 -68
  1033. package/src/options/1_24.ts +0 -33
  1034. package/src/options/1_25/index.ts +0 -2
  1035. package/src/options/1_25/options.ts +0 -31
  1036. package/src/options/1_25/scroll.ts +0 -50
  1037. package/src/options/2_0.ts +0 -344
  1038. package/src/options/2_1.ts +0 -35
  1039. package/src/options/2_2.ts +0 -68
  1040. package/src/options/index.ts +0 -14
  1041. package/src/options/latest.ts +0 -12
  1042. package/src/options/types.ts +0 -231
  1043. /package/esm/{options/1_22 → 1_17/impl}/init.js +0 -0
package/src/codec/av1.ts CHANGED
@@ -1,33 +1,724 @@
1
- export enum AndroidAv1Profile {
2
- Main8 = 1 << 0,
3
- Main10 = 1 << 1,
4
- Main10Hdr10 = 1 << 12,
5
- Main10Hdr10Plus = 1 << 13,
1
+ // cspell: ignore uvlc
2
+ // cspell: ignore interintra
3
+ // cspell: ignore superres
4
+ // cspell: ignore cdef
5
+ // cspell: ignore bitdepth
6
+ // cspell: ignore Smpte
7
+ // cspell: ignore Chromat
8
+
9
+ export const AndroidAv1Profile = {
10
+ Main8: 1 << 0,
11
+ Main10: 1 << 1,
12
+ Main10Hdr10: 1 << 12,
13
+ Main10Hdr10Plus: 1 << 13,
14
+ };
15
+
16
+ export const AndroidAv1Level = {
17
+ Level2: 1 << 0,
18
+ Level21: 1 << 1,
19
+ Level22: 1 << 2,
20
+ Level23: 1 << 3,
21
+ Level3: 1 << 4,
22
+ Level31: 1 << 5,
23
+ Level32: 1 << 6,
24
+ Level33: 1 << 7,
25
+ Level4: 1 << 8,
26
+ Level41: 1 << 9,
27
+ Level42: 1 << 10,
28
+ Level43: 1 << 11,
29
+ Level5: 1 << 12,
30
+ Level51: 1 << 13,
31
+ Level52: 1 << 14,
32
+ Level53: 1 << 15,
33
+ Level6: 1 << 16,
34
+ Level61: 1 << 17,
35
+ Level62: 1 << 18,
36
+ Level63: 1 << 19,
37
+ Level7: 1 << 20,
38
+ Level71: 1 << 21,
39
+ Level72: 1 << 22,
40
+ Level73: 1 << 23,
41
+ };
42
+
43
+ class BitReader {
44
+ #data: Uint8Array;
45
+ #byte: number;
46
+
47
+ #bytePosition: number = 0;
48
+ #bitPosition: number = 7;
49
+
50
+ get byteAligned() {
51
+ return this.#bitPosition === 7;
52
+ }
53
+
54
+ get ended() {
55
+ return this.#bytePosition >= this.#data.length;
56
+ }
57
+
58
+ constructor(data: Uint8Array) {
59
+ this.#data = data;
60
+ this.#byte = data[0]!;
61
+ }
62
+
63
+ f1() {
64
+ const value = this.#byte >> this.#bitPosition;
65
+ this.#bitPosition -= 1;
66
+ if (this.#bitPosition < 0) {
67
+ this.#bytePosition += 1;
68
+ this.#bitPosition = 7;
69
+ this.#byte = this.#data[this.#bytePosition]!;
70
+ }
71
+ return value & 1;
72
+ }
73
+
74
+ f(n: number) {
75
+ let value = 0;
76
+ for (; n > 0; n -= 1) {
77
+ value <<= 1;
78
+ value |= this.f1();
79
+ }
80
+ return value;
81
+ }
82
+
83
+ skip(n: number) {
84
+ if (n <= this.#bitPosition + 1) {
85
+ this.#bytePosition += 1;
86
+ this.#bitPosition = 7;
87
+ this.#byte = this.#data[this.#bytePosition]!;
88
+ return;
89
+ }
90
+
91
+ n -= this.#bitPosition + 1;
92
+ this.#bytePosition += 1;
93
+
94
+ const bytes = (n / 8) | 0;
95
+ if (bytes > 0) {
96
+ this.#bytePosition += bytes;
97
+ n -= bytes * 8;
98
+ }
99
+
100
+ this.#bitPosition = 7 - n;
101
+ this.#byte = this.#data[this.#bytePosition]!;
102
+ }
103
+
104
+ readBytes(n: number) {
105
+ if (!this.byteAligned) {
106
+ throw new Error("Bytes must be byte-aligned");
107
+ }
108
+
109
+ const value = this.#data.subarray(
110
+ this.#bytePosition,
111
+ this.#bytePosition + n,
112
+ );
113
+ this.#bytePosition += n;
114
+ this.#byte = this.#data[this.#bytePosition]!;
115
+ return value;
116
+ }
117
+
118
+ getPosition() {
119
+ return [this.#bytePosition, this.#bitPosition] as const;
120
+ }
121
+
122
+ setPosition([bytePosition, bitPosition]: readonly [number, number]) {
123
+ this.#bytePosition = bytePosition;
124
+ this.#bitPosition = bitPosition;
125
+ this.#byte = this.#data[bytePosition]!;
126
+ }
6
127
  }
7
128
 
8
- export enum AndroidAv1Level {
9
- Level2 = 1 << 0,
10
- Level21 = 1 << 1,
11
- Level22 = 1 << 2,
12
- Level23 = 1 << 3,
13
- Level3 = 1 << 4,
14
- Level31 = 1 << 5,
15
- Level32 = 1 << 6,
16
- Level33 = 1 << 7,
17
- Level4 = 1 << 8,
18
- Level41 = 1 << 9,
19
- Level42 = 1 << 10,
20
- Level43 = 1 << 11,
21
- Level5 = 1 << 12,
22
- Level51 = 1 << 13,
23
- Level52 = 1 << 14,
24
- Level53 = 1 << 15,
25
- Level6 = 1 << 16,
26
- Level61 = 1 << 17,
27
- Level62 = 1 << 18,
28
- Level63 = 1 << 19,
29
- Level7 = 1 << 20,
30
- Level71 = 1 << 21,
31
- Level72 = 1 << 22,
32
- Level73 = 1 << 23,
129
+ const ObuType = {
130
+ SequenceHeader: 1,
131
+ TemporalDelimiter: 2,
132
+ FrameHeader: 3,
133
+ TileGroup: 4,
134
+ Metadata: 5,
135
+ Frame: 6,
136
+ RedundantFrameHeader: 7,
137
+ TileList: 8,
138
+ Padding: 15,
139
+ } as const;
140
+
141
+ type ObuType = (typeof ObuType)[keyof typeof ObuType];
142
+
143
+ const ColorPrimaries = {
144
+ Bt709: 1,
145
+ Unspecified: 2,
146
+ Bt470M: 4,
147
+ Bt470BG: 5,
148
+ Bt601: 6,
149
+ Smpte240: 7,
150
+ GenericFilm: 8,
151
+ Bt2020: 9,
152
+ Xyz: 10,
153
+ Smpte431: 11,
154
+ Smpte432: 12,
155
+ Ebu3213: 22,
156
+ } as const;
157
+
158
+ const TransferCharacteristics = {
159
+ Bt709: 1,
160
+ Unspecified: 2,
161
+ Bt470M: 4,
162
+ Bt470BG: 5,
163
+ Bt601: 6,
164
+ Smpte240: 7,
165
+ Linear: 8,
166
+ Log100: 9,
167
+ Log100Sqrt10: 10,
168
+ Iec61966: 11,
169
+ Bt1361: 12,
170
+ Srgb: 13,
171
+ Bt2020Ten: 14,
172
+ Bt2020Twelve: 15,
173
+ Smpte2084: 16,
174
+ Smpte428: 17,
175
+ Hlg: 18,
176
+ } as const;
177
+
178
+ const MatrixCoefficients = {
179
+ Identity: 0,
180
+ Bt709: 1,
181
+ Unspecified: 2,
182
+ Fcc: 4,
183
+ Bt470BG: 5,
184
+ Bt601: 6,
185
+ Smpte240: 7,
186
+ YCgCo: 8,
187
+ Bt2020Ncl: 9,
188
+ Bt2020Cl: 10,
189
+ Smpte2085: 11,
190
+ ChromatNcl: 12,
191
+ ChromatCl: 13,
192
+ ICtCp: 14,
193
+ } as const;
194
+
195
+ export class Av1 extends BitReader {
196
+ static ObuType = ObuType;
197
+ static ColorPrimaries = ColorPrimaries;
198
+ static TransferCharacteristics = TransferCharacteristics;
199
+ static MatrixCoefficients = MatrixCoefficients;
200
+
201
+ #Leb128Bytes: number = 0;
202
+
203
+ uvlc() {
204
+ let leadingZeros = 0;
205
+ while (!this.f1()) {
206
+ leadingZeros += 1;
207
+ }
208
+ if (leadingZeros >= 32) {
209
+ return 2 ** 32 - 1;
210
+ }
211
+ const value = this.f(leadingZeros);
212
+ return value + ((1 << leadingZeros) >>> 0) - 1;
213
+ }
214
+
215
+ leb128() {
216
+ if (!this.byteAligned) {
217
+ throw new Error("LEB128 must be byte-aligned");
218
+ }
219
+
220
+ let value = 0n;
221
+ this.#Leb128Bytes = 0;
222
+ for (let i = 0n; i < 8n; i += 1n) {
223
+ const leb128_byte = this.f(8);
224
+ value |= BigInt(leb128_byte & 0x7f) << (7n * i);
225
+ this.#Leb128Bytes += 1;
226
+ if ((leb128_byte & 0x80) == 0) {
227
+ break;
228
+ }
229
+ }
230
+ return value;
231
+ }
232
+
233
+ *annexBBitstream(): Generator<Av1.OpenBitstreamUnit, void, void> {
234
+ while (!this.ended) {
235
+ const temporal_unit_size = this.leb128();
236
+ yield* this.temporalUnit(temporal_unit_size);
237
+ }
238
+ }
239
+
240
+ *temporalUnit(sz: bigint): Generator<Av1.OpenBitstreamUnit, void, void> {
241
+ while (sz > 0) {
242
+ const frame_unit_size = this.leb128();
243
+ sz -= BigInt(this.#Leb128Bytes);
244
+ yield* this.frameUnit(frame_unit_size);
245
+ sz -= frame_unit_size;
246
+ }
247
+ }
248
+
249
+ *frameUnit(sz: bigint): Generator<Av1.OpenBitstreamUnit, void, void> {
250
+ while (sz > 0) {
251
+ const obu_length = this.leb128();
252
+ sz -= BigInt(this.#Leb128Bytes);
253
+ const obu = this.openBitstreamUnit(obu_length);
254
+ if (obu) {
255
+ yield obu;
256
+ }
257
+ sz -= obu_length;
258
+ }
259
+ }
260
+
261
+ #OperatingPointIdc = 0;
262
+
263
+ openBitstreamUnit(sz?: bigint) {
264
+ const obu_header = this.obuHeader();
265
+ let obu_size: bigint;
266
+ if (obu_header.obu_has_size_field) {
267
+ obu_size = this.leb128();
268
+ } else if (sz !== undefined) {
269
+ obu_size = sz - 1n - (obu_header.obu_extension_flag ? 1n : 0n);
270
+ } else {
271
+ throw new Error("obu_has_size_field must be true");
272
+ }
273
+
274
+ const startPosition = this.getPosition();
275
+
276
+ if (
277
+ obu_header.obu_type !== Av1.ObuType.SequenceHeader &&
278
+ obu_header.obu_type !== Av1.ObuType.TemporalDelimiter &&
279
+ this.#OperatingPointIdc !== 0 &&
280
+ obu_header.obu_extension_header
281
+ ) {
282
+ const inTemporalLayer = !!(
283
+ this.#OperatingPointIdc &
284
+ (1 << obu_header.obu_extension_header.temporal_id)
285
+ );
286
+ const inSpatialLayer = !!(
287
+ this.#OperatingPointIdc &
288
+ (1 << (obu_header.obu_extension_header.spatial_id + 8))
289
+ );
290
+ if (!inTemporalLayer || !inSpatialLayer) {
291
+ this.skip(Number(obu_size));
292
+ return;
293
+ }
294
+ }
295
+
296
+ let sequence_header_obu:
297
+ | ReturnType<Av1["sequenceHeaderObu"]>
298
+ | undefined;
299
+ switch (obu_header.obu_type) {
300
+ case Av1.ObuType.SequenceHeader:
301
+ sequence_header_obu = this.sequenceHeaderObu();
302
+ break;
303
+ }
304
+
305
+ const currentPosition = this.getPosition();
306
+ const payloadBits =
307
+ (currentPosition[0] - startPosition[0]) * 8 +
308
+ (startPosition[1] - currentPosition[1]);
309
+
310
+ if (
311
+ obu_size > 0 /* &&
312
+ obu_header.obu_type !== Av1.ObuType.TileGroup &&
313
+ obu_header.obu_type !== Av1.ObuType.TileList &&
314
+ obu_header.obu_type !== Av1.ObuType.Frame */
315
+ ) {
316
+ this.skip(Number(obu_size) * 8 - payloadBits);
317
+ }
318
+ return {
319
+ obu_header,
320
+ obu_size,
321
+ sequence_header_obu,
322
+ };
323
+ }
324
+
325
+ obuHeader() {
326
+ const obu_forbidden_bit = !!this.f1();
327
+ if (obu_forbidden_bit) {
328
+ throw new Error("Invalid data");
329
+ }
330
+
331
+ const obu_type = this.f(4);
332
+ const obu_extension_flag = !!this.f1();
333
+ const obu_has_size_field = !!this.f1();
334
+ this.f1();
335
+
336
+ let obu_extension_header:
337
+ | ReturnType<Av1["obuExtensionHeader"]>
338
+ | undefined;
339
+ if (obu_extension_flag) {
340
+ obu_extension_header = this.obuExtensionHeader();
341
+ }
342
+
343
+ return {
344
+ obu_type,
345
+ obu_extension_flag,
346
+ obu_has_size_field,
347
+ obu_extension_header,
348
+ };
349
+ }
350
+
351
+ obuExtensionHeader() {
352
+ const temporal_id = this.f(3);
353
+ const spatial_id = this.f(2);
354
+ this.skip(3);
355
+ return { temporal_id, spatial_id };
356
+ }
357
+
358
+ static readonly SelectScreenContentTools = 2;
359
+ static readonly SelectIntegerMv = 2;
360
+
361
+ sequenceHeaderObu() {
362
+ const seq_profile = this.f(3);
363
+ const still_picture = !!this.f1();
364
+ const reduced_still_picture_header = !!this.f1();
365
+
366
+ let timing_info_present_flag = false;
367
+ let timing_info: ReturnType<Av1["timingInfo"]> | undefined;
368
+ let decoder_model_info_present_flag = false;
369
+ let decoder_model_info: ReturnType<Av1["decoderModelInfo"]> | undefined;
370
+ let initial_display_delay_present_flag = false;
371
+ let operating_points_cnt_minus_1 = 0;
372
+ const operating_point_idc: number[] = [];
373
+ const seq_level_idx: number[] = [];
374
+ const seq_tier: number[] = [];
375
+ const decoder_model_present_for_this_op: boolean[] = [];
376
+ const initial_display_delay_present_for_this_op: boolean[] = [];
377
+ let operating_parameters_info:
378
+ | ReturnType<Av1["operatingParametersInfo"]>[]
379
+ | undefined;
380
+ let initial_display_delay_minus_1: number[] | undefined;
381
+ if (reduced_still_picture_header) {
382
+ operating_point_idc[0] = 0;
383
+ seq_level_idx[0] = this.f(5);
384
+ seq_tier[0] = 0;
385
+ decoder_model_present_for_this_op[0] = false;
386
+ initial_display_delay_present_for_this_op[0] = false;
387
+ } else {
388
+ timing_info_present_flag = !!this.f1();
389
+ if (timing_info_present_flag) {
390
+ timing_info = this.timingInfo();
391
+ decoder_model_info_present_flag = !!this.f1();
392
+ if (decoder_model_info_present_flag) {
393
+ decoder_model_info = this.decoderModelInfo();
394
+ operating_parameters_info = [];
395
+ }
396
+ }
397
+ initial_display_delay_present_flag = !!this.f1();
398
+ if (initial_display_delay_present_flag) {
399
+ initial_display_delay_minus_1 = [];
400
+ }
401
+ operating_points_cnt_minus_1 = this.f(5);
402
+ for (let i = 0; i <= operating_points_cnt_minus_1; i += 1) {
403
+ operating_point_idc[i] = this.f(12);
404
+ seq_level_idx[i] = this.f(5);
405
+ if (seq_level_idx[i]! > 7) {
406
+ seq_tier[i] = this.f1();
407
+ } else {
408
+ seq_tier[i] = 0;
409
+ }
410
+ if (decoder_model_info_present_flag) {
411
+ decoder_model_present_for_this_op[i] = !!this.f1();
412
+ if (decoder_model_present_for_this_op[i]) {
413
+ operating_parameters_info![i] =
414
+ this.operatingParametersInfo(decoder_model_info!);
415
+ }
416
+ } else {
417
+ decoder_model_present_for_this_op[i] = false;
418
+ }
419
+ if (initial_display_delay_present_flag) {
420
+ initial_display_delay_present_for_this_op[i] = !!this.f1();
421
+ if (initial_display_delay_present_for_this_op[i]) {
422
+ initial_display_delay_minus_1![i] = this.f(4);
423
+ }
424
+ }
425
+ }
426
+ }
427
+
428
+ const operatingPoint = this.chooseOperatingPoint();
429
+ this.#OperatingPointIdc = operating_point_idc[operatingPoint]!;
430
+
431
+ const frame_width_bits_minus_1 = this.f(4);
432
+ const frame_height_bits_minus_1 = this.f(4);
433
+ const max_frame_width_minus_1 = this.f(frame_width_bits_minus_1 + 1);
434
+ const max_frame_height_minus_1 = this.f(frame_height_bits_minus_1 + 1);
435
+
436
+ let frame_id_numbers_present_flag = false;
437
+ let delta_frame_id_length_minus_2: number | undefined;
438
+ let additional_frame_id_length_minus_1: number | undefined;
439
+ if (!reduced_still_picture_header) {
440
+ frame_id_numbers_present_flag = !!this.f1();
441
+ if (frame_id_numbers_present_flag) {
442
+ delta_frame_id_length_minus_2 = this.f(4);
443
+ additional_frame_id_length_minus_1 = this.f(3);
444
+ }
445
+ }
446
+
447
+ const use_128x128_superblock = !!this.f1();
448
+ const enable_filter_intra = !!this.f1();
449
+ const enable_intra_edge_filter = !!this.f1();
450
+
451
+ let enable_interintra_compound = false;
452
+ let enable_masked_compound = false;
453
+ let enable_warped_motion = false;
454
+ let enable_dual_filter = false;
455
+ let enable_order_hint = false;
456
+ let enable_jnt_comp = false;
457
+ let enable_ref_frame_mvs = false;
458
+ let seq_choose_screen_content_tools = false;
459
+ let seq_force_screen_content_tools = Av1.SelectScreenContentTools;
460
+ let seq_choose_integer_mv = false;
461
+ let seq_force_integer_mv = Av1.SelectIntegerMv;
462
+ let order_hint_bits_minus_1: number | undefined;
463
+ // let OrderHintBits = 0;
464
+ if (!reduced_still_picture_header) {
465
+ enable_interintra_compound = !!this.f1();
466
+ enable_masked_compound = !!this.f1();
467
+ enable_warped_motion = !!this.f1();
468
+ enable_dual_filter = !!this.f1();
469
+
470
+ enable_order_hint = !!this.f1();
471
+ if (enable_order_hint) {
472
+ enable_jnt_comp = !!this.f1();
473
+ enable_ref_frame_mvs = !!this.f1();
474
+ }
475
+
476
+ seq_choose_screen_content_tools = !!this.f1();
477
+ if (!seq_choose_screen_content_tools) {
478
+ seq_force_screen_content_tools = this.f1();
479
+ }
480
+
481
+ if (seq_force_screen_content_tools > 0) {
482
+ seq_choose_integer_mv = !!this.f1();
483
+ if (!seq_choose_integer_mv) {
484
+ seq_force_integer_mv = this.f1();
485
+ }
486
+ }
487
+
488
+ if (enable_order_hint) {
489
+ order_hint_bits_minus_1 = this.f(3);
490
+ // OrderHintBits = order_hint_bits_minus_1 + 1;
491
+ }
492
+ }
493
+
494
+ const enable_superres = !!this.f1();
495
+ const enable_cdef = !!this.f1();
496
+ const enable_restoration = !!this.f1();
497
+ const color_config = this.colorConfig(seq_profile);
498
+ const film_grain_params_present = !!this.f1();
499
+
500
+ return {
501
+ seq_profile,
502
+ still_picture,
503
+ reduced_still_picture_header,
504
+ timing_info_present_flag,
505
+ timing_info,
506
+ decoder_model_info_present_flag,
507
+ decoder_model_info,
508
+ initial_display_delay_present_flag,
509
+ initial_display_delay_minus_1,
510
+ operating_points_cnt_minus_1,
511
+ operating_point_idc,
512
+ seq_level_idx,
513
+ seq_tier,
514
+ decoder_model_present_for_this_op,
515
+ operating_parameters_info,
516
+ initial_display_delay_present_for_this_op,
517
+ frame_width_bits_minus_1,
518
+ frame_height_bits_minus_1,
519
+ max_frame_width_minus_1,
520
+ max_frame_height_minus_1,
521
+ frame_id_numbers_present_flag,
522
+ delta_frame_id_length_minus_2,
523
+ additional_frame_id_length_minus_1,
524
+ use_128x128_superblock,
525
+ enable_filter_intra,
526
+ enable_intra_edge_filter,
527
+ enable_interintra_compound,
528
+ enable_masked_compound,
529
+ enable_warped_motion,
530
+ enable_dual_filter,
531
+ enable_order_hint,
532
+ enable_jnt_comp,
533
+ enable_ref_frame_mvs,
534
+ seq_choose_screen_content_tools,
535
+ seq_force_screen_content_tools,
536
+ seq_choose_integer_mv,
537
+ seq_force_integer_mv,
538
+ order_hint_bits_minus_1,
539
+ enable_superres,
540
+ enable_cdef,
541
+ enable_restoration,
542
+ color_config,
543
+ film_grain_params_present,
544
+ };
545
+ }
546
+
547
+ searchSequenceHeaderObu() {
548
+ while (!this.ended) {
549
+ const obu = this.openBitstreamUnit();
550
+ if (!obu) {
551
+ continue;
552
+ }
553
+ if (obu.sequence_header_obu) {
554
+ return obu.sequence_header_obu;
555
+ }
556
+ }
557
+ return undefined;
558
+ }
559
+
560
+ timingInfo() {
561
+ const num_units_in_display_tick = this.f(32);
562
+ const time_scale = this.f(32);
563
+ const equal_picture_interval = !!this.f1();
564
+ let num_ticks_per_picture_minus_1: number | undefined;
565
+ if (equal_picture_interval) {
566
+ num_ticks_per_picture_minus_1 = this.uvlc();
567
+ }
568
+ return {
569
+ num_units_in_display_tick,
570
+ time_scale,
571
+ equal_picture_interval,
572
+ num_ticks_per_picture_minus_1,
573
+ };
574
+ }
575
+
576
+ decoderModelInfo() {
577
+ const buffer_delay_length_minus_1 = this.f(5);
578
+ const num_units_in_decoding_tick = this.f(32);
579
+ const buffer_removal_time_length_minus_1 = this.f(5);
580
+ const frame_presentation_time_length_minus_1 = this.f(5);
581
+ return {
582
+ buffer_delay_length_minus_1,
583
+ num_units_in_decoding_tick,
584
+ buffer_removal_time_length_minus_1,
585
+ frame_presentation_time_length_minus_1,
586
+ };
587
+ }
588
+
589
+ operatingParametersInfo(
590
+ decoderModelInfo: ReturnType<Av1["decoderModelInfo"]>,
591
+ ) {
592
+ const n = decoderModelInfo.buffer_delay_length_minus_1 + 1;
593
+ const decoder_buffer_delay = this.f(n);
594
+ const encoder_buffer_delay = this.f(n);
595
+ const low_delay_mode_flag = !!this.f1();
596
+ return {
597
+ decoder_buffer_delay,
598
+ encoder_buffer_delay,
599
+ low_delay_mode_flag,
600
+ };
601
+ }
602
+
603
+ chooseOperatingPoint() {
604
+ return 0;
605
+ }
606
+
607
+ colorConfig(seq_profile: number) {
608
+ const high_bitdepth = !!this.f1();
609
+ let twelve_bit = false;
610
+ let BitDepth = 8;
611
+ if (seq_profile === 2 && high_bitdepth) {
612
+ twelve_bit = !!this.f1();
613
+ BitDepth = twelve_bit ? 12 : 10;
614
+ } else if (seq_profile <= 2) {
615
+ BitDepth = high_bitdepth ? 10 : 8;
616
+ }
617
+
618
+ let mono_chrome = false;
619
+ if (seq_profile === 1) {
620
+ mono_chrome = !!this.f1();
621
+ }
622
+
623
+ // const NumPlanes = mono_chrome ? 1 : 3;
624
+
625
+ const color_description_present_flag = !!this.f1();
626
+ let color_primaries: Av1.ColorPrimaries =
627
+ Av1.ColorPrimaries.Unspecified;
628
+ let transfer_characteristics: Av1.TransferCharacteristics =
629
+ Av1.TransferCharacteristics.Unspecified;
630
+ let matrix_coefficients: Av1.MatrixCoefficients =
631
+ Av1.MatrixCoefficients.Unspecified;
632
+ if (color_description_present_flag) {
633
+ color_primaries = this.f(8) as Av1.ColorPrimaries;
634
+ transfer_characteristics = this.f(8) as Av1.TransferCharacteristics;
635
+ matrix_coefficients = this.f(8) as Av1.MatrixCoefficients;
636
+ }
637
+
638
+ let color_range = false;
639
+ let subsampling_x: boolean;
640
+ let subsampling_y: boolean;
641
+ let chroma_sample_position = 0;
642
+ let separate_uv_delta_q = false;
643
+ if (mono_chrome) {
644
+ color_range = !!this.f1();
645
+ subsampling_x = true;
646
+ subsampling_y = true;
647
+ } else {
648
+ if (
649
+ color_primaries === Av1.ColorPrimaries.Bt709 &&
650
+ transfer_characteristics === Av1.TransferCharacteristics.Srgb &&
651
+ matrix_coefficients === Av1.MatrixCoefficients.Identity
652
+ ) {
653
+ color_range = true;
654
+ subsampling_x = false;
655
+ subsampling_y = false;
656
+ } else {
657
+ color_range = !!this.f1();
658
+ switch (seq_profile) {
659
+ case 0:
660
+ subsampling_x = true;
661
+ subsampling_y = true;
662
+ break;
663
+ case 1:
664
+ subsampling_x = false;
665
+ subsampling_y = false;
666
+ break;
667
+ default:
668
+ if (BitDepth == 12) {
669
+ subsampling_x = !!this.f1();
670
+ if (subsampling_x) {
671
+ subsampling_y = !!this.f1();
672
+ } else {
673
+ subsampling_y = false;
674
+ }
675
+ } else {
676
+ subsampling_x = true;
677
+ subsampling_y = false;
678
+ }
679
+ break;
680
+ }
681
+ if (subsampling_x && subsampling_y) {
682
+ chroma_sample_position = this.f(2);
683
+ }
684
+ }
685
+ separate_uv_delta_q = !!this.f1();
686
+ }
687
+
688
+ return {
689
+ high_bitdepth,
690
+ twelve_bit,
691
+ BitDepth,
692
+ mono_chrome,
693
+ color_description_present_flag,
694
+ color_primaries,
695
+ transfer_characteristics,
696
+ matrix_coefficients,
697
+ color_range,
698
+ subsampling_x,
699
+ subsampling_y,
700
+ chroma_sample_position,
701
+ separate_uv_delta_q,
702
+ };
703
+ }
704
+ }
705
+
706
+ export namespace Av1 {
707
+ export type OpenBitstreamUnit = Exclude<
708
+ ReturnType<Av1["openBitstreamUnit"]>,
709
+ undefined
710
+ >;
711
+
712
+ export type SequenceHeaderObu = ReturnType<Av1["sequenceHeaderObu"]>;
713
+
714
+ export type ObuType = (typeof ObuType)[keyof typeof ObuType];
715
+
716
+ export type ColorPrimaries =
717
+ (typeof ColorPrimaries)[keyof typeof ColorPrimaries];
718
+
719
+ export type TransferCharacteristics =
720
+ (typeof TransferCharacteristics)[keyof typeof TransferCharacteristics];
721
+
722
+ export type MatrixCoefficients =
723
+ (typeof MatrixCoefficients)[keyof typeof MatrixCoefficients];
33
724
  }