@yume-chan/scrcpy 0.0.20 → 0.0.22

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 (147) hide show
  1. package/CHANGELOG.json +33 -0
  2. package/CHANGELOG.md +18 -1
  3. package/README.md +8 -122
  4. package/esm/codec/av1.js +2 -2
  5. package/esm/codec/av1.js.map +1 -1
  6. package/esm/codec/h264.js +2 -2
  7. package/esm/codec/h264.js.map +1 -1
  8. package/esm/codec/h265.d.ts +72 -4
  9. package/esm/codec/h265.d.ts.map +1 -1
  10. package/esm/codec/h265.js +18 -19
  11. package/esm/codec/h265.js.map +1 -1
  12. package/esm/codec/nalu.d.ts +1 -8
  13. package/esm/codec/nalu.d.ts.map +1 -1
  14. package/esm/codec/nalu.js +53 -40
  15. package/esm/codec/nalu.js.map +1 -1
  16. package/esm/control/hover-helper.d.ts +1 -1
  17. package/esm/control/hover-helper.d.ts.map +1 -1
  18. package/esm/control/hover-helper.js +8 -9
  19. package/esm/control/hover-helper.js.map +1 -1
  20. package/esm/control/inject-keycode.d.ts +13 -13
  21. package/esm/control/inject-keycode.d.ts.map +1 -1
  22. package/esm/control/inject-keycode.js +3 -3
  23. package/esm/control/inject-keycode.js.map +1 -1
  24. package/esm/control/inject-touch.d.ts.map +1 -1
  25. package/esm/control/inject-touch.js +3 -4
  26. package/esm/control/inject-touch.js.map +1 -1
  27. package/esm/control/serializer.d.ts +4 -3
  28. package/esm/control/serializer.d.ts.map +1 -1
  29. package/esm/control/serializer.js +30 -14
  30. package/esm/control/serializer.js.map +1 -1
  31. package/esm/control/set-screen-power-mode.js +1 -1
  32. package/esm/control/set-screen-power-mode.js.map +1 -1
  33. package/esm/control/type.d.ts +1 -1
  34. package/esm/control/type.d.ts.map +1 -1
  35. package/esm/control/type.js +4 -4
  36. package/esm/control/type.js.map +1 -1
  37. package/esm/control/writer.d.ts +5 -3
  38. package/esm/control/writer.d.ts.map +1 -1
  39. package/esm/control/writer.js +23 -14
  40. package/esm/control/writer.js.map +1 -1
  41. package/esm/device-message/stream.js.map +1 -1
  42. package/esm/device-message/type.js +1 -1
  43. package/esm/device-message/type.js.map +1 -1
  44. package/esm/options/1_16/codec-options.d.ts +2 -2
  45. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  46. package/esm/options/1_16/codec-options.js +15 -5
  47. package/esm/options/1_16/codec-options.js.map +1 -1
  48. package/esm/options/1_16/float-to-uint16.js.map +1 -1
  49. package/esm/options/1_16/init.js +2 -2
  50. package/esm/options/1_16/init.js.map +1 -1
  51. package/esm/options/1_16/options.d.ts +1 -1
  52. package/esm/options/1_16/options.d.ts.map +1 -1
  53. package/esm/options/1_16/options.js +2 -3
  54. package/esm/options/1_16/options.js.map +1 -1
  55. package/esm/options/1_16/scroll.d.ts +1 -2
  56. package/esm/options/1_16/scroll.d.ts.map +1 -1
  57. package/esm/options/1_16/scroll.js +12 -12
  58. package/esm/options/1_16/scroll.js.map +1 -1
  59. package/esm/options/1_17.d.ts +1 -1
  60. package/esm/options/1_17.d.ts.map +1 -1
  61. package/esm/options/1_17.js +1 -2
  62. package/esm/options/1_17.js.map +1 -1
  63. package/esm/options/1_18.d.ts +1 -1
  64. package/esm/options/1_18.d.ts.map +1 -1
  65. package/esm/options/1_18.js +3 -4
  66. package/esm/options/1_18.js.map +1 -1
  67. package/esm/options/1_21.d.ts +1 -1
  68. package/esm/options/1_21.d.ts.map +1 -1
  69. package/esm/options/1_21.js +1 -2
  70. package/esm/options/1_21.js.map +1 -1
  71. package/esm/options/1_22/options.d.ts +1 -1
  72. package/esm/options/1_22/options.d.ts.map +1 -1
  73. package/esm/options/1_22/options.js +1 -2
  74. package/esm/options/1_22/options.js.map +1 -1
  75. package/esm/options/1_22/scroll.d.ts.map +1 -1
  76. package/esm/options/1_22/scroll.js.map +1 -1
  77. package/esm/options/1_23.d.ts +1 -1
  78. package/esm/options/1_23.d.ts.map +1 -1
  79. package/esm/options/1_23.js +1 -2
  80. package/esm/options/1_23.js.map +1 -1
  81. package/esm/options/1_24.d.ts +1 -1
  82. package/esm/options/1_24.d.ts.map +1 -1
  83. package/esm/options/1_24.js +1 -2
  84. package/esm/options/1_24.js.map +1 -1
  85. package/esm/options/1_25/options.d.ts.map +1 -1
  86. package/esm/options/1_25/options.js.map +1 -1
  87. package/esm/options/2_0.d.ts +1 -1
  88. package/esm/options/2_0.d.ts.map +1 -1
  89. package/esm/options/2_0.js +2 -4
  90. package/esm/options/2_0.js.map +1 -1
  91. package/esm/options/2_1.d.ts +48 -0
  92. package/esm/options/2_1.d.ts.map +1 -0
  93. package/esm/options/2_1.js +23 -0
  94. package/esm/options/2_1.js.map +1 -0
  95. package/esm/options/2_2.d.ts +67 -0
  96. package/esm/options/2_2.d.ts.map +1 -0
  97. package/esm/options/2_2.js +44 -0
  98. package/esm/options/2_2.js.map +1 -0
  99. package/esm/options/codec.d.ts.map +1 -1
  100. package/esm/options/codec.js +3 -4
  101. package/esm/options/codec.js.map +1 -1
  102. package/esm/options/index.d.ts +2 -0
  103. package/esm/options/index.d.ts.map +1 -1
  104. package/esm/options/index.js +2 -0
  105. package/esm/options/index.js.map +1 -1
  106. package/esm/options/latest.d.ts +4 -5
  107. package/esm/options/latest.d.ts.map +1 -1
  108. package/esm/options/latest.js +2 -3
  109. package/esm/options/latest.js.map +1 -1
  110. package/esm/options/types.d.ts +1 -0
  111. package/esm/options/types.d.ts.map +1 -1
  112. package/esm/options/types.js +15 -0
  113. package/esm/options/types.js.map +1 -1
  114. package/package.json +10 -22
  115. package/src/codec/h265.ts +40 -31
  116. package/src/codec/nalu.ts +73 -55
  117. package/src/control/hover-helper.ts +10 -11
  118. package/src/control/inject-touch.ts +0 -1
  119. package/src/control/serializer.ts +56 -35
  120. package/src/control/type.ts +7 -7
  121. package/src/control/writer.ts +40 -30
  122. package/src/device-message/stream.ts +2 -2
  123. package/src/options/1_16/codec-options.ts +22 -7
  124. package/src/options/1_16/float-to-uint16.ts +1 -1
  125. package/src/options/1_16/options.ts +32 -36
  126. package/src/options/1_16/scroll.ts +16 -16
  127. package/src/options/1_17.ts +11 -11
  128. package/src/options/1_18.ts +12 -12
  129. package/src/options/1_21.ts +9 -9
  130. package/src/options/1_22/options.ts +7 -7
  131. package/src/options/1_22/scroll.ts +2 -2
  132. package/src/options/1_23.ts +6 -6
  133. package/src/options/1_24.ts +4 -4
  134. package/src/options/1_25/options.ts +4 -4
  135. package/src/options/1_25/scroll.ts +2 -2
  136. package/src/options/2_0.ts +25 -25
  137. package/src/options/2_1.ts +35 -0
  138. package/src/options/2_2.ts +68 -0
  139. package/src/options/codec.ts +13 -13
  140. package/src/options/index.ts +2 -0
  141. package/src/options/latest.ts +4 -6
  142. package/src/options/types.ts +47 -28
  143. package/tsconfig.build.tsbuildinfo +1 -1
  144. package/bin/scrcpy-server +0 -0
  145. package/bin/version.d.ts +0 -1
  146. package/bin/version.js +0 -1
  147. package/scripts/fetch-server.cjs +0 -38
