@yume-chan/scrcpy 0.0.19 → 0.0.21

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 (278) hide show
  1. package/CHANGELOG.json +30 -0
  2. package/CHANGELOG.md +17 -1
  3. package/README.md +76 -266
  4. package/esm/codec/av1.js +2 -2
  5. package/esm/codec/av1.js.map +1 -1
  6. package/esm/codec/h264.d.ts +1 -21
  7. package/esm/codec/h264.d.ts.map +1 -1
  8. package/esm/codec/h264.js +15 -236
  9. package/esm/codec/h264.js.map +1 -1
  10. package/esm/codec/h265.d.ts +454 -0
  11. package/esm/codec/h265.d.ts.map +1 -1
  12. package/esm/codec/h265.js +1062 -2
  13. package/esm/codec/h265.js.map +1 -1
  14. package/esm/codec/index.d.ts +1 -0
  15. package/esm/codec/index.d.ts.map +1 -1
  16. package/esm/codec/index.js +1 -0
  17. package/esm/codec/index.js.map +1 -1
  18. package/esm/codec/nalu.d.ts +37 -0
  19. package/esm/codec/nalu.d.ts.map +1 -0
  20. package/esm/codec/nalu.js +323 -0
  21. package/esm/codec/nalu.js.map +1 -0
  22. package/esm/control/back-or-screen-on.d.ts +1 -1
  23. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  24. package/esm/control/hover-helper.d.ts +1 -1
  25. package/esm/control/hover-helper.d.ts.map +1 -1
  26. package/esm/control/hover-helper.js +8 -9
  27. package/esm/control/hover-helper.js.map +1 -1
  28. package/esm/control/index.d.ts +2 -0
  29. package/esm/control/index.d.ts.map +1 -1
  30. package/esm/control/index.js +2 -0
  31. package/esm/control/index.js.map +1 -1
  32. package/esm/control/inject-keycode.d.ts +1 -2
  33. package/esm/control/inject-keycode.d.ts.map +1 -1
  34. package/esm/control/inject-keycode.js +4 -5
  35. package/esm/control/inject-keycode.js.map +1 -1
  36. package/esm/control/inject-text.d.ts +1 -2
  37. package/esm/control/inject-text.d.ts.map +1 -1
  38. package/esm/control/inject-text.js +1 -2
  39. package/esm/control/inject-text.js.map +1 -1
  40. package/esm/control/inject-touch.d.ts +15 -20
  41. package/esm/control/inject-touch.d.ts.map +1 -1
  42. package/esm/control/inject-touch.js +16 -43
  43. package/esm/control/inject-touch.js.map +1 -1
  44. package/esm/control/rotate-device.d.ts +2 -4
  45. package/esm/control/rotate-device.d.ts.map +1 -1
  46. package/esm/control/rotate-device.js +2 -3
  47. package/esm/control/rotate-device.js.map +1 -1
  48. package/esm/control/serializer.d.ts +11 -23
  49. package/esm/control/serializer.d.ts.map +1 -1
  50. package/esm/control/serializer.js +23 -52
  51. package/esm/control/serializer.js.map +1 -1
  52. package/esm/control/set-screen-power-mode.d.ts +1 -2
  53. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  54. package/esm/control/set-screen-power-mode.js +2 -3
  55. package/esm/control/set-screen-power-mode.js.map +1 -1
  56. package/esm/control/type.d.ts +14 -0
  57. package/esm/control/type.d.ts.map +1 -1
  58. package/esm/control/type.js +23 -1
  59. package/esm/control/type.js.map +1 -1
  60. package/esm/control/writer.d.ts +26 -0
  61. package/esm/control/writer.d.ts.map +1 -0
  62. package/esm/control/writer.js +53 -0
  63. package/esm/control/writer.js.map +1 -0
  64. package/esm/device-message/stream.d.ts.map +1 -1
  65. package/esm/device-message/stream.js +23 -8
  66. package/esm/device-message/stream.js.map +1 -1
  67. package/esm/device-message/type.js +1 -1
  68. package/esm/device-message/type.js.map +1 -1
  69. package/esm/index.d.ts +1 -2
  70. package/esm/index.d.ts.map +1 -1
  71. package/esm/index.js +1 -2
  72. package/esm/index.js.map +1 -1
  73. package/esm/options/1_16/codec-options.d.ts +2 -3
  74. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  75. package/esm/options/1_16/codec-options.js.map +1 -1
  76. package/esm/options/1_16/index.d.ts +3 -1
  77. package/esm/options/1_16/index.d.ts.map +1 -1
  78. package/esm/options/1_16/index.js +3 -1
  79. package/esm/options/1_16/index.js.map +1 -1
  80. package/esm/options/1_16/init.js +2 -2
  81. package/esm/options/1_16/init.js.map +1 -1
  82. package/esm/options/1_16/options.d.ts +42 -96
  83. package/esm/options/1_16/options.d.ts.map +1 -1
  84. package/esm/options/1_16/options.js +104 -142
  85. package/esm/options/1_16/options.js.map +1 -1
  86. package/esm/options/1_16/scroll.d.ts +2 -4
  87. package/esm/options/1_16/scroll.d.ts.map +1 -1
  88. package/esm/options/1_16/scroll.js +13 -14
  89. package/esm/options/1_16/scroll.js.map +1 -1
  90. package/esm/options/1_17.d.ts +1 -0
  91. package/esm/options/1_17.d.ts.map +1 -1
  92. package/esm/options/1_17.js +8 -3
  93. package/esm/options/1_17.js.map +1 -1
  94. package/esm/options/1_18.d.ts +49 -11
  95. package/esm/options/1_18.d.ts.map +1 -1
  96. package/esm/options/1_18.js +64 -32
  97. package/esm/options/1_18.js.map +1 -1
  98. package/esm/options/1_21.d.ts +26 -7
  99. package/esm/options/1_21.d.ts.map +1 -1
  100. package/esm/options/1_21.js +34 -20
  101. package/esm/options/1_21.js.map +1 -1
  102. package/esm/options/1_22/index.d.ts +1 -0
  103. package/esm/options/1_22/index.d.ts.map +1 -1
  104. package/esm/options/1_22/index.js +1 -0
  105. package/esm/options/1_22/index.js.map +1 -1
  106. package/esm/options/1_22/options.d.ts +32 -26
  107. package/esm/options/1_22/options.d.ts.map +1 -1
  108. package/esm/options/1_22/options.js +26 -16
  109. package/esm/options/1_22/options.js.map +1 -1
  110. package/esm/options/1_22/scroll.d.ts +1 -1
  111. package/esm/options/1_22/scroll.d.ts.map +1 -1
  112. package/esm/options/1_22/scroll.js +1 -1
  113. package/esm/options/1_22/scroll.js.map +1 -1
  114. package/esm/options/1_23.d.ts +32 -8
  115. package/esm/options/1_23.d.ts.map +1 -1
  116. package/esm/options/1_23.js +23 -14
  117. package/esm/options/1_23.js.map +1 -1
  118. package/esm/options/1_24.d.ts +29 -4
  119. package/esm/options/1_24.d.ts.map +1 -1
  120. package/esm/options/1_24.js +16 -7
  121. package/esm/options/1_24.js.map +1 -1
  122. package/esm/options/1_25/options.d.ts +6 -2
  123. package/esm/options/1_25/options.d.ts.map +1 -1
  124. package/esm/options/1_25/options.js +16 -2
  125. package/esm/options/1_25/options.js.map +1 -1
  126. package/esm/options/1_25/scroll.d.ts.map +1 -1
  127. package/esm/options/1_25/scroll.js +2 -1
  128. package/esm/options/1_25/scroll.js.map +1 -1
  129. package/esm/options/2_0.d.ts +12 -8
  130. package/esm/options/2_0.d.ts.map +1 -1
  131. package/esm/options/2_0.js +82 -15
  132. package/esm/options/2_0.js.map +1 -1
  133. package/esm/options/2_1.d.ts +48 -0
  134. package/esm/options/2_1.d.ts.map +1 -0
  135. package/esm/options/2_1.js +23 -0
  136. package/esm/options/2_1.js.map +1 -0
  137. package/esm/options/codec.d.ts +4 -4
  138. package/esm/options/codec.d.ts.map +1 -1
  139. package/esm/options/codec.js +5 -6
  140. package/esm/options/codec.js.map +1 -1
  141. package/esm/options/index.d.ts +5 -0
  142. package/esm/options/index.d.ts.map +1 -1
  143. package/esm/options/index.js +5 -0
  144. package/esm/options/index.js.map +1 -1
  145. package/esm/options/latest.d.ts +4 -5
  146. package/esm/options/latest.d.ts.map +1 -1
  147. package/esm/options/latest.js +2 -3
  148. package/esm/options/latest.js.map +1 -1
  149. package/esm/options/types.d.ts +74 -33
  150. package/esm/options/types.d.ts.map +1 -1
  151. package/esm/options/types.js +62 -0
  152. package/esm/options/types.js.map +1 -1
  153. package/package.json +9 -19
  154. package/src/codec/av1.ts +33 -0
  155. package/src/codec/h264.ts +317 -0
  156. package/src/codec/h265.ts +1375 -0
  157. package/src/codec/index.ts +4 -0
  158. package/src/codec/nalu.ts +391 -0
  159. package/src/control/back-or-screen-on.ts +1 -1
  160. package/{esm/control/simple.js → src/control/basic.ts} +3 -3
  161. package/src/control/hover-helper.ts +10 -11
  162. package/src/control/index.ts +2 -0
  163. package/src/control/inject-keycode.ts +1 -3
  164. package/src/control/inject-text.ts +1 -3
  165. package/src/control/inject-touch.ts +16 -55
  166. package/src/control/rotate-device.ts +2 -7
  167. package/src/control/serializer.ts +50 -113
  168. package/src/control/set-screen-power-mode.ts +1 -3
  169. package/src/control/type.ts +32 -0
  170. package/src/control/writer.ts +85 -0
  171. package/src/device-message/stream.ts +32 -12
  172. package/src/index.ts +1 -2
  173. package/src/options/1_16/codec-options.ts +6 -7
  174. package/src/options/1_16/float-to-uint16.ts +33 -0
  175. package/src/options/1_16/index.ts +3 -1
  176. package/src/options/1_16/init.ts +80 -0
  177. package/src/options/1_16/message.ts +55 -0
  178. package/src/options/1_16/options.ts +147 -260
  179. package/src/options/1_16/scroll.ts +17 -18
  180. package/src/options/1_17.ts +66 -0
  181. package/src/options/1_18.ts +103 -39
  182. package/src/options/1_21.ts +49 -27
  183. package/src/options/1_22/index.ts +1 -0
  184. package/src/options/1_22/init.ts +19 -0
  185. package/src/options/1_22/options.ts +38 -45
  186. package/src/options/1_22/scroll.ts +3 -3
  187. package/src/options/1_23.ts +34 -22
  188. package/src/options/1_24.ts +23 -11
  189. package/src/options/1_25/options.ts +22 -4
  190. package/src/options/1_25/scroll.ts +4 -3
  191. package/src/options/2_0.ts +342 -0
  192. package/src/options/2_1.ts +35 -0
  193. package/src/options/codec.ts +98 -0
  194. package/src/options/index.ts +5 -0
  195. package/src/options/latest.ts +12 -0
  196. package/src/options/types.ts +164 -43
  197. package/tsconfig.build.json +9 -1
  198. package/tsconfig.build.tsbuildinfo +1 -1
  199. package/bin/scrcpy-server +0 -0
  200. package/bin/version.d.ts +0 -1
  201. package/bin/version.js +0 -1
  202. package/esm/adb/client.d.ts +0 -41
  203. package/esm/adb/client.d.ts.map +0 -1
  204. package/esm/adb/client.js +0 -224
  205. package/esm/adb/client.js.map +0 -1
  206. package/esm/adb/connection.d.ts +0 -49
  207. package/esm/adb/connection.d.ts.map +0 -1
  208. package/esm/adb/connection.js +0 -122
  209. package/esm/adb/connection.js.map +0 -1
  210. package/esm/adb/index.d.ts +0 -4
  211. package/esm/adb/index.d.ts.map +0 -1
  212. package/esm/adb/index.js +0 -4
  213. package/esm/adb/index.js.map +0 -1
  214. package/esm/adb/options/1_16.d.ts +0 -8
  215. package/esm/adb/options/1_16.d.ts.map +0 -1
  216. package/esm/adb/options/1_16.js +0 -20
  217. package/esm/adb/options/1_16.js.map +0 -1
  218. package/esm/adb/options/1_22.d.ts +0 -8
  219. package/esm/adb/options/1_22.d.ts.map +0 -1
  220. package/esm/adb/options/1_22.js +0 -17
  221. package/esm/adb/options/1_22.js.map +0 -1
  222. package/esm/adb/options/1_26.d.ts +0 -9
  223. package/esm/adb/options/1_26.d.ts.map +0 -1
  224. package/esm/adb/options/1_26.js +0 -11
  225. package/esm/adb/options/1_26.js.map +0 -1
  226. package/esm/adb/options/2_0.d.ts +0 -8
  227. package/esm/adb/options/2_0.d.ts.map +0 -1
  228. package/esm/adb/options/2_0.js +0 -13
  229. package/esm/adb/options/2_0.js.map +0 -1
  230. package/esm/adb/options/index.d.ts +0 -4
  231. package/esm/adb/options/index.d.ts.map +0 -1
  232. package/esm/adb/options/index.js +0 -4
  233. package/esm/adb/options/index.js.map +0 -1
  234. package/esm/adb/options/types.d.ts +0 -24
  235. package/esm/adb/options/types.d.ts.map +0 -1
  236. package/esm/adb/options/types.js +0 -37
  237. package/esm/adb/options/types.js.map +0 -1
  238. package/esm/codec.d.ts +0 -34
  239. package/esm/codec.d.ts.map +0 -1
  240. package/esm/codec.js +0 -37
  241. package/esm/codec.js.map +0 -1
  242. package/esm/control/simple.d.ts +0 -5
  243. package/esm/control/simple.d.ts.map +0 -1
  244. package/esm/control/simple.js.map +0 -1
  245. package/esm/decoder.d.ts +0 -2
  246. package/esm/decoder.d.ts.map +0 -1
  247. package/esm/decoder.js +0 -2
  248. package/esm/decoder.js.map +0 -1
  249. package/esm/options/1.17.d.ts +0 -3
  250. package/esm/options/1.17.d.ts.map +0 -1
  251. package/esm/options/1.17.js +0 -2
  252. package/esm/options/1.17.js.map +0 -1
  253. package/esm/options/1_16/h264-configuration.d.ts +0 -49
  254. package/esm/options/1_16/h264-configuration.d.ts.map +0 -1
  255. package/esm/options/1_16/h264-configuration.js +0 -414
  256. package/esm/options/1_16/h264-configuration.js.map +0 -1
  257. package/esm/options/1_16/sps.d.ts +0 -22
  258. package/esm/options/1_16/sps.d.ts.map +0 -1
  259. package/esm/options/1_16/sps.js +0 -263
  260. package/esm/options/1_16/sps.js.map +0 -1
  261. package/esm/options/1_26.d.ts +0 -57
  262. package/esm/options/1_26.d.ts.map +0 -1
  263. package/esm/options/1_26.js +0 -67
  264. package/esm/options/1_26.js.map +0 -1
  265. package/esm/options/2.d.ts +0 -57
  266. package/esm/options/2.d.ts.map +0 -1
  267. package/esm/options/2.js +0 -67
  268. package/esm/options/2.js.map +0 -1
  269. package/scripts/fetch-server.cjs +0 -38
  270. package/src/adb/client.ts +0 -329
  271. package/src/adb/connection.ts +0 -209
  272. package/src/adb/index.ts +0 -3
  273. package/src/adb/options/1_16.ts +0 -32
  274. package/src/adb/options/1_22.ts +0 -26
  275. package/src/adb/options/index.ts +0 -3
  276. package/src/adb/options/types.ts +0 -75
  277. package/src/codec.ts +0 -35
  278. package/src/options/1_16/h264-configuration.ts +0 -485
