@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,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;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function(mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ default: mod
6
+ };
7
+ };
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: !0
11
+ }), exports.durations = void 0, exports.getBufferSamples = function(buffer) {
12
+ let toc = 0, frameDuration = 0, nframes = 0;
13
+ if (buffer.length < 1) return 0;
14
+ switch (toc = buffer[0], frameDuration = exports.durations[toc >> 3], 3 & toc) {
15
+ case 0:
16
+ nframes = 1;
17
+ break;
18
+
19
+ case 1:
20
+ case 2:
21
+ nframes = 2;
22
+ break;
23
+
24
+ case 3:
25
+ if (buffer.length < 2) return 0;
26
+ nframes = 63 & buffer[1];
27
+ }
28
+ return nframes * frameDuration;
29
+ }, exports.parseAVCodecParameters = function(stream, extradata) {
30
+ !extradata && stream.sideData[1] && (extradata = stream.sideData[1]);
31
+ if (extradata && extradata.length >= 19) {
32
+ const reader = new BufferReader_1.default(extradata, !1);
33
+ reader.skip(9), stream.codecpar.chLayout.nbChannels = reader.readUint8(), stream.codecpar.initialPadding = reader.readUint16(),
34
+ stream.codecpar.sampleRate = reader.readUint32(), stream.codecpar.seekPreroll = Number((0,
35
+ rational_1.avRescaleQ)(BigInt(80), {
36
+ den: 1e3,
37
+ num: 1
38
+ }, {
39
+ den: 48e3,
40
+ num: 1
41
+ }));
42
+ }
43
+ }, exports.avCodecParameters2Extradata = function(codecpar) {
44
+ const extradata = new Uint8Array(19), writer = new BufferWriter_1.default(extradata, !1);
45
+ return writer.writeString("OpusHead"), writer.writeUint8(1), writer.writeUint8(codecpar.chLayout.nbChannels),
46
+ writer.writeUint16(codecpar.initialPadding), writer.writeUint32(codecpar.sampleRate),
47
+ extradata;
48
+ };
49
+
50
+ const BufferReader_1 = __importDefault(require("@libmedia/common/io/BufferReader")), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter")), rational_1 = require("../util/rational");
51
+
52
+ exports.durations = [ 480, 960, 1920, 2880, 480, 960, 1920, 2880, 480, 960, 1920, 2880, 480, 960, 480, 960, 120, 240, 480, 960, 120, 240, 480, 960, 120, 240, 480, 960, 120, 240, 480, 960 ];
53
+ //# sourceMappingURL=opus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exports","getBufferSamples","buffer","toc","frameDuration","nframes","length","durations","parseAVCodecParameters","stream","extradata","sideData","reader","BufferReader_1","default","skip","codecpar","chLayout","nbChannels","readUint8","initialPadding","readUint16","sampleRate","readUint32","seekPreroll","Number","rational_1","avRescaleQ","BigInt","den","num","avCodecParameters2Extradata","Uint8Array","writer","BufferWriter_1","writeString","writeUint8","writeUint16","writeUint32","__importDefault","require"],"sources":["../../../codecs/opus.ts"],"mappings":";;;;;;;;;;gCAuDAA,QAAAC,mBAAA,SAAiCC;IAC/B,IAAIC,MAAM,GAAGC,gBAAgB,GAAGC,UAAU;IAE1C,IAAIH,OAAOI,SAAS,GAClB,OAAO;IAOT,QAJAH,MAAMD,OAAO,IAEbE,gBAAgBJ,QAAAO,UAAUJ,OAAO,IAEnB,IAANA;MACN,KAAK;QACHE,UAAU;QACV;;MACF,KAAK;MAGL,KAAK;QACHA,UAAU;QACV;;MACF,KAAK;QACH,IAAIH,OAAOI,SAAS,GAClB,OAAO;QAETD,UAAsB,KAAZH,OAAO;;IAGrB,OAAOG,UAAUD;AACnB,GAkBAJ,QAAAQ,yBAAA,SAAuCC,QAAkBC;KAClDA,aAAaD,OAAOE,SAAQ,OAC/BD,YAAYD,OAAOE,SAAQ;IAE7B,IAAID,aAAaA,UAAUJ,UAAU,IAAI;QACvC,MAAMM,SAAS,IAAIC,eAAAC,QAAaJ,YAAW;QAC3CE,OAAOG,KAAK,IACZN,OAAOO,SAASC,SAASC,aAAaN,OAAOO,aAC7CV,OAAOO,SAASI,iBAAiBR,OAAOS;QACxCZ,OAAOO,SAASM,aAAaV,OAAOW,cAEpCd,OAAOO,SAASQ,cAAcC,QAAO;QAAAC,WAAAC,YAAUC,OAAA,KAE7C;YACEC,KAAK;YACLC,KAAK;WAEP;YACED,KAAK;YACLC,KAAK;;AAGX;AACF,GAEA9B,QAAA+B,8BAAA,SAA4Cf;IAC1C,MAAMN,YAAY,IAAIsB,WAAW,KAE3BC,SAAS,IAAIC,eAAApB,QAAaJ,YAAW;IAQ3C,OANAuB,OAAOE,YAAY,aACnBF,OAAOG,WAAW,IAClBH,OAAOG,WAAWpB,SAASC,SAASC;IACpCe,OAAOI,YAAYrB,SAASI,iBAC5Ba,OAAOK,YAAYtB,SAASM;IAErBZ;AACT;;AA/GA,MAAAG,iBAAA0B,gBAAAC,QAAA,sCACAN,iBAAAK,gBAAAC,QAAA,sCACAd,aAAAc,QAAA;;AAGaxC,QAAAO,YAAY,EAEvB,KAAK,KAAK,MAAM,MAEhB,KAAK,KAAK,MAAM,MAEhB,KAAK,KAAK,MAAM,MAEhB,KAAK,KAEL,KAAK,KAEL,KAAK,KAAK,KAAK,KAEf,KAAK,KAAK,KAAK,KAEf,KAAK,KAAK,KAAK,KAEf,KAAK,KAAK,KAAK","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import AVStream from "../AVStream";
2
+ import AVPacket from "../struct/avpacket";
3
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
4
+ export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
5
+ /**
6
+ * - 1 byte profile
7
+ * - 1 byte level
8
+ * - 4 bit bitdepth
9
+ * - 3 bit chroma_subsampling
10
+ * - 1 bit full_range_flag
11
+ * - 1 byte color_primaries
12
+ * - 1 byte color_trc
13
+ * - 1 byte color_space
14
+ *
15
+ * @param extradata
16
+ */
17
+ export declare function parseExtraData(extradata: Uint8ArrayInterface): {
18
+ profile: number;
19
+ level: number;
20
+ bitDepth: number;
21
+ chromaSubsampling: number;
22
+ fullRangeFlag: number;
23
+ colorPrimaries: number;
24
+ colorTrc: number;
25
+ colorSpace: number;
26
+ };
27
+ export declare function isIDR(avpacket: pointer<AVPacket>): boolean;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function(mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ default: mod
6
+ };
7
+ };
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: !0
11
+ }), exports.parseAVCodecParameters = function(stream, extradata) {
12
+ !extradata && stream.sideData[1] && (extradata = stream.sideData[1]);
13
+ if (extradata && extradata.length >= 6) {
14
+ const params = parseExtraData(extradata);
15
+ stream.codecpar.profile = params.profile, stream.codecpar.level = params.level;
16
+ }
17
+ }, exports.parseExtraData = parseExtraData, exports.isIDR = function(avpacket) {
18
+ return !(cheap__identifier__0.CTypeEnumRead[2](cheap__identifier__0.CTypeEnumRead[20](avpacket + 24)) >>> 7);
19
+ };
20
+
21
+ const cheap__identifier__0 = require("@libmedia/cheap/ctypeEnumRead"), BitReader_1 = __importDefault(require("@libmedia/common/io/BitReader"));
22
+
23
+ function parseExtraData(extradata) {
24
+ const bitReader = new BitReader_1.default(extradata.length);
25
+ bitReader.appendBuffer(extradata.subarray(4));
26
+ return {
27
+ profile: bitReader.readU(8),
28
+ level: bitReader.readU(8),
29
+ bitDepth: bitReader.readU(4),
30
+ chromaSubsampling: bitReader.readU(3),
31
+ fullRangeFlag: bitReader.readU1(),
32
+ colorPrimaries: bitReader.readU(8),
33
+ colorTrc: bitReader.readU(8),
34
+ colorSpace: bitReader.readU(8)
35
+ };
36
+ }
37
+ //# sourceMappingURL=vp8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exports","parseAVCodecParameters","stream","extradata","sideData","length","params","parseExtraData","codecpar","profile","level","isIDR","avpacket","cheap__identifier__0","CTypeEnumRead","BitReader_1","__importDefault","require","bitReader","default","appendBuffer","subarray","readU","bitDepth","chromaSubsampling","fullRangeFlag","readU1","colorPrimaries","colorTrc","colorSpace"],"sources":["../../../codecs/vp8.ts"],"mappings":";;;;;;;;;;IA+BAA,QAAAC,yBAAA,SAAuCC,QAAkBC;KAClDA,aAAaD,OAAOE,SAAQ,OAC/BD,YAAYD,OAAOE,SAAQ;IAE7B,IAAID,aAAaA,UAAUE,UAAU,GAAG;QACtC,MAAMC,SAASC,eAAeJ;QAC9BD,OAAOM,SAASC,UAAUH,OAAOG,SACjCP,OAAOM,SAASE,QAAQJ,OAAOI;AACjC;AACF,GAcAV,QAAAO,iCAwBAP,QAAAW,QAAA,SAAsBC;IAEpB,SADWC,qBAAAC,cAAA,GAAAD,qBAAAC,cAAA,IAAYF,WAAQ,SACZ;AACrB;;uEArDAG,cAAAC,gBAAAC,QAAA;;AA0BA,SAAgBV,eAAeJ;IAC7B,MAAMe,YAAY,IAAIH,YAAAI,QAAUhB,UAAUE;IAC1Ca,UAAUE,aAAajB,UAAUkB,SAAS;IAU1C,OAAO;QACLZ,SAVcS,UAAUI,MAAM;QAW9BZ,OAVYQ,UAAUI,MAAM;QAW5BC,UAVaL,UAAUI,MAAM;QAW7BE,mBAVwBN,UAAUI,MAAM;QAWxCG,eAVoBP,UAAUQ;QAW9BC,gBAVqBT,UAAUI,MAAM;QAWrCM,UAVeV,UAAUI,MAAM;QAW/BO,YAViBX,UAAUI,MAAM;;AAYrC","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import AVStream from "../AVStream";
2
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
3
+ import AVCodecParameters from "../struct/avcodecparameters";
4
+ import AVPacket from "../struct/avpacket";
5
+ export declare const enum VP9Profile {
6
+ Profile0 = 0,
7
+ Profile1 = 1,
8
+ Profile2 = 2,
9
+ Profile3 = 3
10
+ }
11
+ export declare const VP9Profile2Name: Record<VP9Profile, string>;
12
+ export declare const LevelCapabilities: {
13
+ level: number;
14
+ maxResolution: number;
15
+ maxFrameRate: number;
16
+ }[];
17
+ export declare function getLevelByResolution(width: number, height: number, fps: number): number;
18
+ export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
19
+ /**
20
+ * - 1 byte profile
21
+ * - 1 byte level
22
+ * - 4 bit bitdepth
23
+ * - 3 bit chroma_subsampling
24
+ * - 1 bit full_range_flag
25
+ * - 1 byte color_primaries
26
+ * - 1 byte color_trc
27
+ * - 1 byte color_space
28
+ *
29
+ * @param extradata
30
+ */
31
+ export declare function parseExtraData(extradata: Uint8ArrayInterface): {
32
+ profile: number;
33
+ level: number;
34
+ bitDepth: number;
35
+ chromaSubsampling: number;
36
+ fullRangeFlag: number;
37
+ colorPrimaries: number;
38
+ colorTrc: number;
39
+ colorSpace: number;
40
+ };
41
+ export declare function generateExtradata(codecpar: pointer<AVCodecParameters>): Uint8Array;
42
+ export declare function isIDR(avpacket: pointer<AVPacket>): boolean;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function(mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ default: mod
6
+ };
7
+ };
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: !0
11
+ }), exports.LevelCapabilities = exports.VP9Profile2Name = void 0, exports.getLevelByResolution = getLevelByResolution,
12
+ exports.parseAVCodecParameters = function(stream, extradata) {
13
+ !extradata && stream.sideData[1] && (extradata = stream.sideData[1]);
14
+ if (extradata && extradata.length >= 6) {
15
+ const params = parseExtraData(extradata);
16
+ stream.codecpar.profile = params.profile, stream.codecpar.level = params.level;
17
+ }
18
+ }, exports.parseExtraData = parseExtraData, exports.generateExtradata = function(codecpar) {
19
+ const ioWriter = new BufferWriter_1.default(new Uint8Array(8)), vpcc = function(codecpar) {
20
+ let profile = cheap__identifier__0.CTypeEnumRead[15](codecpar + 48), level = cheap__identifier__0.CTypeEnumRead[15](codecpar + 52);
21
+ level === constant_1.NOPTS_VALUE && (level = getLevelByResolution(cheap__identifier__0.CTypeEnumRead[15](codecpar + 56), cheap__identifier__0.CTypeEnumRead[15](codecpar + 60), (0,
22
+ rational_1.avQ2D)(cheap__identifier__5.default(codecpar + 72, cheap__identifier__4.Rational))));
23
+ const desc = pixelFormatDescriptor_1.PixelFormatDescriptorsMap[cheap__identifier__0.CTypeEnumRead[15](codecpar + 28)];
24
+ let bitDepth = cheap__identifier__0.CTypeEnumRead[15](codecpar + 40), chromaSubsampling = 1;
25
+ desc && (bitDepth = desc.comp[0].depth, 1 === desc.log2ChromaW && 1 === desc.log2ChromaH ? 1 === cheap__identifier__0.CTypeEnumRead[15](codecpar + 100) && (chromaSubsampling = 0) : 1 === desc.log2ChromaW && 0 === desc.log2ChromaH ? chromaSubsampling = 2 : 0 === desc.log2ChromaW && 0 === desc.log2ChromaH && (chromaSubsampling = 3));
26
+ const fullRange = 2 === cheap__identifier__0.CTypeEnumRead[15](codecpar + 84) ? 1 : 0;
27
+ profile === constant_1.NOPTS_VALUE && bitDepth && (profile = 0 == chromaSubsampling || 1 == chromaSubsampling ? 8 == bitDepth ? 0 : 2 : 8 == bitDepth ? 1 : 3);
28
+ return {
29
+ profile: profile,
30
+ level: level,
31
+ bitDepth: bitDepth,
32
+ chromaSubsampling: chromaSubsampling,
33
+ fullRange: fullRange
34
+ };
35
+ }(codecpar);
36
+ return ioWriter.writeUint8(vpcc.profile), ioWriter.writeUint8(vpcc.level), ioWriter.writeUint8(vpcc.bitDepth << 4 | vpcc.chromaSubsampling << 1 | vpcc.fullRange),
37
+ ioWriter.writeUint8(cheap__identifier__0.CTypeEnumRead[15](codecpar + 88)), ioWriter.writeUint8(cheap__identifier__0.CTypeEnumRead[15](codecpar + 92)),
38
+ ioWriter.writeUint8(cheap__identifier__0.CTypeEnumRead[15](codecpar + 96)), ioWriter.writeUint16(0),
39
+ ioWriter.getWroteBuffer();
40
+ }, exports.isIDR = function(avpacket) {
41
+ const first = cheap__identifier__0.CTypeEnumRead[2](cheap__identifier__0.CTypeEnumRead[20](avpacket + 24)), profile = ((first >>> 4 & 1) << 1) + (first >>> 5 & 1);
42
+ if (first >>> (3 === profile ? 2 : 3) & 1) return !1;
43
+ return !(first >>> (3 === profile ? 1 : 2) & 1);
44
+ };
45
+
46
+ const cheap__identifier__0 = require("@libmedia/cheap/ctypeEnumRead"), cheap__identifier__4 = require("../struct/rational"), cheap__identifier__5 = require("@libmedia/cheap/std/structAccess"), BitReader_1 = __importDefault(require("@libmedia/common/io/BitReader")), constant_1 = require("../constant"), pixelFormatDescriptor_1 = require("../pixelFormatDescriptor"), rational_1 = require("../util/rational"), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter"));
47
+
48
+ function getLevelByResolution(width, height, fps) {
49
+ const resolution = width * height;
50
+ for (const level of exports.LevelCapabilities) if (resolution <= level.maxResolution && fps <= level.maxFrameRate) return level.level;
51
+ }
52
+
53
+ function parseExtraData(extradata) {
54
+ const bitReader = new BitReader_1.default(extradata.length);
55
+ bitReader.appendBuffer(extradata);
56
+ return {
57
+ profile: bitReader.readU(8),
58
+ level: bitReader.readU(8),
59
+ bitDepth: bitReader.readU(4),
60
+ chromaSubsampling: bitReader.readU(3),
61
+ fullRangeFlag: bitReader.readU1(),
62
+ colorPrimaries: bitReader.readU(8),
63
+ colorTrc: bitReader.readU(8),
64
+ colorSpace: bitReader.readU(8)
65
+ };
66
+ }
67
+
68
+ exports.VP9Profile2Name = {
69
+ 0: "Profile0",
70
+ 1: "Profile1",
71
+ 2: "Profile2",
72
+ 3: "Profile3"
73
+ }, exports.LevelCapabilities = [ {
74
+ level: 10,
75
+ maxResolution: 196608,
76
+ maxFrameRate: 30
77
+ }, {
78
+ level: 11,
79
+ maxResolution: 196608,
80
+ maxFrameRate: 60
81
+ }, {
82
+ level: 20,
83
+ maxResolution: 518400,
84
+ maxFrameRate: 30
85
+ }, {
86
+ level: 21,
87
+ maxResolution: 518400,
88
+ maxFrameRate: 60
89
+ }, {
90
+ level: 30,
91
+ maxResolution: 2073600,
92
+ maxFrameRate: 30
93
+ }, {
94
+ level: 31,
95
+ maxResolution: 2073600,
96
+ maxFrameRate: 60
97
+ }, {
98
+ level: 40,
99
+ maxResolution: 3686400,
100
+ maxFrameRate: 30
101
+ }, {
102
+ level: 41,
103
+ maxResolution: 3686400,
104
+ maxFrameRate: 60
105
+ }, {
106
+ level: 50,
107
+ maxResolution: 8294400,
108
+ maxFrameRate: 30
109
+ }, {
110
+ level: 51,
111
+ maxResolution: 8294400,
112
+ maxFrameRate: 60
113
+ }, {
114
+ level: 60,
115
+ maxResolution: 8847360,
116
+ maxFrameRate: 30
117
+ }, {
118
+ level: 61,
119
+ maxResolution: 8847360,
120
+ maxFrameRate: 60
121
+ }, {
122
+ level: 70,
123
+ maxResolution: 35389440,
124
+ maxFrameRate: 30
125
+ }, {
126
+ level: 71,
127
+ maxResolution: 35389440,
128
+ maxFrameRate: 60
129
+ } ];
130
+ //# sourceMappingURL=vp9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exports","getLevelByResolution","parseAVCodecParameters","stream","extradata","sideData","length","params","parseExtraData","codecpar","profile","level","generateExtradata","ioWriter","BufferWriter_1","default","Uint8Array","vpcc","cheap__identifier__0","CTypeEnumRead","constant_1","NOPTS_VALUE","rational_1","avQ2D","cheap__identifier__5","cheap__identifier__4","Rational","desc","pixelFormatDescriptor_1","PixelFormatDescriptorsMap","bitDepth","chromaSubsampling","comp","depth","log2ChromaW","log2ChromaH","fullRange","getVpccFeature","writeUint8","writeUint16","getWroteBuffer","isIDR","avpacket","first","BitReader_1","__importDefault","require","width","height","fps","resolution","LevelCapabilities","maxResolution","maxFrameRate","bitReader","appendBuffer","readU","fullRangeFlag","readU1","colorPrimaries","colorTrc","colorSpace","VP9Profile2Name"],"sources":["../../../codecs/vp9.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,178 @@
1
+ import AVPacket from "../struct/avpacket";
2
+ import AVStream from "../AVStream";
3
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
4
+ import { Data } from "@libmedia/common/types/type";
5
+ export declare const enum VVCNaluType {
6
+ kTRAIL_NUT = 0,
7
+ kSTSA_NUT = 1,
8
+ kRADL_NUT = 2,
9
+ kRASL_NUT = 3,
10
+ kRSV_VCL_4 = 4,
11
+ kRSV_VCL_5 = 5,
12
+ kRSV_VCL_6 = 6,
13
+ kIDR_W_RADL = 7,
14
+ kIDR_N_LP = 8,
15
+ kCRA_NUT = 9,
16
+ kGDR_NUT = 10,
17
+ kRSV_IRAP_11 = 11,
18
+ kOPI_NUT = 12,
19
+ kDCI_NUT = 13,
20
+ kVPS_NUT = 14,
21
+ kSPS_NUT = 15,
22
+ kPPS_NUT = 16,
23
+ kPREFIX_APS_NUT = 17,
24
+ kSUFFIX_APS_NUT = 18,
25
+ kPH_NUT = 19,
26
+ kAUD_NUT = 20,
27
+ kEOS_NUT = 21,
28
+ kEOB_NUT = 22,
29
+ kPREFIX_SEI_NUT = 23,
30
+ kSUFFIX_SEI_NUT = 24,
31
+ kFD_NUT = 25,
32
+ kRSV_NVCL_26 = 26,
33
+ kRSV_NVCL_27 = 27,
34
+ kUNSPEC_28 = 28,
35
+ kUNSPEC_29 = 29,
36
+ kUNSPEC_30 = 30,
37
+ kUNSPEC_31 = 31
38
+ }
39
+ export declare const enum VVCSliceType {
40
+ kSliceNone = -1,
41
+ kSliceB = 0,
42
+ kSliceP = 1,
43
+ kSliceI = 2
44
+ }
45
+ export declare const enum VVCAPSType {
46
+ kALF = 0,
47
+ kLMCS = 1,
48
+ kSCALING = 2
49
+ }
50
+ /**
51
+ *
52
+ * vvcc 格式的 extradata 转 annexb vps sps pps
53
+ *
54
+ * bits
55
+ * - 5 reserved (11111)
56
+ * - 2 lengthSizeMinusOne
57
+ * - 1 ptl_present_flag
58
+ * if ptl_present_flag
59
+ * - 9 ols_idx
60
+ * - 3 num_sublayers
61
+ * - 2 constant_frame_rate
62
+ * - 2 chroma_format_idc
63
+ * - 3 bit_depth_minus8
64
+ * - 5 reserved (11111)
65
+ * VvcPTLRecord
66
+ * - 2 reserved (11)
67
+ * - 6 num_bytes_constraint_info
68
+ * - 7 general_profile_idc
69
+ * - 1 general_tier_flag
70
+ * - 8 general_level_idc
71
+ * - 1 general_level_idc
72
+ * - 1 ptl_multilayer_enabled_flag
73
+ * if num_bytes_constraint_info > 0
74
+ * for (i = 0; i < num_bytes_constraint_info - 1; i++)
75
+ * - 8 general_constraint_info[i]
76
+ * - 6 general_constraint_info[num_bytes_constraint_info - 1]
77
+ * else
78
+ * - 6 reserved
79
+ * if num_sublayers > 1
80
+ * - num_sublayers - 2 ptl_sublayer_level_present_flag
81
+ * - 8 - num_sublayers + 1 ptl_reserved_zero_bit
82
+ * for (i = num_sublayers -2; i >= 0; i--)
83
+ * if ptl_sublayer_present_mask & (1 << i)
84
+ * - 8 sublayer_level_idc[i]
85
+ * - 8 ptl_num_sub_profiles
86
+ * if ptl_num_sub_profiles
87
+ * for (i = 0; i < ptl_num_sub_profiles; i++)
88
+ * - 32 general_sub_profile_idc[i]
89
+ * - 16 max_picture_width
90
+ * - 16 max_picture_height
91
+ * - 16 avg_frame_rate
92
+ * - 8 numOfArrays
93
+ * - repeated of array (vps/sps/pps)
94
+ * - 1 array_completeness
95
+ * - 2 reserved (0)
96
+ * - 5 NAL_unit_type
97
+ * if nalu_type != VVC_NALU_DEC_PARAM && nalu_type != VVC_NALU_OPI
98
+ * - 16 numNalus
99
+ * else
100
+ * numNalus = 1
101
+ * - repeated once per NAL
102
+ * - 16 nalUnitLength
103
+ * - N NALU data
104
+ *
105
+ */
106
+ export declare function extradata2VpsSpsPps(extradata: Uint8ArrayInterface): {
107
+ vpss: any[];
108
+ spss: any[];
109
+ ppss: any[];
110
+ };
111
+ export declare function vpsSpsPps2Extradata(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[]): Uint8Array;
112
+ export declare function annexbExtradata2AvccExtradata(data: Uint8ArrayInterface): Uint8Array;
113
+ /**
114
+ *
115
+ * annexb 格式的 NALU 转 avcc NALU
116
+ *
117
+ */
118
+ export declare function annexb2Avcc(data: Uint8ArrayInterface): {
119
+ bufferPointer: pointer<void>;
120
+ length: number;
121
+ extradata: Uint8Array;
122
+ key: boolean;
123
+ };
124
+ /**
125
+ * avcc 格式的 NALU 转 annexb NALU
126
+ *
127
+ */
128
+ export declare function avcc2Annexb(data: Uint8ArrayInterface, extradata?: Uint8ArrayInterface): {
129
+ bufferPointer: pointer<void>;
130
+ length: any;
131
+ key: boolean;
132
+ };
133
+ export declare function parseAvccExtraData(avpacket: pointer<AVPacket>, stream: AVStream): void;
134
+ export declare function parseAnnexbExtraData(avpacket: pointer<AVPacket>, force?: boolean): void;
135
+ export declare function parseAVCodecParametersBySps(stream: AVStream, sps: Uint8Array): void;
136
+ export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
137
+ export declare function isIDR(avpacket: pointer<AVPacket>, naluLengthSize?: int32): boolean;
138
+ export interface VvcSPS {
139
+ profile: number;
140
+ level: number;
141
+ width: number;
142
+ height: number;
143
+ chromaFormatIdc: number;
144
+ bitDepthMinus8: number;
145
+ generalProfileSpace: number;
146
+ tierFlag: number;
147
+ generalConstraintInfo: number[];
148
+ generalSubProfileIdc: number[];
149
+ ptlFrameOnlyConstraintFlag: number;
150
+ ptlMultilayerEnabledFlag: number;
151
+ spsMaxSublayersMinus1: number;
152
+ ptlSublayerLevelPresentFlag: number[];
153
+ sublayerLevelIdc: number[];
154
+ sps_log2_max_pic_order_cnt_lsb_minus4: number;
155
+ sps_poc_msb_cycle_flag: number;
156
+ sps_poc_msb_cycle_len_minus1: number;
157
+ sps_num_extra_ph_bytes: number;
158
+ sps_extra_ph_bit_present_flag: number[];
159
+ }
160
+ export declare function parseSPS(sps: Uint8ArrayInterface): VvcSPS;
161
+ export declare function parseExtraData(extradata: Uint8ArrayInterface): Data | {
162
+ olsIdx: number;
163
+ numSublayers: number;
164
+ bitDepthMinus8: number;
165
+ chromaFormatIdc: number;
166
+ constantFrameRate: number;
167
+ generalProfileIdc: number;
168
+ generalTierFlag: number;
169
+ generalLevelIdc: number;
170
+ ptlFrameOnlyConstraintFlag: number;
171
+ ptlMultilayerEnabledFlag: number;
172
+ generalConstraintInfo: any[];
173
+ sublayerLevelIdc: any[];
174
+ generalSubProfileIdc: any[];
175
+ maxPictureWidth: number;
176
+ maxPictureHeight: number;
177
+ avgFramerate: number;
178
+ };