package/CHANGELOG.json CHANGED
@@ -1,6 +1,39 @@
1
1
  {
2
2
  "name": "@yume-chan/scrcpy",
3
3
  "entries": [
4
+ {
5
+ "version": "0.0.22",
6
+ "tag": "@yume-chan/scrcpy_v0.0.22",
7
+ "date": "Wed, 13 Dec 2023 05:57:27 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "Fix parsing `sps_max_dec_pic_buffering_minus1` in H.265 SPS"
12
+ },
13
+ {
14
+ "comment": "Support parsing `vui_hrd_parameters` in H.265 SPS"
15
+ },
16
+ {
17
+ "comment": "Add support for Scrcpy 2.2"
18
+ }
19
+ ]
20
+ }
21
+ },
22
+ {
23
+ "version": "0.0.21",
24
+ "tag": "@yume-chan/scrcpy_v0.0.21",
25
+ "date": "Fri, 25 Aug 2023 14:05:18 GMT",
26
+ "comments": {
27
+ "none": [
28
+ {
29
+ "comment": "Add support for Scrcpy server version 2.1 and 2.1.1"
30
+ },
31
+ {
32
+ "comment": "Move the fetching server binary script to `@yume-chan/scrcpy-fetch-server` package"
33
+ }
34
+ ]
35
+ }
36
+ },
4
37
  {
5
38
  "version": "0.0.20",
6
39
  "tag": "@yume-chan/scrcpy_v0.0.20",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,23 @@
1
1
  # Change Log - @yume-chan/scrcpy
2
2
 
3
- This log was last generated on Mon, 05 Jun 2023 02:51:41 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 13 Dec 2023 05:57:27 GMT and should not be manually modified.
4
+
5
+ ## 0.0.22
6
+ Wed, 13 Dec 2023 05:57:27 GMT
7
+
8
+ ### Updates
9
+
10
+ - Fix parsing `sps_max_dec_pic_buffering_minus1` in H.265 SPS
11
+ - Support parsing `vui_hrd_parameters` in H.265 SPS
12
+ - Add support for Scrcpy 2.2
13
+
14
+ ## 0.0.21
15
+ Fri, 25 Aug 2023 14:05:18 GMT
16
+
17
+ ### Updates
18
+
19
+ - Add support for Scrcpy server version 2.1 and 2.1.1
20
+ - Move the fetching server binary script to `@yume-chan/scrcpy-fetch-server` package
4
21
 
5
22
  ## 0.0.20
6
23
  Mon, 05 Jun 2023 02:51:41 GMT
package/README.md CHANGED
@@ -9,12 +9,6 @@ It's compatible with the official Scrcpy server binaries.
9
9
  - [How does Scrcpy work](#how-does-scrcpy-work)
10
10
  - [What does this package do](#what-does-this-package-do)
11
11
  - [Prepare server binary](#prepare-server-binary)
12
- - [`fetch-scrcpy-server`](#fetch-scrcpy-server)
13
- - [Use the server binary](#use-the-server-binary)
14
- - [Node.js CommonJS](#nodejs-commonjs)
15
- - [Node.js ES module](#nodejs-es-module)
16
- - [Webpack 4](#webpack-4)
17
- - [Webpack 5](#webpack-5)
18
12
  - [Server versions](#server-versions)
19
13
  - [Reading and writing packets](#reading-and-writing-packets)
20
14
  - [Reading video/audio packets](#reading-videoaudio-packets)
@@ -44,116 +38,10 @@ This package can't push nor start the server, nor render the video and audio. It
44
38
 
45
39
  This package is compatible with many versions of the official server binary, but it doesn't include the server binary itself.
46
40
 
47
- You can download the server binary from official releases (https://github.com/Genymobile/scrcpy/releases), or use the included `fetch-scrcpy-server` script to automate the process.
41
+ You can download the server binary from official releases (https://github.com/Genymobile/scrcpy/releases), or use the `@yume-chan/fetch-scrcpy-server` package to automate the process.
48
42
 
49
43
  The server binary is subject to [Apache License 2.0](https://github.com/Genymobile/scrcpy/blob/master/LICENSE).
50
44
 
51
- ### `fetch-scrcpy-server`
52
-
53
- This script downloads the server binary from official releases for you.
54
-
55
- Before using this script, install `gh-release-fetch@3` package separately:
56
-
57
- ```sh
58
- npm install --save-dev gh-release-fetch@3
59
- ```
60
-
61
- Usage:
62
-
63
- ```
64
- npx fetch-scrcpy-server <version>
65
- ```
66
-
67
- For example:
68
-
69
- ```
70
- npx fetch-scrcpy-server 1.25
71
- ```
72
-
73
- Add it to `scripts.postinstall` in your `package.json`, so running `npm install` automatically invokes the script:
74
-
75
- ```json
76
- {
77
- "scripts": {
78
- "postinstall": "fetch-scrcpy-server 1.25"
79
- }
80
- }
81
- ```
82
-
83
- The server binary will be saved to `bin/scrcpy-server` in this package's installation directory (usually in `node_modules`).
84
-
85
- It will also save the version number to `bin/version.js`.
86
-
87
- ```js
88
- import SCRCPY_SERVER_VERSION from "@yume-chan/scrcpy/bin/version.js";
89
-
90
- console.log(SCRCPY_SERVER_VERSION); // "1.25"
91
- ```
92
-
93
- ### Use the server binary
94
-
95
- The server binary file needs to be embedded into your application, the exact method depends on the bundler and runtime.
96
-
97
- To name a few:
98
-
99
- #### Node.js CommonJS
100
-
101
- ```ts
102
- const fs = require("fs");
103
- const path: string = require.resolve("@yume-chan/scrcpy/bin/scrcpy-server"); // Or your own server binary path
104
- const buffer: Buffer = fs.readFileSync(path);
105
- ```
106
-
107
- #### Node.js ES module
108
-
109
- Without the `import.meta.resolve` feature:
110
-
111
- ```ts
112
- import fs from "node:fs/promises";
113
- import { createRequire } from "node:module";
114
-
115
- const path: string = createRequire(import.meta.url).resolve(
116
- "@yume-chan/scrcpy/bin/scrcpy-server"
117
- ); // Or your own server binary path
118
- const buffer: Buffer = await fs.readFile(path);
119
- ```
120
-
121
- With `import.meta.resolve` feature (requires `--experimental-import-meta-resolve` command line flag for Node.js 12.6.0+):
122
-
123
- ```ts
124
- import fs from "node:fs/promises";
125
-
126
- const path: string = await import.meta.resolve(
127
- "@yume-chan/scrcpy/bin/scrcpy-server"
128
- );
129
- const buffer: Buffer = await fs.readFile(path);
130
- ```
131
-
132
- #### Webpack 4
133
-
134
- Requires installing and configuring file-loader (https://v4.webpack.js.org/loaders/file-loader/)
135
-
136
- ```ts
137
- import SCRCPY_SERVER_URL from "@yume-chan/scrcpy/bin/scrcpy-server"; // Or your own server binary path
138
- const buffer: ArrayBuffer = await fetch(SCRCPY_SERVER_URL).then((response) =>
139
- response.arrayBuffer()
140
- );
141
- ```
142
-
143
- #### Webpack 5
144
-
145
- Requires configuring Asset Modules (https://webpack.js.org/guides/asset-modules/)
146
-
147
- ```ts
148
- const SCRCPY_SERVER_URL = new URL(
149
- "@yume-chan/scrcpy/bin/scrcpy-server",
150
- import.meta.url
151
- ); // Or your own server binary path
152
- const buffer: ArrayBuffer = await fetch(SCRCPY_SERVER_URL).then((response) =>
153
- response.arrayBuffer()
154
- );
155
- ```
156
-
157
45
  ## Server versions
158
46
 
159
47
  Scrcpy protocol changes over time, and are usually not backwards compatible. This package supports multiple server versions (ranges), and uses different option types to choose different behaviors. Using incorrect option version usually results in errors.
@@ -171,6 +59,7 @@ The latest one may continue to work for future server versions, but there is no
171
59
  | 1.24 | `ScrcpyOptions1_24` |
172
60
  | 1.25 | `ScrcpyOptions1_25` |
173
61
  | 2.0 | `ScrcpyOptions2_0` |
62
+ | 2.1 | `ScrcpyOptions2_1` |
174
63
 
175
64
  ## Reading and writing packets
176
65
 
@@ -183,9 +72,9 @@ This packets operates on Web Streams API streams.
183
72
  Requires a `ReadableStream<Uint8Array>` that reads from the video socket.
184
73
 
185
74
  ```ts
186
- import { ScrcpyOptions1_25, ScrcpyVideoStreamPacket } from "@yume-chan/scrcpy";
75
+ import { ScrcpyOptions2_1, ScrcpyVideoStreamPacket } from "@yume-chan/scrcpy";
187
76
 
188
- const options = new ScrcpyOptions1_25({
77
+ const options = new ScrcpyOptions2_1({
189
78
  // use the same version and options when starting the server
190
79
  });
191
80
 
@@ -212,10 +101,10 @@ Control socket is optional if control is not enabled. Video socket and control s
212
101
  ```ts
213
102
  import {
214
103
  ScrcpyControlMessageWriter,
215
- ScrcpyOptions1_25,
104
+ ScrcpyOptions2_1,
216
105
  } from "@yume-chan/scrcpy";
217
106
 
218
- const options = new ScrcpyOptions1_25({
107
+ const options = new ScrcpyOptions2_1({
219
108
  // use the same version and options when starting the server
220
109
  });
221
110
 
@@ -235,10 +124,7 @@ controlMessageWriter.injectText("Hello World!");
235
124
  Requires a `ReadableStream<Uint8Array>` that reads from the control socket.
236
125
 
237
126
  ```ts
238
- import {
239
- ScrcpyDeviceMessageDeserializeStream,
240
- ScrcpyOptions1_24,
241
- } from "@yume-chan/scrcpy";
127
+ import { ScrcpyDeviceMessageDeserializeStream } from "@yume-chan/scrcpy";
242
128
 
243
129
  const controlStream: ReadableWritablePair<Uint8Array, Uint8Array>; // get the stream yourself
244
130
 
@@ -253,7 +139,7 @@ const deviceMessageStream: ReadableStream<ScrcpyDeviceMessage> =
253
139
  In Web Streams API, pipes will block its upstream when downstream's queue is full (back-pressure mechanism). If multiple streams are separated from the same source (for example, all Scrcpy streams are from the same USB or TCP connection), blocking one stream means blocking all of them, so it's important to always read from all streams, even if you don't care about their data.
254
140
 
255
141
  ```ts
256
- // when using `AdbScrcpyClient`
142
+ // if using `AdbScrcpyClient`
257
143
  stdout
258
144
  .pipeTo(
259
145
  new WritableStream<string>({
package/esm/codec/av1.js CHANGED
@@ -4,7 +4,7 @@ export var AndroidAv1Profile;
4
4
  AndroidAv1Profile[AndroidAv1Profile["Main10"] = 2] = "Main10";
5
5
  AndroidAv1Profile[AndroidAv1Profile["Main10Hdr10"] = 4096] = "Main10Hdr10";
6
6
  AndroidAv1Profile[AndroidAv1Profile["Main10Hdr10Plus"] = 8192] = "Main10Hdr10Plus";
7
- })(AndroidAv1Profile = AndroidAv1Profile || (AndroidAv1Profile = {}));
7
+ })(AndroidAv1Profile || (AndroidAv1Profile = {}));
8
8
  export var AndroidAv1Level;
9
9
  (function (AndroidAv1Level) {
10
10
  AndroidAv1Level[AndroidAv1Level["Level2"] = 1] = "Level2";
@@ -31,5 +31,5 @@ export var AndroidAv1Level;
31
31
  AndroidAv1Level[AndroidAv1Level["Level71"] = 2097152] = "Level71";
32
32
  AndroidAv1Level[AndroidAv1Level["Level72"] = 4194304] = "Level72";
33
33
  AndroidAv1Level[AndroidAv1Level["Level73"] = 8388608] = "Level73";
34
- })(AndroidAv1Level = AndroidAv1Level || (AndroidAv1Level = {}));
34
+ })(AndroidAv1Level || (AndroidAv1Level = {}));
35
35
  //# sourceMappingURL=av1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"av1.js","sourceRoot":"","sources":["../../src/codec/av1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,2DAAc,CAAA;IACd,6DAAe,CAAA;IACf,0EAAqB,CAAA;IACrB,kFAAyB,CAAA;AAC7B,CAAC,EALW,iBAAiB,GAAjB,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,eAyBX;AAzBD,WAAY,eAAe;IACvB,yDAAe,CAAA;IACf,2DAAgB,CAAA;IAChB,2DAAgB,CAAA;IAChB,2DAAgB,CAAA;IAChB,0DAAe,CAAA;IACf,4DAAgB,CAAA;IAChB,4DAAgB,CAAA;IAChB,6DAAgB,CAAA;IAChB,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,8DAAiB,CAAA;IACjB,8DAAiB,CAAA;IACjB,4DAAgB,CAAA;IAChB,8DAAiB,CAAA;IACjB,+DAAiB,CAAA;IACjB,+DAAiB,CAAA;IACjB,6DAAgB,CAAA;IAChB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,+DAAgB,CAAA;IAChB,iEAAiB,CAAA;IACjB,iEAAiB,CAAA;IACjB,iEAAiB,CAAA;AACrB,CAAC,EAzBW,eAAe,GAAf,eAAe,KAAf,eAAe,QAyB1B"}
1
+ {"version":3,"file":"av1.js","sourceRoot":"","sources":["../../src/codec/av1.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,2DAAc,CAAA;IACd,6DAAe,CAAA;IACf,0EAAqB,CAAA;IACrB,kFAAyB,CAAA;AAC7B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAED,MAAM,CAAN,IAAY,eAyBX;AAzBD,WAAY,eAAe;IACvB,yDAAe,CAAA;IACf,2DAAgB,CAAA;IAChB,2DAAgB,CAAA;IAChB,2DAAgB,CAAA;IAChB,0DAAe,CAAA;IACf,4DAAgB,CAAA;IAChB,4DAAgB,CAAA;IAChB,6DAAgB,CAAA;IAChB,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,8DAAiB,CAAA;IACjB,8DAAiB,CAAA;IACjB,4DAAgB,CAAA;IAChB,8DAAiB,CAAA;IACjB,+DAAiB,CAAA;IACjB,+DAAiB,CAAA;IACjB,6DAAgB,CAAA;IAChB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,+DAAgB,CAAA;IAChB,iEAAiB,CAAA;IACjB,iEAAiB,CAAA;IACjB,iEAAiB,CAAA;AACrB,CAAC,EAzBW,eAAe,KAAf,eAAe,QAyB1B"}
package/esm/codec/h264.js CHANGED
@@ -14,7 +14,7 @@ export var AndroidAvcProfile;
14
14
  AndroidAvcProfile[AndroidAvcProfile["High444"] = 64] = "High444";
15
15
  AndroidAvcProfile[AndroidAvcProfile["ConstrainedBaseline"] = 65536] = "ConstrainedBaseline";
16
16
  AndroidAvcProfile[AndroidAvcProfile["ConstrainedHigh"] = 524288] = "ConstrainedHigh";
17
- })(AndroidAvcProfile = AndroidAvcProfile || (AndroidAvcProfile = {}));
17
+ })(AndroidAvcProfile || (AndroidAvcProfile = {}));
18
18
  export var AndroidAvcLevel;
19
19
  (function (AndroidAvcLevel) {
20
20
  AndroidAvcLevel[AndroidAvcLevel["Level1"] = 1] = "Level1";
@@ -37,7 +37,7 @@ export var AndroidAvcLevel;
37
37
  AndroidAvcLevel[AndroidAvcLevel["Level6"] = 131072] = "Level6";
38
38
  AndroidAvcLevel[AndroidAvcLevel["Level61"] = 262144] = "Level61";
39
39
  AndroidAvcLevel[AndroidAvcLevel["Level62"] = 524288] = "Level62";
40
- })(AndroidAvcLevel = AndroidAvcLevel || (AndroidAvcLevel = {}));
40
+ })(AndroidAvcLevel || (AndroidAvcLevel = {}));
41
41
  // H.264 has two standards: ITU-T H.264 and ISO/IEC 14496-10
42
42
  // they have the same content, and refer themselves as "H.264".
43
43
  // The name "AVC" (Advanced Video Coding) is only used in ISO spec name,
@@ -1 +1 @@
1
- {"version":3,"file":"h264.js","sourceRoot":"","sources":["../../src/codec/h264.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"h264.js","sourceRoot":"","sources":["../../src/codec/h264.ts"],"names":[],"mappings":"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"}
@@ -188,9 +188,9 @@ export declare function h265ParseSequenceParameterSet(nalu: Uint8Array): {
188
188
  bit_depth_chroma_minus8: number;
189
189
  log2_max_pic_order_cnt_lsb_minus4: number;
190
190
  sps_sub_layer_ordering_info_present_flag: boolean;
191
- sps_max_dec_pic_buffering_minus1: number[] | undefined;
192
- sps_max_num_reorder_pics: number[] | undefined;
193
- sps_max_latency_increase_plus1: number[] | undefined;
191
+ sps_max_dec_pic_buffering_minus1: number[];
192
+ sps_max_num_reorder_pics: number[];
193
+ sps_max_latency_increase_plus1: number[];
194
194
  log2_min_luma_coding_block_size_minus3: number;
195
195
  log2_diff_max_min_luma_coding_block_size: number;
196
196
  log2_min_luma_transform_block_size_minus2: number;
@@ -248,6 +248,40 @@ export declare function h265ParseSequenceParameterSet(nalu: Uint8Array): {
248
248
  vui_poc_proportional_to_timing_flag: boolean | undefined;
249
249
  vui_num_ticks_poc_diff_one_minus1: number | undefined;
250
250
  vui_hrd_parameters_present_flag: boolean | undefined;
251
+ vui_hrd_parameters: {
252
+ nal_hrd_parameters_present_flag: boolean | undefined;
253
+ vcl_hrd_parameters_present_flag: boolean | undefined;
254
+ sub_pic_hrd_params_present_flag: boolean | undefined;
255
+ tick_divisor_minus2: number | undefined;
256
+ du_cpb_removal_delay_increment_length_minus1: number | undefined;
257
+ sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined;
258
+ dpb_output_delay_du_length_minus1: number | undefined;
259
+ bit_rate_scale: number | undefined;
260
+ cpb_size_scale: number | undefined;
261
+ cpb_size_du_scale: number | undefined;
262
+ initial_cpb_removal_delay_length_minus1: number | undefined;
263
+ au_cpb_removal_delay_length_minus1: number | undefined;
264
+ dpb_output_delay_length_minus1: number | undefined;
265
+ fixed_pic_rate_general_flag: boolean[];
266
+ fixed_pic_rate_within_cvs_flag: boolean[];
267
+ elemental_duration_in_tc_minus1: number[];
268
+ low_delay_hrd_flag: boolean[];
269
+ cpb_cnt_minus1: number[];
270
+ nalHrdParameters: {
271
+ bit_rate_value_minus1: number[];
272
+ cpb_size_value_minus1: number[];
273
+ cpb_size_du_value_minus1: number[];
274
+ bit_rate_du_value_minus1: number[];
275
+ cbr_flag: boolean[];
276
+ }[];
277
+ vclHrdParameters: {
278
+ bit_rate_value_minus1: number[];
279
+ cpb_size_value_minus1: number[];
280
+ cpb_size_du_value_minus1: number[];
281
+ bit_rate_du_value_minus1: number[];
282
+ cbr_flag: boolean[];
283
+ }[];
284
+ } | undefined;
251
285
  bitstream_restriction_flag: boolean;
252
286
  tiles_fixed_structure_flag: boolean | undefined;
253
287
  motion_vectors_over_pic_boundaries_flag: boolean | undefined;
@@ -350,7 +384,7 @@ export declare function h265ParseShortTermReferencePictureSet(reader: NaluSodbBi
350
384
  /**
351
385
  * E.2.1 VUI parameters syntax
352
386
  */
353
- export declare function h265ParseVuiParameters(reader: NaluSodbBitReader): {
387
+ export declare function h265ParseVuiParameters(reader: NaluSodbBitReader, sps_max_sub_layers_minus1: number): {
354
388
  aspect_ratio_info_present_flag: boolean;
355
389
  aspect_ratio_idc: number | undefined;
356
390
  sar_width: number | undefined;
@@ -381,6 +415,40 @@ export declare function h265ParseVuiParameters(reader: NaluSodbBitReader): {
381
415
  vui_poc_proportional_to_timing_flag: boolean | undefined;
382
416
  vui_num_ticks_poc_diff_one_minus1: number | undefined;
383
417
  vui_hrd_parameters_present_flag: boolean | undefined;
418
+ vui_hrd_parameters: {
419
+ nal_hrd_parameters_present_flag: boolean | undefined;
420
+ vcl_hrd_parameters_present_flag: boolean | undefined;
421
+ sub_pic_hrd_params_present_flag: boolean | undefined;
422
+ tick_divisor_minus2: number | undefined;
423
+ du_cpb_removal_delay_increment_length_minus1: number | undefined;
424
+ sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined;
425
+ dpb_output_delay_du_length_minus1: number | undefined;
426
+ bit_rate_scale: number | undefined;
427
+ cpb_size_scale: number | undefined;
428
+ cpb_size_du_scale: number | undefined;
429
+ initial_cpb_removal_delay_length_minus1: number | undefined;
430
+ au_cpb_removal_delay_length_minus1: number | undefined;
431
+ dpb_output_delay_length_minus1: number | undefined;
432
+ fixed_pic_rate_general_flag: boolean[];
433
+ fixed_pic_rate_within_cvs_flag: boolean[];
434
+ elemental_duration_in_tc_minus1: number[];
435
+ low_delay_hrd_flag: boolean[];
436
+ cpb_cnt_minus1: number[];
437
+ nalHrdParameters: {
438
+ bit_rate_value_minus1: number[];
439
+ cpb_size_value_minus1: number[];
440
+ cpb_size_du_value_minus1: number[];
441
+ bit_rate_du_value_minus1: number[];
442
+ cbr_flag: boolean[];
443
+ }[];
444
+ vclHrdParameters: {
445
+ bit_rate_value_minus1: number[];
446
+ cpb_size_value_minus1: number[];
447
+ cpb_size_du_value_minus1: number[];
448
+ bit_rate_du_value_minus1: number[];
449
+ cbr_flag: boolean[];
450
+ }[];
451
+ } | undefined;
384
452
  bitstream_restriction_flag: boolean;
385
453
  tiles_fixed_structure_flag: boolean | undefined;
386
454
  motion_vectors_over_pic_boundaries_flag: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../src/codec/h265.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAC;AAE/D,oBAAY,kBAAkB;IAC1B,IAAI,IAAS;IACb,MAAM,IAAS;IACf,SAAS,IAAS;IAClB,WAAW,OAAU;IACrB,eAAe,OAAU;CAC5B;AAED,oBAAY,gBAAgB;IACxB,cAAc,IAAS;IACvB,cAAc,IAAS;IACvB,cAAc,IAAS;IACvB,cAAc,IAAS;IACvB,eAAe,KAAS;IACxB,eAAe,KAAS;IACxB,cAAc,KAAS;IACvB,cAAc,MAAS;IACvB,eAAe,MAAS;IACxB,eAAe,MAAS;IACxB,cAAc,OAAU;IACxB,cAAc,OAAU;IACxB,eAAe,OAAU;IACzB,eAAe,OAAU;IACzB,cAAc,QAAU;IACxB,cAAc,QAAU;IACxB,eAAe,QAAU;IACzB,eAAe,SAAU;IACzB,eAAe,SAAU;IACzB,eAAe,SAAU;IACzB,cAAc,UAAU;IACxB,cAAc,UAAU;IACxB,eAAe,UAAU;IACzB,eAAe,UAAU;IACzB,eAAe,WAAU;IACzB,eAAe,WAAU;CAC5B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,iBAAiB,EAAE,MAAM,SAWrD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,EAAE,MAAM,SAWtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU;;;;EAenD;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,cAAc;IAC/C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8G1D;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC1C,OAAO,8BAA8B,CACxC,CAAC;AAEF;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+O7D;AAED;;;;;GAKG;AACH,iBAAS,oBAAoB,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;EA2HtD;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE,MAAM,WAAW,oBAAoB;IACjC,kBAAkB,EAAE,eAAe,GAAG,SAAS,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B,EAAE,OAAO,EAAE,CAAC;IAC1C,4BAA4B,EAAE,OAAO,EAAE,CAAC;IACxC,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACvC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACjC;AAkED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,gBA2BjE;AAED,UAAU,4BAA4B;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B,EAAE,MAAM,CAAC;IAEpC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,wBAAwB,EAAE,OAAO,EAAE,CAAC;IACpC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,wBAAwB,EAAE,OAAO,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CACjD,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,EAChB,2BAA2B,EAAE,MAAM,EACnC,IAAI,EAAE,4BAA4B,EAAE,GACrC,4BAA4B,CAwJ9B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuJ/D;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,iBAAiB,EACzB,oBAAoB,EAAE,OAAO,EAC7B,qBAAqB,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqGhC;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM;;;;;;EAqBjB;AASD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,UAAU;;;;EAsCzD;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,iBAAiB;;EAKxE;AAED,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAC/C,OAAO,+BAA+B,CACzC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB;;;;;;;;;;;;;;;EAyChE;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAC9B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,oBAAoB,EAAE,WAAW,CAAC;IAClC,mBAAmB,EAAE,WAAW,CAAC;IAEjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8BAA8B,EAAE,UAAU,CAAC;IAC3C,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,UAAU,CAAC;IAEjC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAsD1E"}
1
+ {"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../src/codec/h265.ts"],"names":[],"mappings":"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"}
package/esm/codec/h265.js CHANGED
@@ -14,6 +14,9 @@
14
14
  // cspell: ignore texmc
15
15
  // cspell: ignore rbsp
16
16
  // cspell: ignore cprms
17
+ // cspell: ignore nalu
18
+ // cspell: ignore sodb
19
+ // cspell: ignore luma
17
20
  import { NaluSodbBitReader, annexBSplitNalu } from "./nalu.js";
18
21
  export var AndroidHevcProfile;
19
22
  (function (AndroidHevcProfile) {
@@ -22,7 +25,7 @@ export var AndroidHevcProfile;
22
25
  AndroidHevcProfile[AndroidHevcProfile["MainStill"] = 4] = "MainStill";
23
26
  AndroidHevcProfile[AndroidHevcProfile["Main10Hdr10"] = 4096] = "Main10Hdr10";
24
27
  AndroidHevcProfile[AndroidHevcProfile["Main10Hdr10Plus"] = 8192] = "Main10Hdr10Plus";
25
- })(AndroidHevcProfile = AndroidHevcProfile || (AndroidHevcProfile = {}));
28
+ })(AndroidHevcProfile || (AndroidHevcProfile = {}));
26
29
  export var AndroidHevcLevel;
27
30
  (function (AndroidHevcLevel) {
28
31
  AndroidHevcLevel[AndroidHevcLevel["MainTierLevel1"] = 1] = "MainTierLevel1";
@@ -51,7 +54,7 @@ export var AndroidHevcLevel;
51
54
  AndroidHevcLevel[AndroidHevcLevel["HighTierLevel61"] = 8388608] = "HighTierLevel61";
52
55
  AndroidHevcLevel[AndroidHevcLevel["MainTierLevel62"] = 16777216] = "MainTierLevel62";
53
56
  AndroidHevcLevel[AndroidHevcLevel["HighTierLevel62"] = 33554432] = "HighTierLevel62";
54
- })(AndroidHevcLevel = AndroidHevcLevel || (AndroidHevcLevel = {}));
57
+ })(AndroidHevcLevel || (AndroidHevcLevel = {}));
55
58
  /**
56
59
  * 6.2 Source, decoded and output picture formats
57
60
  */
@@ -222,24 +225,18 @@ export function h265ParseSequenceParameterSet(nalu) {
222
225
  const bit_depth_luma_minus8 = reader.decodeExponentialGolombNumber();
223
226
  const bit_depth_chroma_minus8 = reader.decodeExponentialGolombNumber();
224
227
  const log2_max_pic_order_cnt_lsb_minus4 = reader.decodeExponentialGolombNumber();
225
- let sps_max_dec_pic_buffering_minus1;
226
- let sps_max_num_reorder_pics;
227
- let sps_max_latency_increase_plus1;
228
+ const sps_max_dec_pic_buffering_minus1 = [];
229
+ const sps_max_num_reorder_pics = [];
230
+ const sps_max_latency_increase_plus1 = [];
228
231
  const sps_sub_layer_ordering_info_present_flag = !!reader.next();
229
232
  for (let i = sps_sub_layer_ordering_info_present_flag
230
233
  ? 0
231
234
  : sps_max_sub_layers_minus1; i <= sps_max_sub_layers_minus1; i += 1) {
232
- sps_max_dec_pic_buffering_minus1 = [];
233
- sps_max_num_reorder_pics = [];
234
- sps_max_latency_increase_plus1 = [];
235
- for (let i = 0; i <= sps_max_sub_layers_minus1; i += 1) {
236
- sps_max_dec_pic_buffering_minus1[i] =
237
- reader.decodeExponentialGolombNumber();
238
- sps_max_num_reorder_pics[i] =
239
- reader.decodeExponentialGolombNumber();
240
- sps_max_latency_increase_plus1[i] =
241
- reader.decodeExponentialGolombNumber();
242
- }
235
+ sps_max_dec_pic_buffering_minus1[i] =
236
+ reader.decodeExponentialGolombNumber();
237
+ sps_max_num_reorder_pics[i] = reader.decodeExponentialGolombNumber();
238
+ sps_max_latency_increase_plus1[i] =
239
+ reader.decodeExponentialGolombNumber();
243
240
  }
244
241
  const log2_min_luma_coding_block_size_minus3 = reader.decodeExponentialGolombNumber();
245
242
  const log2_diff_max_min_luma_coding_block_size = reader.decodeExponentialGolombNumber();
@@ -294,7 +291,7 @@ export function h265ParseSequenceParameterSet(nalu) {
294
291
  const vui_parameters_present_flag = !!reader.next();
295
292
  let vuiParameters;
296
293
  if (vui_parameters_present_flag) {
297
- vuiParameters = h265ParseVuiParameters(reader);
294
+ vuiParameters = h265ParseVuiParameters(reader, sps_max_sub_layers_minus1);
298
295
  }
299
296
  const sps_extension_present_flag = !!reader.next();
300
297
  let sps_range_extension_flag;
@@ -731,7 +728,7 @@ export function h265ParseShortTermReferencePictureSet(reader, stRpsIdx, num_shor
731
728
  /**
732
729
  * E.2.1 VUI parameters syntax
733
730
  */
734
- export function h265ParseVuiParameters(reader) {
731
+ export function h265ParseVuiParameters(reader, sps_max_sub_layers_minus1) {
735
732
  const aspect_ratio_info_present_flag = !!reader.next();
736
733
  let aspect_ratio_idc;
737
734
  let sar_width;
@@ -794,6 +791,7 @@ export function h265ParseVuiParameters(reader) {
794
791
  let vui_poc_proportional_to_timing_flag;
795
792
  let vui_num_ticks_poc_diff_one_minus1;
796
793
  let vui_hrd_parameters_present_flag;
794
+ let vui_hrd_parameters;
797
795
  if (vui_timing_info_present_flag) {
798
796
  vui_num_units_in_tick = reader.read(32);
799
797
  vui_time_scale = reader.read(32);
@@ -804,7 +802,7 @@ export function h265ParseVuiParameters(reader) {
804
802
  }
805
803
  vui_hrd_parameters_present_flag = !!reader.next();
806
804
  if (vui_hrd_parameters_present_flag) {
807
- throw new Error("Not implemented");
805
+ vui_hrd_parameters = h265ParseHrdParameters(reader, true, sps_max_sub_layers_minus1);
808
806
  }
809
807
  }
810
808
  const bitstream_restriction_flag = !!reader.next();
@@ -857,6 +855,7 @@ export function h265ParseVuiParameters(reader) {
857
855
  vui_poc_proportional_to_timing_flag,
858
856
  vui_num_ticks_poc_diff_one_minus1,
859
857
  vui_hrd_parameters_present_flag,
858
+ vui_hrd_parameters,
860
859
  bitstream_restriction_flag,
861
860
  tiles_fixed_structure_flag,
862
861
  motion_vectors_over_pic_boundaries_flag,