@libmedia/avutil 0.11.0 → 1.0.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 (579) hide show
  1. package/dist/cjs/AVStream.cjs +66 -0
  2. package/dist/cjs/AVStream.js.map +1 -1
  3. package/dist/cjs/audiosamplefmt.js.map +1 -1
  4. package/dist/cjs/avformat.js.map +1 -1
  5. package/dist/cjs/codec.js.map +1 -1
  6. package/dist/cjs/codecs/{aac.js → aac.cjs} +2 -8
  7. package/dist/cjs/codecs/aac.js.map +1 -1
  8. package/dist/cjs/codecs/{ac3.js → ac3.cjs} +2 -8
  9. package/dist/cjs/codecs/ac3.js.map +1 -1
  10. package/dist/cjs/codecs/{av1.js → av1.cjs} +6 -10
  11. package/dist/cjs/codecs/av1.js.map +1 -1
  12. package/dist/cjs/codecs/{dts.js → dts.cjs} +3 -9
  13. package/dist/cjs/codecs/dts.js.map +1 -1
  14. package/dist/cjs/codecs/{flac.js → flac.cjs} +2 -8
  15. package/dist/cjs/codecs/flac.js.map +1 -1
  16. package/dist/cjs/codecs/{h264.js → h264.cjs} +22 -26
  17. package/dist/cjs/codecs/h264.js.map +1 -1
  18. package/dist/cjs/codecs/{hevc.js → hevc.cjs} +25 -26
  19. package/dist/cjs/codecs/hevc.js.map +1 -1
  20. package/dist/cjs/codecs/{mp3.js → mp3.cjs} +1 -1
  21. package/dist/cjs/codecs/mp3.js.map +1 -1
  22. package/dist/cjs/codecs/{mpeg4.js → mpeg4.cjs} +1 -1
  23. package/dist/cjs/codecs/mpeg4.js.map +1 -1
  24. package/dist/cjs/codecs/{mpegvideo.js → mpegvideo.cjs} +1 -1
  25. package/dist/cjs/codecs/mpegvideo.js.map +1 -1
  26. package/dist/cjs/codecs/{opus.js → opus.cjs} +3 -9
  27. package/dist/cjs/codecs/opus.js.map +1 -1
  28. package/dist/cjs/codecs/ttml.cjs +51 -0
  29. package/dist/cjs/codecs/ttml.js.map +1 -1
  30. package/dist/cjs/codecs/{vp8.js → vp8.cjs} +2 -8
  31. package/dist/cjs/codecs/vp8.js.map +1 -1
  32. package/dist/cjs/codecs/{vp9.js → vp9.cjs} +4 -10
  33. package/dist/cjs/codecs/vp9.js.map +1 -1
  34. package/dist/cjs/codecs/{vvc.js → vvc.cjs} +27 -28
  35. package/dist/cjs/codecs/vvc.js.map +1 -1
  36. package/dist/cjs/constant.cjs +27 -0
  37. package/dist/cjs/constant.js.map +1 -1
  38. package/dist/cjs/{enum.js → enum.cjs} +39 -24
  39. package/dist/cjs/enum.js.map +1 -1
  40. package/dist/cjs/error.js.map +1 -1
  41. package/dist/cjs/function/analyzeAVFormat.js.map +1 -1
  42. package/dist/cjs/function/analyzeUrlIOLoader.cjs +66 -0
  43. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
  44. package/dist/cjs/function/{audioData2AVFrame.js → audioData2AVFrame.cjs} +9 -9
  45. package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
  46. package/dist/cjs/function/{avPCMBuffer2AVFrame.js → avPCMBuffer2AVFrame.cjs} +22 -22
  47. package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -1
  48. package/dist/cjs/function/{avframe2AudioData.js → avframe2AudioData.cjs} +7 -7
  49. package/dist/cjs/function/avframe2AudioData.js.map +1 -1
  50. package/dist/cjs/function/avframe2VideoFrame.cjs +48 -0
  51. package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
  52. package/dist/cjs/function/avpacket2EncodedAudioChunk.cjs +19 -0
  53. package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
  54. package/dist/cjs/function/avpacket2EncodedVideoChunk.cjs +19 -0
  55. package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
  56. package/dist/cjs/function/compileResource.cjs +19 -0
  57. package/dist/cjs/function/compileResource.js.map +1 -1
  58. package/dist/cjs/function/constant/webcodecs.cjs +50 -0
  59. package/dist/cjs/function/constant/webcodecs.js.map +1 -0
  60. package/dist/cjs/function/encodedAudioChunk2AVPacket.cjs +23 -0
  61. package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
  62. package/dist/cjs/function/encodedVideoChunk2AVPacket.cjs +62 -0
  63. package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
  64. package/dist/cjs/function/{getAudioCodec.js → getAudioCodec.cjs} +1 -1
  65. package/dist/cjs/function/getAudioCodec.js.map +1 -1
  66. package/dist/cjs/function/getAudioMimeType.cjs +19 -0
  67. package/dist/cjs/function/getAudioMimeType.js.map +1 -0
  68. package/dist/cjs/function/getHardwarePreference.cjs +10 -0
  69. package/dist/cjs/function/getHardwarePreference.js.map +1 -1
  70. package/dist/cjs/function/{getVideoCodec.js → getVideoCodec.cjs} +12 -12
  71. package/dist/cjs/function/getVideoCodec.js.map +1 -1
  72. package/dist/cjs/function/getVideoMimeType.cjs +18 -0
  73. package/dist/cjs/function/getVideoMimeType.js.map +1 -0
  74. package/dist/cjs/function/{getWasmUrl.js → getWasmUrl.cjs} +17 -3
  75. package/dist/cjs/function/getWasmUrl.js.map +1 -1
  76. package/dist/cjs/function/{hasAlphaChannel.js → hasAlphaChannel.cjs} +1 -1
  77. package/dist/cjs/function/hasAlphaChannel.js.map +1 -1
  78. package/dist/cjs/function/{isHdr.js → isHdr.cjs} +1 -1
  79. package/dist/cjs/function/isHdr.js.map +1 -1
  80. package/dist/cjs/function/videoFrame2AVFrame.cjs +51 -0
  81. package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
  82. package/dist/cjs/implement/AVFramePoolImpl.cjs +28 -0
  83. package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
  84. package/dist/cjs/implement/AVPCMBufferPoolImpl.cjs +27 -0
  85. package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
  86. package/dist/cjs/implement/AVPacketPoolImpl.cjs +29 -0
  87. package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
  88. package/dist/cjs/index.cjs +840 -0
  89. package/dist/cjs/index.js.map +1 -0
  90. package/dist/cjs/internal.cjs +283 -0
  91. package/dist/cjs/internal.js.map +1 -0
  92. package/dist/cjs/{pixelFormatDescriptor.js → pixelFormatDescriptor.cjs} +19 -4
  93. package/dist/cjs/pixelFormatDescriptor.js.map +1 -1
  94. package/dist/cjs/pixfmt.js.map +1 -1
  95. package/dist/cjs/sampleFormatDescriptor.js.map +1 -1
  96. package/dist/cjs/{stringEnum.js → stringEnum.cjs} +40 -6
  97. package/dist/cjs/stringEnum.js.map +1 -1
  98. package/dist/cjs/struct/{audiosample.js → audiosample.cjs} +13 -13
  99. package/dist/cjs/struct/audiosample.js.map +1 -1
  100. package/dist/cjs/struct/{avbuffer.js → avbuffer.cjs} +18 -18
  101. package/dist/cjs/struct/avbuffer.js.map +1 -1
  102. package/dist/cjs/struct/{avcodecparameters.js → avcodecparameters.cjs} +11 -11
  103. package/dist/cjs/struct/avcodecparameters.js.map +1 -1
  104. package/dist/cjs/struct/{avdict.js → avdict.cjs} +9 -9
  105. package/dist/cjs/struct/avdict.js.map +1 -1
  106. package/dist/cjs/struct/{avframe.js → avframe.cjs} +34 -36
  107. package/dist/cjs/struct/avframe.js.map +1 -1
  108. package/dist/cjs/struct/{avpacket.js → avpacket.cjs} +19 -19
  109. package/dist/cjs/struct/avpacket.js.map +1 -1
  110. package/dist/cjs/struct/{avpcmbuffer.js → avpcmbuffer.cjs} +9 -9
  111. package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
  112. package/dist/cjs/struct/avsubtitle.js.map +1 -1
  113. package/dist/cjs/struct/{encryption.js → encryption.cjs} +13 -13
  114. package/dist/cjs/struct/encryption.js.map +1 -1
  115. package/dist/cjs/struct/rational.cjs +43 -0
  116. package/dist/cjs/struct/rational.js.map +1 -1
  117. package/dist/cjs/util/{amf.js → amf.cjs} +7 -38
  118. package/dist/cjs/util/amf.js.map +1 -1
  119. package/dist/cjs/util/av1syntax.js.map +1 -1
  120. package/dist/cjs/util/avbuffer.cjs +122 -0
  121. package/dist/cjs/util/avbuffer.js.map +1 -1
  122. package/dist/cjs/util/avdict.cjs +75 -0
  123. package/dist/cjs/util/avdict.js.map +1 -1
  124. package/dist/cjs/util/{avframe.js → avframe.cjs} +85 -90
  125. package/dist/cjs/util/avframe.js.map +1 -1
  126. package/dist/cjs/util/{avpacket.js → avpacket.cjs} +58 -58
  127. package/dist/cjs/util/avpacket.js.map +1 -1
  128. package/dist/cjs/util/{channel.js → channel.cjs} +7 -7
  129. package/dist/cjs/util/channel.js.map +1 -1
  130. package/dist/cjs/util/codecparameters.cjs +95 -0
  131. package/dist/cjs/util/codecparameters.js.map +1 -1
  132. package/dist/cjs/util/common.js.map +1 -1
  133. package/dist/cjs/util/{encryption.js → encryption.cjs} +5 -11
  134. package/dist/cjs/util/encryption.js.map +1 -1
  135. package/dist/cjs/util/expgolomb.js.map +1 -1
  136. package/dist/cjs/util/{intread.js → intread.cjs} +1 -1
  137. package/dist/cjs/util/intread.js.map +1 -1
  138. package/dist/cjs/util/{intwrite.js → intwrite.cjs} +1 -1
  139. package/dist/cjs/util/intwrite.js.map +1 -1
  140. package/dist/cjs/util/mem.cjs +23 -0
  141. package/dist/cjs/util/mem.js.map +1 -1
  142. package/dist/cjs/util/{nalu.js → nalu.cjs} +7 -42
  143. package/dist/cjs/util/nalu.js.map +1 -1
  144. package/dist/cjs/util/ntp.js.map +1 -1
  145. package/dist/cjs/util/pcm.js.map +1 -1
  146. package/dist/cjs/util/{pixel.js → pixel.cjs} +26 -30
  147. package/dist/cjs/util/pixel.js.map +1 -1
  148. package/dist/cjs/util/{rational.js → rational.cjs} +5 -11
  149. package/dist/cjs/util/rational.js.map +1 -1
  150. package/dist/cjs/util/{sample.js → sample.cjs} +6 -12
  151. package/dist/cjs/util/sample.js.map +1 -1
  152. package/dist/cjs/util/{serialize.js → serialize.cjs} +40 -42
  153. package/dist/cjs/util/serialize.js.map +1 -1
  154. package/dist/esm/AVStream.d.ts +258 -15
  155. package/dist/esm/AVStream.js +39 -11
  156. package/dist/esm/AVStream.js.map +1 -1
  157. package/dist/esm/audiosamplefmt.js.map +1 -1
  158. package/dist/esm/avformat.d.ts +4 -1
  159. package/dist/esm/avformat.js.map +1 -1
  160. package/dist/esm/codec.d.ts +65 -1
  161. package/dist/esm/codec.js.map +1 -1
  162. package/dist/esm/codecs/aac.d.ts +10 -5
  163. package/dist/esm/codecs/aac.js +2 -2
  164. package/dist/esm/codecs/aac.js.map +1 -1
  165. package/dist/esm/codecs/ac3.d.ts +1 -1
  166. package/dist/esm/codecs/ac3.js +1 -1
  167. package/dist/esm/codecs/ac3.js.map +1 -1
  168. package/dist/esm/codecs/av1.d.ts +3 -3
  169. package/dist/esm/codecs/av1.js +4 -6
  170. package/dist/esm/codecs/av1.js.map +1 -1
  171. package/dist/esm/codecs/dts.d.ts +1 -1
  172. package/dist/esm/codecs/dts.js +2 -2
  173. package/dist/esm/codecs/dts.js.map +1 -1
  174. package/dist/esm/codecs/flac.d.ts +3 -3
  175. package/dist/esm/codecs/flac.js +1 -1
  176. package/dist/esm/codecs/flac.js.map +1 -1
  177. package/dist/esm/codecs/h264.d.ts +6 -6
  178. package/dist/esm/codecs/h264.js +15 -21
  179. package/dist/esm/codecs/h264.js.map +1 -1
  180. package/dist/esm/codecs/hevc.d.ts +6 -6
  181. package/dist/esm/codecs/hevc.js +18 -18
  182. package/dist/esm/codecs/hevc.js.map +1 -1
  183. package/dist/esm/codecs/mp3.d.ts +4 -4
  184. package/dist/esm/codecs/mp3.js +1 -1
  185. package/dist/esm/codecs/mp3.js.map +1 -1
  186. package/dist/esm/codecs/mpeg4.d.ts +1 -1
  187. package/dist/esm/codecs/mpeg4.js +1 -1
  188. package/dist/esm/codecs/mpeg4.js.map +1 -1
  189. package/dist/esm/codecs/mpegvideo.d.ts +1 -1
  190. package/dist/esm/codecs/mpegvideo.js +1 -1
  191. package/dist/esm/codecs/mpegvideo.js.map +1 -1
  192. package/dist/esm/codecs/opus.d.ts +3 -3
  193. package/dist/esm/codecs/opus.js +2 -4
  194. package/dist/esm/codecs/opus.js.map +1 -1
  195. package/dist/esm/codecs/ttml.js +5 -11
  196. package/dist/esm/codecs/ttml.js.map +1 -1
  197. package/dist/esm/codecs/vp8.d.ts +4 -4
  198. package/dist/esm/codecs/vp8.js +2 -2
  199. package/dist/esm/codecs/vp8.js.map +1 -1
  200. package/dist/esm/codecs/vp9.d.ts +4 -4
  201. package/dist/esm/codecs/vp9.js +8 -10
  202. package/dist/esm/codecs/vp9.js.map +1 -1
  203. package/dist/esm/codecs/vvc.d.ts +6 -6
  204. package/dist/esm/codecs/vvc.js +18 -20
  205. package/dist/esm/codecs/vvc.js.map +1 -1
  206. package/dist/esm/constant.d.ts +6 -7
  207. package/dist/esm/constant.js +7 -9
  208. package/dist/esm/constant.js.map +1 -1
  209. package/dist/esm/enum.d.ts +147 -13
  210. package/dist/esm/enum.js +39 -24
  211. package/dist/esm/enum.js.map +1 -1
  212. package/dist/esm/error.js.map +1 -1
  213. package/dist/esm/function/analyzeAVFormat.d.ts +2 -2
  214. package/dist/esm/function/analyzeAVFormat.js.map +1 -1
  215. package/dist/esm/function/analyzeUrlIOLoader.d.ts +2 -2
  216. package/dist/esm/function/analyzeUrlIOLoader.js +2 -10
  217. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
  218. package/dist/esm/function/audioData2AVFrame.d.ts +1 -1
  219. package/dist/esm/function/audioData2AVFrame.js +6 -6
  220. package/dist/esm/function/audioData2AVFrame.js.map +1 -1
  221. package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +2 -2
  222. package/dist/esm/function/avPCMBuffer2AVFrame.js +9 -9
  223. package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -1
  224. package/dist/esm/function/avframe2AudioData.d.ts +1 -1
  225. package/dist/esm/function/avframe2AudioData.js +6 -8
  226. package/dist/esm/function/avframe2AudioData.js.map +1 -1
  227. package/dist/esm/function/avframe2VideoFrame.d.ts +3 -3
  228. package/dist/esm/function/avframe2VideoFrame.js +14 -79
  229. package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
  230. package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  231. package/dist/esm/function/avpacket2EncodedAudioChunk.js +6 -7
  232. package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
  233. package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  234. package/dist/esm/function/avpacket2EncodedVideoChunk.js +6 -7
  235. package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
  236. package/dist/esm/function/compileResource.d.ts +1 -1
  237. package/dist/esm/function/compileResource.js +2 -4
  238. package/dist/esm/function/compileResource.js.map +1 -1
  239. package/dist/esm/function/constant/webcodecs.d.ts +5 -0
  240. package/dist/esm/function/constant/webcodecs.js +51 -0
  241. package/dist/esm/function/constant/webcodecs.js.map +1 -0
  242. package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +1 -1
  243. package/dist/esm/function/encodedAudioChunk2AVPacket.js +7 -7
  244. package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -1
  245. package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +1 -1
  246. package/dist/esm/function/encodedVideoChunk2AVPacket.js +12 -9
  247. package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -1
  248. package/dist/esm/function/getAudioCodec.d.ts +1 -1
  249. package/dist/esm/function/getAudioCodec.js +2 -2
  250. package/dist/esm/function/getAudioCodec.js.map +1 -1
  251. package/dist/esm/function/getAudioMimeType.d.ts +2 -0
  252. package/dist/esm/function/getAudioMimeType.js +12 -0
  253. package/dist/esm/function/getAudioMimeType.js.map +1 -0
  254. package/dist/esm/function/getHardwarePreference.js +1 -1
  255. package/dist/esm/function/getHardwarePreference.js.map +1 -1
  256. package/dist/esm/function/getVideoCodec.d.ts +1 -1
  257. package/dist/esm/function/getVideoCodec.js +11 -13
  258. package/dist/esm/function/getVideoCodec.js.map +1 -1
  259. package/dist/esm/function/getVideoMimeType.d.ts +2 -0
  260. package/dist/esm/function/getVideoMimeType.js +8 -0
  261. package/dist/esm/function/getVideoMimeType.js.map +1 -0
  262. package/dist/esm/function/getWasmUrl.d.ts +1 -1
  263. package/dist/esm/function/getWasmUrl.js +17 -2
  264. package/dist/esm/function/getWasmUrl.js.map +1 -1
  265. package/dist/esm/function/hasAlphaChannel.d.ts +1 -1
  266. package/dist/esm/function/hasAlphaChannel.js +2 -2
  267. package/dist/esm/function/hasAlphaChannel.js.map +1 -1
  268. package/dist/esm/function/isHdr.d.ts +1 -1
  269. package/dist/esm/function/isHdr.js +2 -2
  270. package/dist/esm/function/isHdr.js.map +1 -1
  271. package/dist/esm/function/videoFrame2AVFrame.d.ts +6 -6
  272. package/dist/esm/function/videoFrame2AVFrame.js +13 -74
  273. package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
  274. package/dist/esm/implement/AVFramePoolImpl.d.ts +3 -3
  275. package/dist/esm/implement/AVFramePoolImpl.js +5 -7
  276. package/dist/esm/implement/AVFramePoolImpl.js.map +1 -1
  277. package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +3 -3
  278. package/dist/esm/implement/AVPCMBufferPoolImpl.js +4 -6
  279. package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -1
  280. package/dist/esm/implement/AVPacketPoolImpl.d.ts +3 -3
  281. package/dist/esm/implement/AVPacketPoolImpl.js +5 -7
  282. package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -1
  283. package/dist/esm/index.d.ts +54 -0
  284. package/dist/esm/index.js +98 -0
  285. package/dist/esm/index.js.map +1 -0
  286. package/dist/esm/internal.d.ts +26 -0
  287. package/dist/esm/internal.js +52 -0
  288. package/dist/esm/internal.js.map +1 -0
  289. package/dist/esm/pixelFormatDescriptor.d.ts +2 -1
  290. package/dist/esm/pixelFormatDescriptor.js +15 -0
  291. package/dist/esm/pixelFormatDescriptor.js.map +1 -1
  292. package/dist/esm/pixfmt.d.ts +9 -1
  293. package/dist/esm/pixfmt.js.map +1 -1
  294. package/dist/esm/sampleFormatDescriptor.d.ts +1 -1
  295. package/dist/esm/sampleFormatDescriptor.js.map +1 -1
  296. package/dist/esm/stringEnum.d.ts +30 -5
  297. package/dist/esm/stringEnum.js +43 -5
  298. package/dist/esm/stringEnum.js.map +1 -1
  299. package/dist/esm/struct/audiosample.d.ts +1 -1
  300. package/dist/esm/struct/audiosample.js +2 -2
  301. package/dist/esm/struct/audiosample.js.map +1 -1
  302. package/dist/esm/struct/avbuffer.d.ts +1 -1
  303. package/dist/esm/struct/avbuffer.js +4 -4
  304. package/dist/esm/struct/avbuffer.js.map +1 -1
  305. package/dist/esm/struct/avcodecparameters.d.ts +14 -9
  306. package/dist/esm/struct/avcodecparameters.js +14 -16
  307. package/dist/esm/struct/avcodecparameters.js.map +1 -1
  308. package/dist/esm/struct/avdict.js +2 -2
  309. package/dist/esm/struct/avdict.js.map +1 -1
  310. package/dist/esm/struct/avframe.d.ts +12 -12
  311. package/dist/esm/struct/avframe.js +21 -27
  312. package/dist/esm/struct/avframe.js.map +1 -1
  313. package/dist/esm/struct/avpacket.d.ts +4 -4
  314. package/dist/esm/struct/avpacket.js +7 -9
  315. package/dist/esm/struct/avpacket.js.map +1 -1
  316. package/dist/esm/struct/avpcmbuffer.d.ts +1 -1
  317. package/dist/esm/struct/avpcmbuffer.js +2 -2
  318. package/dist/esm/struct/avpcmbuffer.js.map +1 -1
  319. package/dist/esm/struct/avsubtitle.d.ts +2 -2
  320. package/dist/esm/struct/avsubtitle.js.map +1 -1
  321. package/dist/esm/struct/encryption.js +2 -2
  322. package/dist/esm/struct/encryption.js.map +1 -1
  323. package/dist/esm/struct/rational.d.ts +1 -1
  324. package/dist/esm/struct/rational.js +4 -4
  325. package/dist/esm/struct/rational.js.map +1 -1
  326. package/dist/esm/util/amf.d.ts +1 -4
  327. package/dist/esm/util/amf.js +1 -5
  328. package/dist/esm/util/amf.js.map +1 -1
  329. package/dist/esm/util/av1syntax.d.ts +1 -1
  330. package/dist/esm/util/av1syntax.js.map +1 -1
  331. package/dist/esm/util/avbuffer.d.ts +2 -1
  332. package/dist/esm/util/avbuffer.js +7 -15
  333. package/dist/esm/util/avbuffer.js.map +1 -1
  334. package/dist/esm/util/avdict.d.ts +2 -1
  335. package/dist/esm/util/avdict.js +12 -16
  336. package/dist/esm/util/avdict.js.map +1 -1
  337. package/dist/esm/util/avframe.d.ts +2 -1
  338. package/dist/esm/util/avframe.js +22 -24
  339. package/dist/esm/util/avframe.js.map +1 -1
  340. package/dist/esm/util/avpacket.d.ts +3 -3
  341. package/dist/esm/util/avpacket.js +11 -13
  342. package/dist/esm/util/avpacket.js.map +1 -1
  343. package/dist/esm/util/channel.d.ts +1 -1
  344. package/dist/esm/util/channel.js +6 -6
  345. package/dist/esm/util/channel.js.map +1 -1
  346. package/dist/esm/util/codecparameters.d.ts +3 -1
  347. package/dist/esm/util/codecparameters.js +16 -12
  348. package/dist/esm/util/codecparameters.js.map +1 -1
  349. package/dist/esm/util/common.js.map +1 -1
  350. package/dist/esm/util/encryption.d.ts +2 -2
  351. package/dist/esm/util/encryption.js +1 -3
  352. package/dist/esm/util/encryption.js.map +1 -1
  353. package/dist/esm/util/expgolomb.d.ts +1 -2
  354. package/dist/esm/util/expgolomb.js.map +1 -1
  355. package/dist/esm/util/intread.js +1 -1
  356. package/dist/esm/util/intread.js.map +1 -1
  357. package/dist/esm/util/intwrite.js +1 -1
  358. package/dist/esm/util/intwrite.js.map +1 -1
  359. package/dist/esm/util/mem.js +7 -7
  360. package/dist/esm/util/mem.js.map +1 -1
  361. package/dist/esm/util/nalu.d.ts +1 -1
  362. package/dist/esm/util/nalu.js +3 -5
  363. package/dist/esm/util/nalu.js.map +1 -1
  364. package/dist/esm/util/ntp.js.map +1 -1
  365. package/dist/esm/util/pcm.d.ts +1 -1
  366. package/dist/esm/util/pcm.js.map +1 -1
  367. package/dist/esm/util/pixel.d.ts +1 -1
  368. package/dist/esm/util/pixel.js +8 -10
  369. package/dist/esm/util/pixel.js.map +1 -1
  370. package/dist/esm/util/rational.d.ts +10 -10
  371. package/dist/esm/util/rational.js +4 -4
  372. package/dist/esm/util/rational.js.map +1 -1
  373. package/dist/esm/util/sample.d.ts +1 -1
  374. package/dist/esm/util/sample.js +7 -7
  375. package/dist/esm/util/sample.js.map +1 -1
  376. package/dist/esm/util/serialize.d.ts +9 -9
  377. package/dist/esm/util/serialize.js +6 -6
  378. package/dist/esm/util/serialize.js.map +1 -1
  379. package/package.json +23 -390
  380. package/src/AVStream.ts +677 -0
  381. package/src/audiosamplefmt.ts +302 -0
  382. package/src/avformat.ts +96 -0
  383. package/src/codec.ts +1016 -0
  384. package/src/codecs/aac.ts +429 -0
  385. package/src/codecs/ac3.ts +309 -0
  386. package/src/codecs/av1.ts +503 -0
  387. package/src/codecs/dts.ts +100 -0
  388. package/src/codecs/flac.ts +118 -0
  389. package/src/codecs/h264.ts +1013 -0
  390. package/src/codecs/hevc.ts +1049 -0
  391. package/src/codecs/mp3.ts +172 -0
  392. package/src/codecs/mpeg4.ts +37 -0
  393. package/src/codecs/mpegvideo.ts +49 -0
  394. package/src/codecs/opus.ts +148 -0
  395. package/src/codecs/ttml.ts +158 -0
  396. package/src/codecs/vp8.ts +91 -0
  397. package/src/codecs/vp9.ts +213 -0
  398. package/src/codecs/vvc.ts +1086 -0
  399. package/src/constant.ts +72 -0
  400. package/src/enum.ts +47 -0
  401. package/src/error.ts +45 -0
  402. package/src/function/analyzeAVFormat.ts +94 -0
  403. package/src/function/analyzeUrlIOLoader.ts +166 -0
  404. package/src/function/audioData2AVFrame.ts +82 -0
  405. package/src/function/avPCMBuffer2AVFrame.ts +111 -0
  406. package/src/function/avframe2AudioData.ts +131 -0
  407. package/src/function/avframe2VideoFrame.ts +88 -0
  408. package/src/function/avpacket2EncodedAudioChunk.ts +39 -0
  409. package/src/function/avpacket2EncodedVideoChunk.ts +39 -0
  410. package/src/function/compileResource.ts +57 -0
  411. package/src/function/constant/webcodecs.ts +81 -0
  412. package/src/function/encodedAudioChunk2AVPacket.ts +62 -0
  413. package/src/function/encodedVideoChunk2AVPacket.ts +86 -0
  414. package/src/function/getAudioCodec.ts +45 -0
  415. package/src/function/getAudioMimeType.ts +44 -0
  416. package/src/function/getHardwarePreference.ts +45 -0
  417. package/src/function/getVideoCodec.ts +244 -0
  418. package/src/function/getVideoMimeType.ts +35 -0
  419. package/src/function/getWasmUrl.ts +190 -0
  420. package/src/function/hasAlphaChannel.ts +37 -0
  421. package/src/function/isHdr.ts +44 -0
  422. package/src/function/videoFrame2AVFrame.ts +95 -0
  423. package/src/implement/AVFramePoolImpl.ts +83 -0
  424. package/src/implement/AVPCMBufferPoolImpl.ts +79 -0
  425. package/src/implement/AVPacketPoolImpl.ts +82 -0
  426. package/src/index.ts +264 -0
  427. package/src/internal.ts +71 -0
  428. package/src/pixelFormatDescriptor.ts +819 -0
  429. package/src/pixfmt.ts +1400 -0
  430. package/src/sampleFormatDescriptor.ts +57 -0
  431. package/src/stringEnum.ts +366 -0
  432. package/src/struct/audiosample.ts +95 -0
  433. package/src/struct/avbuffer.ts +139 -0
  434. package/src/struct/avcodecparameters.ts +243 -0
  435. package/src/struct/avdict.ts +44 -0
  436. package/src/struct/avframe.ts +663 -0
  437. package/src/struct/avpacket.ts +178 -0
  438. package/src/struct/avpcmbuffer.ts +77 -0
  439. package/src/struct/avsubtitle.ts +59 -0
  440. package/src/struct/encryption.ts +180 -0
  441. package/src/struct/rational.ts +43 -0
  442. package/src/util/amf.ts +178 -0
  443. package/src/util/av1syntax.ts +112 -0
  444. package/src/util/avbuffer.ts +294 -0
  445. package/src/util/avdict.ts +171 -0
  446. package/src/util/avframe.ts +520 -0
  447. package/src/util/avpacket.ts +313 -0
  448. package/src/util/channel.ts +66 -0
  449. package/src/util/codecparameters.ts +148 -0
  450. package/src/util/common.ts +42 -0
  451. package/src/util/encryption.ts +154 -0
  452. package/src/util/expgolomb.ts +170 -0
  453. package/src/util/intread.ts +60 -0
  454. package/src/util/intwrite.ts +71 -0
  455. package/src/util/mem.ts +60 -0
  456. package/src/util/nalu.ts +297 -0
  457. package/src/util/ntp.ts +32 -0
  458. package/src/util/pcm.ts +161 -0
  459. package/src/util/pixel.ts +381 -0
  460. package/src/util/rational.ts +152 -0
  461. package/src/util/sample.ts +136 -0
  462. package/src/util/serialize.ts +268 -0
  463. package/dist/cjs/AVStream.d.ts +0 -334
  464. package/dist/cjs/AVStream.js +0 -37
  465. package/dist/cjs/audiosamplefmt.d.ts +0 -248
  466. package/dist/cjs/avformat.d.ts +0 -63
  467. package/dist/cjs/codec.d.ts +0 -863
  468. package/dist/cjs/codecs/aac.d.ts +0 -121
  469. package/dist/cjs/codecs/ac3.d.ts +0 -72
  470. package/dist/cjs/codecs/av1.d.ts +0 -75
  471. package/dist/cjs/codecs/dts.d.ts +0 -17
  472. package/dist/cjs/codecs/flac.d.ts +0 -46
  473. package/dist/cjs/codecs/h264.d.ts +0 -188
  474. package/dist/cjs/codecs/hevc.d.ts +0 -220
  475. package/dist/cjs/codecs/mp3.d.ts +0 -17
  476. package/dist/cjs/codecs/mpeg4.d.ts +0 -7
  477. package/dist/cjs/codecs/mpegvideo.d.ts +0 -7
  478. package/dist/cjs/codecs/opus.d.ts +0 -26
  479. package/dist/cjs/codecs/ttml.d.ts +0 -9
  480. package/dist/cjs/codecs/ttml.js +0 -87
  481. package/dist/cjs/codecs/vp8.d.ts +0 -31
  482. package/dist/cjs/codecs/vp9.d.ts +0 -45
  483. package/dist/cjs/codecs/vvc.d.ts +0 -235
  484. package/dist/cjs/constant.d.ts +0 -35
  485. package/dist/cjs/constant.js +0 -27
  486. package/dist/cjs/enum.d.ts +0 -3159
  487. package/dist/cjs/error.d.ts +0 -10
  488. package/dist/cjs/function/analyzeAVFormat.d.ts +0 -3
  489. package/dist/cjs/function/analyzeUrlIOLoader.d.ts +0 -7
  490. package/dist/cjs/function/analyzeUrlIOLoader.js +0 -101
  491. package/dist/cjs/function/audioData2AVFrame.d.ts +0 -2
  492. package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +0 -3
  493. package/dist/cjs/function/avframe2AudioData.d.ts +0 -2
  494. package/dist/cjs/function/avframe2VideoFrame.d.ts +0 -5
  495. package/dist/cjs/function/avframe2VideoFrame.js +0 -146
  496. package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +0 -2
  497. package/dist/cjs/function/avpacket2EncodedAudioChunk.js +0 -17
  498. package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +0 -2
  499. package/dist/cjs/function/avpacket2EncodedVideoChunk.js +0 -17
  500. package/dist/cjs/function/compileResource.d.ts +0 -2
  501. package/dist/cjs/function/compileResource.js +0 -53
  502. package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +0 -2
  503. package/dist/cjs/function/encodedAudioChunk2AVPacket.js +0 -23
  504. package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +0 -7
  505. package/dist/cjs/function/encodedVideoChunk2AVPacket.js +0 -30
  506. package/dist/cjs/function/getAudioCodec.d.ts +0 -2
  507. package/dist/cjs/function/getHardwarePreference.d.ts +0 -1
  508. package/dist/cjs/function/getHardwarePreference.js +0 -16
  509. package/dist/cjs/function/getVideoCodec.d.ts +0 -2
  510. package/dist/cjs/function/getWasmUrl.d.ts +0 -2
  511. package/dist/cjs/function/hasAlphaChannel.d.ts +0 -2
  512. package/dist/cjs/function/isHdr.d.ts +0 -2
  513. package/dist/cjs/function/videoFrame2AVFrame.d.ts +0 -7
  514. package/dist/cjs/function/videoFrame2AVFrame.js +0 -113
  515. package/dist/cjs/implement/AVFramePoolImpl.d.ts +0 -10
  516. package/dist/cjs/implement/AVFramePoolImpl.js +0 -59
  517. package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +0 -10
  518. package/dist/cjs/implement/AVPCMBufferPoolImpl.js +0 -57
  519. package/dist/cjs/implement/AVPacketPoolImpl.d.ts +0 -10
  520. package/dist/cjs/implement/AVPacketPoolImpl.js +0 -60
  521. package/dist/cjs/pixelFormatDescriptor.d.ts +0 -99
  522. package/dist/cjs/pixfmt.d.ts +0 -1293
  523. package/dist/cjs/sampleFormatDescriptor.d.ts +0 -6
  524. package/dist/cjs/stringEnum.d.ts +0 -136
  525. package/dist/cjs/struct/audiosample.d.ts +0 -64
  526. package/dist/cjs/struct/avbuffer.d.ts +0 -85
  527. package/dist/cjs/struct/avcodecparameters.d.ts +0 -176
  528. package/dist/cjs/struct/avdict.d.ts +0 -17
  529. package/dist/cjs/struct/avframe.d.ts +0 -559
  530. package/dist/cjs/struct/avpacket.d.ts +0 -124
  531. package/dist/cjs/struct/avpcmbuffer.d.ts +0 -49
  532. package/dist/cjs/struct/avsubtitle.d.ts +0 -30
  533. package/dist/cjs/struct/encryption.d.ts +0 -137
  534. package/dist/cjs/struct/rational.d.ts +0 -15
  535. package/dist/cjs/struct/rational.js +0 -43
  536. package/dist/cjs/util/amf.d.ts +0 -10
  537. package/dist/cjs/util/av1syntax.d.ts +0 -9
  538. package/dist/cjs/util/avbuffer.d.ts +0 -17
  539. package/dist/cjs/util/avbuffer.js +0 -153
  540. package/dist/cjs/util/avdict.d.ts +0 -8
  541. package/dist/cjs/util/avdict.js +0 -111
  542. package/dist/cjs/util/avframe.d.ts +0 -20
  543. package/dist/cjs/util/avpacket.d.ts +0 -24
  544. package/dist/cjs/util/channel.d.ts +0 -5
  545. package/dist/cjs/util/codecparameters.d.ts +0 -4
  546. package/dist/cjs/util/codecparameters.js +0 -70
  547. package/dist/cjs/util/common.d.ts +0 -3
  548. package/dist/cjs/util/crypto.d.ts +0 -1
  549. package/dist/cjs/util/crypto.js +0 -8
  550. package/dist/cjs/util/crypto.js.map +0 -1
  551. package/dist/cjs/util/encryption.d.ts +0 -6
  552. package/dist/cjs/util/expgolomb.d.ts +0 -26
  553. package/dist/cjs/util/intread.d.ts +0 -9
  554. package/dist/cjs/util/intwrite.d.ts +0 -9
  555. package/dist/cjs/util/mem.d.ts +0 -5
  556. package/dist/cjs/util/mem.js +0 -54
  557. package/dist/cjs/util/nalu.d.ts +0 -32
  558. package/dist/cjs/util/ntp.d.ts +0 -1
  559. package/dist/cjs/util/pcm.d.ts +0 -4
  560. package/dist/cjs/util/pixel.d.ts +0 -11
  561. package/dist/cjs/util/rational.d.ts +0 -58
  562. package/dist/cjs/util/sample.d.ts +0 -7
  563. package/dist/cjs/util/serialize.d.ts +0 -63
  564. package/dist/esm/util/crypto.d.ts +0 -1
  565. package/dist/esm/util/crypto.js +0 -4
  566. package/dist/esm/util/crypto.js.map +0 -1
  567. /package/dist/cjs/{audiosamplefmt.js → audiosamplefmt.cjs} +0 -0
  568. /package/dist/cjs/{avformat.js → avformat.cjs} +0 -0
  569. /package/dist/cjs/{codec.js → codec.cjs} +0 -0
  570. /package/dist/cjs/{error.js → error.cjs} +0 -0
  571. /package/dist/cjs/function/{analyzeAVFormat.js → analyzeAVFormat.cjs} +0 -0
  572. /package/dist/cjs/{pixfmt.js → pixfmt.cjs} +0 -0
  573. /package/dist/cjs/{sampleFormatDescriptor.js → sampleFormatDescriptor.cjs} +0 -0
  574. /package/dist/cjs/struct/{avsubtitle.js → avsubtitle.cjs} +0 -0
  575. /package/dist/cjs/util/{av1syntax.js → av1syntax.cjs} +0 -0
  576. /package/dist/cjs/util/{common.js → common.cjs} +0 -0
  577. /package/dist/cjs/util/{expgolomb.js → expgolomb.cjs} +0 -0
  578. /package/dist/cjs/util/{ntp.js → ntp.cjs} +0 -0
  579. /package/dist/cjs/util/{pcm.js → pcm.cjs} +0 -0
