@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.
- package/CHANGELOG.json +33 -0
- package/CHANGELOG.md +18 -1
- package/README.md +8 -122
- package/esm/codec/av1.js +2 -2
- package/esm/codec/av1.js.map +1 -1
- package/esm/codec/h264.js +2 -2
- package/esm/codec/h264.js.map +1 -1
- package/esm/codec/h265.d.ts +72 -4
- package/esm/codec/h265.d.ts.map +1 -1
- package/esm/codec/h265.js +18 -19
- package/esm/codec/h265.js.map +1 -1
- package/esm/codec/nalu.d.ts +1 -8
- package/esm/codec/nalu.d.ts.map +1 -1
- package/esm/codec/nalu.js +53 -40
- package/esm/codec/nalu.js.map +1 -1
- package/esm/control/hover-helper.d.ts +1 -1
- package/esm/control/hover-helper.d.ts.map +1 -1
- package/esm/control/hover-helper.js +8 -9
- package/esm/control/hover-helper.js.map +1 -1
- package/esm/control/inject-keycode.d.ts +13 -13
- package/esm/control/inject-keycode.d.ts.map +1 -1
- package/esm/control/inject-keycode.js +3 -3
- package/esm/control/inject-keycode.js.map +1 -1
- package/esm/control/inject-touch.d.ts.map +1 -1
- package/esm/control/inject-touch.js +3 -4
- package/esm/control/inject-touch.js.map +1 -1
- package/esm/control/serializer.d.ts +4 -3
- package/esm/control/serializer.d.ts.map +1 -1
- package/esm/control/serializer.js +30 -14
- package/esm/control/serializer.js.map +1 -1
- package/esm/control/set-screen-power-mode.js +1 -1
- package/esm/control/set-screen-power-mode.js.map +1 -1
- package/esm/control/type.d.ts +1 -1
- package/esm/control/type.d.ts.map +1 -1
- package/esm/control/type.js +4 -4
- package/esm/control/type.js.map +1 -1
- package/esm/control/writer.d.ts +5 -3
- package/esm/control/writer.d.ts.map +1 -1
- package/esm/control/writer.js +23 -14
- package/esm/control/writer.js.map +1 -1
- package/esm/device-message/stream.js.map +1 -1
- package/esm/device-message/type.js +1 -1
- package/esm/device-message/type.js.map +1 -1
- package/esm/options/1_16/codec-options.d.ts +2 -2
- package/esm/options/1_16/codec-options.d.ts.map +1 -1
- package/esm/options/1_16/codec-options.js +15 -5
- package/esm/options/1_16/codec-options.js.map +1 -1
- package/esm/options/1_16/float-to-uint16.js.map +1 -1
- package/esm/options/1_16/init.js +2 -2
- package/esm/options/1_16/init.js.map +1 -1
- package/esm/options/1_16/options.d.ts +1 -1
- package/esm/options/1_16/options.d.ts.map +1 -1
- package/esm/options/1_16/options.js +2 -3
- package/esm/options/1_16/options.js.map +1 -1
- package/esm/options/1_16/scroll.d.ts +1 -2
- package/esm/options/1_16/scroll.d.ts.map +1 -1
- package/esm/options/1_16/scroll.js +12 -12
- package/esm/options/1_16/scroll.js.map +1 -1
- package/esm/options/1_17.d.ts +1 -1
- package/esm/options/1_17.d.ts.map +1 -1
- package/esm/options/1_17.js +1 -2
- package/esm/options/1_17.js.map +1 -1
- package/esm/options/1_18.d.ts +1 -1
- package/esm/options/1_18.d.ts.map +1 -1
- package/esm/options/1_18.js +3 -4
- package/esm/options/1_18.js.map +1 -1
- package/esm/options/1_21.d.ts +1 -1
- package/esm/options/1_21.d.ts.map +1 -1
- package/esm/options/1_21.js +1 -2
- package/esm/options/1_21.js.map +1 -1
- package/esm/options/1_22/options.d.ts +1 -1
- package/esm/options/1_22/options.d.ts.map +1 -1
- package/esm/options/1_22/options.js +1 -2
- package/esm/options/1_22/options.js.map +1 -1
- package/esm/options/1_22/scroll.d.ts.map +1 -1
- package/esm/options/1_22/scroll.js.map +1 -1
- package/esm/options/1_23.d.ts +1 -1
- package/esm/options/1_23.d.ts.map +1 -1
- package/esm/options/1_23.js +1 -2
- package/esm/options/1_23.js.map +1 -1
- package/esm/options/1_24.d.ts +1 -1
- package/esm/options/1_24.d.ts.map +1 -1
- package/esm/options/1_24.js +1 -2
- package/esm/options/1_24.js.map +1 -1
- package/esm/options/1_25/options.d.ts.map +1 -1
- package/esm/options/1_25/options.js.map +1 -1
- package/esm/options/2_0.d.ts +1 -1
- package/esm/options/2_0.d.ts.map +1 -1
- package/esm/options/2_0.js +2 -4
- package/esm/options/2_0.js.map +1 -1
- package/esm/options/2_1.d.ts +48 -0
- package/esm/options/2_1.d.ts.map +1 -0
- package/esm/options/2_1.js +23 -0
- package/esm/options/2_1.js.map +1 -0
- package/esm/options/2_2.d.ts +67 -0
- package/esm/options/2_2.d.ts.map +1 -0
- package/esm/options/2_2.js +44 -0
- package/esm/options/2_2.js.map +1 -0
- package/esm/options/codec.d.ts.map +1 -1
- package/esm/options/codec.js +3 -4
- package/esm/options/codec.js.map +1 -1
- package/esm/options/index.d.ts +2 -0
- package/esm/options/index.d.ts.map +1 -1
- package/esm/options/index.js +2 -0
- package/esm/options/index.js.map +1 -1
- package/esm/options/latest.d.ts +4 -5
- package/esm/options/latest.d.ts.map +1 -1
- package/esm/options/latest.js +2 -3
- package/esm/options/latest.js.map +1 -1
- package/esm/options/types.d.ts +1 -0
- package/esm/options/types.d.ts.map +1 -1
- package/esm/options/types.js +15 -0
- package/esm/options/types.js.map +1 -1
- package/package.json +10 -22
- package/src/codec/h265.ts +40 -31
- package/src/codec/nalu.ts +73 -55
- package/src/control/hover-helper.ts +10 -11
- package/src/control/inject-touch.ts +0 -1
- package/src/control/serializer.ts +56 -35
- package/src/control/type.ts +7 -7
- package/src/control/writer.ts +40 -30
- package/src/device-message/stream.ts +2 -2
- package/src/options/1_16/codec-options.ts +22 -7
- package/src/options/1_16/float-to-uint16.ts +1 -1
- package/src/options/1_16/options.ts +32 -36
- package/src/options/1_16/scroll.ts +16 -16
- package/src/options/1_17.ts +11 -11
- package/src/options/1_18.ts +12 -12
- package/src/options/1_21.ts +9 -9
- package/src/options/1_22/options.ts +7 -7
- package/src/options/1_22/scroll.ts +2 -2
- package/src/options/1_23.ts +6 -6
- package/src/options/1_24.ts +4 -4
- package/src/options/1_25/options.ts +4 -4
- package/src/options/1_25/scroll.ts +2 -2
- package/src/options/2_0.ts +25 -25
- package/src/options/2_1.ts +35 -0
- package/src/options/2_2.ts +68 -0
- package/src/options/codec.ts +13 -13
- package/src/options/index.ts +2 -0
- package/src/options/latest.ts +4 -6
- package/src/options/types.ts +47 -28
- package/tsconfig.build.tsbuildinfo +1 -1
- package/bin/scrcpy-server +0 -0
- package/bin/version.d.ts +0 -1
- package/bin/version.js +0 -1
- 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
|
|
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
|
|
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 {
|
|
75
|
+
import { ScrcpyOptions2_1, ScrcpyVideoStreamPacket } from "@yume-chan/scrcpy";
|
|
187
76
|
|
|
188
|
-
const options = new
|
|
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
|
-
|
|
104
|
+
ScrcpyOptions2_1,
|
|
216
105
|
} from "@yume-chan/scrcpy";
|
|
217
106
|
|
|
218
|
-
const options = new
|
|
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
|
-
//
|
|
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
|
|
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
|
|
34
|
+
})(AndroidAv1Level || (AndroidAv1Level = {}));
|
|
35
35
|
//# sourceMappingURL=av1.js.map
|
package/esm/codec/av1.js.map
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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,
|
package/esm/codec/h264.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../src/codec/h264.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,yBAAyB;AACzB,wBAAwB;AAExB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE/D,8FAA8F;AAC9F,MAAM,CAAN,IAAY,iBAUX;AAVD,WAAY,iBAAiB;IACzB,iEAAiB,CAAA;IACjB,yDAAa,CAAA;IACb,iEAAiB,CAAA;IACjB,yDAAa,CAAA;IACb,8DAAe,CAAA;IACf,gEAAgB,CAAA;IAChB,gEAAgB,CAAA;IAChB,2FAA6B,CAAA;IAC7B,oFAAyB,CAAA;AAC7B,CAAC,EAVW,iBAAiB,
|
|
1
|
+
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../src/codec/h264.ts"],"names":[],"mappings":"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"}
|
package/esm/codec/h265.d.ts
CHANGED
|
@@ -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[]
|
|
192
|
-
sps_max_num_reorder_pics: number[]
|
|
193
|
-
sps_max_latency_increase_plus1: number[]
|
|
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;
|
package/esm/codec/h265.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../src/codec/h265.ts"],"names":[],"mappings":"
|
|
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
|
|
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
|
|
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
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
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,
|