@yume-chan/scrcpy 0.0.23 → 0.0.24

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 (173) hide show
  1. package/CHANGELOG.json +21 -0
  2. package/CHANGELOG.md +11 -1
  3. package/LICENSE +1 -1
  4. package/esm/codec/av1.d.ts +364 -0
  5. package/esm/codec/av1.d.ts.map +1 -1
  6. package/esm/codec/av1.js +591 -0
  7. package/esm/codec/av1.js.map +1 -1
  8. package/esm/codec/nalu.d.ts +0 -9
  9. package/esm/codec/nalu.d.ts.map +1 -1
  10. package/esm/codec/nalu.js +56 -129
  11. package/esm/codec/nalu.js.map +1 -1
  12. package/esm/control/{basic.d.ts → empty.d.ts} +2 -2
  13. package/esm/control/empty.d.ts.map +1 -0
  14. package/esm/control/empty.js +3 -0
  15. package/esm/control/empty.js.map +1 -0
  16. package/esm/control/index.d.ts +1 -1
  17. package/esm/control/index.js +1 -1
  18. package/esm/control/rotate-device.js +2 -2
  19. package/esm/control/serializer.d.ts +2 -0
  20. package/esm/control/serializer.d.ts.map +1 -1
  21. package/esm/control/serializer.js +10 -4
  22. package/esm/control/serializer.js.map +1 -1
  23. package/esm/control/type.js +1 -1
  24. package/esm/control/type.js.map +1 -1
  25. package/esm/control/writer.d.ts +4 -1
  26. package/esm/control/writer.d.ts.map +1 -1
  27. package/esm/control/writer.js +12 -2
  28. package/esm/control/writer.js.map +1 -1
  29. package/esm/index.d.ts +0 -1
  30. package/esm/index.d.ts.map +1 -1
  31. package/esm/index.js +0 -1
  32. package/esm/index.js.map +1 -1
  33. package/esm/options/1_16/float.d.ts +6 -0
  34. package/esm/options/1_16/float.d.ts.map +1 -0
  35. package/esm/options/1_16/{float-to-uint16.js → float.js} +7 -6
  36. package/esm/options/1_16/float.js.map +1 -0
  37. package/esm/options/1_16/index.d.ts +1 -1
  38. package/esm/options/1_16/index.d.ts.map +1 -1
  39. package/esm/options/1_16/index.js +1 -1
  40. package/esm/options/1_16/index.js.map +1 -1
  41. package/esm/options/1_16/message.d.ts +4 -0
  42. package/esm/options/1_16/message.d.ts.map +1 -1
  43. package/esm/options/1_16/message.js +7 -4
  44. package/esm/options/1_16/message.js.map +1 -1
  45. package/esm/options/1_16/options.d.ts +13 -4
  46. package/esm/options/1_16/options.d.ts.map +1 -1
  47. package/esm/options/1_16/options.js +43 -15
  48. package/esm/options/1_16/options.js.map +1 -1
  49. package/esm/options/1_17.d.ts +2 -3
  50. package/esm/options/1_17.d.ts.map +1 -1
  51. package/esm/options/1_17.js +3 -6
  52. package/esm/options/1_17.js.map +1 -1
  53. package/esm/options/1_18.d.ts +2 -3
  54. package/esm/options/1_18.d.ts.map +1 -1
  55. package/esm/options/1_18.js +4 -24
  56. package/esm/options/1_18.js.map +1 -1
  57. package/esm/options/1_21.d.ts +9 -4
  58. package/esm/options/1_21.d.ts.map +1 -1
  59. package/esm/options/1_21.js +30 -7
  60. package/esm/options/1_21.js.map +1 -1
  61. package/esm/options/1_22/options.d.ts +2 -3
  62. package/esm/options/1_22/options.d.ts.map +1 -1
  63. package/esm/options/1_22/options.js +4 -7
  64. package/esm/options/1_22/options.js.map +1 -1
  65. package/esm/options/1_23.d.ts +2 -3
  66. package/esm/options/1_23.d.ts.map +1 -1
  67. package/esm/options/1_23.js +4 -7
  68. package/esm/options/1_23.js.map +1 -1
  69. package/esm/options/1_24.d.ts +2 -3
  70. package/esm/options/1_24.d.ts.map +1 -1
  71. package/esm/options/1_24.js +3 -6
  72. package/esm/options/1_24.js.map +1 -1
  73. package/esm/options/1_25/options.d.ts +2 -3
  74. package/esm/options/1_25/options.d.ts.map +1 -1
  75. package/esm/options/1_25/options.js +3 -6
  76. package/esm/options/1_25/options.js.map +1 -1
  77. package/esm/options/1_25/scroll.d.ts +3 -2
  78. package/esm/options/1_25/scroll.d.ts.map +1 -1
  79. package/esm/options/1_25/scroll.js +8 -7
  80. package/esm/options/1_25/scroll.js.map +1 -1
  81. package/esm/options/2_0.d.ts +10 -8
  82. package/esm/options/2_0.d.ts.map +1 -1
  83. package/esm/options/2_0.js +68 -74
  84. package/esm/options/2_0.js.map +1 -1
  85. package/esm/options/2_1.d.ts +4 -5
  86. package/esm/options/2_1.d.ts.map +1 -1
  87. package/esm/options/2_1.js +3 -6
  88. package/esm/options/2_1.js.map +1 -1
  89. package/esm/options/2_2.d.ts +4 -5
  90. package/esm/options/2_2.d.ts.map +1 -1
  91. package/esm/options/2_2.js +3 -6
  92. package/esm/options/2_2.js.map +1 -1
  93. package/esm/options/2_3.d.ts +59 -0
  94. package/esm/options/2_3.d.ts.map +1 -0
  95. package/esm/options/2_3.js +47 -0
  96. package/esm/options/2_3.js.map +1 -0
  97. package/esm/options/codec.d.ts +1 -0
  98. package/esm/options/codec.d.ts.map +1 -1
  99. package/esm/options/codec.js +1 -0
  100. package/esm/options/codec.js.map +1 -1
  101. package/esm/options/index.d.ts +1 -0
  102. package/esm/options/index.d.ts.map +1 -1
  103. package/esm/options/index.js +1 -0
  104. package/esm/options/index.js.map +1 -1
  105. package/esm/options/latest.d.ts +4 -4
  106. package/esm/options/latest.js +2 -2
  107. package/esm/options/types.d.ts +30 -32
  108. package/esm/options/types.d.ts.map +1 -1
  109. package/esm/options/types.js +77 -26
  110. package/esm/options/types.js.map +1 -1
  111. package/package.json +11 -11
  112. package/src/codec/av1.ts +670 -0
  113. package/src/codec/nalu.ts +67 -154
  114. package/src/control/empty.ts +3 -0
  115. package/src/control/index.ts +1 -1
  116. package/src/control/rotate-device.ts +2 -2
  117. package/src/control/serializer.ts +12 -4
  118. package/src/control/type.ts +1 -1
  119. package/src/control/writer.ts +16 -6
  120. package/src/index.ts +0 -1
  121. package/src/options/1_16/{float-to-uint16.ts → float.ts} +8 -6
  122. package/src/options/1_16/index.ts +1 -1
  123. package/src/options/1_16/message.ts +8 -4
  124. package/src/options/1_16/options.ts +68 -28
  125. package/src/options/1_17.ts +3 -9
  126. package/src/options/1_18.ts +3 -36
  127. package/src/options/1_21.ts +40 -11
  128. package/src/options/1_22/options.ts +4 -10
  129. package/src/options/1_23.ts +4 -10
  130. package/src/options/1_24.ts +3 -9
  131. package/src/options/1_25/options.ts +3 -9
  132. package/src/options/1_25/scroll.ts +10 -11
  133. package/src/options/2_0.ts +87 -92
  134. package/src/options/2_1.ts +3 -9
  135. package/src/options/2_2.ts +3 -9
  136. package/src/options/2_3.ts +70 -0
  137. package/src/options/codec.ts +6 -0
  138. package/src/options/index.ts +1 -0
  139. package/src/options/latest.ts +4 -4
  140. package/src/options/types.ts +89 -98
  141. package/tsconfig.build.tsbuildinfo +1 -1
  142. package/esm/control/basic.d.ts.map +0 -1
  143. package/esm/control/basic.js +0 -3
  144. package/esm/control/basic.js.map +0 -1
  145. package/esm/device-message/ack-clipboard.d.ts +0 -9
  146. package/esm/device-message/ack-clipboard.d.ts.map +0 -1
  147. package/esm/device-message/ack-clipboard.js +0 -6
  148. package/esm/device-message/ack-clipboard.js.map +0 -1
  149. package/esm/device-message/clipboard.d.ts +0 -10
  150. package/esm/device-message/clipboard.d.ts.map +0 -1
  151. package/esm/device-message/clipboard.js +0 -7
  152. package/esm/device-message/clipboard.js.map +0 -1
  153. package/esm/device-message/index.d.ts +0 -5
  154. package/esm/device-message/index.d.ts.map +0 -1
  155. package/esm/device-message/index.js +0 -5
  156. package/esm/device-message/index.js.map +0 -1
  157. package/esm/device-message/stream.d.ts +0 -8
  158. package/esm/device-message/stream.d.ts.map +0 -1
  159. package/esm/device-message/stream.js +0 -35
  160. package/esm/device-message/stream.js.map +0 -1
  161. package/esm/device-message/type.d.ts +0 -5
  162. package/esm/device-message/type.d.ts.map +0 -1
  163. package/esm/device-message/type.js +0 -7
  164. package/esm/device-message/type.js.map +0 -1
  165. package/esm/options/1_16/float-to-uint16.d.ts +0 -5
  166. package/esm/options/1_16/float-to-uint16.d.ts.map +0 -1
  167. package/esm/options/1_16/float-to-uint16.js.map +0 -1
  168. package/src/control/basic.ts +0 -3
  169. package/src/device-message/ack-clipboard.ts +0 -10
  170. package/src/device-message/clipboard.ts +0 -11
  171. package/src/device-message/index.ts +0 -4
  172. package/src/device-message/stream.ts +0 -49
  173. package/src/device-message/type.ts +0 -5