@@ -0,0 +1,268 @@
1
+ /*
2
+ * libmedia serialize struct
3
+ *
4
+ * 版权所有 (C) 2024 赵高兴
5
+ * Copyright (C) 2024 Gaoxing Zhao
6
+ *
7
+ * 此文件是 libmedia 的一部分
8
+ * This file is part of libmedia.
9
+ *
10
+ * libmedia 是自由软件;您可以根据 GNU Lesser General Public License(GNU LGPL)3.1
11
+ * 或任何其更新的版本条款重新分发或修改它
12
+ * libmedia is free software; you can redistribute it and/or
13
+ * modify it under the terms of the GNU Lesser General Public
14
+ * License as published by the Free Software Foundation; either
15
+ * version 3.1 of the License, or (at your option) any later version.
16
+ *
17
+ * libmedia 希望能够为您提供帮助,但不提供任何明示或暗示的担保,包括但不限于适销性或特定用途的保证
18
+ * 您应自行承担使用 libmedia 的风险,并且需要遵守 GNU Lesser General Public License 中的条款和条件。
19
+ * libmedia is distributed in the hope that it will be useful,
20
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
+ * Lesser General Public License for more details.
23
+ *
24
+ */
25
+
26
+ import type { AVCodecID, AVMediaType, AVPacketSideDataType } from '../codec'
27
+ import type AVPacket from '../struct/avpacket'
28
+ import type { AVRational } from '../struct/rational'
29
+ import { mapUint8Array, memcpyFromUint8Array, memset } from '@libmedia/cheap'
30
+ import { addAVPacketData, addAVPacketSideData, addSideData, createAVPacket, freeAVPacketSideData, getAVPacketData } from './avpacket'
31
+ import { avFree, avMalloc } from './mem'
32
+ import type { AVChromaLocation, AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic, AVFieldOrder, AVPixelFormat } from '../pixfmt'
33
+ import type { AVChannelOrder, AVSampleFormat } from '../audiosamplefmt'
34
+ import AVCodecParameters from '../struct/avcodecparameters'
35
+
36
+ export interface AVPacketSerialize {
37
+ pts: int64
38
+ dts: int64
39
+ data: Uint8Array
40
+ streamIndex: int32
41
+ flags: int32
42
+ sideData: {
43
+ type: AVPacketSideDataType
44
+ data: Uint8Array
45
+ }[]
46
+ duration: int64
47
+ pos: int64
48
+ timeBase: AVRational
49
+ }
50
+
51
+ export interface AVCodecParametersSerialize {
52
+ codecType: AVMediaType
53
+ codecId: AVCodecID
54
+ codecTag: uint32
55
+ extradata: Uint8Array
56
+ codedSideData: {
57
+ type: AVPacketSideDataType
58
+ data: Uint8Array
59
+ }[]
60
+ format: AVPixelFormat | AVSampleFormat
61
+ bitrate: int64
62
+ bitsPerCodedSample: int32
63
+ bitsPerRawSample: int32
64
+ profile: int32
65
+ level: int32
66
+ width: int32
67
+ height: int32
68
+ sampleAspectRatio: AVRational
69
+ framerate: AVRational
70
+ fieldOrder: AVFieldOrder
71
+ colorRange: AVColorRange
72
+ colorPrimaries: AVColorPrimaries
73
+ colorTrc: AVColorTransferCharacteristic
74
+ colorSpace: AVColorSpace
75
+ chromaLocation: AVChromaLocation
76
+ videoDelay: int32
77
+ chLayout: {
78
+ order: AVChannelOrder
79
+ nbChannels: int32
80
+ u: uint64
81
+ }
82
+ sampleRate: int32
83
+ blockAlign: int32
84
+ frameSize: int32
85
+ initialPadding: int32
86
+ trailingPadding: int32
87
+ seekPreroll: int32
88
+ flags: int32
89
+ }
90
+
91
+ export function serializeAVPacket(avpacket: pointer<AVPacket>) {
92
+ const serialize: AVPacketSerialize = {
93
+ pts: avpacket.pts,
94
+ dts: avpacket.dts,
95
+ data: getAVPacketData(avpacket).slice(),
96
+ streamIndex: avpacket.streamIndex,
97
+ flags: avpacket.flags,
98
+ sideData: [],
99
+ duration: avpacket.duration,
100
+ pos: avpacket.pos,
101
+ timeBase: {
102
+ den: avpacket.timeBase.den,
103
+ num: avpacket.timeBase.num
104
+ }
105
+ }
106
+
107
+ for (let i = 0; i < avpacket.sideDataElems; i++) {
108
+ const ele = {
109
+ type: avpacket.sideData[i].type,
110
+ data: mapUint8Array(avpacket.sideData[i].data, avpacket.sideData[i].size).slice()
111
+ }
112
+ serialize.sideData.push(ele)
113
+ }
114
+ return serialize
115
+ }
116
+
117
+ export function unserializeAVPacket(serialize: AVPacketSerialize, avpacket: pointer<AVPacket> = nullptr) {
118
+ if (!avpacket) {
119
+ avpacket = createAVPacket()
120
+ }
121
+
122
+ avpacket.pts = serialize.pts
123
+ avpacket.dts = serialize.dts
124
+
125
+ const data: pointer<uint8> = avMalloc(serialize.data.length)
126
+ memcpyFromUint8Array(data, serialize.data.length, serialize.data)
127
+ addAVPacketData(avpacket, data, serialize.data.length)
128
+
129
+ avpacket.streamIndex = serialize.streamIndex
130
+ avpacket.flags = serialize.flags
131
+ avpacket.duration = serialize.duration
132
+ avpacket.pos = serialize.pos
133
+ avpacket.timeBase.den = serialize.timeBase.den
134
+ avpacket.timeBase.num = serialize.timeBase.num
135
+
136
+ if (serialize.sideData.length) {
137
+ for (let i = 0; i < serialize.sideData.length; i++) {
138
+ const data = avMalloc(serialize.sideData[i].data.length)
139
+ memcpyFromUint8Array(data, serialize.sideData[i].data.length, serialize.sideData[i].data)
140
+ addAVPacketSideData(avpacket, serialize.sideData[i].type, data, serialize.sideData[i].data.length)
141
+ }
142
+ }
143
+ else {
144
+ freeAVPacketSideData(addressof(avpacket.sideData), addressof(avpacket.sideDataElems))
145
+ }
146
+
147
+ return avpacket
148
+ }
149
+
150
+ export function serializeAVCodecParameters(codecpar: pointer<AVCodecParameters>) {
151
+ const serialize: AVCodecParametersSerialize = {
152
+ codecType: codecpar.codecType,
153
+ codecId: codecpar.codecId,
154
+ codecTag: codecpar.codecTag,
155
+ extradata: null,
156
+ codedSideData: [],
157
+ format: codecpar.format,
158
+ bitrate: codecpar.bitrate,
159
+ bitsPerCodedSample: codecpar.bitsPerCodedSample,
160
+ bitsPerRawSample: codecpar.bitsPerRawSample,
161
+ profile: codecpar.profile,
162
+ level: codecpar.level,
163
+ width: codecpar.width,
164
+ height: codecpar.height,
165
+ sampleAspectRatio: {
166
+ den: codecpar.sampleAspectRatio.den,
167
+ num: codecpar.sampleAspectRatio.num
168
+ },
169
+ framerate: {
170
+ den: codecpar.framerate.den,
171
+ num: codecpar.framerate.num
172
+ },
173
+ fieldOrder: codecpar.fieldOrder,
174
+ colorRange: codecpar.colorRange,
175
+ colorPrimaries: codecpar.colorPrimaries,
176
+ colorTrc: codecpar.colorTrc,
177
+ colorSpace: codecpar.colorSpace,
178
+ chromaLocation: codecpar.chromaLocation,
179
+ videoDelay: codecpar.videoDelay,
180
+ chLayout: {
181
+ order: codecpar.chLayout.order,
182
+ nbChannels: codecpar.chLayout.nbChannels,
183
+ u: codecpar.chLayout.u.mask
184
+ },
185
+ sampleRate: codecpar.sampleRate,
186
+ blockAlign: codecpar.blockAlign,
187
+ frameSize: codecpar.frameSize,
188
+ initialPadding: codecpar.initialPadding,
189
+ trailingPadding: codecpar.trailingPadding,
190
+ seekPreroll: codecpar.seekPreroll,
191
+ flags: codecpar.flags
192
+ }
193
+
194
+ if (codecpar.extradataSize) {
195
+ serialize.extradata = mapUint8Array(codecpar.extradata, reinterpret_cast<size>(codecpar.extradataSize)).slice()
196
+ }
197
+
198
+ for (let i = 0; i < codecpar.nbCodedSideData; i++) {
199
+ const ele = {
200
+ type: codecpar.codedSideData[i].type,
201
+ data: mapUint8Array(codecpar.codedSideData[i].data, codecpar.codedSideData[i].size).slice()
202
+ }
203
+ serialize.codedSideData.push(ele)
204
+ }
205
+
206
+ return serialize
207
+ }
208
+
209
+ export function unserializeAVCodecParameters(serialize: AVCodecParametersSerialize, codecpar: pointer<AVCodecParameters> = nullptr) {
210
+ if (!codecpar) {
211
+ codecpar = reinterpret_cast<pointer<AVCodecParameters>>(avMalloc(sizeof(AVCodecParameters)))
212
+ memset(codecpar, 0, sizeof(AVCodecParameters))
213
+ }
214
+
215
+ codecpar.codecType = serialize.codecType
216
+ codecpar.codecId = serialize.codecId
217
+ codecpar.codecTag = serialize.codecTag
218
+
219
+ if (serialize.extradata) {
220
+ if (codecpar.extradata) {
221
+ avFree(codecpar.extradata)
222
+ }
223
+ codecpar.extradata = avMalloc(serialize.extradata.length)
224
+ memcpyFromUint8Array(codecpar.extradata, serialize.extradata.length, serialize.extradata)
225
+ codecpar.extradataSize = serialize.extradata.length
226
+ }
227
+ if (serialize.codedSideData.length) {
228
+ for (let i = 0; i < serialize.codedSideData.length; i++) {
229
+ const data = avMalloc(serialize.codedSideData[i].data.length)
230
+ memcpyFromUint8Array(data, serialize.codedSideData[i].data.length, serialize.codedSideData[i].data)
231
+ addSideData(addressof(codecpar.codedSideData), addressof(codecpar.nbCodedSideData), serialize.codedSideData[i].type, data, serialize.codedSideData[i].data.length)
232
+ }
233
+ }
234
+ else {
235
+ freeAVPacketSideData(addressof(codecpar.codedSideData), addressof(codecpar.nbCodedSideData))
236
+ }
237
+ codecpar.format = serialize.format
238
+ codecpar.bitrate = serialize.bitrate
239
+ codecpar.bitsPerCodedSample = serialize.bitsPerCodedSample
240
+ codecpar.bitsPerRawSample = serialize.bitsPerRawSample
241
+ codecpar.profile = serialize.profile
242
+ codecpar.level = serialize.level
243
+ codecpar.width = serialize.width
244
+ codecpar.height = serialize.height
245
+ codecpar.sampleAspectRatio.den = serialize.sampleAspectRatio.den
246
+ codecpar.sampleAspectRatio.num = serialize.sampleAspectRatio.num
247
+ codecpar.framerate.den = serialize.framerate.den
248
+ codecpar.framerate.num = serialize.framerate.num
249
+ codecpar.fieldOrder = serialize.fieldOrder
250
+ codecpar.colorRange = serialize.colorRange
251
+ codecpar.colorPrimaries = serialize.colorPrimaries
252
+ codecpar.colorTrc = serialize.colorTrc
253
+ codecpar.colorSpace = serialize.colorSpace
254
+ codecpar.chromaLocation = serialize.chromaLocation
255
+ codecpar.videoDelay = serialize.videoDelay
256
+ codecpar.chLayout.order = serialize.chLayout.order
257
+ codecpar.chLayout.nbChannels = serialize.chLayout.nbChannels
258
+ codecpar.chLayout.u.mask = serialize.chLayout.u
259
+ codecpar.sampleRate = serialize.sampleRate
260
+ codecpar.blockAlign = serialize.blockAlign
261
+ codecpar.frameSize = serialize.frameSize
262
+ codecpar.initialPadding = serialize.initialPadding
263
+ codecpar.trailingPadding = serialize.trailingPadding
264
+ codecpar.seekPreroll = serialize.seekPreroll
265
+ codecpar.flags = serialize.flags
266
+
267
+ return codecpar
268
+ }
@@ -1,334 +0,0 @@
1
- import { Data } from "@libmedia/common/types/type";
2
- import AVCodecParameters from "./struct/avcodecparameters";
3
- import { AVPacketSideDataType } from "./codec";
4
- import { Rational } from "./struct/rational";
5
- export declare const enum AVStreamMetadataKey {
6
- /**
7
- * 表演者(歌手、乐队等)
8
- */
9
- ARTIST = "artist",
10
- /**
11
- * 自由文本评论
12
- */
13
- COMMENT = "comment",
14
- /**
15
- * 版权声明
16
- */
17
- COPYRIGHT = "copyright",
18
- /**
19
- * 发行年份(通常为 YYYY 格式)
20
- */
21
- DATE = "date",
22
- /**
23
- * 音乐流派
24
- */
25
- GENRE = "genre",
26
- /**
27
- * 语言
28
- */
29
- LANGUAGE = "language",
30
- /**
31
- * 语言描述
32
- */
33
- LANGUAGE_STRING = "languageString",
34
- /**
35
- * 歌曲或作品的标题
36
- */
37
- TITLE = "title",
38
- /**
39
- * 专辑名称
40
- */
41
- ALBUM = "album",
42
- /**
43
- * 曲目编号
44
- */
45
- TRACK = "track",
46
- /**
47
- * 用于编码音频文件的软件信息
48
- */
49
- ENCODER = "encoder",
50
- /**
51
- * 时间参数
52
- */
53
- TIME_CODE = "timecode",
54
- /**
55
- * 发行商
56
- */
57
- VENDOR = "vendor",
58
- /**
59
- * 发行商标识
60
- */
61
- VENDOR_ID = "vendorId",
62
- /**
63
- * 海报
64
- */
65
- POSTER = "poster",
66
- /**
67
- * 歌词
68
- */
69
- LYRICS = "lyrics",
70
- /**
71
- * 专辑的主要艺术家(与 ARTIST 区分开,适用于合集专辑)
72
- */
73
- ALBUM_ARTIST = "albumArtist",
74
- /**
75
- * 如果是多张 CD 的专辑,标识当前曲目所在的 CD
76
- */
77
- DISC = "disc",
78
- /**
79
- * 具体的演奏者或表演者
80
- */
81
- PERFORMER = "performer",
82
- /**
83
- * 发行者
84
- */
85
- PUBLISHER = "publisher",
86
- /**
87
- * 作曲者
88
- */
89
- COMPOSER = "composer",
90
- /**
91
- * 编曲者
92
- */
93
- COMPILATION = "compilation",
94
- /**
95
- * 创建时间
96
- */
97
- CREATION_TIME = "creationTime",
98
- /**
99
- * 最后更改时间
100
- */
101
- MODIFICATION_TIME = "modificationTime",
102
- /**
103
- * 专辑排序
104
- */
105
- ALBUM_SORT = "albumSort",
106
- /**
107
- * 表演者排序
108
- */
109
- ARTIST_SORT = "artistSort",
110
- /**
111
- * 标题排序
112
- */
113
- TITLE_SORT = "titleSort",
114
- /**
115
- * 分组
116
- */
117
- GROUPING = "grouping",
118
- /**
119
- * 额外的描述信息
120
- */
121
- DESCRIPTION = "description",
122
- /**
123
- * 许可信息
124
- */
125
- LICENSE = "license",
126
- /**
127
- * 国际标准录音代码
128
- */
129
- ISRC = "isrc",
130
- /**
131
- * 情绪标签,如 Happy、Sad
132
- */
133
- MOOD = "mood",
134
- /**
135
- * mp4 的 elst box 内容
136
- */
137
- ELST = "elst",
138
- /**
139
- * mp4 的旋转矩阵
140
- */
141
- MATRIX = "matrix",
142
- /**
143
- * 某些媒体的样式(如 webvtt)
144
- */
145
- STYLES = "styles",
146
- /**
147
- * 媒体的 mime
148
- */
149
- MIME = "mime",
150
- /**
151
- * mp4 的 handlerName
152
- */
153
- HANDLER_NAME = "handlerName",
154
- /**
155
- * DRM 系统支持信息
156
- */
157
- ENCRYPTION = "encryption"
158
- }
159
- export declare const enum AVDisposition {
160
- NONE = 0,
161
- DEFAULT = 1,
162
- DUB = 2,
163
- ORIGINAL = 4,
164
- COMMENT = 8,
165
- LYRICS = 16,
166
- KARAOKE = 32,
167
- /**
168
- * Track should be used during playback by default.
169
- * Useful for subtitle track that should be displayed
170
- * even when user did not explicitly ask for subtitles.
171
- */
172
- FORCED = 64,
173
- /**
174
- * stream for hearing impaired audiences
175
- */
176
- HEARING_IMPAIRED = 128,
177
- /**
178
- * stream for visual impaired audiences
179
- */
180
- VISUAL_IMPAIRED = 256,
181
- /**
182
- * stream without voice
183
- */
184
- CLEAN_EFFECTS = 512,
185
- /**
186
- * The stream is stored in the file as an attached picture/"cover art" (e.g.
187
- * APIC frame in ID3v2). The first (usually only) packet associated with it
188
- * will be returned among the first few packets read from the file unless
189
- * seeking takes place. It can also be accessed at any time in
190
- * AVStream.attached_pic.
191
- */
192
- ATTACHED_PIC = 1024,
193
- /**
194
- * The stream is sparse, and contains thumbnail images, often corresponding
195
- * to chapter markers. Only ever used with AV_DISPOSITION_ATTACHED_PIC.
196
- */
197
- TIMED_THUMBNAILS = 2048,
198
- /**
199
- * To specify text track kind (different from subtitles default).
200
- */
201
- CAPTIONS = 65536,
202
- DESCRIPTIONS = 131072,
203
- METADATA = 262144,
204
- /**
205
- * dependent audio stream (mix_type=0 in mpegts)
206
- */
207
- DEPENDENT = 524288,
208
- /**
209
- * still images in video stream (still_picture_flag=1 in mpegts
210
- */
211
- STILL_IMAGE = 1048576
212
- }
213
- /**
214
- * from FFmpeg
215
- *
216
- */
217
- export default class AVStream {
218
- /**
219
- * stream index in AVFormatContext
220
- */
221
- index: int32;
222
- /**
223
- * Format-specific stream ID.
224
- * decoding: set by libavformat
225
- * encoding: set by the user, replaced by libavformat if left unset
226
- */
227
- id: int32;
228
- /**
229
- * format private data
230
- */
231
- privData: Data;
232
- /**
233
- * demuxer or muxer's private data
234
- */
235
- privateData2: Data;
236
- codecpar: AVCodecParameters;
237
- /**
238
- * An array of side data that applies to the whole stream (i.e. the
239
- * container does not allow it to change between packets).
240
- *
241
- * There may be no overlap between the side data in this array and side data
242
- * in the packets. I.e. a given side data is either exported by the muxer
243
- * (demuxing) / set by the caller (muxing) in this array, then it never
244
- * appears in the packets, or the side data is exported / sent through
245
- * the packets (always in the first packet where the value becomes known or
246
- * changes), then it does not appear in this array.
247
- *
248
- * - demuxing: Set by libavformat when the stream is created.
249
- * - muxing: May be set by the caller before write_header().
250
- *
251
- */
252
- sideData: Partial<Record<AVPacketSideDataType, Uint8Array>>;
253
- /**
254
- * number of frames in this stream if known or 0
255
- */
256
- nbFrames: int64;
257
- metadata: Data;
258
- /**
259
- * Decoding: duration of the stream, in stream time base.
260
- * If a source file does not specify a duration, but does specify
261
- * a bitrate, this value will be estimated from bitrate and file size.
262
- *
263
- * Encoding: May be set by the caller before avformat_write_header() to
264
- * provide a hint to the muxer about the estimated duration.
265
- */
266
- duration: int64;
267
- /**
268
- * Decoding: pts of the first frame of the stream in presentation order, in stream time base.
269
- * Only set this if you are absolutely 100% sure that the value you set
270
- * it to really is the pts of the first frame.
271
- * This may be undefined (AV_NOPTS_VALUE).
272
- * @note The ASF header does NOT contain a correct start_time the ASF
273
- * demuxer must NOT set this.
274
- */
275
- startTime: int64;
276
- /**
277
- * 第一个 packet 的 dts
278
- */
279
- firstDTS: int64;
280
- /**
281
- * AV_DISPOSITION_* bit field
282
- */
283
- disposition: AVDisposition;
284
- /**
285
- *
286
- * 封装时间基
287
- *
288
- * decoding: set by libavformat
289
- * encoding: May be set by the caller before avformat_write_header() to
290
- * provide a hint to the muxer about the desired timebase. In
291
- * avformat_write_header(), the muxer will overwrite this field
292
- * with the timebase that will actually be used for the timestamps
293
- * written into the file (which may or may not be related to the
294
- * user-provided one, depending on the format).
295
- */
296
- timeBase: Rational;
297
- /**
298
- * 帧索引,可用于 seek
299
- */
300
- sampleIndexes: {
301
- dts: int64;
302
- pts: int64;
303
- pos: int64;
304
- size: int32;
305
- duration: int64;
306
- flags: int32;
307
- }[];
308
- /**
309
- * pos 到 sample index 的映射
310
- */
311
- sampleIndexesPosMap: Map<int64, int32>;
312
- destroy(): void;
313
- }
314
- export interface AVStreamInterface {
315
- index: number;
316
- id: number;
317
- codecpar: pointer<AVCodecParameters>;
318
- nbFrames: int64;
319
- metadata: Data;
320
- duration: int64;
321
- startTime: int64;
322
- disposition: int32;
323
- timeBase: Rational;
324
- }
325
- export interface AVStreamMetadataEncryption {
326
- schemeType: number;
327
- schemeVersion: number;
328
- cryptByteBlock?: number;
329
- skipByteBlock?: number;
330
- perSampleIVSize: number;
331
- kid: Uint8Array;
332
- constantIV?: Uint8Array;
333
- pattern?: boolean;
334
- }
@@ -1,37 +0,0 @@
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
- });
12
-
13
- const cheap__identifier__0 = require("./struct/avcodecparameters"), cheap__identifier__1 = require("@libmedia/cheap/std/make"), cheap__identifier__2 = require("./struct/rational"), cheap__identifier__4 = require("@libmedia/cheap/std/unmake"), avcodecparameters_1 = __importDefault(require("./struct/avcodecparameters")), constant_1 = require("./constant");
14
-
15
- exports.default = class {
16
- index=constant_1.NOPTS_VALUE;
17
- id=constant_1.NOPTS_VALUE;
18
- privData=null;
19
- privateData2=null;
20
- codecpar=cheap__identifier__1.default(new avcodecparameters_1.default, cheap__identifier__0.default);
21
- sideData={};
22
- nbFrames=BigInt(0);
23
- metadata={};
24
- duration=constant_1.NOPTS_VALUE_BIGINT;
25
- startTime=constant_1.NOPTS_VALUE_BIGINT;
26
- firstDTS=constant_1.NOPTS_VALUE_BIGINT;
27
- disposition=0;
28
- timeBase=cheap__identifier__1.default(cheap__identifier__2.Rational);
29
- sampleIndexes=[];
30
- sampleIndexesPosMap=new Map;
31
- destroy() {
32
- this.codecpar && (this.codecpar.destroy(), cheap__identifier__4.default(this.codecpar),
33
- this.codecpar = null), this.timeBase && (cheap__identifier__4.default(this.timeBase),
34
- this.timeBase = null), this.sampleIndexes.length = 0, this.sampleIndexesPosMap.clear();
35
- }
36
- };
37
- //# sourceMappingURL=AVStream.js.map