@libmedia/avutil 0.2.0

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 (451) hide show
  1. package/COPYING.LGPLv3 +165 -0
  2. package/README.md +13 -0
  3. package/dist/cjs/AVStream.d.ts +163 -0
  4. package/dist/cjs/AVStream.js +36 -0
  5. package/dist/cjs/AVStream.js.map +1 -0
  6. package/dist/cjs/audiosamplefmt.d.ts +225 -0
  7. package/dist/cjs/audiosamplefmt.js +6 -0
  8. package/dist/cjs/audiosamplefmt.js.map +1 -0
  9. package/dist/cjs/avformat.d.ts +51 -0
  10. package/dist/cjs/avformat.js +6 -0
  11. package/dist/cjs/avformat.js.map +1 -0
  12. package/dist/cjs/codec.d.ts +863 -0
  13. package/dist/cjs/codec.js +6 -0
  14. package/dist/cjs/codec.js.map +1 -0
  15. package/dist/cjs/codecs/aac.d.ts +115 -0
  16. package/dist/cjs/codecs/aac.js +131 -0
  17. package/dist/cjs/codecs/aac.js.map +1 -0
  18. package/dist/cjs/codecs/ac3.d.ts +73 -0
  19. package/dist/cjs/codecs/ac3.js +73 -0
  20. package/dist/cjs/codecs/ac3.js.map +1 -0
  21. package/dist/cjs/codecs/av1.d.ts +72 -0
  22. package/dist/cjs/codecs/av1.js +238 -0
  23. package/dist/cjs/codecs/av1.js.map +1 -0
  24. package/dist/cjs/codecs/dts.d.ts +17 -0
  25. package/dist/cjs/codecs/dts.js +40 -0
  26. package/dist/cjs/codecs/dts.js.map +1 -0
  27. package/dist/cjs/codecs/flac.d.ts +16 -0
  28. package/dist/cjs/codecs/flac.js +6 -0
  29. package/dist/cjs/codecs/flac.js.map +1 -0
  30. package/dist/cjs/codecs/h264.d.ts +137 -0
  31. package/dist/cjs/codecs/h264.js +374 -0
  32. package/dist/cjs/codecs/h264.js.map +1 -0
  33. package/dist/cjs/codecs/hevc.d.ts +163 -0
  34. package/dist/cjs/codecs/hevc.js +431 -0
  35. package/dist/cjs/codecs/hevc.js.map +1 -0
  36. package/dist/cjs/codecs/mp3.d.ts +13 -0
  37. package/dist/cjs/codecs/mp3.js +94 -0
  38. package/dist/cjs/codecs/mp3.js.map +1 -0
  39. package/dist/cjs/codecs/mpeg4.d.ts +7 -0
  40. package/dist/cjs/codecs/mpeg4.js +10 -0
  41. package/dist/cjs/codecs/mpeg4.js.map +1 -0
  42. package/dist/cjs/codecs/mpegvideo.d.ts +7 -0
  43. package/dist/cjs/codecs/mpegvideo.js +14 -0
  44. package/dist/cjs/codecs/mpegvideo.js.map +1 -0
  45. package/dist/cjs/codecs/opus.d.ts +23 -0
  46. package/dist/cjs/codecs/opus.js +53 -0
  47. package/dist/cjs/codecs/opus.js.map +1 -0
  48. package/dist/cjs/codecs/vp8.d.ts +27 -0
  49. package/dist/cjs/codecs/vp8.js +37 -0
  50. package/dist/cjs/codecs/vp8.js.map +1 -0
  51. package/dist/cjs/codecs/vp9.d.ts +42 -0
  52. package/dist/cjs/codecs/vp9.js +130 -0
  53. package/dist/cjs/codecs/vp9.js.map +1 -0
  54. package/dist/cjs/codecs/vvc.d.ts +178 -0
  55. package/dist/cjs/codecs/vvc.js +376 -0
  56. package/dist/cjs/codecs/vvc.js.map +1 -0
  57. package/dist/cjs/constant.d.ts +28 -0
  58. package/dist/cjs/constant.js +23 -0
  59. package/dist/cjs/constant.js.map +1 -0
  60. package/dist/cjs/error.d.ts +9 -0
  61. package/dist/cjs/error.js +9 -0
  62. package/dist/cjs/error.js.map +1 -0
  63. package/dist/cjs/function/analyzeAVFormat.d.ts +3 -0
  64. package/dist/cjs/function/analyzeAVFormat.js +34 -0
  65. package/dist/cjs/function/analyzeAVFormat.js.map +1 -0
  66. package/dist/cjs/function/analyzeUrlIOLoader.d.ts +7 -0
  67. package/dist/cjs/function/analyzeUrlIOLoader.js +89 -0
  68. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -0
  69. package/dist/cjs/function/audioData2AVFrame.d.ts +2 -0
  70. package/dist/cjs/function/audioData2AVFrame.js +48 -0
  71. package/dist/cjs/function/audioData2AVFrame.js.map +1 -0
  72. package/dist/cjs/function/avframe2AudioData.d.ts +3 -0
  73. package/dist/cjs/function/avframe2AudioData.js +100 -0
  74. package/dist/cjs/function/avframe2AudioData.js.map +1 -0
  75. package/dist/cjs/function/avframe2VideoFrame.d.ts +6 -0
  76. package/dist/cjs/function/avframe2VideoFrame.js +114 -0
  77. package/dist/cjs/function/avframe2VideoFrame.js.map +1 -0
  78. package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +2 -0
  79. package/dist/cjs/function/avpacket2EncodedAudioChunk.js +15 -0
  80. package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -0
  81. package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +2 -0
  82. package/dist/cjs/function/avpacket2EncodedVideoChunk.js +15 -0
  83. package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -0
  84. package/dist/cjs/function/compileResource.d.ts +2 -0
  85. package/dist/cjs/function/compileResource.js +47 -0
  86. package/dist/cjs/function/compileResource.js.map +1 -0
  87. package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +2 -0
  88. package/dist/cjs/function/encodedAudioChunk2AVPacket.js +23 -0
  89. package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -0
  90. package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +7 -0
  91. package/dist/cjs/function/encodedVideoChunk2AVPacket.js +30 -0
  92. package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -0
  93. package/dist/cjs/function/getAudioCodec.d.ts +2 -0
  94. package/dist/cjs/function/getAudioCodec.js +13 -0
  95. package/dist/cjs/function/getAudioCodec.js.map +1 -0
  96. package/dist/cjs/function/getHardwarePreference.d.ts +1 -0
  97. package/dist/cjs/function/getHardwarePreference.js +16 -0
  98. package/dist/cjs/function/getHardwarePreference.js.map +1 -0
  99. package/dist/cjs/function/getVideoCodec.d.ts +2 -0
  100. package/dist/cjs/function/getVideoCodec.js +76 -0
  101. package/dist/cjs/function/getVideoCodec.js.map +1 -0
  102. package/dist/cjs/function/hasAlphaChannel.d.ts +2 -0
  103. package/dist/cjs/function/hasAlphaChannel.js +12 -0
  104. package/dist/cjs/function/hasAlphaChannel.js.map +1 -0
  105. package/dist/cjs/function/isHdr.d.ts +2 -0
  106. package/dist/cjs/function/isHdr.js +13 -0
  107. package/dist/cjs/function/isHdr.js.map +1 -0
  108. package/dist/cjs/function/videoFrame2AVFrame.d.ts +7 -0
  109. package/dist/cjs/function/videoFrame2AVFrame.js +111 -0
  110. package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -0
  111. package/dist/cjs/implement/AVFramePoolImpl.d.ts +10 -0
  112. package/dist/cjs/implement/AVFramePoolImpl.js +54 -0
  113. package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -0
  114. package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +10 -0
  115. package/dist/cjs/implement/AVPCMBufferPoolImpl.js +52 -0
  116. package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -0
  117. package/dist/cjs/implement/AVPacketPoolImpl.d.ts +10 -0
  118. package/dist/cjs/implement/AVPacketPoolImpl.js +54 -0
  119. package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -0
  120. package/dist/cjs/pixelFormatDescriptor.d.ts +100 -0
  121. package/dist/cjs/pixelFormatDescriptor.js +1075 -0
  122. package/dist/cjs/pixelFormatDescriptor.js.map +1 -0
  123. package/dist/cjs/pixfmt.d.ts +1294 -0
  124. package/dist/cjs/pixfmt.js +6 -0
  125. package/dist/cjs/pixfmt.js.map +1 -0
  126. package/dist/cjs/sampleFormatDescriptor.d.ts +6 -0
  127. package/dist/cjs/sampleFormatDescriptor.js +55 -0
  128. package/dist/cjs/sampleFormatDescriptor.js.map +1 -0
  129. package/dist/cjs/stringEnum.d.ts +105 -0
  130. package/dist/cjs/stringEnum.js +219 -0
  131. package/dist/cjs/stringEnum.js.map +1 -0
  132. package/dist/cjs/struct/audiosample.d.ts +64 -0
  133. package/dist/cjs/struct/audiosample.js +134 -0
  134. package/dist/cjs/struct/audiosample.js.map +1 -0
  135. package/dist/cjs/struct/avbuffer.d.ts +85 -0
  136. package/dist/cjs/struct/avbuffer.js +319 -0
  137. package/dist/cjs/struct/avbuffer.js.map +1 -0
  138. package/dist/cjs/struct/avcodecparameters.d.ts +163 -0
  139. package/dist/cjs/struct/avcodecparameters.js +380 -0
  140. package/dist/cjs/struct/avcodecparameters.js.map +1 -0
  141. package/dist/cjs/struct/avdict.d.ts +17 -0
  142. package/dist/cjs/struct/avdict.js +74 -0
  143. package/dist/cjs/struct/avdict.js.map +1 -0
  144. package/dist/cjs/struct/avframe.d.ts +559 -0
  145. package/dist/cjs/struct/avframe.js +720 -0
  146. package/dist/cjs/struct/avframe.js.map +1 -0
  147. package/dist/cjs/struct/avpacket.d.ts +125 -0
  148. package/dist/cjs/struct/avpacket.js +286 -0
  149. package/dist/cjs/struct/avpacket.js.map +1 -0
  150. package/dist/cjs/struct/avpcmbuffer.d.ts +44 -0
  151. package/dist/cjs/struct/avpcmbuffer.js +128 -0
  152. package/dist/cjs/struct/avpcmbuffer.js.map +1 -0
  153. package/dist/cjs/struct/avsubtitle.d.ts +30 -0
  154. package/dist/cjs/struct/avsubtitle.js +6 -0
  155. package/dist/cjs/struct/avsubtitle.js.map +1 -0
  156. package/dist/cjs/struct/rational.d.ts +15 -0
  157. package/dist/cjs/struct/rational.js +43 -0
  158. package/dist/cjs/struct/rational.js.map +1 -0
  159. package/dist/cjs/util/amf.d.ts +10 -0
  160. package/dist/cjs/util/amf.js +109 -0
  161. package/dist/cjs/util/amf.js.map +1 -0
  162. package/dist/cjs/util/av1syntax.d.ts +9 -0
  163. package/dist/cjs/util/av1syntax.js +53 -0
  164. package/dist/cjs/util/av1syntax.js.map +1 -0
  165. package/dist/cjs/util/avbuffer.d.ts +17 -0
  166. package/dist/cjs/util/avbuffer.js +147 -0
  167. package/dist/cjs/util/avbuffer.js.map +1 -0
  168. package/dist/cjs/util/avdict.d.ts +8 -0
  169. package/dist/cjs/util/avdict.js +69 -0
  170. package/dist/cjs/util/avdict.js.map +1 -0
  171. package/dist/cjs/util/avframe.d.ts +14 -0
  172. package/dist/cjs/util/avframe.js +233 -0
  173. package/dist/cjs/util/avframe.js.map +1 -0
  174. package/dist/cjs/util/avpacket.d.ts +22 -0
  175. package/dist/cjs/util/avpacket.js +171 -0
  176. package/dist/cjs/util/avpacket.js.map +1 -0
  177. package/dist/cjs/util/channel.d.ts +4 -0
  178. package/dist/cjs/util/channel.js +43 -0
  179. package/dist/cjs/util/channel.js.map +1 -0
  180. package/dist/cjs/util/codecparameters.d.ts +4 -0
  181. package/dist/cjs/util/codecparameters.js +69 -0
  182. package/dist/cjs/util/codecparameters.js.map +1 -0
  183. package/dist/cjs/util/common.d.ts +3 -0
  184. package/dist/cjs/util/common.js +16 -0
  185. package/dist/cjs/util/common.js.map +1 -0
  186. package/dist/cjs/util/crypto.d.ts +1 -0
  187. package/dist/cjs/util/crypto.js +8 -0
  188. package/dist/cjs/util/crypto.js.map +1 -0
  189. package/dist/cjs/util/expgolomb.d.ts +26 -0
  190. package/dist/cjs/util/expgolomb.js +35 -0
  191. package/dist/cjs/util/expgolomb.js.map +1 -0
  192. package/dist/cjs/util/intread.d.ts +9 -0
  193. package/dist/cjs/util/intread.js +36 -0
  194. package/dist/cjs/util/intread.js.map +1 -0
  195. package/dist/cjs/util/intwrite.d.ts +9 -0
  196. package/dist/cjs/util/intwrite.js +36 -0
  197. package/dist/cjs/util/intwrite.js.map +1 -0
  198. package/dist/cjs/util/mem.d.ts +5 -0
  199. package/dist/cjs/util/mem.js +48 -0
  200. package/dist/cjs/util/mem.js.map +1 -0
  201. package/dist/cjs/util/nalu.d.ts +12 -0
  202. package/dist/cjs/util/nalu.js +130 -0
  203. package/dist/cjs/util/nalu.js.map +1 -0
  204. package/dist/cjs/util/ntp.d.ts +1 -0
  205. package/dist/cjs/util/ntp.js +9 -0
  206. package/dist/cjs/util/ntp.js.map +1 -0
  207. package/dist/cjs/util/pcm.d.ts +4 -0
  208. package/dist/cjs/util/pcm.js +141 -0
  209. package/dist/cjs/util/pcm.js.map +1 -0
  210. package/dist/cjs/util/pixel.d.ts +11 -0
  211. package/dist/cjs/util/pixel.js +197 -0
  212. package/dist/cjs/util/pixel.js.map +1 -0
  213. package/dist/cjs/util/rational.d.ts +41 -0
  214. package/dist/cjs/util/rational.js +33 -0
  215. package/dist/cjs/util/rational.js.map +1 -0
  216. package/dist/cjs/util/sample.d.ts +7 -0
  217. package/dist/cjs/util/sample.js +46 -0
  218. package/dist/cjs/util/sample.js.map +1 -0
  219. package/dist/cjs/util/serialize.d.ts +64 -0
  220. package/dist/cjs/util/serialize.js +143 -0
  221. package/dist/cjs/util/serialize.js.map +1 -0
  222. package/dist/esm/AVStream.d.ts +163 -0
  223. package/dist/esm/AVStream.js +34 -0
  224. package/dist/esm/AVStream.js.map +1 -0
  225. package/dist/esm/audiosamplefmt.d.ts +225 -0
  226. package/dist/esm/audiosamplefmt.js +2 -0
  227. package/dist/esm/audiosamplefmt.js.map +1 -0
  228. package/dist/esm/avformat.d.ts +51 -0
  229. package/dist/esm/avformat.js +2 -0
  230. package/dist/esm/avformat.js.map +1 -0
  231. package/dist/esm/codec.d.ts +863 -0
  232. package/dist/esm/codec.js +2 -0
  233. package/dist/esm/codec.js.map +1 -0
  234. package/dist/esm/codecs/aac.d.ts +115 -0
  235. package/dist/esm/codecs/aac.js +132 -0
  236. package/dist/esm/codecs/aac.js.map +1 -0
  237. package/dist/esm/codecs/ac3.d.ts +73 -0
  238. package/dist/esm/codecs/ac3.js +63 -0
  239. package/dist/esm/codecs/ac3.js.map +1 -0
  240. package/dist/esm/codecs/av1.d.ts +72 -0
  241. package/dist/esm/codecs/av1.js +218 -0
  242. package/dist/esm/codecs/av1.js.map +1 -0
  243. package/dist/esm/codecs/dts.d.ts +17 -0
  244. package/dist/esm/codecs/dts.js +34 -0
  245. package/dist/esm/codecs/dts.js.map +1 -0
  246. package/dist/esm/codecs/flac.d.ts +16 -0
  247. package/dist/esm/codecs/flac.js +2 -0
  248. package/dist/esm/codecs/flac.js.map +1 -0
  249. package/dist/esm/codecs/h264.d.ts +137 -0
  250. package/dist/esm/codecs/h264.js +373 -0
  251. package/dist/esm/codecs/h264.js.map +1 -0
  252. package/dist/esm/codecs/hevc.d.ts +163 -0
  253. package/dist/esm/codecs/hevc.js +427 -0
  254. package/dist/esm/codecs/hevc.js.map +1 -0
  255. package/dist/esm/codecs/mp3.d.ts +13 -0
  256. package/dist/esm/codecs/mp3.js +95 -0
  257. package/dist/esm/codecs/mp3.js.map +1 -0
  258. package/dist/esm/codecs/mpeg4.d.ts +7 -0
  259. package/dist/esm/codecs/mpeg4.js +6 -0
  260. package/dist/esm/codecs/mpeg4.js.map +1 -0
  261. package/dist/esm/codecs/mpegvideo.d.ts +7 -0
  262. package/dist/esm/codecs/mpegvideo.js +10 -0
  263. package/dist/esm/codecs/mpegvideo.js.map +1 -0
  264. package/dist/esm/codecs/opus.d.ts +23 -0
  265. package/dist/esm/codecs/opus.js +49 -0
  266. package/dist/esm/codecs/opus.js.map +1 -0
  267. package/dist/esm/codecs/vp8.d.ts +27 -0
  268. package/dist/esm/codecs/vp8.js +30 -0
  269. package/dist/esm/codecs/vp8.js.map +1 -0
  270. package/dist/esm/codecs/vp9.d.ts +42 -0
  271. package/dist/esm/codecs/vp9.js +136 -0
  272. package/dist/esm/codecs/vp9.js.map +1 -0
  273. package/dist/esm/codecs/vvc.d.ts +178 -0
  274. package/dist/esm/codecs/vvc.js +369 -0
  275. package/dist/esm/codecs/vvc.js.map +1 -0
  276. package/dist/esm/constant.d.ts +28 -0
  277. package/dist/esm/constant.js +47 -0
  278. package/dist/esm/constant.js.map +1 -0
  279. package/dist/esm/error.d.ts +9 -0
  280. package/dist/esm/error.js +18 -0
  281. package/dist/esm/error.js.map +1 -0
  282. package/dist/esm/function/analyzeAVFormat.d.ts +3 -0
  283. package/dist/esm/function/analyzeAVFormat.js +30 -0
  284. package/dist/esm/function/analyzeAVFormat.js.map +1 -0
  285. package/dist/esm/function/analyzeUrlIOLoader.d.ts +7 -0
  286. package/dist/esm/function/analyzeUrlIOLoader.js +63 -0
  287. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -0
  288. package/dist/esm/function/audioData2AVFrame.d.ts +2 -0
  289. package/dist/esm/function/audioData2AVFrame.js +51 -0
  290. package/dist/esm/function/audioData2AVFrame.js.map +1 -0
  291. package/dist/esm/function/avframe2AudioData.d.ts +3 -0
  292. package/dist/esm/function/avframe2AudioData.js +104 -0
  293. package/dist/esm/function/avframe2AudioData.js.map +1 -0
  294. package/dist/esm/function/avframe2VideoFrame.d.ts +6 -0
  295. package/dist/esm/function/avframe2VideoFrame.js +117 -0
  296. package/dist/esm/function/avframe2VideoFrame.js.map +1 -0
  297. package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +2 -0
  298. package/dist/esm/function/avpacket2EncodedAudioChunk.js +13 -0
  299. package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -0
  300. package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +2 -0
  301. package/dist/esm/function/avpacket2EncodedVideoChunk.js +13 -0
  302. package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -0
  303. package/dist/esm/function/compileResource.d.ts +2 -0
  304. package/dist/esm/function/compileResource.js +17 -0
  305. package/dist/esm/function/compileResource.js.map +1 -0
  306. package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +2 -0
  307. package/dist/esm/function/encodedAudioChunk2AVPacket.js +28 -0
  308. package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -0
  309. package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +7 -0
  310. package/dist/esm/function/encodedVideoChunk2AVPacket.js +35 -0
  311. package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -0
  312. package/dist/esm/function/getAudioCodec.d.ts +2 -0
  313. package/dist/esm/function/getAudioCodec.js +10 -0
  314. package/dist/esm/function/getAudioCodec.js.map +1 -0
  315. package/dist/esm/function/getHardwarePreference.d.ts +1 -0
  316. package/dist/esm/function/getHardwarePreference.js +6 -0
  317. package/dist/esm/function/getHardwarePreference.js.map +1 -0
  318. package/dist/esm/function/getVideoCodec.d.ts +2 -0
  319. package/dist/esm/function/getVideoCodec.js +64 -0
  320. package/dist/esm/function/getVideoCodec.js.map +1 -0
  321. package/dist/esm/function/hasAlphaChannel.d.ts +2 -0
  322. package/dist/esm/function/hasAlphaChannel.js +10 -0
  323. package/dist/esm/function/hasAlphaChannel.js.map +1 -0
  324. package/dist/esm/function/isHdr.d.ts +2 -0
  325. package/dist/esm/function/isHdr.js +10 -0
  326. package/dist/esm/function/isHdr.js.map +1 -0
  327. package/dist/esm/function/videoFrame2AVFrame.d.ts +7 -0
  328. package/dist/esm/function/videoFrame2AVFrame.js +111 -0
  329. package/dist/esm/function/videoFrame2AVFrame.js.map +1 -0
  330. package/dist/esm/implement/AVFramePoolImpl.d.ts +10 -0
  331. package/dist/esm/implement/AVFramePoolImpl.js +32 -0
  332. package/dist/esm/implement/AVFramePoolImpl.js.map +1 -0
  333. package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +10 -0
  334. package/dist/esm/implement/AVPCMBufferPoolImpl.js +28 -0
  335. package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -0
  336. package/dist/esm/implement/AVPacketPoolImpl.d.ts +10 -0
  337. package/dist/esm/implement/AVPacketPoolImpl.js +32 -0
  338. package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -0
  339. package/dist/esm/pixelFormatDescriptor.d.ts +100 -0
  340. package/dist/esm/pixelFormatDescriptor.js +1071 -0
  341. package/dist/esm/pixelFormatDescriptor.js.map +1 -0
  342. package/dist/esm/pixfmt.d.ts +1294 -0
  343. package/dist/esm/pixfmt.js +2 -0
  344. package/dist/esm/pixfmt.js.map +1 -0
  345. package/dist/esm/sampleFormatDescriptor.d.ts +6 -0
  346. package/dist/esm/sampleFormatDescriptor.js +51 -0
  347. package/dist/esm/sampleFormatDescriptor.js.map +1 -0
  348. package/dist/esm/stringEnum.d.ts +105 -0
  349. package/dist/esm/stringEnum.js +242 -0
  350. package/dist/esm/stringEnum.js.map +1 -0
  351. package/dist/esm/struct/audiosample.d.ts +64 -0
  352. package/dist/esm/struct/audiosample.js +123 -0
  353. package/dist/esm/struct/audiosample.js.map +1 -0
  354. package/dist/esm/struct/avbuffer.d.ts +85 -0
  355. package/dist/esm/struct/avbuffer.js +309 -0
  356. package/dist/esm/struct/avbuffer.js.map +1 -0
  357. package/dist/esm/struct/avcodecparameters.d.ts +163 -0
  358. package/dist/esm/struct/avcodecparameters.js +387 -0
  359. package/dist/esm/struct/avcodecparameters.js.map +1 -0
  360. package/dist/esm/struct/avdict.d.ts +17 -0
  361. package/dist/esm/struct/avdict.js +65 -0
  362. package/dist/esm/struct/avdict.js.map +1 -0
  363. package/dist/esm/struct/avframe.d.ts +559 -0
  364. package/dist/esm/struct/avframe.js +723 -0
  365. package/dist/esm/struct/avframe.js.map +1 -0
  366. package/dist/esm/struct/avpacket.d.ts +125 -0
  367. package/dist/esm/struct/avpacket.js +281 -0
  368. package/dist/esm/struct/avpacket.js.map +1 -0
  369. package/dist/esm/struct/avpcmbuffer.d.ts +44 -0
  370. package/dist/esm/struct/avpcmbuffer.js +120 -0
  371. package/dist/esm/struct/avpcmbuffer.js.map +1 -0
  372. package/dist/esm/struct/avsubtitle.d.ts +30 -0
  373. package/dist/esm/struct/avsubtitle.js +2 -0
  374. package/dist/esm/struct/avsubtitle.js.map +1 -0
  375. package/dist/esm/struct/rational.d.ts +15 -0
  376. package/dist/esm/struct/rational.js +37 -0
  377. package/dist/esm/struct/rational.js.map +1 -0
  378. package/dist/esm/util/amf.d.ts +10 -0
  379. package/dist/esm/util/amf.js +84 -0
  380. package/dist/esm/util/amf.js.map +1 -0
  381. package/dist/esm/util/av1syntax.d.ts +9 -0
  382. package/dist/esm/util/av1syntax.js +54 -0
  383. package/dist/esm/util/av1syntax.js.map +1 -0
  384. package/dist/esm/util/avbuffer.d.ts +17 -0
  385. package/dist/esm/util/avbuffer.js +138 -0
  386. package/dist/esm/util/avbuffer.js.map +1 -0
  387. package/dist/esm/util/avdict.d.ts +8 -0
  388. package/dist/esm/util/avdict.js +77 -0
  389. package/dist/esm/util/avdict.js.map +1 -0
  390. package/dist/esm/util/avframe.d.ts +14 -0
  391. package/dist/esm/util/avframe.js +218 -0
  392. package/dist/esm/util/avframe.js.map +1 -0
  393. package/dist/esm/util/avpacket.d.ts +22 -0
  394. package/dist/esm/util/avpacket.js +161 -0
  395. package/dist/esm/util/avpacket.js.map +1 -0
  396. package/dist/esm/util/channel.d.ts +4 -0
  397. package/dist/esm/util/channel.js +25 -0
  398. package/dist/esm/util/channel.js.map +1 -0
  399. package/dist/esm/util/codecparameters.d.ts +4 -0
  400. package/dist/esm/util/codecparameters.js +73 -0
  401. package/dist/esm/util/codecparameters.js.map +1 -0
  402. package/dist/esm/util/common.d.ts +3 -0
  403. package/dist/esm/util/common.js +14 -0
  404. package/dist/esm/util/common.js.map +1 -0
  405. package/dist/esm/util/crypto.d.ts +1 -0
  406. package/dist/esm/util/crypto.js +4 -0
  407. package/dist/esm/util/crypto.js.map +1 -0
  408. package/dist/esm/util/expgolomb.d.ts +26 -0
  409. package/dist/esm/util/expgolomb.js +36 -0
  410. package/dist/esm/util/expgolomb.js.map +1 -0
  411. package/dist/esm/util/intread.d.ts +9 -0
  412. package/dist/esm/util/intread.js +38 -0
  413. package/dist/esm/util/intread.js.map +1 -0
  414. package/dist/esm/util/intwrite.d.ts +9 -0
  415. package/dist/esm/util/intwrite.js +38 -0
  416. package/dist/esm/util/intwrite.js.map +1 -0
  417. package/dist/esm/util/mem.d.ts +5 -0
  418. package/dist/esm/util/mem.js +34 -0
  419. package/dist/esm/util/mem.js.map +1 -0
  420. package/dist/esm/util/nalu.d.ts +12 -0
  421. package/dist/esm/util/nalu.js +113 -0
  422. package/dist/esm/util/nalu.js.map +1 -0
  423. package/dist/esm/util/ntp.d.ts +1 -0
  424. package/dist/esm/util/ntp.js +5 -0
  425. package/dist/esm/util/ntp.js.map +1 -0
  426. package/dist/esm/util/pcm.d.ts +4 -0
  427. package/dist/esm/util/pcm.js +139 -0
  428. package/dist/esm/util/pcm.js.map +1 -0
  429. package/dist/esm/util/pixel.d.ts +11 -0
  430. package/dist/esm/util/pixel.js +180 -0
  431. package/dist/esm/util/pixel.js.map +1 -0
  432. package/dist/esm/util/rational.d.ts +41 -0
  433. package/dist/esm/util/rational.js +33 -0
  434. package/dist/esm/util/rational.js.map +1 -0
  435. package/dist/esm/util/sample.d.ts +7 -0
  436. package/dist/esm/util/sample.js +48 -0
  437. package/dist/esm/util/sample.js.map +1 -0
  438. package/dist/esm/util/serialize.d.ts +64 -0
  439. package/dist/esm/util/serialize.js +136 -0
  440. package/dist/esm/util/serialize.js.map +1 -0
  441. package/include/audiosample.h +186 -0
  442. package/include/avbuffer.h +104 -0
  443. package/include/avcodec.h +585 -0
  444. package/include/avcodecparameters.h +189 -0
  445. package/include/avdict.h +23 -0
  446. package/include/avframe.h +1053 -0
  447. package/include/avpacket.h +498 -0
  448. package/include/avpcmbuffer.h +82 -0
  449. package/include/pixfmt.h +204 -0
  450. package/include/rational.h +10 -0
  451. package/package.json +386 -0
