@yume-chan/scrcpy 2.3.0 → 3.0.0-beta.1

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 (671) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/esm/1_15/impl/codec-options.d.ts +147 -0
  4. package/esm/1_15/impl/codec-options.d.ts.map +1 -0
  5. package/esm/1_15/impl/codec-options.js +231 -0
  6. package/esm/1_15/impl/codec-options.js.map +1 -0
  7. package/esm/1_15/impl/compute-option-values.d.ts +7 -0
  8. package/esm/1_15/impl/compute-option-values.d.ts.map +1 -0
  9. package/esm/1_15/impl/compute-option-values.js +12 -0
  10. package/esm/1_15/impl/compute-option-values.js.map +1 -0
  11. package/esm/1_15/impl/control-message-types.d.ts +13 -2
  12. package/esm/1_15/impl/control-message-types.d.ts.map +1 -1
  13. package/esm/1_15/impl/control-message-types.js +13 -14
  14. package/esm/1_15/impl/control-message-types.js.map +1 -1
  15. package/esm/1_15/impl/index.d.ts +3 -0
  16. package/esm/1_15/impl/index.d.ts.map +1 -1
  17. package/esm/1_15/impl/index.js +3 -0
  18. package/esm/1_15/impl/index.js.map +1 -1
  19. package/esm/1_15/impl/init.d.ts +12 -33
  20. package/esm/1_15/impl/init.d.ts.map +1 -1
  21. package/esm/1_15/impl/init.js +0 -39
  22. package/esm/1_15/impl/init.js.map +1 -1
  23. package/esm/1_15/impl/inject-touch.d.ts.map +1 -1
  24. package/esm/1_15/impl/inject-touch.js +1 -0
  25. package/esm/1_15/impl/inject-touch.js.map +1 -1
  26. package/esm/1_15/impl/media-stream-transformer.d.ts +2 -2
  27. package/esm/1_15/impl/media-stream-transformer.js +1 -1
  28. package/esm/1_15/impl/media-stream-transformer.js.map +1 -1
  29. package/esm/1_15/impl/parse-video-stream-metadata.js +4 -4
  30. package/esm/1_15/impl/parse-video-stream-metadata.js.map +1 -1
  31. package/esm/1_15/impl/scroll-controller.d.ts.map +1 -1
  32. package/esm/1_15/impl/scroll-controller.js +1 -0
  33. package/esm/1_15/impl/scroll-controller.js.map +1 -1
  34. package/esm/1_15/impl/set-clipboard.d.ts.map +1 -1
  35. package/esm/1_15/impl/set-clipboard.js +5 -1
  36. package/esm/1_15/impl/set-clipboard.js.map +1 -1
  37. package/esm/1_15/impl/set-display-power.d.ts +13 -0
  38. package/esm/1_15/impl/set-display-power.d.ts.map +1 -0
  39. package/esm/1_15/impl/set-display-power.js +16 -0
  40. package/esm/1_15/impl/set-display-power.js.map +1 -0
  41. package/esm/1_15/options.d.ts +13 -9
  42. package/esm/1_15/options.d.ts.map +1 -1
  43. package/esm/1_15/options.js +20 -2
  44. package/esm/1_15/options.js.map +1 -1
  45. package/esm/1_15_1.d.ts +1 -7
  46. package/esm/1_15_1.d.ts.map +1 -1
  47. package/esm/1_15_1.js +1 -6
  48. package/esm/1_15_1.js.map +1 -1
  49. package/esm/1_16.d.ts +1 -7
  50. package/esm/1_16.d.ts.map +1 -1
  51. package/esm/1_16.js +1 -6
  52. package/esm/1_16.js.map +1 -1
  53. package/esm/1_17/impl/defaults.d.ts.map +1 -1
  54. package/esm/1_17/impl/defaults.js +2 -2
  55. package/esm/1_17/impl/defaults.js.map +1 -1
  56. package/esm/1_17/options.d.ts +12 -9
  57. package/esm/1_17/options.d.ts.map +1 -1
  58. package/esm/1_17/options.js +20 -2
  59. package/esm/1_17/options.js.map +1 -1
  60. package/esm/1_18/impl/control-message-types.d.ts +14 -2
  61. package/esm/1_18/impl/control-message-types.d.ts.map +1 -1
  62. package/esm/1_18/impl/control-message-types.js +14 -7
  63. package/esm/1_18/impl/control-message-types.js.map +1 -1
  64. package/esm/1_18/impl/defaults.d.ts.map +1 -1
  65. package/esm/1_18/impl/defaults.js +2 -2
  66. package/esm/1_18/impl/defaults.js.map +1 -1
  67. package/esm/1_18/impl/init.d.ts +3 -3
  68. package/esm/1_18/impl/init.d.ts.map +1 -1
  69. package/esm/1_18/options.d.ts +12 -9
  70. package/esm/1_18/options.d.ts.map +1 -1
  71. package/esm/1_18/options.js +20 -2
  72. package/esm/1_18/options.js.map +1 -1
  73. package/esm/1_19.d.ts +1 -7
  74. package/esm/1_19.d.ts.map +1 -1
  75. package/esm/1_19.js +1 -6
  76. package/esm/1_19.js.map +1 -1
  77. package/esm/1_20.d.ts +1 -7
  78. package/esm/1_20.d.ts.map +1 -1
  79. package/esm/1_20.js +1 -6
  80. package/esm/1_20.js.map +1 -1
  81. package/esm/1_21/impl/compute-option-values.d.ts +23 -0
  82. package/esm/1_21/impl/compute-option-values.d.ts.map +1 -0
  83. package/esm/1_21/impl/compute-option-values.js +12 -0
  84. package/esm/1_21/impl/compute-option-values.js.map +1 -0
  85. package/esm/1_21/impl/defaults.d.ts.map +1 -1
  86. package/esm/1_21/impl/defaults.js +2 -2
  87. package/esm/1_21/impl/defaults.js.map +1 -1
  88. package/esm/1_21/impl/index.d.ts +3 -1
  89. package/esm/1_21/impl/index.d.ts.map +1 -1
  90. package/esm/1_21/impl/index.js +2 -1
  91. package/esm/1_21/impl/index.js.map +1 -1
  92. package/esm/1_21/impl/init.d.ts +1 -1
  93. package/esm/1_21/impl/init.d.ts.map +1 -1
  94. package/esm/1_21/impl/serialize.d.ts +1 -1
  95. package/esm/1_21/impl/serialize.d.ts.map +1 -1
  96. package/esm/1_21/impl/serialize.js.map +1 -1
  97. package/esm/1_21/impl/set-clipboard.d.ts +1 -0
  98. package/esm/1_21/impl/set-clipboard.d.ts.map +1 -1
  99. package/esm/1_21/impl/set-clipboard.js +7 -0
  100. package/esm/1_21/impl/set-clipboard.js.map +1 -1
  101. package/esm/1_21/options.d.ts +12 -9
  102. package/esm/1_21/options.d.ts.map +1 -1
  103. package/esm/1_21/options.js +25 -5
  104. package/esm/1_21/options.js.map +1 -1
  105. package/esm/1_22/impl/defaults.d.ts.map +1 -1
  106. package/esm/1_22/impl/defaults.js +2 -2
  107. package/esm/1_22/impl/defaults.js.map +1 -1
  108. package/esm/1_22/impl/init.d.ts +3 -3
  109. package/esm/1_22/impl/init.d.ts.map +1 -1
  110. package/esm/1_22/impl/parse-video-stream-metadata.d.ts +2 -2
  111. package/esm/1_22/impl/parse-video-stream-metadata.d.ts.map +1 -1
  112. package/esm/1_22/impl/parse-video-stream-metadata.js +3 -3
  113. package/esm/1_22/impl/parse-video-stream-metadata.js.map +1 -1
  114. package/esm/1_22/options.d.ts +12 -9
  115. package/esm/1_22/options.d.ts.map +1 -1
  116. package/esm/1_22/options.js +26 -6
  117. package/esm/1_22/options.js.map +1 -1
  118. package/esm/1_23/impl/defaults.d.ts.map +1 -1
  119. package/esm/1_23/impl/defaults.js +2 -2
  120. package/esm/1_23/impl/defaults.js.map +1 -1
  121. package/esm/1_23/impl/init.d.ts +1 -1
  122. package/esm/1_23/impl/init.d.ts.map +1 -1
  123. package/esm/1_23/impl/media-stream-transformer.d.ts +2 -2
  124. package/esm/1_23/impl/media-stream-transformer.js +1 -1
  125. package/esm/1_23/impl/media-stream-transformer.js.map +1 -1
  126. package/esm/1_23/options.d.ts +12 -9
  127. package/esm/1_23/options.d.ts.map +1 -1
  128. package/esm/1_23/options.js +26 -6
  129. package/esm/1_23/options.js.map +1 -1
  130. package/esm/1_24/impl/defaults.d.ts.map +1 -1
  131. package/esm/1_24/impl/defaults.js +2 -2
  132. package/esm/1_24/impl/defaults.js.map +1 -1
  133. package/esm/1_24/impl/init.d.ts +1 -1
  134. package/esm/1_24/impl/init.d.ts.map +1 -1
  135. package/esm/1_24/options.d.ts +12 -9
  136. package/esm/1_24/options.d.ts.map +1 -1
  137. package/esm/1_24/options.js +26 -6
  138. package/esm/1_24/options.js.map +1 -1
  139. package/esm/1_25/impl/scroll-controller.d.ts +2 -2
  140. package/esm/1_25/impl/scroll-controller.d.ts.map +1 -1
  141. package/esm/1_25/impl/scroll-controller.js +4 -4
  142. package/esm/1_25/impl/scroll-controller.js.map +1 -1
  143. package/esm/1_25/options.d.ts +12 -9
  144. package/esm/1_25/options.d.ts.map +1 -1
  145. package/esm/1_25/options.js +26 -6
  146. package/esm/1_25/options.js.map +1 -1
  147. package/esm/2_0/impl/defaults.d.ts +8 -11
  148. package/esm/2_0/impl/defaults.d.ts.map +1 -1
  149. package/esm/2_0/impl/defaults.js +2 -2
  150. package/esm/2_0/impl/defaults.js.map +1 -1
  151. package/esm/2_0/impl/index.d.ts +1 -1
  152. package/esm/2_0/impl/index.d.ts.map +1 -1
  153. package/esm/2_0/impl/index.js +1 -1
  154. package/esm/2_0/impl/index.js.map +1 -1
  155. package/esm/2_0/impl/init.d.ts +8 -8
  156. package/esm/2_0/impl/init.d.ts.map +1 -1
  157. package/esm/2_0/impl/inject-touch.d.ts +2 -2
  158. package/esm/2_0/impl/inject-touch.d.ts.map +1 -1
  159. package/esm/2_0/impl/inject-touch.js +4 -4
  160. package/esm/2_0/impl/inject-touch.js.map +1 -1
  161. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts +4 -1
  162. package/esm/2_0/impl/parse-audio-stream-metadata.d.ts.map +1 -1
  163. package/esm/2_0/impl/parse-audio-stream-metadata.js +30 -46
  164. package/esm/2_0/impl/parse-audio-stream-metadata.js.map +1 -1
  165. package/esm/2_0/impl/parse-video-stream-metadata.d.ts +5 -2
  166. package/esm/2_0/impl/parse-video-stream-metadata.d.ts.map +1 -1
  167. package/esm/2_0/impl/parse-video-stream-metadata.js +14 -12
  168. package/esm/2_0/impl/parse-video-stream-metadata.js.map +1 -1
  169. package/esm/2_0/options.d.ts +20 -20
  170. package/esm/2_0/options.d.ts.map +1 -1
  171. package/esm/2_0/options.js +27 -7
  172. package/esm/2_0/options.js.map +1 -1
  173. package/esm/2_1/impl/defaults.d.ts +8 -11
  174. package/esm/2_1/impl/defaults.d.ts.map +1 -1
  175. package/esm/2_1/impl/defaults.js +2 -2
  176. package/esm/2_1/impl/defaults.js.map +1 -1
  177. package/esm/2_1/impl/init.d.ts +3 -3
  178. package/esm/2_1/impl/init.d.ts.map +1 -1
  179. package/esm/2_1/options.d.ts +22 -22
  180. package/esm/2_1/options.d.ts.map +1 -1
  181. package/esm/2_1/options.js +27 -7
  182. package/esm/2_1/options.js.map +1 -1
  183. package/esm/2_1_1.d.ts +1 -7
  184. package/esm/2_1_1.d.ts.map +1 -1
  185. package/esm/2_1_1.js +1 -6
  186. package/esm/2_1_1.js.map +1 -1
  187. package/esm/2_2/impl/compute-option-values.d.ts +22 -0
  188. package/esm/2_2/impl/compute-option-values.d.ts.map +1 -0
  189. package/esm/2_2/impl/compute-option-values.js +11 -0
  190. package/esm/2_2/impl/compute-option-values.js.map +1 -0
  191. package/esm/2_2/impl/defaults.d.ts +8 -11
  192. package/esm/2_2/impl/defaults.d.ts.map +1 -1
  193. package/esm/2_2/impl/defaults.js +2 -2
  194. package/esm/2_2/impl/defaults.js.map +1 -1
  195. package/esm/2_2/impl/index.d.ts +2 -0
  196. package/esm/2_2/impl/index.d.ts.map +1 -1
  197. package/esm/2_2/impl/index.js +1 -0
  198. package/esm/2_2/impl/index.js.map +1 -1
  199. package/esm/2_2/impl/init.d.ts +5 -5
  200. package/esm/2_2/impl/init.d.ts.map +1 -1
  201. package/esm/2_2/options.d.ts +22 -22
  202. package/esm/2_2/options.d.ts.map +1 -1
  203. package/esm/2_2/options.js +27 -10
  204. package/esm/2_2/options.js.map +1 -1
  205. package/esm/2_3/impl/index.d.ts +1 -0
  206. package/esm/2_3/impl/index.d.ts.map +1 -1
  207. package/esm/2_3/impl/index.js +1 -0
  208. package/esm/2_3/impl/index.js.map +1 -1
  209. package/esm/2_3/impl/init.d.ts +2 -2
  210. package/esm/2_3/impl/init.d.ts.map +1 -1
  211. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts +5 -0
  212. package/esm/2_3/impl/parse-audio-stream-metadata.d.ts.map +1 -0
  213. package/esm/2_3/impl/parse-audio-stream-metadata.js +31 -0
  214. package/esm/2_3/impl/parse-audio-stream-metadata.js.map +1 -0
  215. package/esm/2_3/options.d.ts +22 -22
  216. package/esm/2_3/options.d.ts.map +1 -1
  217. package/esm/2_3/options.js +27 -10
  218. package/esm/2_3/options.js.map +1 -1
  219. package/esm/2_3_1.d.ts +1 -7
  220. package/esm/2_3_1.d.ts.map +1 -1
  221. package/esm/2_3_1.js +1 -6
  222. package/esm/2_3_1.js.map +1 -1
  223. package/esm/2_4/impl/control-message-types.d.ts +17 -2
  224. package/esm/2_4/impl/control-message-types.d.ts.map +1 -1
  225. package/esm/2_4/impl/control-message-types.js +17 -8
  226. package/esm/2_4/impl/control-message-types.js.map +1 -1
  227. package/esm/2_4/impl/serialize-uhid-create.d.ts.map +1 -1
  228. package/esm/2_4/impl/serialize-uhid-create.js +1 -0
  229. package/esm/2_4/impl/serialize-uhid-create.js.map +1 -1
  230. package/esm/2_4/options.d.ts +23 -23
  231. package/esm/2_4/options.d.ts.map +1 -1
  232. package/esm/2_4/options.js +27 -9
  233. package/esm/2_4/options.js.map +1 -1
  234. package/esm/2_5.d.ts +1 -7
  235. package/esm/2_5.d.ts.map +1 -1
  236. package/esm/2_5.js +1 -6
  237. package/esm/2_5.js.map +1 -1
  238. package/esm/2_6/impl/compute-option-values.d.ts +29 -0
  239. package/esm/2_6/impl/compute-option-values.d.ts.map +1 -0
  240. package/esm/2_6/impl/compute-option-values.js +12 -0
  241. package/esm/2_6/impl/compute-option-values.js.map +1 -0
  242. package/esm/2_6/impl/defaults.d.ts +8 -11
  243. package/esm/2_6/impl/defaults.d.ts.map +1 -1
  244. package/esm/2_6/impl/defaults.js +2 -2
  245. package/esm/2_6/impl/defaults.js.map +1 -1
  246. package/esm/2_6/impl/index.d.ts +2 -0
  247. package/esm/2_6/impl/index.d.ts.map +1 -1
  248. package/esm/2_6/impl/index.js +1 -0
  249. package/esm/2_6/impl/index.js.map +1 -1
  250. package/esm/2_6/impl/init.d.ts +3 -3
  251. package/esm/2_6/impl/init.d.ts.map +1 -1
  252. package/esm/2_6/options.d.ts +23 -23
  253. package/esm/2_6/options.d.ts.map +1 -1
  254. package/esm/2_6/options.js +27 -12
  255. package/esm/2_6/options.js.map +1 -1
  256. package/esm/2_6_1.d.ts +1 -7
  257. package/esm/2_6_1.d.ts.map +1 -1
  258. package/esm/2_6_1.js +1 -6
  259. package/esm/2_6_1.js.map +1 -1
  260. package/esm/2_7/impl/control-message-types.d.ts +18 -2
  261. package/esm/2_7/impl/control-message-types.d.ts.map +1 -1
  262. package/esm/2_7/impl/control-message-types.js +18 -7
  263. package/esm/2_7/impl/control-message-types.js.map +1 -1
  264. package/esm/2_7/impl/index.d.ts.map +1 -1
  265. package/esm/2_7/impl/index.js.map +1 -1
  266. package/esm/2_7/impl/serialize-uhid-create.d.ts.map +1 -1
  267. package/esm/2_7/impl/serialize-uhid-create.js +1 -0
  268. package/esm/2_7/impl/serialize-uhid-create.js.map +1 -1
  269. package/esm/2_7/options.d.ts +23 -23
  270. package/esm/2_7/options.d.ts.map +1 -1
  271. package/esm/2_7/options.js +27 -12
  272. package/esm/2_7/options.js.map +1 -1
  273. package/esm/3_0/impl/control-message-types.d.ts +20 -2
  274. package/esm/3_0/impl/control-message-types.d.ts.map +1 -1
  275. package/esm/3_0/impl/control-message-types.js +20 -7
  276. package/esm/3_0/impl/control-message-types.js.map +1 -1
  277. package/esm/3_0/impl/defaults.d.ts +29 -33
  278. package/esm/3_0/impl/defaults.d.ts.map +1 -1
  279. package/esm/3_0/impl/defaults.js +2 -2
  280. package/esm/3_0/impl/defaults.js.map +1 -1
  281. package/esm/3_0/impl/index.d.ts +1 -0
  282. package/esm/3_0/impl/index.d.ts.map +1 -1
  283. package/esm/3_0/impl/index.js +1 -0
  284. package/esm/3_0/impl/index.js.map +1 -1
  285. package/esm/3_0/impl/init.d.ts +4 -4
  286. package/esm/3_0/impl/init.d.ts.map +1 -1
  287. package/esm/3_0/impl/set-display-power.d.ts +12 -0
  288. package/esm/3_0/impl/set-display-power.d.ts.map +1 -0
  289. package/esm/3_0/impl/set-display-power.js +10 -0
  290. package/esm/3_0/impl/set-display-power.js.map +1 -0
  291. package/esm/3_0/options.d.ts +44 -45
  292. package/esm/3_0/options.d.ts.map +1 -1
  293. package/esm/3_0/options.js +27 -12
  294. package/esm/3_0/options.js.map +1 -1
  295. package/esm/3_0_1.d.ts +1 -7
  296. package/esm/3_0_1.d.ts.map +1 -1
  297. package/esm/3_0_1.js +1 -6
  298. package/esm/3_0_1.js.map +1 -1
  299. package/esm/3_0_2.d.ts +1 -7
  300. package/esm/3_0_2.d.ts.map +1 -1
  301. package/esm/3_0_2.js +1 -6
  302. package/esm/3_0_2.js.map +1 -1
  303. package/esm/3_1/impl/defaults.d.ts +29 -33
  304. package/esm/3_1/impl/defaults.d.ts.map +1 -1
  305. package/esm/3_1/impl/defaults.js +2 -2
  306. package/esm/3_1/impl/defaults.js.map +1 -1
  307. package/esm/3_1/impl/index.d.ts.map +1 -1
  308. package/esm/3_1/impl/index.js.map +1 -1
  309. package/esm/3_1/impl/init.d.ts +2 -2
  310. package/esm/3_1/impl/init.d.ts.map +1 -1
  311. package/esm/3_1/impl/serialize-uhid-create.d.ts.map +1 -1
  312. package/esm/3_1/impl/serialize-uhid-create.js +1 -0
  313. package/esm/3_1/impl/serialize-uhid-create.js.map +1 -1
  314. package/esm/3_1/options.d.ts +44 -45
  315. package/esm/3_1/options.d.ts.map +1 -1
  316. package/esm/3_1/options.js +27 -12
  317. package/esm/3_1/options.js.map +1 -1
  318. package/esm/3_2/impl/defaults.d.ts +29 -33
  319. package/esm/3_2/impl/defaults.d.ts.map +1 -1
  320. package/esm/3_2/impl/defaults.js +2 -2
  321. package/esm/3_2/impl/defaults.js.map +1 -1
  322. package/esm/3_2/impl/index.d.ts.map +1 -1
  323. package/esm/3_2/impl/index.js.map +1 -1
  324. package/esm/3_2/impl/init.d.ts +2 -2
  325. package/esm/3_2/impl/init.d.ts.map +1 -1
  326. package/esm/3_2/options.d.ts +44 -45
  327. package/esm/3_2/options.d.ts.map +1 -1
  328. package/esm/3_2/options.js +27 -12
  329. package/esm/3_2/options.js.map +1 -1
  330. package/esm/3_3.d.ts +1 -7
  331. package/esm/3_3.d.ts.map +1 -1
  332. package/esm/3_3.js +1 -6
  333. package/esm/3_3.js.map +1 -1
  334. package/esm/3_3_1/options.d.ts +44 -45
  335. package/esm/3_3_1/options.d.ts.map +1 -1
  336. package/esm/3_3_1/options.js +27 -12
  337. package/esm/3_3_1/options.js.map +1 -1
  338. package/esm/3_3_2.d.ts +1 -7
  339. package/esm/3_3_2.d.ts.map +1 -1
  340. package/esm/3_3_2.js +1 -6
  341. package/esm/3_3_2.js.map +1 -1
  342. package/esm/3_3_4.d.ts +2 -0
  343. package/esm/3_3_4.d.ts.map +1 -0
  344. package/esm/3_3_4.js +2 -0
  345. package/esm/3_3_4.js.map +1 -0
  346. package/esm/4_0/impl/compute-option-values.d.ts +15 -0
  347. package/esm/4_0/impl/compute-option-values.d.ts.map +1 -0
  348. package/esm/4_0/impl/compute-option-values.js +9 -0
  349. package/esm/4_0/impl/compute-option-values.js.map +1 -0
  350. package/esm/4_0/impl/control-message-types.d.ts +25 -0
  351. package/esm/4_0/impl/control-message-types.d.ts.map +1 -0
  352. package/esm/4_0/impl/control-message-types.js +26 -0
  353. package/esm/4_0/impl/control-message-types.js.map +1 -0
  354. package/esm/4_0/impl/defaults.d.ts +58 -0
  355. package/esm/4_0/impl/defaults.d.ts.map +1 -0
  356. package/esm/4_0/impl/defaults.js +12 -0
  357. package/esm/4_0/impl/defaults.js.map +1 -0
  358. package/esm/4_0/impl/index.d.ts +9 -0
  359. package/esm/4_0/impl/index.d.ts.map +1 -0
  360. package/esm/4_0/impl/index.js +7 -0
  361. package/esm/4_0/impl/index.js.map +1 -0
  362. package/esm/4_0/impl/init.d.ts +10 -0
  363. package/esm/4_0/impl/init.d.ts.map +1 -0
  364. package/esm/4_0/impl/init.js +2 -0
  365. package/esm/4_0/impl/init.js.map +1 -0
  366. package/esm/4_0/impl/media-stream-transformer.d.ts +5 -0
  367. package/esm/4_0/impl/media-stream-transformer.d.ts.map +1 -0
  368. package/esm/4_0/impl/media-stream-transformer.js +39 -0
  369. package/esm/4_0/impl/media-stream-transformer.js.map +1 -0
  370. package/esm/4_0/impl/parse-video-stream-metadata.d.ts +6 -0
  371. package/esm/4_0/impl/parse-video-stream-metadata.d.ts.map +1 -0
  372. package/esm/4_0/impl/parse-video-stream-metadata.js +21 -0
  373. package/esm/4_0/impl/parse-video-stream-metadata.js.map +1 -0
  374. package/esm/4_0/impl/prev.d.ts +2 -0
  375. package/esm/4_0/impl/prev.d.ts.map +1 -0
  376. package/esm/4_0/impl/prev.js +2 -0
  377. package/esm/4_0/impl/prev.js.map +1 -0
  378. package/esm/4_0/index.d.ts +100 -0
  379. package/esm/4_0/index.d.ts.map +1 -0
  380. package/esm/4_0/index.js +93 -0
  381. package/esm/4_0/index.js.map +1 -0
  382. package/esm/4_1/impl/control-message-types.d.ts +26 -0
  383. package/esm/4_1/impl/control-message-types.d.ts.map +1 -0
  384. package/esm/4_1/impl/control-message-types.js +27 -0
  385. package/esm/4_1/impl/control-message-types.js.map +1 -0
  386. package/esm/4_1/impl/defaults.d.ts +59 -0
  387. package/esm/4_1/impl/defaults.d.ts.map +1 -0
  388. package/esm/4_1/impl/defaults.js +6 -0
  389. package/esm/4_1/impl/defaults.js.map +1 -0
  390. package/esm/4_1/impl/index.d.ts +6 -0
  391. package/esm/4_1/impl/index.d.ts.map +1 -0
  392. package/esm/4_1/impl/index.js +5 -0
  393. package/esm/4_1/impl/index.js.map +1 -0
  394. package/esm/4_1/impl/init.d.ts +6 -0
  395. package/esm/4_1/impl/init.d.ts.map +1 -0
  396. package/esm/4_1/impl/init.js +2 -0
  397. package/esm/4_1/impl/init.js.map +1 -0
  398. package/esm/4_1/impl/parse-video-stream-metadata.d.ts +4 -0
  399. package/esm/4_1/impl/parse-video-stream-metadata.d.ts.map +1 -0
  400. package/esm/4_1/impl/parse-video-stream-metadata.js +19 -0
  401. package/esm/4_1/impl/parse-video-stream-metadata.js.map +1 -0
  402. package/esm/4_1/impl/prev.d.ts +2 -0
  403. package/esm/4_1/impl/prev.d.ts.map +1 -0
  404. package/esm/4_1/impl/prev.js +2 -0
  405. package/esm/4_1/impl/prev.js.map +1 -0
  406. package/esm/4_1/index.d.ts +101 -0
  407. package/esm/4_1/index.d.ts.map +1 -0
  408. package/esm/4_1/index.js +93 -0
  409. package/esm/4_1/index.js.map +1 -0
  410. package/esm/android/key-code-value.d.ts +176 -0
  411. package/esm/android/key-code-value.d.ts.map +1 -0
  412. package/esm/android/key-code-value.js +180 -0
  413. package/esm/android/key-code-value.js.map +1 -0
  414. package/esm/android/key-event.d.ts +3 -164
  415. package/esm/android/key-event.d.ts.map +1 -1
  416. package/esm/android/key-event.js +2 -167
  417. package/esm/android/key-event.js.map +1 -1
  418. package/esm/base/control-message-type-value.d.ts +24 -0
  419. package/esm/base/control-message-type-value.d.ts.map +1 -0
  420. package/esm/base/control-message-type-value.js +24 -0
  421. package/esm/base/control-message-type-value.js.map +1 -0
  422. package/esm/base/control-message-type.d.ts +3 -21
  423. package/esm/base/control-message-type.d.ts.map +1 -1
  424. package/esm/base/control-message-type.js +2 -21
  425. package/esm/base/control-message-type.js.map +1 -1
  426. package/esm/base/media.d.ts +8 -1
  427. package/esm/base/media.d.ts.map +1 -1
  428. package/esm/base/options.d.ts +8 -5
  429. package/esm/base/options.d.ts.map +1 -1
  430. package/esm/base/video.d.ts +1 -7
  431. package/esm/base/video.d.ts.map +1 -1
  432. package/esm/base/video.js +1 -13
  433. package/esm/base/video.js.map +1 -1
  434. package/esm/control/boolean.d.ts +10 -0
  435. package/esm/control/boolean.d.ts.map +1 -0
  436. package/esm/control/boolean.js +3 -0
  437. package/esm/control/boolean.js.map +1 -0
  438. package/esm/control/index.d.ts +2 -2
  439. package/esm/control/index.d.ts.map +1 -1
  440. package/esm/control/index.js +2 -2
  441. package/esm/control/index.js.map +1 -1
  442. package/esm/control/inject-key-code.d.ts +2 -2
  443. package/esm/control/inject-key-code.d.ts.map +1 -1
  444. package/esm/control/inject-key-code.js +4 -4
  445. package/esm/control/inject-key-code.js.map +1 -1
  446. package/esm/control/inject-text.d.ts.map +1 -1
  447. package/esm/control/inject-text.js +5 -1
  448. package/esm/control/inject-text.js.map +1 -1
  449. package/esm/control/resize-display.d.ts +12 -0
  450. package/esm/control/resize-display.d.ts.map +1 -0
  451. package/esm/control/resize-display.js +8 -0
  452. package/esm/control/resize-display.js.map +1 -0
  453. package/esm/control/serializer.d.ts +10 -2
  454. package/esm/control/serializer.d.ts.map +1 -1
  455. package/esm/control/serializer.js +57 -23
  456. package/esm/control/serializer.js.map +1 -1
  457. package/esm/control/start-app.d.ts.map +1 -1
  458. package/esm/control/start-app.js +1 -0
  459. package/esm/control/start-app.js.map +1 -1
  460. package/esm/control/uhid.d.ts +2 -2
  461. package/esm/control/uhid.d.ts.map +1 -1
  462. package/esm/control/uhid.js +9 -5
  463. package/esm/control/uhid.js.map +1 -1
  464. package/esm/control/writer.d.ts +8 -2
  465. package/esm/control/writer.d.ts.map +1 -1
  466. package/esm/control/writer.js +17 -2
  467. package/esm/control/writer.js.map +1 -1
  468. package/esm/index.d.ts +4 -1
  469. package/esm/index.d.ts.map +1 -1
  470. package/esm/index.js +4 -1
  471. package/esm/index.js.map +1 -1
  472. package/esm/latest.d.ts +2 -2
  473. package/esm/latest.d.ts.map +1 -1
  474. package/esm/latest.js +2 -2
  475. package/esm/latest.js.map +1 -1
  476. package/esm/utils/omit.d.ts +1 -1
  477. package/esm/utils/omit.d.ts.map +1 -1
  478. package/esm/video/android.d.ts +69 -0
  479. package/esm/video/android.d.ts.map +1 -0
  480. package/esm/video/android.js +70 -0
  481. package/esm/video/android.js.map +1 -0
  482. package/esm/video/codec-id.d.ts +6 -0
  483. package/esm/video/codec-id.d.ts.map +1 -0
  484. package/esm/video/codec-id.js +6 -0
  485. package/esm/video/codec-id.js.map +1 -0
  486. package/esm/video/index.d.ts +7 -0
  487. package/esm/video/index.d.ts.map +1 -0
  488. package/esm/video/index.js +15 -0
  489. package/esm/video/index.js.map +1 -0
  490. package/esm/video/size.d.ts +20 -0
  491. package/esm/video/size.d.ts.map +1 -0
  492. package/esm/video/size.js +27 -0
  493. package/esm/video/size.js.map +1 -0
  494. package/package.json +11 -10
  495. package/src/1_15/impl/codec-options.ts +287 -0
  496. package/src/1_15/impl/compute-option-values.ts +26 -0
  497. package/src/1_15/impl/control-message-types.ts +14 -14
  498. package/src/1_15/impl/index.ts +3 -0
  499. package/src/1_15/impl/init.ts +13 -87
  500. package/src/1_15/impl/inject-touch.ts +1 -0
  501. package/src/1_15/impl/media-stream-transformer.ts +3 -3
  502. package/src/1_15/impl/parse-video-stream-metadata.ts +4 -4
  503. package/src/1_15/impl/scroll-controller.ts +1 -0
  504. package/src/1_15/impl/set-clipboard.ts +5 -1
  505. package/src/1_15/impl/set-display-power.ts +29 -0
  506. package/src/1_15/options.ts +46 -11
  507. package/src/1_15_1.ts +1 -11
  508. package/src/1_16.ts +1 -11
  509. package/src/1_17/impl/defaults.ts +4 -5
  510. package/src/1_17/options.ts +47 -12
  511. package/src/1_18/impl/control-message-types.ts +15 -8
  512. package/src/1_18/impl/defaults.ts +6 -7
  513. package/src/1_18/impl/init.ts +7 -5
  514. package/src/1_18/options.ts +47 -12
  515. package/src/1_19.ts +1 -11
  516. package/src/1_20.ts +1 -11
  517. package/src/1_21/impl/compute-option-values.ts +43 -0
  518. package/src/1_21/impl/defaults.ts +4 -5
  519. package/src/1_21/impl/index.ts +10 -0
  520. package/src/1_21/impl/init.ts +1 -1
  521. package/src/1_21/impl/serialize.ts +3 -3
  522. package/src/1_21/impl/set-clipboard.ts +14 -0
  523. package/src/1_21/options.ts +56 -17
  524. package/src/1_22/impl/defaults.ts +6 -7
  525. package/src/1_22/impl/init.ts +3 -3
  526. package/src/1_22/impl/parse-video-stream-metadata.ts +4 -4
  527. package/src/1_22/options.ts +57 -18
  528. package/src/1_23/impl/defaults.ts +4 -5
  529. package/src/1_23/impl/init.ts +1 -1
  530. package/src/1_23/impl/media-stream-transformer.ts +3 -3
  531. package/src/1_23/options.ts +57 -18
  532. package/src/1_24/impl/defaults.ts +4 -5
  533. package/src/1_24/impl/init.ts +1 -1
  534. package/src/1_24/options.ts +57 -18
  535. package/src/1_25/impl/scroll-controller.ts +14 -15
  536. package/src/1_25/options.ts +57 -18
  537. package/src/2_0/impl/defaults.ts +3 -2
  538. package/src/2_0/impl/index.ts +5 -1
  539. package/src/2_0/impl/init.ts +12 -10
  540. package/src/2_0/impl/inject-touch.ts +16 -17
  541. package/src/2_0/impl/parse-audio-stream-metadata.ts +37 -51
  542. package/src/2_0/impl/parse-video-stream-metadata.ts +24 -21
  543. package/src/2_0/options.ts +73 -19
  544. package/src/2_1/impl/defaults.ts +5 -6
  545. package/src/2_1/impl/init.ts +3 -3
  546. package/src/2_1/options.ts +76 -22
  547. package/src/2_1_1.ts +1 -14
  548. package/src/2_2/generate-type-tests.js +106 -0
  549. package/src/2_2/impl/compute-option-values.ts +44 -0
  550. package/src/2_2/impl/defaults.ts +13 -14
  551. package/src/2_2/impl/index.ts +2 -0
  552. package/src/2_2/impl/init.ts +5 -5
  553. package/src/2_2/options.ts +76 -26
  554. package/src/2_3/impl/index.ts +4 -0
  555. package/src/2_3/impl/init.ts +2 -3
  556. package/src/2_3/impl/parse-audio-stream-metadata.ts +36 -0
  557. package/src/2_3/options.ts +76 -26
  558. package/src/2_3_1.ts +1 -14
  559. package/src/2_4/impl/control-message-types.ts +18 -9
  560. package/src/2_4/impl/serialize-uhid-create.ts +1 -0
  561. package/src/2_4/options.ts +83 -30
  562. package/src/2_5.ts +1 -14
  563. package/src/2_6/generate-type-tests.js +119 -0
  564. package/src/2_6/impl/compute-option-values.ts +48 -0
  565. package/src/2_6/impl/defaults.ts +4 -5
  566. package/src/2_6/impl/index.ts +9 -0
  567. package/src/2_6/impl/init.ts +3 -4
  568. package/src/2_6/options.ts +83 -34
  569. package/src/2_6_1.ts +1 -14
  570. package/src/2_7/impl/control-message-types.ts +19 -8
  571. package/src/2_7/impl/index.ts +1 -0
  572. package/src/2_7/impl/serialize-uhid-create.ts +1 -0
  573. package/src/2_7/options.ts +83 -34
  574. package/src/3_0/impl/control-message-types.ts +21 -8
  575. package/src/3_0/impl/defaults.ts +4 -3
  576. package/src/3_0/impl/index.ts +5 -0
  577. package/src/3_0/impl/init.ts +4 -5
  578. package/src/3_0/impl/set-display-power.ts +23 -0
  579. package/src/3_0/options.ts +83 -34
  580. package/src/3_0_1.ts +1 -14
  581. package/src/3_0_2.ts +1 -14
  582. package/src/3_1/impl/defaults.ts +4 -5
  583. package/src/3_1/impl/index.ts +1 -0
  584. package/src/3_1/impl/init.ts +2 -2
  585. package/src/3_1/impl/serialize-uhid-create.ts +1 -0
  586. package/src/3_1/options.ts +83 -34
  587. package/src/3_2/impl/defaults.ts +4 -5
  588. package/src/3_2/impl/index.ts +1 -0
  589. package/src/3_2/impl/init.ts +2 -3
  590. package/src/3_2/options.ts +83 -34
  591. package/src/3_3.ts +1 -14
  592. package/src/3_3_1/options.ts +83 -34
  593. package/src/3_3_2.ts +1 -14
  594. package/src/3_3_4.ts +1 -0
  595. package/src/4_0/impl/compute-option-values.ts +31 -0
  596. package/src/4_0/impl/control-message-types.ts +27 -0
  597. package/src/4_0/impl/defaults.ts +20 -0
  598. package/src/4_0/impl/index.ts +9 -0
  599. package/src/4_0/impl/init.ts +14 -0
  600. package/src/4_0/impl/media-stream-transformer.ts +58 -0
  601. package/src/4_0/impl/parse-video-stream-metadata.ts +34 -0
  602. package/src/4_0/impl/prev.ts +1 -0
  603. package/src/4_0/index.ts +226 -0
  604. package/src/4_1/impl/control-message-types.ts +28 -0
  605. package/src/4_1/impl/defaults.ts +8 -0
  606. package/src/4_1/impl/index.ts +6 -0
  607. package/src/4_1/impl/init.ts +7 -0
  608. package/src/4_1/impl/parse-video-stream-metadata.ts +23 -0
  609. package/src/4_1/impl/prev.ts +1 -0
  610. package/src/4_1/index.ts +226 -0
  611. package/src/android/key-code-value.ts +194 -0
  612. package/src/android/key-event.ts +5 -182
  613. package/src/base/control-message-type-value.ts +23 -0
  614. package/src/base/control-message-type.ts +6 -22
  615. package/src/base/media.ts +12 -3
  616. package/src/base/options.ts +20 -6
  617. package/src/base/video.ts +2 -19
  618. package/src/control/boolean.ts +9 -0
  619. package/src/control/index.ts +2 -2
  620. package/src/control/inject-key-code.ts +11 -12
  621. package/src/control/inject-text.ts +5 -1
  622. package/src/control/resize-display.ts +16 -0
  623. package/src/control/serializer.ts +70 -44
  624. package/src/control/start-app.ts +1 -0
  625. package/src/control/uhid.ts +14 -12
  626. package/src/control/writer.ts +24 -6
  627. package/src/index.ts +4 -1
  628. package/src/latest.ts +4 -2
  629. package/src/utils/omit.ts +1 -1
  630. package/src/video/android.ts +72 -0
  631. package/src/video/codec-id.ts +6 -0
  632. package/src/video/index.ts +21 -0
  633. package/src/video/size.ts +46 -0
  634. package/tsconfig.build.json +0 -8
  635. package/CHANGELOG.md +0 -224
  636. package/esm/codec/av1.d.ts +0 -462
  637. package/esm/codec/av1.d.ts.map +0 -1
  638. package/esm/codec/av1.js +0 -622
  639. package/esm/codec/av1.js.map +0 -1
  640. package/esm/codec/h264.d.ts +0 -78
  641. package/esm/codec/h264.d.ts.map +0 -1
  642. package/esm/codec/h264.js +0 -254
  643. package/esm/codec/h264.js.map +0 -1
  644. package/esm/codec/h265.d.ts +0 -535
  645. package/esm/codec/h265.d.ts.map +0 -1
  646. package/esm/codec/h265.js +0 -1117
  647. package/esm/codec/h265.js.map +0 -1
  648. package/esm/codec/index.d.ts +0 -5
  649. package/esm/codec/index.d.ts.map +0 -1
  650. package/esm/codec/index.js +0 -5
  651. package/esm/codec/index.js.map +0 -1
  652. package/esm/codec/nalu.d.ts +0 -28
  653. package/esm/codec/nalu.d.ts.map +0 -1
  654. package/esm/codec/nalu.js +0 -250
  655. package/esm/codec/nalu.js.map +0 -1
  656. package/esm/control/message-type-map.d.ts +0 -15
  657. package/esm/control/message-type-map.d.ts.map +0 -1
  658. package/esm/control/message-type-map.js +0 -23
  659. package/esm/control/message-type-map.js.map +0 -1
  660. package/esm/control/set-screen-power-mode.d.ts +0 -11
  661. package/esm/control/set-screen-power-mode.d.ts.map +0 -1
  662. package/esm/control/set-screen-power-mode.js +0 -3
  663. package/esm/control/set-screen-power-mode.js.map +0 -1
  664. package/src/codec/av1.ts +0 -724
  665. package/src/codec/h264.ts +0 -317
  666. package/src/codec/h265.ts +0 -1410
  667. package/src/codec/index.ts +0 -4
  668. package/src/codec/nalu.ts +0 -304
  669. package/src/control/message-type-map.ts +0 -30
  670. package/src/control/set-screen-power-mode.ts +0 -13
  671. package/tsconfig.build.tsbuildinfo +0 -1
package/src/codec/av1.ts DELETED
@@ -1,724 +0,0 @@
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
- }
127
- }
128
-
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];
724
- }