@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,498 @@
1
+ #ifndef _LIBMEDIA_AVUTIL_AVPACKET_H_
2
+
3
+ #define _LIBMEDIA_AVUTIL_AVPACKET_H_
4
+
5
+ #include <stddef.h>
6
+ #include <stdint.h>
7
+ #include "avbuffer.h"
8
+ #include "rational.h"
9
+
10
+ /**
11
+ * @defgroup lavc_packet_side_data AVPacketSideData
12
+ *
13
+ * Types and functions for working with AVPacketSideData.
14
+ * @{
15
+ */
16
+ enum AVPacketSideDataType {
17
+ /**
18
+ * An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE
19
+ * bytes worth of palette. This side data signals that a new palette is
20
+ * present.
21
+ */
22
+ AV_PKT_DATA_PALETTE,
23
+
24
+ /**
25
+ * The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format
26
+ * that the extradata buffer was changed and the receiving side should
27
+ * act upon it appropriately. The new extradata is embedded in the side
28
+ * data buffer and should be immediately used for processing the current
29
+ * frame or packet.
30
+ */
31
+ AV_PKT_DATA_NEW_EXTRADATA,
32
+
33
+ /**
34
+ * An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
35
+ * @code
36
+ * u32le param_flags
37
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)
38
+ * s32le channel_count
39
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)
40
+ * u64le channel_layout
41
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
42
+ * s32le sample_rate
43
+ * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
44
+ * s32le width
45
+ * s32le height
46
+ * @endcode
47
+ */
48
+ AV_PKT_DATA_PARAM_CHANGE,
49
+
50
+ /**
51
+ * An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of
52
+ * structures with info about macroblocks relevant to splitting the
53
+ * packet into smaller packets on macroblock edges (e.g. as for RFC 2190).
54
+ * That is, it does not necessarily contain info about all macroblocks,
55
+ * as long as the distance between macroblocks in the info is smaller
56
+ * than the target payload size.
57
+ * Each MB info structure is 12 bytes, and is laid out as follows:
58
+ * @code
59
+ * u32le bit offset from the start of the packet
60
+ * u8 current quantizer at the start of the macroblock
61
+ * u8 GOB number
62
+ * u16le macroblock address within the GOB
63
+ * u8 horizontal MV predictor
64
+ * u8 vertical MV predictor
65
+ * u8 horizontal MV predictor for block number 3
66
+ * u8 vertical MV predictor for block number 3
67
+ * @endcode
68
+ */
69
+ AV_PKT_DATA_H263_MB_INFO,
70
+
71
+ /**
72
+ * This side data should be associated with an audio stream and contains
73
+ * ReplayGain information in form of the AVReplayGain struct.
74
+ */
75
+ AV_PKT_DATA_REPLAYGAIN,
76
+
77
+ /**
78
+ * This side data contains a 3x3 transformation matrix describing an affine
79
+ * transformation that needs to be applied to the decoded video frames for
80
+ * correct presentation.
81
+ *
82
+ * See libavutil/display.h for a detailed description of the data.
83
+ */
84
+ AV_PKT_DATA_DISPLAYMATRIX,
85
+
86
+ /**
87
+ * This side data should be associated with a video stream and contains
88
+ * Stereoscopic 3D information in form of the AVStereo3D struct.
89
+ */
90
+ AV_PKT_DATA_STEREO3D,
91
+
92
+ /**
93
+ * This side data should be associated with an audio stream and corresponds
94
+ * to enum AVAudioServiceType.
95
+ */
96
+ AV_PKT_DATA_AUDIO_SERVICE_TYPE,
97
+
98
+ /**
99
+ * This side data contains quality related information from the encoder.
100
+ * @code
101
+ * u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad).
102
+ * u8 picture type
103
+ * u8 error count
104
+ * u16 reserved
105
+ * u64le[error count] sum of squared differences between encoder in and output
106
+ * @endcode
107
+ */
108
+ AV_PKT_DATA_QUALITY_STATS,
109
+
110
+ /**
111
+ * This side data contains an integer value representing the stream index
112
+ * of a "fallback" track. A fallback track indicates an alternate
113
+ * track to use when the current track can not be decoded for some reason.
114
+ * e.g. no decoder available for codec.
115
+ */
116
+ AV_PKT_DATA_FALLBACK_TRACK,
117
+
118
+ /**
119
+ * This side data corresponds to the AVCPBProperties struct.
120
+ */
121
+ AV_PKT_DATA_CPB_PROPERTIES,
122
+
123
+ /**
124
+ * Recommmends skipping the specified number of samples
125
+ * @code
126
+ * u32le number of samples to skip from start of this packet
127
+ * u32le number of samples to skip from end of this packet
128
+ * u8 reason for start skip
129
+ * u8 reason for end skip (0=padding silence, 1=convergence)
130
+ * @endcode
131
+ */
132
+ AV_PKT_DATA_SKIP_SAMPLES,
133
+
134
+ /**
135
+ * An AV_PKT_DATA_JP_DUALMONO side data packet indicates that
136
+ * the packet may contain "dual mono" audio specific to Japanese DTV
137
+ * and if it is true, recommends only the selected channel to be used.
138
+ * @code
139
+ * u8 selected channels (0=main/left, 1=sub/right, 2=both)
140
+ * @endcode
141
+ */
142
+ AV_PKT_DATA_JP_DUALMONO,
143
+
144
+ /**
145
+ * A list of zero terminated key/value strings. There is no end marker for
146
+ * the list, so it is required to rely on the side data size to stop.
147
+ */
148
+ AV_PKT_DATA_STRINGS_METADATA,
149
+
150
+ /**
151
+ * Subtitle event position
152
+ * @code
153
+ * u32le x1
154
+ * u32le y1
155
+ * u32le x2
156
+ * u32le y2
157
+ * @endcode
158
+ */
159
+ AV_PKT_DATA_SUBTITLE_POSITION,
160
+
161
+ /**
162
+ * Data found in BlockAdditional element of matroska container. There is
163
+ * no end marker for the data, so it is required to rely on the side data
164
+ * size to recognize the end. 8 byte id (as found in BlockAddId) followed
165
+ * by data.
166
+ */
167
+ AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
168
+
169
+ /**
170
+ * The optional first identifier line of a WebVTT cue.
171
+ */
172
+ AV_PKT_DATA_WEBVTT_IDENTIFIER,
173
+
174
+ /**
175
+ * The optional settings (rendering instructions) that immediately
176
+ * follow the timestamp specifier of a WebVTT cue.
177
+ */
178
+ AV_PKT_DATA_WEBVTT_SETTINGS,
179
+
180
+ /**
181
+ * A list of zero terminated key/value strings. There is no end marker for
182
+ * the list, so it is required to rely on the side data size to stop. This
183
+ * side data includes updated metadata which appeared in the stream.
184
+ */
185
+ AV_PKT_DATA_METADATA_UPDATE,
186
+
187
+ /**
188
+ * MPEGTS stream ID as uint8_t, this is required to pass the stream ID
189
+ * information from the demuxer to the corresponding muxer.
190
+ */
191
+ AV_PKT_DATA_MPEGTS_STREAM_ID,
192
+
193
+ /**
194
+ * Mastering display metadata (based on SMPTE-2086:2014). This metadata
195
+ * should be associated with a video stream and contains data in the form
196
+ * of the AVMasteringDisplayMetadata struct.
197
+ */
198
+ AV_PKT_DATA_MASTERING_DISPLAY_METADATA,
199
+
200
+ /**
201
+ * This side data should be associated with a video stream and corresponds
202
+ * to the AVSphericalMapping structure.
203
+ */
204
+ AV_PKT_DATA_SPHERICAL,
205
+
206
+ /**
207
+ * Content light level (based on CTA-861.3). This metadata should be
208
+ * associated with a video stream and contains data in the form of the
209
+ * AVContentLightMetadata struct.
210
+ */
211
+ AV_PKT_DATA_CONTENT_LIGHT_LEVEL,
212
+
213
+ /**
214
+ * ATSC A53 Part 4 Closed Captions. This metadata should be associated with
215
+ * a video stream. A53 CC bitstream is stored as uint8_t in AVPacketSideData.data.
216
+ * The number of bytes of CC data is AVPacketSideData.size.
217
+ */
218
+ AV_PKT_DATA_A53_CC,
219
+
220
+ /**
221
+ * This side data is encryption initialization data.
222
+ * The format is not part of ABI, use av_encryption_init_info_* methods to
223
+ * access.
224
+ */
225
+ AV_PKT_DATA_ENCRYPTION_INIT_INFO,
226
+
227
+ /**
228
+ * This side data contains encryption info for how to decrypt the packet.
229
+ * The format is not part of ABI, use av_encryption_info_* methods to access.
230
+ */
231
+ AV_PKT_DATA_ENCRYPTION_INFO,
232
+
233
+ /**
234
+ * Active Format Description data consisting of a single byte as specified
235
+ * in ETSI TS 101 154 using AVActiveFormatDescription enum.
236
+ */
237
+ AV_PKT_DATA_AFD,
238
+
239
+ /**
240
+ * Producer Reference Time data corresponding to the AVProducerReferenceTime struct,
241
+ * usually exported by some encoders (on demand through the prft flag set in the
242
+ * AVCodecContext export_side_data field).
243
+ */
244
+ AV_PKT_DATA_PRFT,
245
+
246
+ /**
247
+ * ICC profile data consisting of an opaque octet buffer following the
248
+ * format described by ISO 15076-1.
249
+ */
250
+ AV_PKT_DATA_ICC_PROFILE,
251
+
252
+ /**
253
+ * DOVI configuration
254
+ * ref:
255
+ * dolby-vision-bitstreams-within-the-iso-base-media-file-format-v2.1.2, section 2.2
256
+ * dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2, section 3.3
257
+ * Tags are stored in struct AVDOVIDecoderConfigurationRecord.
258
+ */
259
+ AV_PKT_DATA_DOVI_CONF,
260
+
261
+ /**
262
+ * Timecode which conforms to SMPTE ST 12-1:2014. The data is an array of 4 uint32_t
263
+ * where the first uint32_t describes how many (1-3) of the other timecodes are used.
264
+ * The timecode format is described in the documentation of av_timecode_get_smpte_from_framenum()
265
+ * function in libavutil/timecode.h.
266
+ */
267
+ AV_PKT_DATA_S12M_TIMECODE,
268
+
269
+ /**
270
+ * HDR10+ dynamic metadata associated with a video frame. The metadata is in
271
+ * the form of the AVDynamicHDRPlus struct and contains
272
+ * information for color volume transform - application 4 of
273
+ * SMPTE 2094-40:2016 standard.
274
+ */
275
+ AV_PKT_DATA_DYNAMIC_HDR10_PLUS,
276
+
277
+ /**
278
+ * IAMF Mix Gain Parameter Data associated with the audio frame. This metadata
279
+ * is in the form of the AVIAMFParamDefinition struct and contains information
280
+ * defined in sections 3.6.1 and 3.8.1 of the Immersive Audio Model and
281
+ * Formats standard.
282
+ */
283
+ AV_PKT_DATA_IAMF_MIX_GAIN_PARAM,
284
+
285
+ /**
286
+ * IAMF Demixing Info Parameter Data associated with the audio frame. This
287
+ * metadata is in the form of the AVIAMFParamDefinition struct and contains
288
+ * information defined in sections 3.6.1 and 3.8.2 of the Immersive Audio Model
289
+ * and Formats standard.
290
+ */
291
+ AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM,
292
+
293
+ /**
294
+ * IAMF Recon Gain Info Parameter Data associated with the audio frame. This
295
+ * metadata is in the form of the AVIAMFParamDefinition struct and contains
296
+ * information defined in sections 3.6.1 and 3.8.3 of the Immersive Audio Model
297
+ * and Formats standard.
298
+ */
299
+ AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM,
300
+
301
+ /**
302
+ * Ambient viewing environment metadata, as defined by H.274. This metadata
303
+ * should be associated with a video stream and contains data in the form
304
+ * of the AVAmbientViewingEnvironment struct.
305
+ */
306
+ AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT,
307
+
308
+ /**
309
+ * The number of side data types.
310
+ * This is not part of the public API/ABI in the sense that it may
311
+ * change when new side data types are added.
312
+ * This must stay the last enum value.
313
+ * If its value becomes huge, some code using it
314
+ * needs to be updated as it assumes it to be smaller than other limits.
315
+ */
316
+ AV_PKT_DATA_NB
317
+ };
318
+
319
+ typedef struct AVPacketSideData {
320
+ uint8_t *data;
321
+ size_t size;
322
+ enum AVPacketSideDataType type;
323
+ } AVPacketSideData;
324
+
325
+
326
+ /**
327
+ * This structure stores compressed data. It is typically exported by demuxers
328
+ * and then passed as input to decoders, or received as output from encoders and
329
+ * then passed to muxers.
330
+ *
331
+ * For video, it should typically contain one compressed frame. For audio it may
332
+ * contain several compressed frames. Encoders are allowed to output empty
333
+ * packets, with no compressed data, containing only side data
334
+ * (e.g. to update some stream parameters at the end of encoding).
335
+ *
336
+ * The semantics of data ownership depends on the buf field.
337
+ * If it is set, the packet data is dynamically allocated and is
338
+ * valid indefinitely until a call to av_packet_unref() reduces the
339
+ * reference count to 0.
340
+ *
341
+ * If the buf field is not set av_packet_ref() would make a copy instead
342
+ * of increasing the reference count.
343
+ *
344
+ * The side data is always allocated with av_malloc(), copied by
345
+ * av_packet_ref() and freed by av_packet_unref().
346
+ *
347
+ * sizeof(AVPacket) being a part of the public ABI is deprecated. once
348
+ * av_init_packet() is removed, new packets will only be able to be allocated
349
+ * with av_packet_alloc(), and new fields may be added to the end of the struct
350
+ * with a minor bump.
351
+ *
352
+ * @see av_packet_alloc
353
+ * @see av_packet_ref
354
+ * @see av_packet_unref
355
+ */
356
+ typedef struct AVPacket {
357
+ /**
358
+ * A reference to the reference-counted buffer where the packet data is
359
+ * stored.
360
+ * May be NULL, then the packet data is not reference-counted.
361
+ */
362
+ AVBufferRef *buf;
363
+ /**
364
+ * Presentation timestamp in AVStream->time_base units; the time at which
365
+ * the decompressed packet will be presented to the user.
366
+ * Can be AV_NOPTS_VALUE if it is not stored in the file.
367
+ * pts MUST be larger or equal to dts as presentation cannot happen before
368
+ * decompression, unless one wants to view hex dumps. Some formats misuse
369
+ * the terms dts and pts/cts to mean something different. Such timestamps
370
+ * must be converted to true pts/dts before they are stored in AVPacket.
371
+ */
372
+ int64_t pts;
373
+ /**
374
+ * Decompression timestamp in AVStream->time_base units; the time at which
375
+ * the packet is decompressed.
376
+ * Can be AV_NOPTS_VALUE if it is not stored in the file.
377
+ */
378
+ int64_t dts;
379
+ uint8_t *data;
380
+ int size;
381
+ int stream_index;
382
+ /**
383
+ * A combination of AV_PKT_FLAG values
384
+ */
385
+ int flags;
386
+ /**
387
+ * Additional packet data that can be provided by the container.
388
+ * Packet can contain several types of side information.
389
+ */
390
+ AVPacketSideData *side_data;
391
+ int side_data_elems;
392
+
393
+ /**
394
+ * Duration of this packet in AVStream->time_base units, 0 if unknown.
395
+ * Equals next_pts - this_pts in presentation order.
396
+ */
397
+ int64_t duration;
398
+
399
+ int64_t pos; ///< byte position in stream, -1 if unknown
400
+
401
+ /**
402
+ * for some private data of the user
403
+ */
404
+ void *opaque;
405
+
406
+ /**
407
+ * AVBufferRef for free use by the API user. FFmpeg will never check the
408
+ * contents of the buffer ref. FFmpeg calls av_buffer_unref() on it when
409
+ * the packet is unreferenced. av_packet_copy_props() calls create a new
410
+ * reference with av_buffer_ref() for the target packet's opaque_ref field.
411
+ *
412
+ * This is unrelated to the opaque field, although it serves a similar
413
+ * purpose.
414
+ */
415
+ AVBufferRef *opaque_ref;
416
+
417
+ /**
418
+ * Time base of the packet's timestamps.
419
+ * In the future, this field may be set on packets output by encoders or
420
+ * demuxers, but its value will be by default ignored on input to decoders
421
+ * or muxers.
422
+ */
423
+ AVRational time_base;
424
+ } AVPacket;
425
+
426
+ typedef struct AVPacketRef {
427
+ /**
428
+ * A reference to the reference-counted buffer where the packet data is
429
+ * stored.
430
+ * May be NULL, then the packet data is not reference-counted.
431
+ */
432
+ AVBufferRef *buf;
433
+ /**
434
+ * Presentation timestamp in AVStream->time_base units; the time at which
435
+ * the decompressed packet will be presented to the user.
436
+ * Can be AV_NOPTS_VALUE if it is not stored in the file.
437
+ * pts MUST be larger or equal to dts as presentation cannot happen before
438
+ * decompression, unless one wants to view hex dumps. Some formats misuse
439
+ * the terms dts and pts/cts to mean something different. Such timestamps
440
+ * must be converted to true pts/dts before they are stored in AVPacket.
441
+ */
442
+ int64_t pts;
443
+ /**
444
+ * Decompression timestamp in AVStream->time_base units; the time at which
445
+ * the packet is decompressed.
446
+ * Can be AV_NOPTS_VALUE if it is not stored in the file.
447
+ */
448
+ int64_t dts;
449
+ uint8_t *data;
450
+ int size;
451
+ int stream_index;
452
+ /**
453
+ * A combination of AV_PKT_FLAG values
454
+ */
455
+ int flags;
456
+ /**
457
+ * Additional packet data that can be provided by the container.
458
+ * Packet can contain several types of side information.
459
+ */
460
+ AVPacketSideData *side_data;
461
+ int side_data_elems;
462
+
463
+ /**
464
+ * Duration of this packet in AVStream->time_base units, 0 if unknown.
465
+ * Equals next_pts - this_pts in presentation order.
466
+ */
467
+ int64_t duration;
468
+
469
+ int64_t pos; ///< byte position in stream, -1 if unknown
470
+
471
+ /**
472
+ * for some private data of the user
473
+ */
474
+ void *opaque;
475
+
476
+ /**
477
+ * AVBufferRef for free use by the API user. FFmpeg will never check the
478
+ * contents of the buffer ref. FFmpeg calls av_buffer_unref() on it when
479
+ * the packet is unreferenced. av_packet_copy_props() calls create a new
480
+ * reference with av_buffer_ref() for the target packet's opaque_ref field.
481
+ *
482
+ * This is unrelated to the opaque field, although it serves a similar
483
+ * purpose.
484
+ */
485
+ AVBufferRef *opaque_ref;
486
+
487
+ /**
488
+ * Time base of the packet's timestamps.
489
+ * In the future, this field may be set on packets output by encoders or
490
+ * demuxers, but its value will be by default ignored on input to decoders
491
+ * or muxers.
492
+ */
493
+ AVRational time_base;
494
+
495
+ atomic_int32 ref_count;
496
+ } AVPacketRef;
497
+
498
+ #endif
@@ -0,0 +1,82 @@
1
+ #ifndef _LIBMEDIA_AVUTIL_AVPCMBUFFER_H_
2
+
3
+ #define _LIBMEDIA_AVUTIL_AVPCMBUFFER_H_
4
+
5
+ #include <stdint.h>
6
+ #include "wasmatomic.h"
7
+
8
+ typedef struct AVPCMBuffer {
9
+ /**
10
+ * pcm 数据
11
+ * 可同时存放多个 channel 数据
12
+ */
13
+ uint8_t** data;
14
+ /**
15
+ * data 每一个 channel 的缓冲区大小
16
+ */
17
+ int32_t linesize;
18
+ /**
19
+ * 当前存放了多少个采样点
20
+ */
21
+ int32_t nbSamples;
22
+ /**
23
+ * 当前 data 每个 channel 能存放的最大采样点数
24
+ */
25
+ int32_t maxnbSamples;
26
+ /**
27
+ * 声道数
28
+ */
29
+ int32_t channels;
30
+ /**
31
+ * 采样率
32
+ */
33
+ int32_t sampleRate;
34
+ /**
35
+ * pts
36
+ */
37
+ int64_t timestamp;
38
+ /**
39
+ * 时长
40
+ */
41
+ double duration;
42
+ } AVPCMBuffer;
43
+
44
+ typedef struct AVPCMBufferRef {
45
+ /**
46
+ * pcm 数据
47
+ * 可同时存放多个 channel 数据
48
+ */
49
+ uint8_t** data;
50
+ /**
51
+ * data 每一个 channel 的缓冲区大小
52
+ */
53
+ int32_t linesize;
54
+ /**
55
+ * 当前存放了多少个采样点
56
+ */
57
+ int32_t nbSamples;
58
+ /**
59
+ * 当前 data 每个 channel 能存放的最大采样点数
60
+ */
61
+ int32_t maxnbSamples;
62
+ /**
63
+ * 声道数
64
+ */
65
+ int32_t channels;
66
+ /**
67
+ * 采样率
68
+ */
69
+ int32_t sampleRate;
70
+ /**
71
+ * pts
72
+ */
73
+ int64_t timestamp;
74
+ /**
75
+ * 时长
76
+ */
77
+ double duration;
78
+
79
+ atomic_int32 ref_count;
80
+ } AVPCMBufferRef;
81
+
82
+ #endif