package/esm/codec/av1.js CHANGED
@@ -1,3 +1,10 @@
1
+ // cspell: ignore uvlc
2
+ // cspell: ignore interintra
3
+ // cspell: ignore superres
4
+ // cspell: ignore cdef
5
+ // cspell: ignore bitdepth
6
+ // cspell: ignore Smpte
7
+ // cspell: ignore Chromat
1
8
  export var AndroidAv1Profile;
2
9
  (function (AndroidAv1Profile) {
3
10
  AndroidAv1Profile[AndroidAv1Profile["Main8"] = 1] = "Main8";
@@ -32,4 +39,588 @@ export var AndroidAv1Level;
32
39
  AndroidAv1Level[AndroidAv1Level["Level72"] = 4194304] = "Level72";
33
40
  AndroidAv1Level[AndroidAv1Level["Level73"] = 8388608] = "Level73";
34
41
  })(AndroidAv1Level || (AndroidAv1Level = {}));
42
+ class BitReader {
43
+ #data;
44
+ #byte;
45
+ #bytePosition = 0;
46
+ #bitPosition = 7;
47
+ get byteAligned() {
48
+ return this.#bitPosition === 7;
49
+ }
50
+ get ended() {
51
+ return this.#bytePosition >= this.#data.length;
52
+ }
53
+ constructor(data) {
54
+ this.#data = data;
55
+ this.#byte = data[0];
56
+ }
57
+ f1() {
58
+ const value = this.#byte >> this.#bitPosition;
59
+ this.#bitPosition -= 1;
60
+ if (this.#bitPosition < 0) {
61
+ this.#bytePosition += 1;
62
+ this.#bitPosition = 7;
63
+ this.#byte = this.#data[this.#bytePosition];
64
+ }
65
+ return value & 1;
66
+ }
67
+ f(n) {
68
+ let value = 0;
69
+ for (; n > 0; n -= 1) {
70
+ value <<= 1;
71
+ value |= this.f1();
72
+ }
73
+ return value;
74
+ }
75
+ skip(n) {
76
+ if (n <= this.#bitPosition + 1) {
77
+ this.#bytePosition += 1;
78
+ this.#bitPosition = 7;
79
+ this.#byte = this.#data[this.#bytePosition];
80
+ return;
81
+ }
82
+ n -= this.#bitPosition + 1;
83
+ this.#bytePosition += 1;
84
+ const bytes = (n / 8) | 0;
85
+ if (bytes > 0) {
86
+ this.#bytePosition += bytes;
87
+ n -= bytes * 8;
88
+ }
89
+ this.#bitPosition = 7 - n;
90
+ this.#byte = this.#data[this.#bytePosition];
91
+ }
92
+ readBytes(n) {
93
+ if (!this.byteAligned) {
94
+ throw new Error("Bytes must be byte-aligned");
95
+ }
96
+ const value = this.#data.subarray(this.#bytePosition, this.#bytePosition + n);
97
+ this.#bytePosition += n;
98
+ this.#byte = this.#data[this.#bytePosition];
99
+ return value;
100
+ }
101
+ getPosition() {
102
+ return [this.#bytePosition, this.#bitPosition];
103
+ }
104
+ setPosition([bytePosition, bitPosition]) {
105
+ this.#bytePosition = bytePosition;
106
+ this.#bitPosition = bitPosition;
107
+ this.#byte = this.#data[bytePosition];
108
+ }
109
+ }
110
+ export class Av1 extends BitReader {
111
+ #Leb128Bytes = 0;
112
+ uvlc() {
113
+ let leadingZeros = 0;
114
+ while (!this.f1()) {
115
+ leadingZeros += 1;
116
+ }
117
+ if (leadingZeros >= 32) {
118
+ return 2 ** 32 - 1;
119
+ }
120
+ const value = this.f(leadingZeros);
121
+ return value + ((1 << leadingZeros) >>> 0) - 1;
122
+ }
123
+ leb128() {
124
+ if (!this.byteAligned) {
125
+ throw new Error("LEB128 must be byte-aligned");
126
+ }
127
+ let value = 0n;
128
+ this.#Leb128Bytes = 0;
129
+ for (let i = 0n; i < 8n; i += 1n) {
130
+ const leb128_byte = this.f(8);
131
+ value |= BigInt(leb128_byte & 0x7f) << (7n * i);
132
+ this.#Leb128Bytes += 1;
133
+ if ((leb128_byte & 0x80) == 0) {
134
+ break;
135
+ }
136
+ }
137
+ return value;
138
+ }
139
+ *annexBBitstream() {
140
+ while (!this.ended) {
141
+ const temporal_unit_size = this.leb128();
142
+ yield* this.temporalUnit(temporal_unit_size);
143
+ }
144
+ }
145
+ *temporalUnit(sz) {
146
+ while (sz > 0) {
147
+ const frame_unit_size = this.leb128();
148
+ sz -= BigInt(this.#Leb128Bytes);
149
+ yield* this.frameUnit(frame_unit_size);
150
+ sz -= frame_unit_size;
151
+ }
152
+ }
153
+ *frameUnit(sz) {
154
+ while (sz > 0) {
155
+ const obu_length = this.leb128();
156
+ sz -= BigInt(this.#Leb128Bytes);
157
+ const obu = this.openBitstreamUnit(obu_length);
158
+ if (obu) {
159
+ yield obu;
160
+ }
161
+ sz -= obu_length;
162
+ }
163
+ }
164
+ #OperatingPointIdc = 0;
165
+ openBitstreamUnit(sz) {
166
+ const obu_header = this.obuHeader();
167
+ let obu_size;
168
+ if (obu_header.obu_has_size_field) {
169
+ obu_size = this.leb128();
170
+ }
171
+ else if (sz !== undefined) {
172
+ obu_size = sz - 1n - (obu_header.obu_extension_flag ? 1n : 0n);
173
+ }
174
+ else {
175
+ throw new Error("obu_has_size_field must be true");
176
+ }
177
+ const startPosition = this.getPosition();
178
+ if (obu_header.obu_type !== Av1.ObuType.SequenceHeader &&
179
+ obu_header.obu_type !== Av1.ObuType.TemporalDelimiter &&
180
+ this.#OperatingPointIdc !== 0 &&
181
+ obu_header.obu_extension_header) {
182
+ const inTemporalLayer = !!(this.#OperatingPointIdc &
183
+ (1 << obu_header.obu_extension_header.temporal_id));
184
+ const inSpatialLayer = !!(this.#OperatingPointIdc &
185
+ (1 << (obu_header.obu_extension_header.spatial_id + 8)));
186
+ if (!inTemporalLayer || !inSpatialLayer) {
187
+ this.skip(Number(obu_size));
188
+ return;
189
+ }
190
+ }
191
+ let sequence_header_obu;
192
+ switch (obu_header.obu_type) {
193
+ case Av1.ObuType.SequenceHeader:
194
+ sequence_header_obu = this.sequenceHeaderObu();
195
+ break;
196
+ }
197
+ const currentPosition = this.getPosition();
198
+ const payloadBits = (currentPosition[0] - startPosition[0]) * 8 +
199
+ (startPosition[1] - currentPosition[1]);
200
+ if (obu_size > 0 /* &&
201
+ obu_header.obu_type !== Av1.ObuType.TileGroup &&
202
+ obu_header.obu_type !== Av1.ObuType.TileList &&
203
+ obu_header.obu_type !== Av1.ObuType.Frame */) {
204
+ this.skip(Number(obu_size) * 8 - payloadBits);
205
+ }
206
+ return {
207
+ obu_header,
208
+ obu_size,
209
+ sequence_header_obu,
210
+ };
211
+ }
212
+ obuHeader() {
213
+ const obu_forbidden_bit = !!this.f1();
214
+ if (obu_forbidden_bit) {
215
+ throw new Error("Invalid data");
216
+ }
217
+ const obu_type = this.f(4);
218
+ const obu_extension_flag = !!this.f1();
219
+ const obu_has_size_field = !!this.f1();
220
+ this.f1();
221
+ let obu_extension_header;
222
+ if (obu_extension_flag) {
223
+ obu_extension_header = this.obuExtensionHeader();
224
+ }
225
+ return {
226
+ obu_type,
227
+ obu_extension_flag,
228
+ obu_has_size_field,
229
+ obu_extension_header,
230
+ };
231
+ }
232
+ obuExtensionHeader() {
233
+ const temporal_id = this.f(3);
234
+ const spatial_id = this.f(2);
235
+ this.skip(3);
236
+ return { temporal_id, spatial_id };
237
+ }
238
+ static SelectScreenContentTools = 2;
239
+ static SelectIntegerMv = 2;
240
+ sequenceHeaderObu() {
241
+ const seq_profile = this.f(3);
242
+ const still_picture = !!this.f1();
243
+ const reduced_still_picture_header = !!this.f1();
244
+ let timing_info_present_flag = false;
245
+ let timing_info;
246
+ let decoder_model_info_present_flag = false;
247
+ let decoder_model_info;
248
+ let initial_display_delay_present_flag = false;
249
+ let operating_points_cnt_minus_1 = 0;
250
+ const operating_point_idc = [];
251
+ const seq_level_idx = [];
252
+ const seq_tier = [];
253
+ const decoder_model_present_for_this_op = [];
254
+ const initial_display_delay_present_for_this_op = [];
255
+ let operating_parameters_info;
256
+ let initial_display_delay_minus_1;
257
+ if (reduced_still_picture_header) {
258
+ operating_point_idc[0] = 0;
259
+ seq_level_idx[0] = this.f(5);
260
+ seq_tier[0] = 0;
261
+ decoder_model_present_for_this_op[0] = false;
262
+ initial_display_delay_present_for_this_op[0] = false;
263
+ }
264
+ else {
265
+ timing_info_present_flag = !!this.f1();
266
+ if (timing_info_present_flag) {
267
+ timing_info = this.timingInfo();
268
+ decoder_model_info_present_flag = !!this.f1();
269
+ if (decoder_model_info_present_flag) {
270
+ decoder_model_info = this.decoderModelInfo();
271
+ operating_parameters_info = [];
272
+ }
273
+ }
274
+ initial_display_delay_present_flag = !!this.f1();
275
+ if (initial_display_delay_present_flag) {
276
+ initial_display_delay_minus_1 = [];
277
+ }
278
+ operating_points_cnt_minus_1 = this.f(5);
279
+ for (let i = 0; i <= operating_points_cnt_minus_1; i += 1) {
280
+ operating_point_idc[i] = this.f(12);
281
+ seq_level_idx[i] = this.f(5);
282
+ if (seq_level_idx[i] > 7) {
283
+ seq_tier[i] = this.f1();
284
+ }
285
+ else {
286
+ seq_tier[i] = 0;
287
+ }
288
+ if (decoder_model_info_present_flag) {
289
+ decoder_model_present_for_this_op[i] = !!this.f1();
290
+ if (decoder_model_present_for_this_op[i]) {
291
+ operating_parameters_info[i] =
292
+ this.operatingParametersInfo(decoder_model_info);
293
+ }
294
+ }
295
+ else {
296
+ decoder_model_present_for_this_op[i] = false;
297
+ }
298
+ if (initial_display_delay_present_flag) {
299
+ initial_display_delay_present_for_this_op[i] = !!this.f1();
300
+ if (initial_display_delay_present_for_this_op[i]) {
301
+ initial_display_delay_minus_1[i] = this.f(4);
302
+ }
303
+ }
304
+ }
305
+ }
306
+ const operatingPoint = this.chooseOperatingPoint();
307
+ this.#OperatingPointIdc = operating_point_idc[operatingPoint];
308
+ const frame_width_bits_minus_1 = this.f(4);
309
+ const frame_height_bits_minus_1 = this.f(4);
310
+ const max_frame_width_minus_1 = this.f(frame_width_bits_minus_1 + 1);
311
+ const max_frame_height_minus_1 = this.f(frame_height_bits_minus_1 + 1);
312
+ let frame_id_numbers_present_flag = false;
313
+ let delta_frame_id_length_minus_2;
314
+ let additional_frame_id_length_minus_1;
315
+ if (!reduced_still_picture_header) {
316
+ frame_id_numbers_present_flag = !!this.f1();
317
+ if (frame_id_numbers_present_flag) {
318
+ delta_frame_id_length_minus_2 = this.f(4);
319
+ additional_frame_id_length_minus_1 = this.f(3);
320
+ }
321
+ }
322
+ const use_128x128_superblock = !!this.f1();
323
+ const enable_filter_intra = !!this.f1();
324
+ const enable_intra_edge_filter = !!this.f1();
325
+ let enable_interintra_compound = false;
326
+ let enable_masked_compound = false;
327
+ let enable_warped_motion = false;
328
+ let enable_dual_filter = false;
329
+ let enable_order_hint = false;
330
+ let enable_jnt_comp = false;
331
+ let enable_ref_frame_mvs = false;
332
+ let seq_choose_screen_content_tools = false;
333
+ let seq_force_screen_content_tools = Av1.SelectScreenContentTools;
334
+ let seq_choose_integer_mv = false;
335
+ let seq_force_integer_mv = Av1.SelectIntegerMv;
336
+ let order_hint_bits_minus_1;
337
+ // let OrderHintBits = 0;
338
+ if (!reduced_still_picture_header) {
339
+ enable_interintra_compound = !!this.f1();
340
+ enable_masked_compound = !!this.f1();
341
+ enable_warped_motion = !!this.f1();
342
+ enable_dual_filter = !!this.f1();
343
+ enable_order_hint = !!this.f1();
344
+ if (enable_order_hint) {
345
+ enable_jnt_comp = !!this.f1();
346
+ enable_ref_frame_mvs = !!this.f1();
347
+ }
348
+ seq_choose_screen_content_tools = !!this.f1();
349
+ if (!seq_choose_screen_content_tools) {
350
+ seq_force_screen_content_tools = this.f1();
351
+ }
352
+ if (seq_force_screen_content_tools > 0) {
353
+ seq_choose_integer_mv = !!this.f1();
354
+ if (!seq_choose_integer_mv) {
355
+ seq_force_integer_mv = this.f1();
356
+ }
357
+ }
358
+ if (enable_order_hint) {
359
+ order_hint_bits_minus_1 = this.f(3);
360
+ // OrderHintBits = order_hint_bits_minus_1 + 1;
361
+ }
362
+ }
363
+ const enable_superres = !!this.f1();
364
+ const enable_cdef = !!this.f1();
365
+ const enable_restoration = !!this.f1();
366
+ const color_config = this.colorConfig(seq_profile);
367
+ const film_grain_params_present = !!this.f1();
368
+ return {
369
+ seq_profile,
370
+ still_picture,
371
+ reduced_still_picture_header,
372
+ timing_info_present_flag,
373
+ timing_info,
374
+ decoder_model_info_present_flag,
375
+ decoder_model_info,
376
+ initial_display_delay_present_flag,
377
+ initial_display_delay_minus_1,
378
+ operating_points_cnt_minus_1,
379
+ operating_point_idc,
380
+ seq_level_idx,
381
+ seq_tier,
382
+ decoder_model_present_for_this_op,
383
+ operating_parameters_info,
384
+ initial_display_delay_present_for_this_op,
385
+ frame_width_bits_minus_1,
386
+ frame_height_bits_minus_1,
387
+ max_frame_width_minus_1,
388
+ max_frame_height_minus_1,
389
+ frame_id_numbers_present_flag,
390
+ delta_frame_id_length_minus_2,
391
+ additional_frame_id_length_minus_1,
392
+ use_128x128_superblock,
393
+ enable_filter_intra,
394
+ enable_intra_edge_filter,
395
+ enable_interintra_compound,
396
+ enable_masked_compound,
397
+ enable_warped_motion,
398
+ enable_dual_filter,
399
+ enable_order_hint,
400
+ enable_jnt_comp,
401
+ enable_ref_frame_mvs,
402
+ seq_choose_screen_content_tools,
403
+ seq_force_screen_content_tools,
404
+ seq_choose_integer_mv,
405
+ seq_force_integer_mv,
406
+ order_hint_bits_minus_1,
407
+ enable_superres,
408
+ enable_cdef,
409
+ enable_restoration,
410
+ color_config,
411
+ film_grain_params_present,
412
+ };
413
+ }
414
+ searchSequenceHeaderObu() {
415
+ while (!this.ended) {
416
+ const obu = this.openBitstreamUnit();
417
+ if (!obu) {
418
+ continue;
419
+ }
420
+ if (obu.sequence_header_obu) {
421
+ return obu.sequence_header_obu;
422
+ }
423
+ }
424
+ return undefined;
425
+ }
426
+ timingInfo() {
427
+ const num_units_in_display_tick = this.f(32);
428
+ const time_scale = this.f(32);
429
+ const equal_picture_interval = !!this.f1();
430
+ let num_ticks_per_picture_minus_1;
431
+ if (equal_picture_interval) {
432
+ num_ticks_per_picture_minus_1 = this.uvlc();
433
+ }
434
+ return {
435
+ num_units_in_display_tick,
436
+ time_scale,
437
+ equal_picture_interval,
438
+ num_ticks_per_picture_minus_1,
439
+ };
440
+ }
441
+ decoderModelInfo() {
442
+ const buffer_delay_length_minus_1 = this.f(5);
443
+ const num_units_in_decoding_tick = this.f(32);
444
+ const buffer_removal_time_length_minus_1 = this.f(5);
445
+ const frame_presentation_time_length_minus_1 = this.f(5);
446
+ return {
447
+ buffer_delay_length_minus_1,
448
+ num_units_in_decoding_tick,
449
+ buffer_removal_time_length_minus_1,
450
+ frame_presentation_time_length_minus_1,
451
+ };
452
+ }
453
+ operatingParametersInfo(decoderModelInfo) {
454
+ const n = decoderModelInfo.buffer_delay_length_minus_1 + 1;
455
+ const decoder_buffer_delay = this.f(n);
456
+ const encoder_buffer_delay = this.f(n);
457
+ const low_delay_mode_flag = !!this.f1();
458
+ return {
459
+ decoder_buffer_delay,
460
+ encoder_buffer_delay,
461
+ low_delay_mode_flag,
462
+ };
463
+ }
464
+ chooseOperatingPoint() {
465
+ return 0;
466
+ }
467
+ colorConfig(seq_profile) {
468
+ const high_bitdepth = !!this.f1();
469
+ let twelve_bit = false;
470
+ let BitDepth = 8;
471
+ if (seq_profile === 2 && high_bitdepth) {
472
+ twelve_bit = !!this.f1();
473
+ BitDepth = twelve_bit ? 12 : 10;
474
+ }
475
+ else if (seq_profile <= 2) {
476
+ BitDepth = high_bitdepth ? 10 : 8;
477
+ }
478
+ let mono_chrome = false;
479
+ if (seq_profile === 1) {
480
+ mono_chrome = !!this.f1();
481
+ }
482
+ // const NumPlanes = mono_chrome ? 1 : 3;
483
+ const color_description_present_flag = !!this.f1();
484
+ let color_primaries = Av1.ColorPrimaries.Unspecified;
485
+ let transfer_characteristics = Av1.TransferCharacteristics.Unspecified;
486
+ let matrix_coefficients = Av1.MatrixCoefficients.Unspecified;
487
+ if (color_description_present_flag) {
488
+ color_primaries = this.f(8);
489
+ transfer_characteristics = this.f(8);
490
+ matrix_coefficients = this.f(8);
491
+ }
492
+ let color_range = false;
493
+ let subsampling_x;
494
+ let subsampling_y;
495
+ let chroma_sample_position = 0;
496
+ let separate_uv_delta_q = false;
497
+ if (mono_chrome) {
498
+ color_range = !!this.f1();
499
+ subsampling_x = true;
500
+ subsampling_y = true;
501
+ }
502
+ else {
503
+ if (color_primaries === Av1.ColorPrimaries.Bt709 &&
504
+ transfer_characteristics === Av1.TransferCharacteristics.Srgb &&
505
+ matrix_coefficients === Av1.MatrixCoefficients.Identity) {
506
+ color_range = true;
507
+ subsampling_x = false;
508
+ subsampling_y = false;
509
+ }
510
+ else {
511
+ color_range = !!this.f1();
512
+ switch (seq_profile) {
513
+ case 0:
514
+ subsampling_x = true;
515
+ subsampling_y = true;
516
+ break;
517
+ case 1:
518
+ subsampling_x = false;
519
+ subsampling_y = false;
520
+ break;
521
+ default:
522
+ if (BitDepth == 12) {
523
+ subsampling_x = !!this.f1();
524
+ if (subsampling_x) {
525
+ subsampling_y = !!this.f1();
526
+ }
527
+ else {
528
+ subsampling_y = false;
529
+ }
530
+ }
531
+ else {
532
+ subsampling_x = true;
533
+ subsampling_y = false;
534
+ }
535
+ break;
536
+ }
537
+ if (subsampling_x && subsampling_y) {
538
+ chroma_sample_position = this.f(2);
539
+ }
540
+ }
541
+ separate_uv_delta_q = !!this.f1();
542
+ }
543
+ return {
544
+ high_bitdepth,
545
+ twelve_bit,
546
+ BitDepth,
547
+ mono_chrome,
548
+ color_description_present_flag,
549
+ color_primaries,
550
+ transfer_characteristics,
551
+ matrix_coefficients,
552
+ color_range,
553
+ subsampling_x,
554
+ subsampling_y,
555
+ chroma_sample_position,
556
+ separate_uv_delta_q,
557
+ };
558
+ }
559
+ }
560
+ (function (Av1) {
561
+ let ObuType;
562
+ (function (ObuType) {
563
+ ObuType[ObuType["SequenceHeader"] = 1] = "SequenceHeader";
564
+ ObuType[ObuType["TemporalDelimiter"] = 2] = "TemporalDelimiter";
565
+ ObuType[ObuType["FrameHeader"] = 3] = "FrameHeader";
566
+ ObuType[ObuType["TileGroup"] = 4] = "TileGroup";
567
+ ObuType[ObuType["Metadata"] = 5] = "Metadata";
568
+ ObuType[ObuType["Frame"] = 6] = "Frame";
569
+ ObuType[ObuType["RedundantFrameHeader"] = 7] = "RedundantFrameHeader";
570
+ ObuType[ObuType["TileList"] = 8] = "TileList";
571
+ ObuType[ObuType["Padding"] = 15] = "Padding";
572
+ })(ObuType = Av1.ObuType || (Av1.ObuType = {}));
573
+ let ColorPrimaries;
574
+ (function (ColorPrimaries) {
575
+ ColorPrimaries[ColorPrimaries["Bt709"] = 1] = "Bt709";
576
+ ColorPrimaries[ColorPrimaries["Unspecified"] = 2] = "Unspecified";
577
+ ColorPrimaries[ColorPrimaries["Bt470M"] = 4] = "Bt470M";
578
+ ColorPrimaries[ColorPrimaries["Bt470BG"] = 5] = "Bt470BG";
579
+ ColorPrimaries[ColorPrimaries["Bt601"] = 6] = "Bt601";
580
+ ColorPrimaries[ColorPrimaries["Smpte240"] = 7] = "Smpte240";
581
+ ColorPrimaries[ColorPrimaries["GenericFilm"] = 8] = "GenericFilm";
582
+ ColorPrimaries[ColorPrimaries["Bt2020"] = 9] = "Bt2020";
583
+ ColorPrimaries[ColorPrimaries["Xyz"] = 10] = "Xyz";
584
+ ColorPrimaries[ColorPrimaries["Smpte431"] = 11] = "Smpte431";
585
+ ColorPrimaries[ColorPrimaries["Smpte432"] = 12] = "Smpte432";
586
+ ColorPrimaries[ColorPrimaries["Ebu3213"] = 22] = "Ebu3213";
587
+ })(ColorPrimaries = Av1.ColorPrimaries || (Av1.ColorPrimaries = {}));
588
+ let TransferCharacteristics;
589
+ (function (TransferCharacteristics) {
590
+ TransferCharacteristics[TransferCharacteristics["Bt709"] = 1] = "Bt709";
591
+ TransferCharacteristics[TransferCharacteristics["Unspecified"] = 2] = "Unspecified";
592
+ TransferCharacteristics[TransferCharacteristics["Bt470M"] = 4] = "Bt470M";
593
+ TransferCharacteristics[TransferCharacteristics["Bt470BG"] = 5] = "Bt470BG";
594
+ TransferCharacteristics[TransferCharacteristics["Bt601"] = 6] = "Bt601";
595
+ TransferCharacteristics[TransferCharacteristics["Smpte240"] = 7] = "Smpte240";
596
+ TransferCharacteristics[TransferCharacteristics["Linear"] = 8] = "Linear";
597
+ TransferCharacteristics[TransferCharacteristics["Log100"] = 9] = "Log100";
598
+ TransferCharacteristics[TransferCharacteristics["Log100Sqrt10"] = 10] = "Log100Sqrt10";
599
+ TransferCharacteristics[TransferCharacteristics["Iec61966"] = 11] = "Iec61966";
600
+ TransferCharacteristics[TransferCharacteristics["Bt1361"] = 12] = "Bt1361";
601
+ TransferCharacteristics[TransferCharacteristics["Srgb"] = 13] = "Srgb";
602
+ TransferCharacteristics[TransferCharacteristics["Bt2020Ten"] = 14] = "Bt2020Ten";
603
+ TransferCharacteristics[TransferCharacteristics["Bt2020Twelve"] = 15] = "Bt2020Twelve";
604
+ TransferCharacteristics[TransferCharacteristics["Smpte2084"] = 16] = "Smpte2084";
605
+ TransferCharacteristics[TransferCharacteristics["Smpte428"] = 17] = "Smpte428";
606
+ TransferCharacteristics[TransferCharacteristics["Hlg"] = 18] = "Hlg";
607
+ })(TransferCharacteristics = Av1.TransferCharacteristics || (Av1.TransferCharacteristics = {}));
608
+ let MatrixCoefficients;
609
+ (function (MatrixCoefficients) {
610
+ MatrixCoefficients[MatrixCoefficients["Identity"] = 0] = "Identity";
611
+ MatrixCoefficients[MatrixCoefficients["Bt709"] = 1] = "Bt709";
612
+ MatrixCoefficients[MatrixCoefficients["Unspecified"] = 2] = "Unspecified";
613
+ MatrixCoefficients[MatrixCoefficients["Fcc"] = 4] = "Fcc";
614
+ MatrixCoefficients[MatrixCoefficients["Bt470BG"] = 5] = "Bt470BG";
615
+ MatrixCoefficients[MatrixCoefficients["Bt601"] = 6] = "Bt601";
616
+ MatrixCoefficients[MatrixCoefficients["Smpte240"] = 7] = "Smpte240";
617
+ MatrixCoefficients[MatrixCoefficients["YCgCo"] = 8] = "YCgCo";
618
+ MatrixCoefficients[MatrixCoefficients["Bt2020Ncl"] = 9] = "Bt2020Ncl";
619
+ MatrixCoefficients[MatrixCoefficients["Bt2020Cl"] = 10] = "Bt2020Cl";
620
+ MatrixCoefficients[MatrixCoefficients["Smpte2085"] = 11] = "Smpte2085";
621
+ MatrixCoefficients[MatrixCoefficients["ChromatNcl"] = 12] = "ChromatNcl";
622
+ MatrixCoefficients[MatrixCoefficients["ChromatCl"] = 13] = "ChromatCl";
623
+ MatrixCoefficients[MatrixCoefficients["ICtCp"] = 14] = "ICtCp";
624
+ })(MatrixCoefficients = Av1.MatrixCoefficients || (Av1.MatrixCoefficients = {}));
625
+ })(Av1 || (Av1 = {}));
35
626
  //# 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,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"}
1
+ {"version":3,"file":"av1.js","sourceRoot":"","sources":["../../src/codec/av1.ts"],"names":[],"mappings":"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"}
@@ -9,15 +9,6 @@
9
9
  * after the interested NAL unit is found.
10
10
  */
11
11
  export declare function annexBSplitNalu(buffer: Uint8Array): Generator<Uint8Array>;
12
- /**
13
- * Remove emulation prevention bytes from a H.264/H.265 NAL Unit.
14
- *
15
- * The input is not modified.
16
- * If the input doesn't contain any emulation prevention bytes,
17
- * the input is returned as-is.
18
- * Otherwise, a new `Uint8Array` is created and returned.
19
- */
20
- export declare function naluRemoveEmulation(buffer: Uint8Array): Uint8Array;
21
12
  export declare class NaluSodbBitReader {
22
13
  #private;
23
14
  get byteLength(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"nalu.d.ts","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAiB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAiF1E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,cAiIrD;AAED,qBAAa,iBAAiB;;IAU1B,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,WAEf;IAED,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,WAEd;IAED,IAAI,KAAK,YAKR;gBAEW,IAAI,EAAE,UAAU;IAsC5B,IAAI;IAgBJ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAY5B,IAAI,CAAC,MAAM,EAAE,MAAM;IAMnB,6BAA6B,IAAI,MAAM;IAgCvC,IAAI,CAAC,MAAM,EAAE,MAAM;IAOnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAQrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;CAMxC"}
1
+ {"version":3,"file":"nalu.d.ts","sourceRoot":"","sources":["../../src/codec/nalu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAiB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAiF1E;AAED,qBAAa,iBAAiB;;IAa1B,IAAI,UAAU,WAEb;IAED,IAAI,YAAY,WAEf;IAED,IAAI,YAAY,WAEf;IAED,IAAI,WAAW,WAEd;IAED,IAAI,KAAK,YAKR;gBAEW,IAAI,EAAE,UAAU;IA8C5B,IAAI;IAiBJ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA8B5B,IAAI,CAAC,MAAM,EAAE,MAAM;IA4BnB,6BAA6B,IAAI,MAAM;IAgCvC,IAAI,CAAC,MAAM,EAAE,MAAM;IAOnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAQrC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;CAMxC"}