@yume-chan/scrcpy 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/CHANGELOG.json +30 -0
  2. package/CHANGELOG.md +17 -1
  3. package/README.md +76 -266
  4. package/esm/codec/av1.js +2 -2
  5. package/esm/codec/av1.js.map +1 -1
  6. package/esm/codec/h264.d.ts +1 -21
  7. package/esm/codec/h264.d.ts.map +1 -1
  8. package/esm/codec/h264.js +15 -236
  9. package/esm/codec/h264.js.map +1 -1
  10. package/esm/codec/h265.d.ts +454 -0
  11. package/esm/codec/h265.d.ts.map +1 -1
  12. package/esm/codec/h265.js +1062 -2
  13. package/esm/codec/h265.js.map +1 -1
  14. package/esm/codec/index.d.ts +1 -0
  15. package/esm/codec/index.d.ts.map +1 -1
  16. package/esm/codec/index.js +1 -0
  17. package/esm/codec/index.js.map +1 -1
  18. package/esm/codec/nalu.d.ts +37 -0
  19. package/esm/codec/nalu.d.ts.map +1 -0
  20. package/esm/codec/nalu.js +323 -0
  21. package/esm/codec/nalu.js.map +1 -0
  22. package/esm/control/back-or-screen-on.d.ts +1 -1
  23. package/esm/control/back-or-screen-on.d.ts.map +1 -1
  24. package/esm/control/hover-helper.d.ts +1 -1
  25. package/esm/control/hover-helper.d.ts.map +1 -1
  26. package/esm/control/hover-helper.js +8 -9
  27. package/esm/control/hover-helper.js.map +1 -1
  28. package/esm/control/index.d.ts +2 -0
  29. package/esm/control/index.d.ts.map +1 -1
  30. package/esm/control/index.js +2 -0
  31. package/esm/control/index.js.map +1 -1
  32. package/esm/control/inject-keycode.d.ts +1 -2
  33. package/esm/control/inject-keycode.d.ts.map +1 -1
  34. package/esm/control/inject-keycode.js +4 -5
  35. package/esm/control/inject-keycode.js.map +1 -1
  36. package/esm/control/inject-text.d.ts +1 -2
  37. package/esm/control/inject-text.d.ts.map +1 -1
  38. package/esm/control/inject-text.js +1 -2
  39. package/esm/control/inject-text.js.map +1 -1
  40. package/esm/control/inject-touch.d.ts +15 -20
  41. package/esm/control/inject-touch.d.ts.map +1 -1
  42. package/esm/control/inject-touch.js +16 -43
  43. package/esm/control/inject-touch.js.map +1 -1
  44. package/esm/control/rotate-device.d.ts +2 -4
  45. package/esm/control/rotate-device.d.ts.map +1 -1
  46. package/esm/control/rotate-device.js +2 -3
  47. package/esm/control/rotate-device.js.map +1 -1
  48. package/esm/control/serializer.d.ts +11 -23
  49. package/esm/control/serializer.d.ts.map +1 -1
  50. package/esm/control/serializer.js +23 -52
  51. package/esm/control/serializer.js.map +1 -1
  52. package/esm/control/set-screen-power-mode.d.ts +1 -2
  53. package/esm/control/set-screen-power-mode.d.ts.map +1 -1
  54. package/esm/control/set-screen-power-mode.js +2 -3
  55. package/esm/control/set-screen-power-mode.js.map +1 -1
  56. package/esm/control/type.d.ts +14 -0
  57. package/esm/control/type.d.ts.map +1 -1
  58. package/esm/control/type.js +23 -1
  59. package/esm/control/type.js.map +1 -1
  60. package/esm/control/writer.d.ts +26 -0
  61. package/esm/control/writer.d.ts.map +1 -0
  62. package/esm/control/writer.js +53 -0
  63. package/esm/control/writer.js.map +1 -0
  64. package/esm/device-message/stream.d.ts.map +1 -1
  65. package/esm/device-message/stream.js +23 -8
  66. package/esm/device-message/stream.js.map +1 -1
  67. package/esm/device-message/type.js +1 -1
  68. package/esm/device-message/type.js.map +1 -1
  69. package/esm/index.d.ts +1 -2
  70. package/esm/index.d.ts.map +1 -1
  71. package/esm/index.js +1 -2
  72. package/esm/index.js.map +1 -1
  73. package/esm/options/1_16/codec-options.d.ts +2 -3
  74. package/esm/options/1_16/codec-options.d.ts.map +1 -1
  75. package/esm/options/1_16/codec-options.js.map +1 -1
  76. package/esm/options/1_16/index.d.ts +3 -1
  77. package/esm/options/1_16/index.d.ts.map +1 -1
  78. package/esm/options/1_16/index.js +3 -1
  79. package/esm/options/1_16/index.js.map +1 -1
  80. package/esm/options/1_16/init.js +2 -2
  81. package/esm/options/1_16/init.js.map +1 -1
  82. package/esm/options/1_16/options.d.ts +42 -96
  83. package/esm/options/1_16/options.d.ts.map +1 -1
  84. package/esm/options/1_16/options.js +104 -142
  85. package/esm/options/1_16/options.js.map +1 -1
  86. package/esm/options/1_16/scroll.d.ts +2 -4
  87. package/esm/options/1_16/scroll.d.ts.map +1 -1
  88. package/esm/options/1_16/scroll.js +13 -14
  89. package/esm/options/1_16/scroll.js.map +1 -1
  90. package/esm/options/1_17.d.ts +1 -0
  91. package/esm/options/1_17.d.ts.map +1 -1
  92. package/esm/options/1_17.js +8 -3
  93. package/esm/options/1_17.js.map +1 -1
  94. package/esm/options/1_18.d.ts +49 -11
  95. package/esm/options/1_18.d.ts.map +1 -1
  96. package/esm/options/1_18.js +64 -32
  97. package/esm/options/1_18.js.map +1 -1
  98. package/esm/options/1_21.d.ts +26 -7
  99. package/esm/options/1_21.d.ts.map +1 -1
  100. package/esm/options/1_21.js +34 -20
  101. package/esm/options/1_21.js.map +1 -1
  102. package/esm/options/1_22/index.d.ts +1 -0
  103. package/esm/options/1_22/index.d.ts.map +1 -1
  104. package/esm/options/1_22/index.js +1 -0
  105. package/esm/options/1_22/index.js.map +1 -1
  106. package/esm/options/1_22/options.d.ts +32 -26
  107. package/esm/options/1_22/options.d.ts.map +1 -1
  108. package/esm/options/1_22/options.js +26 -16
  109. package/esm/options/1_22/options.js.map +1 -1
  110. package/esm/options/1_22/scroll.d.ts +1 -1
  111. package/esm/options/1_22/scroll.d.ts.map +1 -1
  112. package/esm/options/1_22/scroll.js +1 -1
  113. package/esm/options/1_22/scroll.js.map +1 -1
  114. package/esm/options/1_23.d.ts +32 -8
  115. package/esm/options/1_23.d.ts.map +1 -1
  116. package/esm/options/1_23.js +23 -14
  117. package/esm/options/1_23.js.map +1 -1
  118. package/esm/options/1_24.d.ts +29 -4
  119. package/esm/options/1_24.d.ts.map +1 -1
  120. package/esm/options/1_24.js +16 -7
  121. package/esm/options/1_24.js.map +1 -1
  122. package/esm/options/1_25/options.d.ts +6 -2
  123. package/esm/options/1_25/options.d.ts.map +1 -1
  124. package/esm/options/1_25/options.js +16 -2
  125. package/esm/options/1_25/options.js.map +1 -1
  126. package/esm/options/1_25/scroll.d.ts.map +1 -1
  127. package/esm/options/1_25/scroll.js +2 -1
  128. package/esm/options/1_25/scroll.js.map +1 -1
  129. package/esm/options/2_0.d.ts +12 -8
  130. package/esm/options/2_0.d.ts.map +1 -1
  131. package/esm/options/2_0.js +82 -15
  132. package/esm/options/2_0.js.map +1 -1
  133. package/esm/options/2_1.d.ts +48 -0
  134. package/esm/options/2_1.d.ts.map +1 -0
  135. package/esm/options/2_1.js +23 -0
  136. package/esm/options/2_1.js.map +1 -0
  137. package/esm/options/codec.d.ts +4 -4
  138. package/esm/options/codec.d.ts.map +1 -1
  139. package/esm/options/codec.js +5 -6
  140. package/esm/options/codec.js.map +1 -1
  141. package/esm/options/index.d.ts +5 -0
  142. package/esm/options/index.d.ts.map +1 -1
  143. package/esm/options/index.js +5 -0
  144. package/esm/options/index.js.map +1 -1
  145. package/esm/options/latest.d.ts +4 -5
  146. package/esm/options/latest.d.ts.map +1 -1
  147. package/esm/options/latest.js +2 -3
  148. package/esm/options/latest.js.map +1 -1
  149. package/esm/options/types.d.ts +74 -33
  150. package/esm/options/types.d.ts.map +1 -1
  151. package/esm/options/types.js +62 -0
  152. package/esm/options/types.js.map +1 -1
  153. package/package.json +9 -19
  154. package/src/codec/av1.ts +33 -0
  155. package/src/codec/h264.ts +317 -0
  156. package/src/codec/h265.ts +1375 -0
  157. package/src/codec/index.ts +4 -0
  158. package/src/codec/nalu.ts +391 -0
  159. package/src/control/back-or-screen-on.ts +1 -1
  160. package/{esm/control/simple.js → src/control/basic.ts} +3 -3
  161. package/src/control/hover-helper.ts +10 -11
  162. package/src/control/index.ts +2 -0
  163. package/src/control/inject-keycode.ts +1 -3
  164. package/src/control/inject-text.ts +1 -3
  165. package/src/control/inject-touch.ts +16 -55
  166. package/src/control/rotate-device.ts +2 -7
  167. package/src/control/serializer.ts +50 -113
  168. package/src/control/set-screen-power-mode.ts +1 -3
  169. package/src/control/type.ts +32 -0
  170. package/src/control/writer.ts +85 -0
  171. package/src/device-message/stream.ts +32 -12
  172. package/src/index.ts +1 -2
  173. package/src/options/1_16/codec-options.ts +6 -7
  174. package/src/options/1_16/float-to-uint16.ts +33 -0
  175. package/src/options/1_16/index.ts +3 -1
  176. package/src/options/1_16/init.ts +80 -0
  177. package/src/options/1_16/message.ts +55 -0
  178. package/src/options/1_16/options.ts +147 -260
  179. package/src/options/1_16/scroll.ts +17 -18
  180. package/src/options/1_17.ts +66 -0
  181. package/src/options/1_18.ts +103 -39
  182. package/src/options/1_21.ts +49 -27
  183. package/src/options/1_22/index.ts +1 -0
  184. package/src/options/1_22/init.ts +19 -0
  185. package/src/options/1_22/options.ts +38 -45
  186. package/src/options/1_22/scroll.ts +3 -3
  187. package/src/options/1_23.ts +34 -22
  188. package/src/options/1_24.ts +23 -11
  189. package/src/options/1_25/options.ts +22 -4
  190. package/src/options/1_25/scroll.ts +4 -3
  191. package/src/options/2_0.ts +342 -0
  192. package/src/options/2_1.ts +35 -0
  193. package/src/options/codec.ts +98 -0
  194. package/src/options/index.ts +5 -0
  195. package/src/options/latest.ts +12 -0
  196. package/src/options/types.ts +164 -43
  197. package/tsconfig.build.json +9 -1
  198. package/tsconfig.build.tsbuildinfo +1 -1
  199. package/bin/scrcpy-server +0 -0
  200. package/bin/version.d.ts +0 -1
  201. package/bin/version.js +0 -1
  202. package/esm/adb/client.d.ts +0 -41
  203. package/esm/adb/client.d.ts.map +0 -1
  204. package/esm/adb/client.js +0 -224
  205. package/esm/adb/client.js.map +0 -1
  206. package/esm/adb/connection.d.ts +0 -49
  207. package/esm/adb/connection.d.ts.map +0 -1
  208. package/esm/adb/connection.js +0 -122
  209. package/esm/adb/connection.js.map +0 -1
  210. package/esm/adb/index.d.ts +0 -4
  211. package/esm/adb/index.d.ts.map +0 -1
  212. package/esm/adb/index.js +0 -4
  213. package/esm/adb/index.js.map +0 -1
  214. package/esm/adb/options/1_16.d.ts +0 -8
  215. package/esm/adb/options/1_16.d.ts.map +0 -1
  216. package/esm/adb/options/1_16.js +0 -20
  217. package/esm/adb/options/1_16.js.map +0 -1
  218. package/esm/adb/options/1_22.d.ts +0 -8
  219. package/esm/adb/options/1_22.d.ts.map +0 -1
  220. package/esm/adb/options/1_22.js +0 -17
  221. package/esm/adb/options/1_22.js.map +0 -1
  222. package/esm/adb/options/1_26.d.ts +0 -9
  223. package/esm/adb/options/1_26.d.ts.map +0 -1
  224. package/esm/adb/options/1_26.js +0 -11
  225. package/esm/adb/options/1_26.js.map +0 -1
  226. package/esm/adb/options/2_0.d.ts +0 -8
  227. package/esm/adb/options/2_0.d.ts.map +0 -1
  228. package/esm/adb/options/2_0.js +0 -13
  229. package/esm/adb/options/2_0.js.map +0 -1
  230. package/esm/adb/options/index.d.ts +0 -4
  231. package/esm/adb/options/index.d.ts.map +0 -1
  232. package/esm/adb/options/index.js +0 -4
  233. package/esm/adb/options/index.js.map +0 -1
  234. package/esm/adb/options/types.d.ts +0 -24
  235. package/esm/adb/options/types.d.ts.map +0 -1
  236. package/esm/adb/options/types.js +0 -37
  237. package/esm/adb/options/types.js.map +0 -1
  238. package/esm/codec.d.ts +0 -34
  239. package/esm/codec.d.ts.map +0 -1
  240. package/esm/codec.js +0 -37
  241. package/esm/codec.js.map +0 -1
  242. package/esm/control/simple.d.ts +0 -5
  243. package/esm/control/simple.d.ts.map +0 -1
  244. package/esm/control/simple.js.map +0 -1
  245. package/esm/decoder.d.ts +0 -2
  246. package/esm/decoder.d.ts.map +0 -1
  247. package/esm/decoder.js +0 -2
  248. package/esm/decoder.js.map +0 -1
  249. package/esm/options/1.17.d.ts +0 -3
  250. package/esm/options/1.17.d.ts.map +0 -1
  251. package/esm/options/1.17.js +0 -2
  252. package/esm/options/1.17.js.map +0 -1
  253. package/esm/options/1_16/h264-configuration.d.ts +0 -49
  254. package/esm/options/1_16/h264-configuration.d.ts.map +0 -1
  255. package/esm/options/1_16/h264-configuration.js +0 -414
  256. package/esm/options/1_16/h264-configuration.js.map +0 -1
  257. package/esm/options/1_16/sps.d.ts +0 -22
  258. package/esm/options/1_16/sps.d.ts.map +0 -1
  259. package/esm/options/1_16/sps.js +0 -263
  260. package/esm/options/1_16/sps.js.map +0 -1
  261. package/esm/options/1_26.d.ts +0 -57
  262. package/esm/options/1_26.d.ts.map +0 -1
  263. package/esm/options/1_26.js +0 -67
  264. package/esm/options/1_26.js.map +0 -1
  265. package/esm/options/2.d.ts +0 -57
  266. package/esm/options/2.d.ts.map +0 -1
  267. package/esm/options/2.js +0 -67
  268. package/esm/options/2.js.map +0 -1
  269. package/scripts/fetch-server.cjs +0 -38
  270. package/src/adb/client.ts +0 -329
  271. package/src/adb/connection.ts +0 -209
  272. package/src/adb/index.ts +0 -3
  273. package/src/adb/options/1_16.ts +0 -32
  274. package/src/adb/options/1_22.ts +0 -26
  275. package/src/adb/options/index.ts +0 -3
  276. package/src/adb/options/types.ts +0 -75
  277. package/src/codec.ts +0 -35
  278. package/src/options/1_16/h264-configuration.ts +0 -485