@@ -1,22 +0,0 @@
1
- export declare function parse_sequence_parameter_set(buffer: ArrayBuffer): {
2
- profile_idc: number;
3
- constraint_set: number;
4
- constraint_set0_flag: boolean;
5
- constraint_set1_flag: boolean;
6
- constraint_set2_flag: boolean;
7
- constraint_set3_flag: boolean;
8
- constraint_set4_flag: boolean;
9
- constraint_set5_flag: boolean;
10
- level_idc: number;
11
- seq_parameter_set_id: number;
12
- pic_width_in_mbs_minus1: number;
13
- pic_height_in_map_units_minus1: number;
14
- frame_mbs_only_flag: number;
15
- frame_cropping_flag: boolean;
16
- frame_crop_left_offset: number;
17
- frame_crop_right_offset: number;
18
- frame_crop_top_offset: number;
19
- frame_crop_bottom_offset: number;
20
- };
21
- export type SequenceParameterSet = ReturnType<typeof parse_sequence_parameter_set>;
22
- //# sourceMappingURL=sps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sps.d.ts","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"AA6IA,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW;;;;;;;;;;;;;;;;;;;EA+K/D;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,CACzC,OAAO,4BAA4B,CACtC,CAAC"}
@@ -1,263 +0,0 @@
1
- // cspell: ignore golomb
2
- // cspell: ignore qpprime
3
- class BitReader {
4
- buffer;
5
- bytePosition = 0;
6
- bitPosition = 0;
7
- constructor(buffer) {
8
- this.buffer = buffer;
9
- }
10
- read(length) {
11
- let result = 0;
12
- for (let i = 0; i < length; i += 1) {
13
- result = (result << 1) | this.next();
14
- }
15
- return result;
16
- }
17
- next() {
18
- const value = (this.buffer[this.bytePosition] >> (7 - this.bitPosition)) & 1;
19
- this.bitPosition += 1;
20
- if (this.bitPosition === 8) {
21
- this.bytePosition += 1;
22
- this.bitPosition = 0;
23
- }
24
- return value;
25
- }
26
- decodeExponentialGolombNumber() {
27
- let length = 0;
28
- while (this.next() === 0) {
29
- length += 1;
30
- }
31
- if (length === 0) {
32
- return 0;
33
- }
34
- return ((1 << length) | this.read(length)) - 1;
35
- }
36
- }
37
- function* iterateNalu(buffer) {
38
- // -1 means we haven't found the first start code
39
- let start = -1;
40
- let writeIndex = 0;
41
- // How many `0x00`s in a row we have counted
42
- let zeroCount = 0;
43
- let inEmulation = false;
44
- for (const byte of buffer) {
45
- buffer[writeIndex] = byte;
46
- writeIndex += 1;
47
- if (inEmulation) {
48
- if (byte > 0x03) {
49
- // `0x00000304` or larger are invalid
50
- throw new Error("Invalid data");
51
- }
52
- inEmulation = false;
53
- continue;
54
- }
55
- if (byte == 0x00) {
56
- zeroCount += 1;
57
- continue;
58
- }
59
- const lastZeroCount = zeroCount;
60
- zeroCount = 0;
61
- if (start === -1) {
62
- // 0x000001 is the start code
63
- // But it can be preceded by any number of zeros
64
- // So 2 is the minimal
65
- if (lastZeroCount >= 2 && byte === 0x01) {
66
- // Found start of first NAL unit
67
- writeIndex = 0;
68
- start = 0;
69
- continue;
70
- }
71
- // Not begin with start code
72
- throw new Error("Invalid data");
73
- }
74
- if (lastZeroCount < 2) {
75
- // zero or one `0x00`s are acceptable
76
- continue;
77
- }
78
- if (byte === 0x01) {
79
- // Remove all leading `0x00`s and this `0x01`
80
- writeIndex -= lastZeroCount + 1;
81
- // Found another NAL unit
82
- yield buffer.subarray(start, writeIndex);
83
- start = writeIndex;
84
- continue;
85
- }
86
- if (lastZeroCount > 2) {
87
- // Too much `0x00`s
88
- throw new Error("Invalid data");
89
- }
90
- switch (byte) {
91
- case 0x02:
92
- // Didn't find why, but 7.4.1 NAL unit semantics forbids `0x000002` appearing in NAL units
93
- throw new Error("Invalid data");
94
- case 0x03:
95
- // `0x000003` is the "emulation_prevention_three_byte"
96
- // `0x00000300`, `0x00000301`, `0x00000302` and `0x00000303` represent
97
- // `0x000000`, `0x000001`, `0x000002` and `0x000003` respectively
98
- // Remove current byte
99
- writeIndex -= 1;
100
- inEmulation = true;
101
- break;
102
- default:
103
- // `0x000004` or larger are ok
104
- break;
105
- }
106
- }
107
- if (inEmulation || zeroCount !== 0) {
108
- throw new Error("Invalid data");
109
- }
110
- yield buffer.subarray(start, writeIndex);
111
- }
112
- // 7.3.2.1.1 Sequence parameter set data syntax
113
- export function parse_sequence_parameter_set(buffer) {
114
- for (const nalu of iterateNalu(new Uint8Array(buffer))) {
115
- const reader = new BitReader(nalu);
116
- if (reader.next() !== 0) {
117
- throw new Error("Invalid data");
118
- }
119
- const nal_ref_idc = reader.read(2);
120
- const nal_unit_type = reader.read(5);
121
- if (nal_unit_type !== 7) {
122
- continue;
123
- }
124
- if (nal_ref_idc === 0) {
125
- throw new Error("Invalid data");
126
- }
127
- const profile_idc = reader.read(8);
128
- const constraint_set = reader.read(8);
129
- const constraint_set_reader = new BitReader(new Uint8Array([constraint_set]));
130
- const constraint_set0_flag = !!constraint_set_reader.next();
131
- const constraint_set1_flag = !!constraint_set_reader.next();
132
- const constraint_set2_flag = !!constraint_set_reader.next();
133
- const constraint_set3_flag = !!constraint_set_reader.next();
134
- const constraint_set4_flag = !!constraint_set_reader.next();
135
- const constraint_set5_flag = !!constraint_set_reader.next();
136
- // reserved_zero_2bits
137
- if (constraint_set_reader.read(2) !== 0) {
138
- throw new Error("Invalid data");
139
- }
140
- const level_idc = reader.read(8);
141
- const seq_parameter_set_id = reader.decodeExponentialGolombNumber();
142
- if (profile_idc === 100 ||
143
- profile_idc === 110 ||
144
- profile_idc === 122 ||
145
- profile_idc === 244 ||
146
- profile_idc === 44 ||
147
- profile_idc === 83 ||
148
- profile_idc === 86 ||
149
- profile_idc === 118 ||
150
- profile_idc === 128 ||
151
- profile_idc === 138 ||
152
- profile_idc === 139 ||
153
- profile_idc === 134) {
154
- const chroma_format_idc = reader.decodeExponentialGolombNumber();
155
- if (chroma_format_idc === 3) {
156
- // separate_colour_plane_flag
157
- reader.next();
158
- }
159
- // bit_depth_luma_minus8
160
- reader.decodeExponentialGolombNumber();
161
- // bit_depth_chroma_minus8
162
- reader.decodeExponentialGolombNumber();
163
- // qpprime_y_zero_transform_bypass_flag
164
- reader.next();
165
- const seq_scaling_matrix_present_flag = !!reader.next();
166
- if (seq_scaling_matrix_present_flag) {
167
- const seq_scaling_list_present_flag = [];
168
- for (let i = 0; i < (chroma_format_idc !== 3 ? 8 : 12); i += 1) {
169
- seq_scaling_list_present_flag[i] = !!reader.next();
170
- if (seq_scaling_list_present_flag[i])
171
- if (i < 6) {
172
- // TODO
173
- // scaling_list( ScalingList4x4[ i ], 16,
174
- // UseDefaultScalingMatrix4x4Flag[ i ])
175
- }
176
- else {
177
- // TODO
178
- // scaling_list( ScalingList8x8[ i − 6 ], 64,
179
- // UseDefaultScalingMatrix8x8Flag[ i − 6 ] )
180
- }
181
- }
182
- }
183
- }
184
- // log2_max_frame_num_minus4
185
- reader.decodeExponentialGolombNumber();
186
- const pic_order_cnt_type = reader.decodeExponentialGolombNumber();
187
- if (pic_order_cnt_type === 0) {
188
- // log2_max_pic_order_cnt_lsb_minus4
189
- reader.decodeExponentialGolombNumber();
190
- }
191
- else if (pic_order_cnt_type === 1) {
192
- // delta_pic_order_always_zero_flag
193
- reader.next();
194
- // offset_for_non_ref_pic
195
- reader.decodeExponentialGolombNumber();
196
- // offset_for_top_to_bottom_field
197
- reader.decodeExponentialGolombNumber();
198
- const num_ref_frames_in_pic_order_cnt_cycle = reader.decodeExponentialGolombNumber();
199
- const offset_for_ref_frame = [];
200
- for (let i = 0; i < num_ref_frames_in_pic_order_cnt_cycle; i += 1) {
201
- offset_for_ref_frame[i] =
202
- reader.decodeExponentialGolombNumber();
203
- }
204
- }
205
- // max_num_ref_frames
206
- reader.decodeExponentialGolombNumber();
207
- // gaps_in_frame_num_value_allowed_flag
208
- reader.next();
209
- const pic_width_in_mbs_minus1 = reader.decodeExponentialGolombNumber();
210
- const pic_height_in_map_units_minus1 = reader.decodeExponentialGolombNumber();
211
- const frame_mbs_only_flag = reader.next();
212
- if (!frame_mbs_only_flag) {
213
- // mb_adaptive_frame_field_flag
214
- reader.next();
215
- }
216
- // direct_8x8_inference_flag
217
- reader.next();
218
- const frame_cropping_flag = !!reader.next();
219
- let frame_crop_left_offset;
220
- let frame_crop_right_offset;
221
- let frame_crop_top_offset;
222
- let frame_crop_bottom_offset;
223
- if (frame_cropping_flag) {
224
- frame_crop_left_offset = reader.decodeExponentialGolombNumber();
225
- frame_crop_right_offset = reader.decodeExponentialGolombNumber();
226
- frame_crop_top_offset = reader.decodeExponentialGolombNumber();
227
- frame_crop_bottom_offset = reader.decodeExponentialGolombNumber();
228
- }
229
- else {
230
- frame_crop_left_offset = 0;
231
- frame_crop_right_offset = 0;
232
- frame_crop_top_offset = 0;
233
- frame_crop_bottom_offset = 0;
234
- }
235
- const vui_parameters_present_flag = !!reader.next();
236
- if (vui_parameters_present_flag) {
237
- // TODO
238
- // vui_parameters( )
239
- }
240
- return {
241
- profile_idc,
242
- constraint_set,
243
- constraint_set0_flag,
244
- constraint_set1_flag,
245
- constraint_set2_flag,
246
- constraint_set3_flag,
247
- constraint_set4_flag,
248
- constraint_set5_flag,
249
- level_idc,
250
- seq_parameter_set_id,
251
- pic_width_in_mbs_minus1,
252
- pic_height_in_map_units_minus1,
253
- frame_mbs_only_flag,
254
- frame_cropping_flag,
255
- frame_crop_left_offset,
256
- frame_crop_right_offset,
257
- frame_crop_top_offset,
258
- frame_crop_bottom_offset,
259
- };
260
- }
261
- throw new Error("Invalid data");
262
- }
263
- //# sourceMappingURL=sps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sps.js","sourceRoot":"","sources":["../../../src/options/1_16/sps.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import type { ReadableStream } from "@yume-chan/stream-extra";
2
- import type { ValueOrPromise } from "@yume-chan/struct";
3
- import Struct from "@yume-chan/struct";
4
- import type {
5
- AndroidMotionEventAction,
6
- ScrcpyInjectTouchControlMessage,
7
- } from "../../src/control/index.js";
8
- import type { ScrcpyOptionsInit1_24 } from "../../src/options/1_24.js";
9
- import { ScrcpyOptions1_25 } from "../../src/options/1_25/index.js";
10
- import type {
11
- ScrcpyOptionValue,
12
- ScrcpyVideoStreamMetadata,
13
- } from "../../src/options/types.js";
14
- export declare const ScrcpyInjectTouchControlMessage1_26: Struct<
15
- {
16
- type: number;
17
- action: AndroidMotionEventAction;
18
- pointerId: bigint;
19
- pointerX: number;
20
- pointerY: number;
21
- screenWidth: number;
22
- screenHeight: number;
23
- pressure: number;
24
- actionButton: number;
25
- buttons: number;
26
- },
27
- never,
28
- Record<never, never>,
29
- undefined
30
- >;
31
- export type ScrcpyInjectTouchControlMessage1_26 =
32
- (typeof ScrcpyInjectTouchControlMessage1_26)["TInit"];
33
- export declare class ScrcpyInstanceId implements ScrcpyOptionValue {
34
- static readonly NONE: ScrcpyInstanceId;
35
- static random(): ScrcpyInstanceId;
36
- value: number;
37
- constructor(value: number);
38
- toOptionValue(): string | undefined;
39
- }
40
- export interface ScrcpyOptionsInit1_26 extends ScrcpyOptionsInit1_24 {
41
- scid: ScrcpyInstanceId;
42
- codec: "h264" | "h265" | "av1";
43
- sendCodecId: boolean;
44
- }
45
- export declare class ScrcpyOptions1_26<
46
- T extends ScrcpyOptionsInit1_26 = ScrcpyOptionsInit1_26
47
- > extends ScrcpyOptions1_25<T> {
48
- constructor(init: Partial<ScrcpyOptionsInit1_26>);
49
- getDefaultValues(): T;
50
- parseVideoStreamMetadata(
51
- stream: ReadableStream<Uint8Array>
52
- ): ValueOrPromise<[ReadableStream<Uint8Array>, ScrcpyVideoStreamMetadata]>;
53
- serializeInjectTouchControlMessage(
54
- message: ScrcpyInjectTouchControlMessage
55
- ): Uint8Array;
56
- }
57
- //# sourceMappingURL=1_26.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1_26.d.ts","sourceRoot":"","sources":["../../src/options/1_26.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,MAAwC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EACR,wBAAwB,EACxB,+BAA+B,EAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE/E,eAAO,MAAM,mCAAmC;;;;;;;;;;;0CAU1B,CAAC;AAEvB,MAAM,MAAM,mCAAmC,GAC3C,CAAC,OAAO,mCAAmC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1D,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,gBAAuB,IAAI,mBAA4B;WAEzC,MAAM,IAAI,gBAAgB;IAKjC,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAM7C;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAQvC,gBAAgB,IAAI,CAAC;IAQrB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAqB1D,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU;CAGhB"}
@@ -1,67 +0,0 @@
1
- // cspell:ignore scid
2
- import { BufferedReadableStream } from "@yume-chan/stream-extra";
3
- import Struct, { NumberFieldType, placeholder } from "@yume-chan/struct";
4
- import { ScrcpyFloatToUint16FieldDefinition } from "./1_16/index.js";
5
- import { ScrcpyOptions1_25 } from "./1_25/index.js";
6
- export const ScrcpyInjectTouchControlMessage1_26 = new Struct()
7
- .uint8("type")
8
- .uint8("action", placeholder())
9
- .uint64("pointerId")
10
- .uint32("pointerX")
11
- .uint32("pointerY")
12
- .uint16("screenWidth")
13
- .uint16("screenHeight")
14
- .field("pressure", ScrcpyFloatToUint16FieldDefinition)
15
- .uint32("actionButton")
16
- .uint32("buttons");
17
- export class ScrcpyInstanceId {
18
- static NONE = new ScrcpyInstanceId(-1);
19
- static random() {
20
- // A random 31-bit unsigned integer
21
- return new ScrcpyInstanceId((Math.random() * 0x80000000) | 0);
22
- }
23
- value;
24
- constructor(value) {
25
- this.value = value;
26
- }
27
- toOptionValue() {
28
- if (this.value < 0) {
29
- return undefined;
30
- }
31
- return this.value.toString(16);
32
- }
33
- }
34
- export class ScrcpyOptions1_26 extends ScrcpyOptions1_25 {
35
- constructor(init) {
36
- if (!init.rawVideoStream) {
37
- init.sendCodecId = false;
38
- }
39
- super(init);
40
- }
41
- getDefaultValues() {
42
- return Object.assign(super.getDefaultValues(), {
43
- scid: ScrcpyInstanceId.NONE,
44
- codec: "h264",
45
- sendCodecId: true,
46
- });
47
- }
48
- parseVideoStreamMetadata(stream) {
49
- const sendCodecId = this.value.sendCodecId ?? this.getDefaultValues().sendCodecId;
50
- if (!sendCodecId) {
51
- return super.parseVideoStreamMetadata(stream);
52
- }
53
- else {
54
- return (async () => {
55
- let metadata;
56
- [stream, metadata] = await super.parseVideoStreamMetadata(stream);
57
- const buffered = new BufferedReadableStream(stream);
58
- metadata.codec = NumberFieldType.Uint32.deserialize(await buffered.readExactly(4), false);
59
- return [buffered.release(), metadata];
60
- })();
61
- }
62
- }
63
- serializeInjectTouchControlMessage(message) {
64
- return ScrcpyInjectTouchControlMessage1_26.serialize(message);
65
- }
66
- }
67
- //# sourceMappingURL=1_26.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1_26.js","sourceRoot":"","sources":["../../src/options/1_26.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- import type { ReadableStream } from "@yume-chan/stream-extra";
2
- import type { ValueOrPromise } from "@yume-chan/struct";
3
- import Struct from "@yume-chan/struct";
4
- import type {
5
- AndroidMotionEventAction,
6
- ScrcpyInjectTouchControlMessage,
7
- } from "../../src/control/index.js";
8
- import type { ScrcpyOptionsInit1_24 } from "../../src/options/1_24.js";
9
- import { ScrcpyOptions1_25 } from "../../src/options/1_25/index.js";
10
- import type {
11
- ScrcpyOptionValue,
12
- ScrcpyVideoStreamMetadata,
13
- } from "../../src/options/types.js";
14
- export declare const ScrcpyInjectTouchControlMessage2_0: Struct<
15
- {
16
- type: number;
17
- action: AndroidMotionEventAction;
18
- pointerId: bigint;
19
- pointerX: number;
20
- pointerY: number;
21
- screenWidth: number;
22
- screenHeight: number;
23
- pressure: number;
24
- actionButton: number;
25
- buttons: number;
26
- },
27
- never,
28
- Record<never, never>,
29
- undefined
30
- >;
31
- export type ScrcpyInjectTouchControlMessage2_0 =
32
- (typeof ScrcpyInjectTouchControlMessage2_0)["TInit"];
33
- export declare class ScrcpyInstanceId implements ScrcpyOptionValue {
34
- static readonly NONE: ScrcpyInstanceId;
35
- static random(): ScrcpyInstanceId;
36
- value: number;
37
- constructor(value: number);
38
- toOptionValue(): string | undefined;
39
- }
40
- export interface ScrcpyOptionsInit2_0 extends ScrcpyOptionsInit1_24 {
41
- scid: ScrcpyInstanceId;
42
- codec: "h264" | "h265" | "av1";
43
- sendCodecId: boolean;
44
- }
45
- export declare class ScrcpyOptions2_0<
46
- T extends ScrcpyOptionsInit2_0 = ScrcpyOptionsInit2_0
47
- > extends ScrcpyOptions1_25<T> {
48
- constructor(init: Partial<ScrcpyOptionsInit2_0>);
49
- getDefaultValues(): T;
50
- parseVideoStreamMetadata(
51
- stream: ReadableStream<Uint8Array>
52
- ): ValueOrPromise<[ReadableStream<Uint8Array>, ScrcpyVideoStreamMetadata]>;
53
- serializeInjectTouchControlMessage(
54
- message: ScrcpyInjectTouchControlMessage
55
- ): Uint8Array;
56
- }
57
- //# sourceMappingURL=2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"2.d.ts","sourceRoot":"","sources":["../../src/options/2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,MAAwC,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EACR,wBAAwB,EACxB,+BAA+B,EAClC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE/E,eAAO,MAAM,kCAAkC;;;;;;;;;;;0CAUzB,CAAC;AAEvB,MAAM,MAAM,kCAAkC,GAC1C,CAAC,OAAO,kCAAkC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEzD,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,gBAAuB,IAAI,mBAA4B;WAEzC,MAAM,IAAI,gBAAgB;IAKjC,KAAK,EAAE,MAAM,CAAC;gBAEF,KAAK,EAAE,MAAM;IAIzB,aAAa,IAAI,MAAM,GAAG,SAAS;CAM7C;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IAC/D,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,gBAAgB,CACzB,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CACvD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAQtC,gBAAgB,IAAI,CAAC;IAQrB,wBAAwB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACnC,cAAc,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAqB1D,kCAAkC,CAC9C,OAAO,EAAE,+BAA+B,GACzC,UAAU;CAGhB"}
package/esm/options/2.js DELETED
@@ -1,67 +0,0 @@
1
- // cspell:ignore scid
2
- import { BufferedReadableStream } from "@yume-chan/stream-extra";
3
- import Struct, { NumberFieldType, placeholder } from "@yume-chan/struct";
4
- import { ScrcpyFloatToUint16FieldDefinition } from "./1_16/index.js";
5
- import { ScrcpyOptions1_25 } from "./1_25/index.js";
6
- export const ScrcpyInjectTouchControlMessage2_0 = new Struct()
7
- .uint8("type")
8
- .uint8("action", placeholder())
9
- .uint64("pointerId")
10
- .uint32("pointerX")
11
- .uint32("pointerY")
12
- .uint16("screenWidth")
13
- .uint16("screenHeight")
14
- .field("pressure", ScrcpyFloatToUint16FieldDefinition)
15
- .uint32("actionButton")
16
- .uint32("buttons");
17
- export class ScrcpyInstanceId {
18
- static NONE = new ScrcpyInstanceId(-1);
19
- static random() {
20
- // A random 31-bit unsigned integer
21
- return new ScrcpyInstanceId((Math.random() * 0x80000000) | 0);
22
- }
23
- value;
24
- constructor(value) {
25
- this.value = value;
26
- }
27
- toOptionValue() {
28
- if (this.value < 0) {
29
- return undefined;
30
- }
31
- return this.value.toString(16);
32
- }
33
- }
34
- export class ScrcpyOptions2_0 extends ScrcpyOptions1_25 {
35
- constructor(init) {
36
- if (!init.rawVideoStream) {
37
- init.sendCodecId = false;
38
- }
39
- super(init);
40
- }
41
- getDefaultValues() {
42
- return Object.assign(super.getDefaultValues(), {
43
- scid: ScrcpyInstanceId.NONE,
44
- codec: "h264",
45
- sendCodecId: true,
46
- });
47
- }
48
- parseVideoStreamMetadata(stream) {
49
- const sendCodecId = this.value.sendCodecId ?? this.getDefaultValues().sendCodecId;
50
- if (!sendCodecId) {
51
- return super.parseVideoStreamMetadata(stream);
52
- }
53
- else {
54
- return (async () => {
55
- let metadata;
56
- [stream, metadata] = await super.parseVideoStreamMetadata(stream);
57
- const buffered = new BufferedReadableStream(stream);
58
- metadata.codec = NumberFieldType.Uint32.deserialize(await buffered.readExactly(4), false);
59
- return [buffered.release(), metadata];
60
- })();
61
- }
62
- }
63
- serializeInjectTouchControlMessage(message) {
64
- return ScrcpyInjectTouchControlMessage2_0.serialize(message);
65
- }
66
- }
67
- //# sourceMappingURL=2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"2.js","sourceRoot":"","sources":["../../src/options/2.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const { fetchVersion } = require("gh-release-fetch");
4
- const path = require("path");
5
- const fs = require("fs").promises;
6
-
7
- (async () => {
8
- const serverVersion = process.argv[2];
9
- if (!serverVersion) {
10
- console.log("Usage: fetch-scrcpy-server <version>");
11
- process.exit(1);
12
- }
13
-
14
- console.log(`Downloading Scrcpy server binary version ${serverVersion}...`);
15
- const binFolder = path.resolve(__dirname, "..", "bin");
16
-
17
- await fetchVersion({
18
- repository: "Genymobile/scrcpy",
19
- version: `v${serverVersion}`,
20
- package: `scrcpy-server-v${serverVersion}`,
21
- destination: binFolder,
22
- extract: false,
23
- });
24
-
25
- await fs.rename(
26
- path.resolve(binFolder, `scrcpy-server-v${serverVersion}`),
27
- path.resolve(binFolder, "scrcpy-server")
28
- );
29
-
30
- fs.writeFile(
31
- path.resolve(binFolder, "version.js"),
32
- `export default '${serverVersion}';`
33
- );
34
- fs.writeFile(
35
- path.resolve(binFolder, "version.d.ts"),
36
- `export default '${serverVersion}';`
37
- );
38
- })();