@@ -0,0 +1,427 @@
1
+ import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
2
+
3
+ import { CTypeEnumWrite as cheap__CTypeEnumWrite__4 } from "@libmedia/cheap/ctypeEnumWrite";
4
+
5
+ import * as array from "@libmedia/common/util/array";
6
+
7
+ import BufferWriter from "@libmedia/common/io/BufferWriter";
8
+
9
+ import BufferReader from "@libmedia/common/io/BufferReader";
10
+
11
+ import BitReader from "@libmedia/common/io/BitReader";
12
+
13
+ import { mapUint8Array, memcpyFromUint8Array } from "@libmedia/cheap/std/memory";
14
+
15
+ import { naluUnescape, splitNaluByStartCode, isAnnexb } from "../util/nalu";
16
+
17
+ import { addAVPacketSideData, getAVPacketData } from "../util/avpacket";
18
+
19
+ import { avMalloc } from "../util/mem";
20
+
21
+ import * as expgolomb from "../util/expgolomb";
22
+
23
+ import * as intread from "../util/intread";
24
+
25
+ export const HEVCProfile2Name = {
26
+ 1: "Main",
27
+ 2: "Main10",
28
+ 3: "MainStillPicture",
29
+ 4: "Main444"
30
+ };
31
+
32
+ export const LevelCapabilities = [ {
33
+ level: 10,
34
+ maxLumaSamplesPerSecond: 552960,
35
+ maxLumaPictureSize: 36864,
36
+ maxBitRate: {
37
+ main: 128,
38
+ main10: 150
39
+ }
40
+ }, {
41
+ level: 20,
42
+ maxLumaSamplesPerSecond: 3686400,
43
+ maxLumaPictureSize: 122880,
44
+ maxBitRate: {
45
+ main: 1500,
46
+ main10: 1875
47
+ }
48
+ }, {
49
+ level: 21,
50
+ maxLumaSamplesPerSecond: 7372800,
51
+ maxLumaPictureSize: 245760,
52
+ maxBitRate: {
53
+ main: 3e3,
54
+ main10: 3750
55
+ }
56
+ }, {
57
+ level: 30,
58
+ maxLumaSamplesPerSecond: 16588800,
59
+ maxLumaPictureSize: 552960,
60
+ maxBitRate: {
61
+ main: 6e3,
62
+ main10: 7500
63
+ }
64
+ }, {
65
+ level: 31,
66
+ maxLumaSamplesPerSecond: 33177600,
67
+ maxLumaPictureSize: 983040,
68
+ maxBitRate: {
69
+ main: 1e4,
70
+ main10: 12500
71
+ }
72
+ }, {
73
+ level: 40,
74
+ maxLumaSamplesPerSecond: 66846720,
75
+ maxLumaPictureSize: 2228224,
76
+ maxBitRate: {
77
+ main: 12e3,
78
+ main10: 15e3
79
+ }
80
+ }, {
81
+ level: 41,
82
+ maxLumaSamplesPerSecond: 133693440,
83
+ maxLumaPictureSize: 2228224,
84
+ maxBitRate: {
85
+ main: 2e4,
86
+ main10: 25e3
87
+ }
88
+ }, {
89
+ level: 50,
90
+ maxLumaSamplesPerSecond: 267386880,
91
+ maxLumaPictureSize: 8912896,
92
+ maxBitRate: {
93
+ main: 25e3,
94
+ main10: 4e4
95
+ }
96
+ }, {
97
+ level: 51,
98
+ maxLumaSamplesPerSecond: 534773760,
99
+ maxLumaPictureSize: 8912896,
100
+ maxBitRate: {
101
+ main: 4e4,
102
+ main10: 6e4
103
+ }
104
+ }, {
105
+ level: 52,
106
+ maxLumaSamplesPerSecond: 1069547520,
107
+ maxLumaPictureSize: 35651584,
108
+ maxBitRate: {
109
+ main: 6e4,
110
+ main10: 1e5
111
+ }
112
+ }, {
113
+ level: 60,
114
+ maxLumaSamplesPerSecond: 1069547520,
115
+ maxLumaPictureSize: 35651584,
116
+ maxBitRate: {
117
+ main: 6e4,
118
+ main10: 1e5
119
+ }
120
+ }, {
121
+ level: 61,
122
+ maxLumaSamplesPerSecond: 2139095040,
123
+ maxLumaPictureSize: 89128960,
124
+ maxBitRate: {
125
+ main: 12e4,
126
+ main10: 24e4
127
+ }
128
+ }, {
129
+ level: 62,
130
+ maxLumaSamplesPerSecond: 4278190080,
131
+ maxLumaPictureSize: 356515840,
132
+ maxBitRate: {
133
+ main: 24e4,
134
+ main10: 48e4
135
+ }
136
+ } ];
137
+
138
+ export function getLevelByResolution(profile, width, height, fps, bitrate) {
139
+ bitrate /= 1e3;
140
+ const selectedProfile = 1 === profile ? "main" : "main10", lumaSamplesPerSecond = width * height * fps;
141
+ for (const level of LevelCapabilities) if (lumaSamplesPerSecond <= level.maxLumaSamplesPerSecond && width * height <= level.maxLumaPictureSize && bitrate <= level.maxBitRate[selectedProfile]) return level.level;
142
+ }
143
+
144
+ export function extradata2VpsSpsPps(extradata) {
145
+ const bufferReader = new BufferReader(extradata, !0);
146
+ bufferReader.skip(22);
147
+ let vpss = [], spss = [], ppss = [];
148
+ const arrayLen = bufferReader.readUint8();
149
+ for (let i = 0; i < arrayLen; i++) {
150
+ const naluType = 63 & bufferReader.readUint8(), count = bufferReader.readUint16(), list = [];
151
+ for (let j = 0; j < count; j++) {
152
+ const len = bufferReader.readUint16();
153
+ list.push(bufferReader.readBuffer(len));
154
+ }
155
+ 32 === naluType ? vpss = list : 33 === naluType ? spss = list : 34 === naluType && (ppss = list);
156
+ }
157
+ return {
158
+ vpss: vpss,
159
+ spss: spss,
160
+ ppss: ppss
161
+ };
162
+ }
163
+
164
+ export function vpsSpsPps2Extradata(vpss, spss, ppss) {
165
+ const sps = spss[0];
166
+ let length = 23;
167
+ vpss.length && (length += 3, length = vpss.reduce(((prev, value) => prev + 2 + value.length), length)),
168
+ spss.length && (length += 3, length = spss.reduce(((prev, value) => prev + 2 + value.length), length)),
169
+ ppss.length && (length += 3, length = ppss.reduce(((prev, value) => prev + 2 + value.length), length));
170
+ const buffer = new Uint8Array(length), bufferWriter = new BufferWriter(buffer, !0), spsData = parseSPS(sps);
171
+ bufferWriter.writeUint8(1), bufferWriter.writeUint8(sps[1]), bufferWriter.writeUint8(sps[2]),
172
+ bufferWriter.writeUint8(sps[3]), bufferWriter.writeUint8(sps[4]), bufferWriter.writeUint8(sps[5]),
173
+ bufferWriter.writeUint8(sps[6]), bufferWriter.writeUint8(sps[7]), bufferWriter.writeUint8(sps[8]),
174
+ bufferWriter.writeUint8(sps[9]), bufferWriter.writeUint8(sps[10]), bufferWriter.writeUint8(sps[11]),
175
+ bufferWriter.writeUint8(spsData.level), bufferWriter.writeUint8(1020), bufferWriter.writeUint8(0),
176
+ bufferWriter.writeUint8(16320), bufferWriter.writeUint8(16320 | spsData.chroma_format_idc),
177
+ bufferWriter.writeUint8(8160 | spsData.bit_depth_luma_minus8), bufferWriter.writeUint8(8160 | spsData.bit_depth_chroma_minus8),
178
+ bufferWriter.writeUint16(0), bufferWriter.writeUint8(11 | (1 & sps[0]) << 2);
179
+ let numOfArrays = 0;
180
+ return vpss.length && numOfArrays++, spss.length && numOfArrays++, ppss.length && numOfArrays++,
181
+ bufferWriter.writeUint8(numOfArrays), vpss.length && (bufferWriter.writeUint8(160),
182
+ bufferWriter.writeUint16(vpss.length), array.each(vpss, (vps => {
183
+ bufferWriter.writeUint16(vps.length), bufferWriter.writeBuffer(vps);
184
+ }))), spss.length && (bufferWriter.writeUint8(161), bufferWriter.writeUint16(spss.length),
185
+ array.each(spss, (sps => {
186
+ bufferWriter.writeUint16(sps.length), bufferWriter.writeBuffer(sps);
187
+ }))), ppss.length && (bufferWriter.writeUint8(162), bufferWriter.writeUint16(ppss.length),
188
+ array.each(ppss, (pps => {
189
+ bufferWriter.writeUint16(pps.length), bufferWriter.writeBuffer(pps);
190
+ }))), buffer;
191
+ }
192
+
193
+ export function annexbExtradata2AvccExtradata(data) {
194
+ let nalus = splitNaluByStartCode(data);
195
+ if (nalus.length >= 2) {
196
+ const vpss = [], spss = [], ppss = [];
197
+ if (nalus.forEach((nalu => {
198
+ const type = nalu[0] >>> 1 & 63;
199
+ 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
200
+ })), spss.length && ppss.length) return vpsSpsPps2Extradata(vpss, spss, ppss);
201
+ }
202
+ }
203
+
204
+ export function annexb2Avcc(data) {
205
+ let extradata, key = !1, nalus = splitNaluByStartCode(data);
206
+ if (nalus.length >= 2) {
207
+ const vpss = [], spss = [], ppss = [];
208
+ nalus.forEach((nalu => {
209
+ const type = nalu[0] >>> 1 & 63;
210
+ 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
211
+ })), spss.length && ppss.length && (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
212
+ nalus = nalus.filter((nalu => {
213
+ const type = nalu[0] >>> 1 & 63;
214
+ return 32 !== type && 33 !== type && 34 !== type && 35 !== type;
215
+ })));
216
+ }
217
+ const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length), bufferWriter = new BufferWriter(buffer);
218
+ return array.each(nalus, (nalu => {
219
+ bufferWriter.writeUint32(nalu.length), bufferWriter.writeBuffer(nalu.subarray(0));
220
+ const type = nalu[0] >>> 1 & 63;
221
+ 19 !== type && 20 !== type && 21 !== type || (key = !0);
222
+ })), {
223
+ bufferPointer: bufferPointer,
224
+ length: length,
225
+ extradata: extradata,
226
+ key: key
227
+ };
228
+ }
229
+
230
+ export function avcc2Annexb(data, extradata) {
231
+ const naluLengthSizeMinusOne = extradata ? 3 & extradata[21] : 3;
232
+ let vpss = [], spss = [], ppss = [], key = !1;
233
+ if (extradata) {
234
+ const result = extradata2VpsSpsPps(extradata);
235
+ vpss = result.vpss, spss = result.spss, ppss = result.ppss, key = !0;
236
+ }
237
+ const nalus = [], bufferReader = new BufferReader(data);
238
+ for (;bufferReader.remainingSize() > 0; ) {
239
+ let length = 0;
240
+ length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8(),
241
+ nalus.push(bufferReader.readBuffer(length));
242
+ }
243
+ let length = vpss.reduce(((prev, vps) => prev + 4 + vps.length), 0);
244
+ length = spss.reduce(((prev, sps) => prev + 4 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length),
245
+ length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
246
+ const bufferPointer = avMalloc(length + 7), buffer = mapUint8Array(bufferPointer, length + 7), bufferWriter = new BufferWriter(buffer);
247
+ return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
248
+ bufferWriter.writeUint8(1), bufferWriter.writeUint8(70), bufferWriter.writeUint8(0),
249
+ bufferWriter.writeUint8(240), array.each(vpss, (vps => {
250
+ bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
251
+ bufferWriter.writeUint8(1), bufferWriter.writeBuffer(vps);
252
+ })), array.each(spss, (sps => {
253
+ bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
254
+ bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
255
+ })), array.each(ppss, (pps => {
256
+ bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
257
+ bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
258
+ })), array.each(nalus, ((nalu, index) => {
259
+ bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
260
+ bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
261
+ const type = nalu[0] >>> 1 & 63;
262
+ 19 !== type && 20 !== type && 21 !== type || (key = !0);
263
+ })), {
264
+ bufferPointer: bufferPointer,
265
+ length: length + 7,
266
+ key: key
267
+ };
268
+ }
269
+
270
+ export function parseAvccExtraData(avpacket, stream) {
271
+ if (!(1 & cheap__CTypeEnumRead__0[15](avpacket + 36))) return;
272
+ const data = getAVPacketData(avpacket);
273
+ if (isAnnexb(data)) return;
274
+ const naluLengthSizeMinusOne = stream.metadata.naluLengthSizeMinusOne ?? 3;
275
+ let vpss = [], spss = [], ppss = [];
276
+ const bufferReader = new BufferReader(data);
277
+ for (;bufferReader.remainingSize() > 0; ) {
278
+ let length = 0;
279
+ length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
280
+ const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
281
+ bufferReader.skip(length);
282
+ const naluType = nalu[0] >>> 1 & 63;
283
+ 33 === naluType ? spss.push(nalu) : 34 === naluType ? ppss.push(nalu) : 32 === naluType && vpss.push(nalu);
284
+ }
285
+ if (spss.length || ppss.length || vpss.length) {
286
+ const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
287
+ memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length);
288
+ }
289
+ }
290
+
291
+ export function parseAnnexbExtraData(avpacket, force = !1) {
292
+ if (!(1 & cheap__CTypeEnumRead__0[15](avpacket + 36) || force)) return;
293
+ const data = getAVPacketData(avpacket);
294
+ if (!isAnnexb(data)) return;
295
+ let nalus = splitNaluByStartCode(data);
296
+ if (nalus.length > 2) {
297
+ const vpss = [], spss = [], ppss = [];
298
+ if (nalus.forEach((nalu => {
299
+ const type = nalu[0] >>> 1 & 63;
300
+ 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
301
+ })), vpss.length && spss.length && ppss.length) {
302
+ const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
303
+ memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length),
304
+ cheap__CTypeEnumWrite__4[15](avpacket + 36, 1 | cheap__CTypeEnumRead__0[15](avpacket + 36));
305
+ }
306
+ }
307
+ }
308
+
309
+ export function parseAVCodecParameters(stream, extradata) {
310
+ if (!extradata && stream.sideData[1] && (extradata = stream.sideData[1]), extradata && extradata.length >= 6) {
311
+ stream.metadata.naluLengthSizeMinusOne = 3 & extradata[21];
312
+ const {spss: spss} = extradata2VpsSpsPps(extradata);
313
+ if (spss.length) {
314
+ const {profile: profile, level: level, width: width, height: height} = parseSPS(spss[0]);
315
+ stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
316
+ stream.codecpar.height = height;
317
+ }
318
+ }
319
+ }
320
+
321
+ export function isIDR(avpacket, naluLengthSize = 4) {
322
+ if (2 === cheap__CTypeEnumRead__0[15](avpacket + 80)) {
323
+ return splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))).some((nalu => {
324
+ const type = nalu[0] >>> 1 & 63;
325
+ return 20 === type || 19 === type;
326
+ }));
327
+ }
328
+ {
329
+ const size = cheap__CTypeEnumRead__0[15](avpacket + 28);
330
+ let i = 0;
331
+ for (;i < size - naluLengthSize; ) {
332
+ const type = intread.r8(cheap__CTypeEnumRead__0[20](avpacket + 24) + (i + naluLengthSize)) >>> 1 & 63;
333
+ if (20 === type || 19 === type) return !0;
334
+ i += 4 === naluLengthSize ? intread.rb32(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : 3 === naluLengthSize ? intread.rb24(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : 2 === naluLengthSize ? intread.rb16(cheap__CTypeEnumRead__0[20](avpacket + 24) + i) : intread.r8(cheap__CTypeEnumRead__0[20](avpacket + 24) + i),
335
+ i += naluLengthSize;
336
+ }
337
+ return !1;
338
+ }
339
+ }
340
+
341
+ export function parseSPS(sps) {
342
+ if (!sps || sps.length < 3) return;
343
+ let offset = 0;
344
+ 0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
345
+ let profile = 0, level = 0, width = 0, height = 0, bit_depth_luma_minus8 = 0, bit_depth_chroma_minus8 = 0, chroma_format_idc = 1, general_profile_space = 0, general_tier_flag = 0, general_profile_compatibility_flags = 0, constraint_flags = 0;
346
+ const buffer = naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
347
+ bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU(6), bitReader.readU(6),
348
+ bitReader.readU(3), bitReader.readU(4);
349
+ const spsMaxSubLayersMinus1 = bitReader.readU(3);
350
+ bitReader.readU1();
351
+ let separate_colour_plane_flag = 0;
352
+ if (spsMaxSubLayersMinus1 <= 6) {
353
+ general_profile_space = bitReader.readU(2), general_tier_flag = bitReader.readU1(),
354
+ profile = bitReader.readU(5), general_profile_compatibility_flags = bitReader.readU(32),
355
+ constraint_flags = bitReader.readU(48), level = bitReader.readU(8);
356
+ const subLayerProfilePresentFlag = new Array(6), subLayerLevelPresentFlag = new Array(6);
357
+ for (let i = 0; i < spsMaxSubLayersMinus1; i++) subLayerProfilePresentFlag[i] = bitReader.readU1(),
358
+ subLayerLevelPresentFlag[i] = bitReader.readU1();
359
+ if (spsMaxSubLayersMinus1 > 0) for (let i = spsMaxSubLayersMinus1; i < 8; i++) bitReader.readU(2);
360
+ for (let i = 0; i < spsMaxSubLayersMinus1; i++) subLayerProfilePresentFlag[i] && (bitReader.readU(2),
361
+ bitReader.readU(1), bitReader.readU(5), bitReader.readU(32), bitReader.readU(1),
362
+ bitReader.readU(1), bitReader.readU(1), bitReader.readU(1), bitReader.readU(44)),
363
+ subLayerLevelPresentFlag[i] && bitReader.readU(8);
364
+ expgolomb.readUE(bitReader), chroma_format_idc = expgolomb.readUE(bitReader), 3 === chroma_format_idc && (separate_colour_plane_flag = bitReader.readU(1)),
365
+ width = expgolomb.readUE(bitReader), height = expgolomb.readUE(bitReader);
366
+ let confWinLeftOffset = 0, confWinRightOffset = 0, confWinTopOffset = 0, confWinBottomOffset = 0;
367
+ bitReader.readU1() && (confWinLeftOffset = expgolomb.readUE(bitReader), confWinRightOffset = expgolomb.readUE(bitReader),
368
+ confWinTopOffset = expgolomb.readUE(bitReader), confWinBottomOffset = expgolomb.readUE(bitReader)),
369
+ bit_depth_luma_minus8 = expgolomb.readUE(bitReader), bit_depth_chroma_minus8 = expgolomb.readUE(bitReader);
370
+ let SubWidthC = 2, SubHeightC = 2;
371
+ 0 === chroma_format_idc ? SubWidthC = SubHeightC = 0 : 2 === chroma_format_idc ? (SubWidthC = 2,
372
+ SubHeightC = 1) : 3 === chroma_format_idc && (SubWidthC = SubHeightC = 1);
373
+ width -= SubWidthC * (1 << bit_depth_luma_minus8 + 1) * (confWinLeftOffset + confWinRightOffset),
374
+ height -= SubHeightC * (1 << bit_depth_luma_minus8 + 1) * (confWinTopOffset + confWinBottomOffset);
375
+ }
376
+ const log2_max_poc_lsb = expgolomb.readUE(bitReader) + 4;
377
+ for (let i = bitReader.readU1() ? 0 : spsMaxSubLayersMinus1; i < spsMaxSubLayersMinus1 + 1; i++) expgolomb.readUE(bitReader),
378
+ expgolomb.readUE(bitReader), expgolomb.readUE(bitReader);
379
+ const log2_min_cb_size = expgolomb.readUE(bitReader) + 3, log2_diff_max_min_coding_block_size = expgolomb.readUE(bitReader), log2_min_tb_size = expgolomb.readUE(bitReader) + 2, log2_diff_max_min_transform_block_size = expgolomb.readUE(bitReader), log2_ctb_size = log2_min_cb_size + log2_diff_max_min_coding_block_size, log2_min_pu_size = log2_min_cb_size - 1, ctb_width = width + (1 << log2_ctb_size) - 1 >> log2_ctb_size, ctb_height = height + (1 << log2_ctb_size) - 1 >> log2_ctb_size;
380
+ return {
381
+ profile: profile,
382
+ level: level,
383
+ width: width,
384
+ height: height,
385
+ chroma_format_idc: chroma_format_idc,
386
+ bit_depth_luma_minus8: bit_depth_luma_minus8,
387
+ bit_depth_chroma_minus8: bit_depth_chroma_minus8,
388
+ general_profile_space: general_profile_space,
389
+ general_tier_flag: general_tier_flag,
390
+ general_profile_compatibility_flags: general_profile_compatibility_flags,
391
+ constraint_flags: constraint_flags,
392
+ separate_colour_plane_flag: separate_colour_plane_flag,
393
+ log2_min_cb_size: log2_min_cb_size,
394
+ log2_diff_max_min_coding_block_size: log2_diff_max_min_coding_block_size,
395
+ log2_min_tb_size: log2_min_tb_size,
396
+ log2_diff_max_min_transform_block_size: log2_diff_max_min_transform_block_size,
397
+ log2_max_trafo_size: log2_diff_max_min_transform_block_size + log2_min_tb_size,
398
+ log2_ctb_size: log2_ctb_size,
399
+ log2_min_pu_size: log2_min_pu_size,
400
+ ctb_width: ctb_width,
401
+ ctb_height: ctb_height,
402
+ ctb_size: ctb_width * ctb_height,
403
+ min_cb_width: width >> log2_min_cb_size,
404
+ min_cb_height: height >> log2_min_cb_size,
405
+ min_tb_width: width >> log2_min_tb_size,
406
+ min_tb_height: height >> log2_min_tb_size,
407
+ min_pu_width: width >> log2_min_pu_size,
408
+ min_pu_height: height >> log2_min_pu_size,
409
+ log2_max_poc_lsb: log2_max_poc_lsb
410
+ };
411
+ }
412
+
413
+ export function parsePPS(pps) {
414
+ if (!pps || pps.length < 3) return;
415
+ let offset = 0;
416
+ 0 === pps[0] && 0 === pps[1] && 0 === pps[2] && 1 === pps[3] && (offset = 4);
417
+ const buffer = naluUnescape(pps.subarray(offset)), bitReader = new BitReader(buffer.length);
418
+ bitReader.appendBuffer(buffer);
419
+ return {
420
+ pps_pic_parameter_set_id: expgolomb.readUE(bitReader),
421
+ pps_seq_parameter_set_id: expgolomb.readUE(bitReader),
422
+ dependent_slice_segment_flag: bitReader.readU1(),
423
+ output_flag_present_flag: bitReader.readU1(),
424
+ num_extra_slice_header_bits: bitReader.readU(3)
425
+ };
426
+ }
427
+ //# sourceMappingURL=hevc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["array","BufferWriter","BufferReader","BitReader","mapUint8Array","memcpyFromUint8Array","naluUnescape","splitNaluByStartCode","isAnnexb","addAVPacketSideData","getAVPacketData","avMalloc","expgolomb","intread","HEVCProfile2Name","LevelCapabilities","level","maxLumaSamplesPerSecond","maxLumaPictureSize","maxBitRate","main","main10","getLevelByResolution","profile","width","height","fps","bitrate","selectedProfile","lumaSamplesPerSecond","extradata2VpsSpsPps","extradata","bufferReader","skip","vpss","spss","ppss","arrayLen","readUint8","i","naluType","count","readUint16","list","j","len","push","readBuffer","vpsSpsPps2Extradata","sps","length","reduce","prev","value","buffer","Uint8Array","bufferWriter","spsData","parseSPS","writeUint8","chroma_format_idc","bit_depth_luma_minus8","bit_depth_chroma_minus8","writeUint16","numOfArrays","each","vps","writeBuffer","pps","annexbExtradata2AvccExtradata","data","nalus","forEach","nalu","type","annexb2Avcc","key","filter","bufferPointer","writeUint32","subarray","avcc2Annexb","naluLengthSizeMinusOne","result","remainingSize","readUint32","readUint24","index","parseAvccExtraData","avpacket","stream","cheap__CTypeEnumRead__0","metadata","Number","BigInt","asIntN","getPos","extradataPointer","parseAnnexbExtraData","force","cheap__CTypeEnumWrite__4","parseAVCodecParameters","sideData","codecpar","isIDR","naluLengthSize","some","size","r8","rb32","rb24","rb16","offset","general_profile_space","general_tier_flag","general_profile_compatibility_flags","constraint_flags","bitReader","appendBuffer","readU1","readU","spsMaxSubLayersMinus1","separate_colour_plane_flag","subLayerProfilePresentFlag","Array","subLayerLevelPresentFlag","readUE","confWinLeftOffset","confWinRightOffset","confWinTopOffset","confWinBottomOffset","SubWidthC","SubHeightC","log2_max_poc_lsb","log2_min_cb_size","log2_diff_max_min_coding_block_size","log2_min_tb_size","log2_diff_max_min_transform_block_size","log2_ctb_size","log2_min_pu_size","ctb_width","ctb_height","log2_max_trafo_size","ctb_size","min_cb_width","min_cb_height","min_tb_width","min_tb_height","min_pu_width","min_pu_height","parsePPS","pps_pic_parameter_set_id","pps_seq_parameter_set_id","dependent_slice_segment_flag","output_flag_present_flag","num_extra_slice_header_bits"],"sources":["../../../codecs/hevc.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
2
+ import AVStream from "../AVStream";
3
+ export declare function getSampleRateByVersionIndex(version: number, samplingFreqIndex: number): number;
4
+ export declare function getFrameSizeByVersionLayer(version: number, layer: number): number;
5
+ export declare function getBitRateByVersionLayerIndex(version: number, layer: number, index: number): number;
6
+ export declare function getProfileByLayer(layer: number): 32 | int32 | 33 | 34;
7
+ export declare const enum MP3Profile {
8
+ Layer1 = 32,
9
+ Layer2 = 33,
10
+ Layer3 = 34
11
+ }
12
+ export declare const MP3Profile2Name: Record<MP3Profile, string>;
13
+ export declare function parseAVCodecParameters(stream: AVStream, buffer: Uint8ArrayInterface): void;
@@ -0,0 +1,95 @@
1
+ import { NOPTS_VALUE } from "../constant";
2
+
3
+ const MpegAudioV10SampleRateTable = [ 44100, 48e3, 32e3, 0 ], MpegAudioV20SampleRateTable = [ 22050, 24e3, 16e3, 0 ], MpegAudioV25SampleRateTable = [ 11025, 12e3, 8e3, 0 ], MpegAudioV10FrameSizeTable = [ 0, 1152, 1152, 384 ], MpegAudioV20FrameSizeTable = [ 0, 576, 1152, 384 ], MpegAudioV25FrameSizeTable = [ 0, 576, 1152, 384 ], MpegAudioV1L1BitRateTable = [ 0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1 ], MpegAudioV1L2BitRateTable = [ 0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1 ], MpegAudioV1L3BitRateTable = [ 0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1 ], MpegAudioV2L1BitRateTable = [ 0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, -1 ], MpegAudioV2L2L3BitRateTable = [ 0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1 ];
4
+
5
+ export function getSampleRateByVersionIndex(version, samplingFreqIndex) {
6
+ switch (version) {
7
+ case 0:
8
+ return MpegAudioV25SampleRateTable[samplingFreqIndex];
9
+
10
+ case 2:
11
+ return MpegAudioV20SampleRateTable[samplingFreqIndex];
12
+
13
+ case 3:
14
+ return MpegAudioV10SampleRateTable[samplingFreqIndex];
15
+ }
16
+ return NOPTS_VALUE;
17
+ }
18
+
19
+ export function getFrameSizeByVersionLayer(version, layer) {
20
+ switch (version) {
21
+ case 0:
22
+ return MpegAudioV25FrameSizeTable[layer];
23
+
24
+ case 2:
25
+ return MpegAudioV20FrameSizeTable[layer];
26
+
27
+ case 3:
28
+ return MpegAudioV10FrameSizeTable[layer];
29
+ }
30
+ return NOPTS_VALUE;
31
+ }
32
+
33
+ export function getBitRateByVersionLayerIndex(version, layer, index) {
34
+ switch (layer) {
35
+ case 1:
36
+ switch (version) {
37
+ case 0:
38
+ case 2:
39
+ return MpegAudioV2L2L3BitRateTable[index];
40
+
41
+ case 3:
42
+ return MpegAudioV1L3BitRateTable[index];
43
+ }
44
+ break;
45
+
46
+ case 2:
47
+ switch (version) {
48
+ case 0:
49
+ case 2:
50
+ return MpegAudioV2L2L3BitRateTable[index];
51
+
52
+ case 3:
53
+ return MpegAudioV1L2BitRateTable[index];
54
+ }
55
+
56
+ case 3:
57
+ switch (version) {
58
+ case 0:
59
+ case 2:
60
+ return MpegAudioV2L1BitRateTable[index];
61
+
62
+ case 3:
63
+ return MpegAudioV1L1BitRateTable[index];
64
+ }
65
+ }
66
+ return NOPTS_VALUE;
67
+ }
68
+
69
+ export function getProfileByLayer(layer) {
70
+ switch (layer) {
71
+ case 1:
72
+ return 34;
73
+
74
+ case 2:
75
+ return 33;
76
+
77
+ case 3:
78
+ return 32;
79
+ }
80
+ return NOPTS_VALUE;
81
+ }
82
+
83
+ export const MP3Profile2Name = {
84
+ 32: "Layer1",
85
+ 33: "Layer2",
86
+ 34: "Layer3"
87
+ };
88
+
89
+ export function parseAVCodecParameters(stream, buffer) {
90
+ if (buffer && buffer.length >= 4) {
91
+ const ver = buffer[1] >>> 3 & 3, layer = (6 & buffer[1]) >> 1, samplingFreqIndex = (12 & buffer[2]) >>> 2, channelCount = 3 !== (buffer[3] >>> 6 & 3) ? 2 : 1, profile = getProfileByLayer(layer), sampleRate = getSampleRateByVersionIndex(ver, samplingFreqIndex);
92
+ stream.codecpar.profile = profile, stream.codecpar.sampleRate = sampleRate, stream.codecpar.chLayout.nbChannels = channelCount;
93
+ }
94
+ }
95
+ //# sourceMappingURL=mp3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NOPTS_VALUE","MpegAudioV10SampleRateTable","MpegAudioV20SampleRateTable","MpegAudioV25SampleRateTable","MpegAudioV10FrameSizeTable","MpegAudioV20FrameSizeTable","MpegAudioV25FrameSizeTable","MpegAudioV1L1BitRateTable","MpegAudioV1L2BitRateTable","MpegAudioV1L3BitRateTable","MpegAudioV2L1BitRateTable","MpegAudioV2L2L3BitRateTable","getSampleRateByVersionIndex","version","samplingFreqIndex","getFrameSizeByVersionLayer","layer","getBitRateByVersionLayerIndex","index","getProfileByLayer","MP3Profile2Name","parseAVCodecParameters","stream","buffer","length","ver","channelCount","profile","sampleRate","codecpar","chLayout","nbChannels"],"sources":["../../../codecs/mp3.ts"],"mappings":"SA2BSA,mBAAa;;AAEtB,MAAMC,8BAA8B,EAAC,OAAO,MAAO,MAAO,KAEpDC,8BAA8B,EAAC,OAAO,MAAO,MAAO,KAEpDC,8BAA8B,EAAC,OAAO,MAAO,KAAM,KAEnDC,6BAA6B,EAAC,GAAG,MAAM,MAAM,OAE7CC,6BAA6B,EAAC,GAAG,KAAK,MAAM,OAE5CC,6BAA6B,EAAC,GAAG,KAAK,MAAM,OAE5CC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEpGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEjGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEhGC,4BAA4B,EAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAEjGC,8BAA8B,EAAC,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,MAAM;;OAE9F,SAAUC,4BAA4BC,SAAiBC;IAC3D,QAAQD;MACN,KAAK;QAEH,OAAOV,4BAA4BW;;MACrC,KAAK;QAEH,OAAOZ,4BAA4BY;;MACrC,KAAK;QAEH,OAAOb,4BAA4Ba;;IAEvC,OAAOd;AACT;;OAEM,SAAUe,2BAA2BF,SAAiBG;IAC1D,QAAQH;MACN,KAAK;QAEH,OAAOP,2BAA2BU;;MACpC,KAAK;QAEH,OAAOX,2BAA2BW;;MACpC,KAAK;QAEH,OAAOZ,2BAA2BY;;IAEtC,OAAOhB;AACT;;OAEM,SAAUiB,8BAA8BJ,SAAiBG,OAAeE;IAE5E,QAAQF;MAEN,KAAK;QACH,QAAQH;UACN,KAAK;UACL,KAAK;YACH,OAAOF,4BAA4BO;;UACrC,KAAK;YACH,OAAOT,0BAA0BS;;QAErC;;MAEF,KAAK;QACH,QAAQL;UACN,KAAK;UACL,KAAK;YACH,OAAOF,4BAA4BO;;UACrC,KAAK;YACH,OAAOV,0BAA0BU;;;MAGvC,KAAK;QACH,QAAQL;UACN,KAAK;UACL,KAAK;YACH,OAAOH,0BAA0BQ;;UACnC,KAAK;YACH,OAAOX,0BAA0BW;;;IAGzC,OAAOlB;AACT;;OAEM,SAAUmB,kBAAkBH;IAChC,QAAQA;MACN,KAAK;QAEH,OAAO;;MACT,KAAK;QAEH,OAAO;;MACT,KAAK;QAEH,OAAO;;IAEX,OAAOhB;AACT;;OAQO,MAAMoB,kBAA8C;IACzD,IAAqB;IACrB,IAAqB;IACrB,IAAqB;;;OAIjB,SAAUC,uBAAuBC,QAAkBC;IACvD,IAAIA,UAAUA,OAAOC,UAAU,GAAG;QAChC,MAAMC,MAAOF,OAAO,OAAO,IAAK,GAC1BP,SAAqB,IAAZO,OAAO,OAAc,GAE9BT,qBAAiC,KAAZS,OAAO,QAAe,GAI3CG,eAA+B,OAFhBH,OAAO,OAAO,IAAK,KAEC,IAAI,GACvCI,UAAUR,kBAAkBH,QAC5BY,aAAahB,4BAA4Ba,KAAKX;QAEpDQ,OAAOO,SAASF,UAAUA,SAC1BL,OAAOO,SAASD,aAAaA,YAC7BN,OAAOO,SAASC,SAASC,aAAaL;AACxC;AACF","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import AVPacket from "../struct/avpacket";
2
+ export declare const enum Mpeg4PictureType {
3
+ I = 0,
4
+ P = 1,
5
+ B = 2
6
+ }
7
+ export declare function isIDR(avpacket: pointer<AVPacket>): boolean;
@@ -0,0 +1,6 @@
1
+ import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
2
+
3
+ export function isIDR(avpacket) {
4
+ return cheap__CTypeEnumRead__0[2](cheap__CTypeEnumRead__0[20](avpacket + 24) + 4) >>> 6 == 0;
5
+ }
6
+ //# sourceMappingURL=mpeg4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isIDR","avpacket","cheap__CTypeEnumRead__0"],"sources":["../../../codecs/mpeg4.ts"],"mappings":";;OAiCM,SAAUA,MAAMC;IAEpB,OADUC,wBAAA,GAA6CA,wBAAA,IAAAD,WAAQ,MAAQ,OACtD,KAAE;AACrB","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import AVPacket from "../struct/avpacket";
2
+ export declare const enum MpegVideoPictureType {
3
+ I = 1,
4
+ P = 2,
5
+ B = 3
6
+ }
7
+ export declare function isIDR(avpacket: pointer<AVPacket>): boolean;
@@ -0,0 +1,10 @@
1
+ import { getAVPacketData } from "../util/avpacket";
2
+
3
+ export function isIDR(avpacket) {
4
+ const data = getAVPacketData(avpacket);
5
+ for (let i = 0; i < data.length - 6; i++) if (0 === data[i] && 0 === data[i + 1] && 1 === data[i + 2] && 0 === data[i + 3]) {
6
+ return 1 === (data[i + 5] >> 3 & 7);
7
+ }
8
+ return !1;
9
+ }
10
+ //# sourceMappingURL=mpegvideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAVPacketData","isIDR","avpacket","data","i","length"],"sources":["../../../codecs/mpegvideo.ts"],"mappings":"SA0BSA,uBAAiB;;OAQpB,SAAUC,MAAMC;IACpB,MAAMC,OAAOH,gBAAgBE;IAE7B,KAAK,IAAIE,IAAI,GAAGA,IAAID,KAAKE,SAAS,GAAGD,KACnC,IAAgB,MAAZD,KAAKC,MACY,MAAhBD,KAAKC,IAAI,MACO,MAAhBD,KAAKC,IAAI,MACO,MAAhBD,KAAKC,IAAI,IACZ;QAEA,OAAc,OADGD,KAAKC,IAAI,MAAM,IAAK;AAEvC;IAEF,QAAO;AACT","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import AVStream from "../AVStream";
2
+ import AVCodecParameters from "../struct/avcodecparameters";
3
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
4
+ export declare const durations: number[];
5
+ export declare function getBufferSamples(buffer: Uint8Array): number;
6
+ /**
7
+ * opus extradata
8
+ *
9
+ * - 8 bytes Magic Signature: OpusHead
10
+ * - 1 bytes unsigned, 对应值 0x01 version
11
+ * - 1 bytes unsigned, channels 它可能和编码声道数不一致, 它可能被修改成 packet-by-packet, 对应值 0x01
12
+ * - 2 bytes unsigned, preSkip 这是要从开始播放时的解码器输出, 从页面的颗粒位置减去以计算其 PCM 样本位置。
13
+ * - 4 bytes unsigned, sampleRate 原始输入采样率
14
+ * - 2 bytes signed, outputGain 这是解码时要应用的增益, 20 * log10 缩放解码器输出以实现所需的播放音量
15
+ * - 1 bytes unsigned, channelMappingFamily 指示输出渠道的顺序和语音含义。该八位位组的每个当前指定的值表示一个映射系列,它定义了一组允许的通道数,以及每个允许的通道数的通道名称的有序集合
16
+ * - channelMappingTable 可选, 当 Channel Mapping Family 为 0 时被省略。
17
+ * - 1 bytes, streamCount, unsigned ogg packet 里面编码了多少路 stream
18
+ * - 1 bytes, coupledStreamCount, unsigned 标识有多少路流是双声声道,必须小于 streamCount
19
+ * - C bytes, C 为总输出声道数 coupledStreamCount + streamCount
20
+ *
21
+ */
22
+ export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
23
+ export declare function avCodecParameters2Extradata(codecpar: AVCodecParameters): Uint8Array;