@@ -1,3 +1,4 @@
1
+ import { NaluSodbBitReader } from "./nalu.js";
1
2
  export declare enum AndroidHevcProfile {
2
3
  Main = 1,
3
4
  Main10 = 2,
@@ -33,4 +34,457 @@ export declare enum AndroidHevcLevel {
33
34
  MainTierLevel62 = 16777216,
34
35
  HighTierLevel62 = 33554432
35
36
  }
37
+ /**
38
+ * 6.2 Source, decoded and output picture formats
39
+ */
40
+ export declare function getSubWidthC(chroma_format_idc: number): 1 | 2;
41
+ /**
42
+ * 6.2 Source, decoded and output picture formats
43
+ */
44
+ export declare function getSubHeightC(chroma_format_idc: number): 1 | 2;
45
+ /**
46
+ * 7.3.1.1 General NAL unit syntax
47
+ */
48
+ export declare function h265ParseNaluHeader(nalu: Uint8Array): {
49
+ nal_unit_type: number;
50
+ nuh_layer_id: number;
51
+ nuh_temporal_id_plus1: number;
52
+ };
53
+ export type H265NaluHeader = ReturnType<typeof h265ParseNaluHeader>;
54
+ export interface H265NaluRaw extends H265NaluHeader {
55
+ data: Uint8Array;
56
+ rbsp: Uint8Array;
57
+ }
58
+ /**
59
+ * 7.3.2.1 Video parameter set RBSP syntax
60
+ */
61
+ export declare function h265ParseVideoParameterSet(nalu: Uint8Array): {
62
+ vps_video_parameter_set_id: number;
63
+ vps_base_layer_internal_flag: boolean;
64
+ vps_base_layer_available_flag: boolean;
65
+ vps_max_layers_minus1: number;
66
+ vps_max_sub_layers_minus1: number;
67
+ vps_temporal_id_nesting_flag: boolean;
68
+ profileTierLevel: H265ProfileTierLevel & {
69
+ generalProfileTier: {
70
+ profile_space: number;
71
+ tier_flag: boolean;
72
+ profile_idc: number;
73
+ profileCompatibilitySet: Uint8Array;
74
+ profile_compatibility_flag: boolean[];
75
+ constraintSet: Uint8Array;
76
+ progressive_source_flag: boolean;
77
+ interlaced_source_flag: boolean;
78
+ non_packed_constraint_flag: boolean;
79
+ frame_only_constraint_flag: boolean;
80
+ max_12bit_constraint_flag: boolean | undefined;
81
+ max_10bit_constraint_flag: boolean | undefined;
82
+ max_8bit_constraint_flag: boolean | undefined;
83
+ max_422chroma_constraint_flag: boolean | undefined;
84
+ max_420chroma_constraint_flag: boolean | undefined;
85
+ max_monochrome_constraint_flag: boolean | undefined;
86
+ intra_constraint_flag: boolean | undefined;
87
+ one_picture_only_constraint_flag: boolean | undefined;
88
+ lower_bit_rate_constraint_flag: boolean | undefined;
89
+ max_14bit_constraint_flag: boolean | undefined;
90
+ inbld_flag: boolean | undefined;
91
+ };
92
+ };
93
+ vps_sub_layer_ordering_info_present_flag: boolean;
94
+ vps_max_dec_pic_buffering_minus1: number[];
95
+ vps_max_num_reorder_pics: number[];
96
+ vps_max_latency_increase_plus1: number[];
97
+ vps_max_layer_id: number;
98
+ vps_num_layer_sets_minus1: number;
99
+ layer_id_included_flag: boolean[][];
100
+ vps_timing_info_present_flag: boolean;
101
+ vps_num_units_in_tick: number | undefined;
102
+ vps_time_scale: number | undefined;
103
+ vps_poc_proportional_to_timing_flag: boolean | undefined;
104
+ vps_num_ticks_poc_diff_one_minus1: number | undefined;
105
+ vps_num_hrd_parameters: number | undefined;
106
+ hrd_layer_set_idx: number[] | undefined;
107
+ cprms_present_flag: boolean[] | undefined;
108
+ hrdParameters: {
109
+ nal_hrd_parameters_present_flag: boolean | undefined;
110
+ vcl_hrd_parameters_present_flag: boolean | undefined;
111
+ sub_pic_hrd_params_present_flag: boolean | undefined;
112
+ tick_divisor_minus2: number | undefined;
113
+ du_cpb_removal_delay_increment_length_minus1: number | undefined;
114
+ sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined;
115
+ dpb_output_delay_du_length_minus1: number | undefined;
116
+ bit_rate_scale: number | undefined;
117
+ cpb_size_scale: number | undefined;
118
+ cpb_size_du_scale: number | undefined;
119
+ initial_cpb_removal_delay_length_minus1: number | undefined;
120
+ au_cpb_removal_delay_length_minus1: number | undefined;
121
+ dpb_output_delay_length_minus1: number | undefined;
122
+ fixed_pic_rate_general_flag: boolean[];
123
+ fixed_pic_rate_within_cvs_flag: boolean[];
124
+ elemental_duration_in_tc_minus1: number[];
125
+ low_delay_hrd_flag: boolean[];
126
+ cpb_cnt_minus1: number[];
127
+ nalHrdParameters: {
128
+ bit_rate_value_minus1: number[];
129
+ cpb_size_value_minus1: number[];
130
+ cpb_size_du_value_minus1: number[];
131
+ bit_rate_du_value_minus1: number[];
132
+ cbr_flag: boolean[];
133
+ }[];
134
+ vclHrdParameters: {
135
+ bit_rate_value_minus1: number[];
136
+ cpb_size_value_minus1: number[];
137
+ cpb_size_du_value_minus1: number[];
138
+ bit_rate_du_value_minus1: number[];
139
+ cbr_flag: boolean[];
140
+ }[];
141
+ }[] | undefined;
142
+ vps_extension_flag: boolean;
143
+ };
144
+ export type SubLayerHrdParameters = ReturnType<typeof h265ParseSubLayerHrdParameters>;
145
+ /**
146
+ * 7.3.2.2.1 General sequence parameter set RBSP syntax
147
+ */
148
+ export declare function h265ParseSequenceParameterSet(nalu: Uint8Array): {
149
+ sps_video_parameter_set_id: number;
150
+ sps_max_sub_layers_minus1: number;
151
+ sps_temporal_id_nesting_flag: boolean;
152
+ profileTierLevel: H265ProfileTierLevel & {
153
+ generalProfileTier: {
154
+ profile_space: number;
155
+ tier_flag: boolean;
156
+ profile_idc: number;
157
+ profileCompatibilitySet: Uint8Array;
158
+ profile_compatibility_flag: boolean[];
159
+ constraintSet: Uint8Array;
160
+ progressive_source_flag: boolean;
161
+ interlaced_source_flag: boolean;
162
+ non_packed_constraint_flag: boolean;
163
+ frame_only_constraint_flag: boolean;
164
+ max_12bit_constraint_flag: boolean | undefined;
165
+ max_10bit_constraint_flag: boolean | undefined;
166
+ max_8bit_constraint_flag: boolean | undefined;
167
+ max_422chroma_constraint_flag: boolean | undefined;
168
+ max_420chroma_constraint_flag: boolean | undefined;
169
+ max_monochrome_constraint_flag: boolean | undefined;
170
+ intra_constraint_flag: boolean | undefined;
171
+ one_picture_only_constraint_flag: boolean | undefined;
172
+ lower_bit_rate_constraint_flag: boolean | undefined;
173
+ max_14bit_constraint_flag: boolean | undefined;
174
+ inbld_flag: boolean | undefined;
175
+ };
176
+ };
177
+ sps_seq_parameter_set_id: number;
178
+ chroma_format_idc: number;
179
+ separate_colour_plane_flag: boolean | undefined;
180
+ pic_width_in_luma_samples: number;
181
+ pic_height_in_luma_samples: number;
182
+ conformance_window_flag: boolean;
183
+ conf_win_left_offset: number | undefined;
184
+ conf_win_right_offset: number | undefined;
185
+ conf_win_top_offset: number | undefined;
186
+ conf_win_bottom_offset: number | undefined;
187
+ bit_depth_luma_minus8: number;
188
+ bit_depth_chroma_minus8: number;
189
+ log2_max_pic_order_cnt_lsb_minus4: number;
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;
194
+ log2_min_luma_coding_block_size_minus3: number;
195
+ log2_diff_max_min_luma_coding_block_size: number;
196
+ log2_min_luma_transform_block_size_minus2: number;
197
+ log2_diff_max_min_luma_transform_block_size: number;
198
+ max_transform_hierarchy_depth_inter: number;
199
+ max_transform_hierarchy_depth_intra: number;
200
+ scaling_list_enabled_flag: boolean;
201
+ sps_scaling_list_data_present_flag: boolean | undefined;
202
+ scalingListData: number[][][] | undefined;
203
+ amp_enabled_flag: boolean;
204
+ sample_adaptive_offset_enabled_flag: boolean;
205
+ pcm_enabled_flag: boolean;
206
+ pcm_sample_bit_depth_luma_minus1: number | undefined;
207
+ pcm_sample_bit_depth_chroma_minus1: number | undefined;
208
+ log2_min_pcm_luma_coding_block_size_minus3: number | undefined;
209
+ log2_diff_max_min_pcm_luma_coding_block_size: number | undefined;
210
+ pcm_loop_filter_disabled_flag: boolean | undefined;
211
+ num_short_term_ref_pic_sets: number;
212
+ shortTermRefPicSets: ShortTermReferencePictureSet[];
213
+ long_term_ref_pics_present_flag: boolean;
214
+ num_long_term_ref_pics_sps: number | undefined;
215
+ lt_ref_pic_poc_lsb_sps: number[] | undefined;
216
+ used_by_curr_pic_lt_sps_flag: boolean[] | undefined;
217
+ sps_temporal_mvp_enabled_flag: boolean;
218
+ strong_intra_smoothing_enabled_flag: boolean;
219
+ vui_parameters_present_flag: boolean;
220
+ vuiParameters: {
221
+ aspect_ratio_info_present_flag: boolean;
222
+ aspect_ratio_idc: number | undefined;
223
+ sar_width: number | undefined;
224
+ sar_height: number | undefined;
225
+ overscan_info_present_flag: boolean;
226
+ overscan_appropriate_flag: boolean | undefined;
227
+ video_signal_type_present_flag: boolean;
228
+ video_format: number | undefined;
229
+ video_full_range_flag: boolean | undefined;
230
+ colour_description_present_flag: boolean | undefined;
231
+ colour_primaries: number | undefined;
232
+ transfer_characteristics: number | undefined;
233
+ matrix_coeffs: number | undefined;
234
+ chroma_loc_info_present_flag: boolean;
235
+ chroma_sample_loc_type_top_field: number | undefined;
236
+ chroma_sample_loc_type_bottom_field: number | undefined;
237
+ neutral_chroma_indication_flag: boolean;
238
+ field_seq_flag: boolean;
239
+ frame_field_info_present_flag: boolean;
240
+ default_display_window_flag: boolean;
241
+ def_disp_win_left_offset: number | undefined;
242
+ def_disp_win_right_offset: number | undefined;
243
+ def_disp_win_top_offset: number | undefined;
244
+ def_disp_win_bottom_offset: number | undefined;
245
+ vui_timing_info_present_flag: boolean;
246
+ vui_num_units_in_tick: number | undefined;
247
+ vui_time_scale: number | undefined;
248
+ vui_poc_proportional_to_timing_flag: boolean | undefined;
249
+ vui_num_ticks_poc_diff_one_minus1: number | undefined;
250
+ vui_hrd_parameters_present_flag: boolean | undefined;
251
+ bitstream_restriction_flag: boolean;
252
+ tiles_fixed_structure_flag: boolean | undefined;
253
+ motion_vectors_over_pic_boundaries_flag: boolean | undefined;
254
+ restricted_ref_pic_lists_flag: boolean | undefined;
255
+ min_spatial_segmentation_idc: number | undefined;
256
+ max_bytes_per_pic_denom: number | undefined;
257
+ max_bits_per_min_cu_denom: number | undefined;
258
+ log2_max_mv_length_horizontal: number | undefined;
259
+ log2_max_mv_length_vertical: number | undefined;
260
+ } | undefined;
261
+ sps_extension_present_flag: boolean;
262
+ sps_range_extension_flag: false | undefined;
263
+ sps_multilayer_extension_flag: boolean | undefined;
264
+ sps_3d_extension_flag: boolean | undefined;
265
+ sps_scc_extension_flag: false | undefined;
266
+ sps_extension_4bits: number | undefined;
267
+ spsMultilayerExtension: {
268
+ inter_view_mv_vert_constraint_flag: boolean;
269
+ } | undefined;
270
+ sps3dExtension: {
271
+ iv_di_mc_enabled_flag: boolean[];
272
+ iv_mv_scal_enabled_flag: boolean[];
273
+ log2_ivmc_sub_pb_size_minus3: number;
274
+ iv_res_pred_enabled_flag: boolean;
275
+ depth_ref_enabled_flag: boolean;
276
+ vsp_mc_enabled_flag: boolean;
277
+ dbbp_enabled_flag: boolean;
278
+ tex_mc_enabled_flag: boolean;
279
+ log2_texmc_sub_pb_size_minus3: number;
280
+ intra_contour_enabled_flag: boolean;
281
+ intra_dc_only_wedge_enabled_flag: boolean;
282
+ cqt_cu_part_pred_enabled_flag: boolean;
283
+ inter_dc_only_enabled_flag: boolean;
284
+ skip_intra_enabled_flag: boolean;
285
+ } | undefined;
286
+ sps_extension_data_flag: boolean[] | undefined;
287
+ };
288
+ /**
289
+ * 7.3.3 Profile, tier and level syntax
290
+ *
291
+ * Common part between general_profile_tier_level and
292
+ * sub_layer_profile_tier_level
293
+ */
294
+ declare function h265ParseProfileTier(reader: NaluSodbBitReader): {
295
+ profile_space: number;
296
+ tier_flag: boolean;
297
+ profile_idc: number;
298
+ profileCompatibilitySet: Uint8Array;
299
+ profile_compatibility_flag: boolean[];
300
+ constraintSet: Uint8Array;
301
+ progressive_source_flag: boolean;
302
+ interlaced_source_flag: boolean;
303
+ non_packed_constraint_flag: boolean;
304
+ frame_only_constraint_flag: boolean;
305
+ max_12bit_constraint_flag: boolean | undefined;
306
+ max_10bit_constraint_flag: boolean | undefined;
307
+ max_8bit_constraint_flag: boolean | undefined;
308
+ max_422chroma_constraint_flag: boolean | undefined;
309
+ max_420chroma_constraint_flag: boolean | undefined;
310
+ max_monochrome_constraint_flag: boolean | undefined;
311
+ intra_constraint_flag: boolean | undefined;
312
+ one_picture_only_constraint_flag: boolean | undefined;
313
+ lower_bit_rate_constraint_flag: boolean | undefined;
314
+ max_14bit_constraint_flag: boolean | undefined;
315
+ inbld_flag: boolean | undefined;
316
+ };
317
+ export type H265ProfileTier = ReturnType<typeof h265ParseProfileTier>;
318
+ export interface H265ProfileTierLevel {
319
+ generalProfileTier: H265ProfileTier | undefined;
320
+ general_level_idc: number;
321
+ sub_layer_profile_present_flag: boolean[];
322
+ sub_layer_level_present_flag: boolean[];
323
+ subLayerProfileTier: H265ProfileTier[];
324
+ sub_layer_level_idc: number[];
325
+ }
326
+ /**
327
+ * 7.3.4 Scaling list data syntax
328
+ */
329
+ export declare function h265ParseScalingListData(reader: NaluSodbBitReader): number[][][];
330
+ interface ShortTermReferencePictureSet {
331
+ stRpsIdx: number;
332
+ num_short_term_ref_pic_sets: number;
333
+ inter_ref_pic_set_prediction_flag: boolean;
334
+ delta_idx_minus1: number;
335
+ delta_rps_sign: boolean;
336
+ abs_delta_rps_minus1: number;
337
+ used_by_curr_pic_flag: boolean[];
338
+ use_delta_flag: boolean[];
339
+ num_negative_pics: number;
340
+ num_positive_pics: number;
341
+ delta_poc_s0_minus1: number[];
342
+ used_by_curr_pic_s0_flag: boolean[];
343
+ delta_poc_s1_minus1: number[];
344
+ used_by_curr_pic_s1_flag: boolean[];
345
+ }
346
+ /**
347
+ * 7.3.7 Short-term reference picture set syntax
348
+ */
349
+ export declare function h265ParseShortTermReferencePictureSet(reader: NaluSodbBitReader, stRpsIdx: number, num_short_term_ref_pic_sets: number, sets: ShortTermReferencePictureSet[]): ShortTermReferencePictureSet;
350
+ /**
351
+ * E.2.1 VUI parameters syntax
352
+ */
353
+ export declare function h265ParseVuiParameters(reader: NaluSodbBitReader): {
354
+ aspect_ratio_info_present_flag: boolean;
355
+ aspect_ratio_idc: number | undefined;
356
+ sar_width: number | undefined;
357
+ sar_height: number | undefined;
358
+ overscan_info_present_flag: boolean;
359
+ overscan_appropriate_flag: boolean | undefined;
360
+ video_signal_type_present_flag: boolean;
361
+ video_format: number | undefined;
362
+ video_full_range_flag: boolean | undefined;
363
+ colour_description_present_flag: boolean | undefined;
364
+ colour_primaries: number | undefined;
365
+ transfer_characteristics: number | undefined;
366
+ matrix_coeffs: number | undefined;
367
+ chroma_loc_info_present_flag: boolean;
368
+ chroma_sample_loc_type_top_field: number | undefined;
369
+ chroma_sample_loc_type_bottom_field: number | undefined;
370
+ neutral_chroma_indication_flag: boolean;
371
+ field_seq_flag: boolean;
372
+ frame_field_info_present_flag: boolean;
373
+ default_display_window_flag: boolean;
374
+ def_disp_win_left_offset: number | undefined;
375
+ def_disp_win_right_offset: number | undefined;
376
+ def_disp_win_top_offset: number | undefined;
377
+ def_disp_win_bottom_offset: number | undefined;
378
+ vui_timing_info_present_flag: boolean;
379
+ vui_num_units_in_tick: number | undefined;
380
+ vui_time_scale: number | undefined;
381
+ vui_poc_proportional_to_timing_flag: boolean | undefined;
382
+ vui_num_ticks_poc_diff_one_minus1: number | undefined;
383
+ vui_hrd_parameters_present_flag: boolean | undefined;
384
+ bitstream_restriction_flag: boolean;
385
+ tiles_fixed_structure_flag: boolean | undefined;
386
+ motion_vectors_over_pic_boundaries_flag: boolean | undefined;
387
+ restricted_ref_pic_lists_flag: boolean | undefined;
388
+ min_spatial_segmentation_idc: number | undefined;
389
+ max_bytes_per_pic_denom: number | undefined;
390
+ max_bits_per_min_cu_denom: number | undefined;
391
+ log2_max_mv_length_horizontal: number | undefined;
392
+ log2_max_mv_length_vertical: number | undefined;
393
+ };
394
+ export type H265VuiParameters = ReturnType<typeof h265ParseVuiParameters>;
395
+ /**
396
+ * E.2.2 HRD parameters syntax
397
+ */
398
+ export declare function h265ParseHrdParameters(reader: NaluSodbBitReader, commonInfPresentFlag: boolean, maxNumSubLayersMinus1: number): {
399
+ nal_hrd_parameters_present_flag: boolean | undefined;
400
+ vcl_hrd_parameters_present_flag: boolean | undefined;
401
+ sub_pic_hrd_params_present_flag: boolean | undefined;
402
+ tick_divisor_minus2: number | undefined;
403
+ du_cpb_removal_delay_increment_length_minus1: number | undefined;
404
+ sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined;
405
+ dpb_output_delay_du_length_minus1: number | undefined;
406
+ bit_rate_scale: number | undefined;
407
+ cpb_size_scale: number | undefined;
408
+ cpb_size_du_scale: number | undefined;
409
+ initial_cpb_removal_delay_length_minus1: number | undefined;
410
+ au_cpb_removal_delay_length_minus1: number | undefined;
411
+ dpb_output_delay_length_minus1: number | undefined;
412
+ fixed_pic_rate_general_flag: boolean[];
413
+ fixed_pic_rate_within_cvs_flag: boolean[];
414
+ elemental_duration_in_tc_minus1: number[];
415
+ low_delay_hrd_flag: boolean[];
416
+ cpb_cnt_minus1: number[];
417
+ nalHrdParameters: {
418
+ bit_rate_value_minus1: number[];
419
+ cpb_size_value_minus1: number[];
420
+ cpb_size_du_value_minus1: number[];
421
+ bit_rate_du_value_minus1: number[];
422
+ cbr_flag: boolean[];
423
+ }[];
424
+ vclHrdParameters: {
425
+ bit_rate_value_minus1: number[];
426
+ cpb_size_value_minus1: number[];
427
+ cpb_size_du_value_minus1: number[];
428
+ bit_rate_du_value_minus1: number[];
429
+ cbr_flag: boolean[];
430
+ }[];
431
+ };
432
+ export type H265HrdParameters = ReturnType<typeof h265ParseHrdParameters>;
433
+ /**
434
+ * E.2.3 Sub-layer HRD parameters syntax
435
+ */
436
+ export declare function h265ParseSubLayerHrdParameters(reader: NaluSodbBitReader, subLayerId: number, CpbCnt: number): {
437
+ bit_rate_value_minus1: number[];
438
+ cpb_size_value_minus1: number[];
439
+ cpb_size_du_value_minus1: number[];
440
+ bit_rate_du_value_minus1: number[];
441
+ cbr_flag: boolean[];
442
+ };
443
+ export declare function h265SearchConfiguration(buffer: Uint8Array): {
444
+ videoParameterSet: H265NaluRaw;
445
+ sequenceParameterSet: H265NaluRaw;
446
+ pictureParameterSet: H265NaluRaw;
447
+ };
448
+ export declare function h265ParseSpsMultilayerExtension(reader: NaluSodbBitReader): {
449
+ inter_view_mv_vert_constraint_flag: boolean;
450
+ };
451
+ export type H265SpsMultilayerExtension = ReturnType<typeof h265ParseSpsMultilayerExtension>;
452
+ export declare function h265ParseSps3dExtension(reader: NaluSodbBitReader): {
453
+ iv_di_mc_enabled_flag: boolean[];
454
+ iv_mv_scal_enabled_flag: boolean[];
455
+ log2_ivmc_sub_pb_size_minus3: number;
456
+ iv_res_pred_enabled_flag: boolean;
457
+ depth_ref_enabled_flag: boolean;
458
+ vsp_mc_enabled_flag: boolean;
459
+ dbbp_enabled_flag: boolean;
460
+ tex_mc_enabled_flag: boolean;
461
+ log2_texmc_sub_pb_size_minus3: number;
462
+ intra_contour_enabled_flag: boolean;
463
+ intra_dc_only_wedge_enabled_flag: boolean;
464
+ cqt_cu_part_pred_enabled_flag: boolean;
465
+ inter_dc_only_enabled_flag: boolean;
466
+ skip_intra_enabled_flag: boolean;
467
+ };
468
+ export type H265Sps3dExtension = ReturnType<typeof h265ParseSps3dExtension>;
469
+ export interface H265Configuration {
470
+ videoParameterSet: H265NaluRaw;
471
+ sequenceParameterSet: H265NaluRaw;
472
+ pictureParameterSet: H265NaluRaw;
473
+ generalProfileSpace: number;
474
+ generalProfileIndex: number;
475
+ generalProfileCompatibilitySet: Uint8Array;
476
+ generalTierFlag: boolean;
477
+ generalLevelIndex: number;
478
+ generalConstraintSet: Uint8Array;
479
+ encodedWidth: number;
480
+ encodedHeight: number;
481
+ cropLeft: number;
482
+ cropRight: number;
483
+ cropTop: number;
484
+ cropBottom: number;
485
+ croppedWidth: number;
486
+ croppedHeight: number;
487
+ }
488
+ export declare function h265ParseConfiguration(data: Uint8Array): H265Configuration;
489
+ export {};
36
490
  //# sourceMappingURL=h265.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../src/codec/h265.ts"],"names":[],"mappings":"AAAA,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"}
1
+ {"version":3,"file":"h265.d.ts","sourceRoot":"","sources":["../../src/codec/h265.ts"],"names":[],"mappings":"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"}