@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,559 @@
1
+ import { AVChromaLocation, AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic } from "../pixfmt";
2
+ import { AVBufferRef } from "./avbuffer";
3
+ import { AVDictionary } from "./avdict";
4
+ import { Rational } from "./rational";
5
+ import { AVChannelLayout } from "./audiosample";
6
+ export declare const AV_NUM_DATA_POINTERS = 8;
7
+ export declare const enum AVFrameFlags {
8
+ AV_FRAME_FLAG_NONE = 0,
9
+ /**
10
+ * The frame data may be corrupted, e.g. due to decoding errors.
11
+ */
12
+ AV_FRAME_FLAG_CORRUPT = 1,
13
+ /**
14
+ * A flag to mark frames that are keyframes.
15
+ */
16
+ AV_FRAME_FLAG_KEY = 2,
17
+ /**
18
+ * A flag to mark the frames which need to be decoded, but shouldn't be output.
19
+ */
20
+ AV_FRAME_FLAG_DISCARD = 4,
21
+ /**
22
+ * A flag to mark frames whose content is interlaced.
23
+ */
24
+ AV_FRAME_FLAG_INTERLACED = 8,
25
+ /**
26
+ * A flag to mark frames where the top field is displayed first if the content
27
+ * is interlaced.
28
+ */
29
+ AV_FRAME_FLAG_TOP_FIELD_FIRST = 16
30
+ }
31
+ export declare const enum FFDecodeError {
32
+ NONE = 0,
33
+ INVALID_BITSTREAM = 1,
34
+ MISSING_REFERENCE = 2,
35
+ CONCEALMENT_ACTIVE = 4,
36
+ DECODE_SLICES = 8
37
+ }
38
+ export declare const enum AVPictureType {
39
+ /**
40
+ * Undefined
41
+ */
42
+ AV_PICTURE_TYPE_NONE = 0,
43
+ /**
44
+ * Intra
45
+ */
46
+ AV_PICTURE_TYPE_I = 1,
47
+ /**
48
+ * Predicted
49
+ */
50
+ AV_PICTURE_TYPE_P = 2,
51
+ /**
52
+ * Bi-dir predicted
53
+ */
54
+ AV_PICTURE_TYPE_B = 3,
55
+ /**
56
+ * S(GMC)-VOP MPEG-4
57
+ */
58
+ AV_PICTURE_TYPE_S = 4,
59
+ /**
60
+ * Switching Intra
61
+ */
62
+ AV_PICTURE_TYPE_SI = 5,
63
+ /**
64
+ * Switching Predicted
65
+ */
66
+ AV_PICTURE_TYPE_SP = 6,
67
+ /**
68
+ * BI type
69
+ */
70
+ AV_PICTURE_TYPE_BI = 7
71
+ }
72
+ /**
73
+ * @defgroup lavu_frame AVFrame
74
+ * @ingroup lavu_data
75
+ *
76
+ * @{
77
+ * AVFrame is an abstraction for reference-counted raw multimedia data.
78
+ */
79
+ export declare const enum AVFrameSideDataType {
80
+ /**
81
+ * The data is the AVPanScan struct defined in libavcodec.
82
+ */
83
+ AV_FRAME_DATA_PANSCAN = 0,
84
+ /**
85
+ * ATSC A53 Part 4 Closed Captions.
86
+ * A53 CC bitstream is stored as uint8_t in AVFrameSideData.data.
87
+ * The number of bytes of CC data is AVFrameSideData.size.
88
+ */
89
+ AV_FRAME_DATA_A53_CC = 1,
90
+ /**
91
+ * Stereoscopic 3d metadata.
92
+ * The data is the AVStereo3D struct defined in libcommon/stereo3d.h.
93
+ */
94
+ AV_FRAME_DATA_STEREO3D = 2,
95
+ /**
96
+ * The data is the AVMatrixEncoding enum defined in libcommon/channel_layout.h.
97
+ */
98
+ AV_FRAME_DATA_MATRIXENCODING = 3,
99
+ /**
100
+ * Metadata relevant to a downmix procedure.
101
+ * The data is the AVDownmixInfo struct defined in libcommon/downmix_info.h.
102
+ */
103
+ AV_FRAME_DATA_DOWNMIX_INFO = 4,
104
+ /**
105
+ * ReplayGain information in the form of the AVReplayGain struct.
106
+ */
107
+ AV_FRAME_DATA_REPLAYGAIN = 5,
108
+ /**
109
+ * This side data contains a 3x3 transformation matrix describing an affine
110
+ * transformation that needs to be applied to the frame for correct
111
+ * presentation.
112
+ *
113
+ * See libcommon/display.h for a detailed description of the data.
114
+ */
115
+ AV_FRAME_DATA_DISPLAYMATRIX = 6,
116
+ /**
117
+ * Active Format Description data consisting of a single byte as specified
118
+ * in ETSI TS 101 154 using AVActiveFormatDescription enum.
119
+ */
120
+ AV_FRAME_DATA_AFD = 7,
121
+ /**
122
+ * Motion vectors exported by some codecs (on demand through the export_mvs
123
+ * flag set in the libavcodec AVCodecContext flags2 option).
124
+ * The data is the AVMotionVector struct defined in
125
+ * libcommon/motion_vector.h.
126
+ */
127
+ AV_FRAME_DATA_MOTION_VECTORS = 8,
128
+ /**
129
+ * Recommmends skipping the specified number of samples. This is exported
130
+ * only if the "skip_manual" AVOption is set in libavcodec.
131
+ * This has the same format as AV_PKT_DATA_SKIP_SAMPLES.
132
+ * @code
133
+ * u32le number of samples to skip from start of this packet
134
+ * u32le number of samples to skip from end of this packet
135
+ * u8 reason for start skip
136
+ * u8 reason for end skip (0=padding silence, 1=convergence)
137
+ * @endcode
138
+ */
139
+ AV_FRAME_DATA_SKIP_SAMPLES = 9,
140
+ /**
141
+ * This side data must be associated with an audio frame and corresponds to
142
+ * enum AVAudioServiceType defined in avcodec.h.
143
+ */
144
+ AV_FRAME_DATA_AUDIO_SERVICE_TYPE = 10,
145
+ /**
146
+ * Mastering display metadata associated with a video frame. The payload is
147
+ * an AVMasteringDisplayMetadata type and contains information about the
148
+ * mastering display color volume.
149
+ */
150
+ AV_FRAME_DATA_MASTERING_DISPLAY_METADATA = 11,
151
+ /**
152
+ * The GOP timecode in 25 bit timecode format. Data format is 64-bit integer.
153
+ * This is set on the first frame of a GOP that has a temporal reference of 0.
154
+ */
155
+ AV_FRAME_DATA_GOP_TIMECODE = 12,
156
+ /**
157
+ * The data represents the AVSphericalMapping structure defined in
158
+ * libcommon/spherical.h.
159
+ */
160
+ AV_FRAME_DATA_SPHERICAL = 13,
161
+ /**
162
+ * Content light level (based on CTA-861.3). This payload contains data in
163
+ * the form of the AVContentLightMetadata struct.
164
+ */
165
+ AV_FRAME_DATA_CONTENT_LIGHT_LEVEL = 14,
166
+ /**
167
+ * The data contains an ICC profile as an opaque octet buffer following the
168
+ * format described by ISO 15076-1 with an optional name defined in the
169
+ * metadata key entry "name".
170
+ */
171
+ AV_FRAME_DATA_ICC_PROFILE = 15,
172
+ /**
173
+ * Timecode which conforms to SMPTE ST 12-1. The data is an array of 4 uint32_t
174
+ * where the first uint32_t describes how many (1-3) of the other timecodes are used.
175
+ * The timecode format is described in the documentation of av_timecode_get_smpte_from_framenum()
176
+ * function in libcommon/timecode.h.
177
+ */
178
+ AV_FRAME_DATA_S12M_TIMECODE = 16,
179
+ /**
180
+ * HDR dynamic metadata associated with a video frame. The payload is
181
+ * an AVDynamicHDRPlus type and contains information for color
182
+ * volume transform - application 4 of SMPTE 2094-40:2016 standard.
183
+ */
184
+ AV_FRAME_DATA_DYNAMIC_HDR_PLUS = 17,
185
+ /**
186
+ * Regions Of Interest, the data is an array of AVRegionOfInterest type, the number of
187
+ * array element is implied by AVFrameSideData.size / AVRegionOfInterest.self_size.
188
+ */
189
+ AV_FRAME_DATA_REGIONS_OF_INTEREST = 18,
190
+ /**
191
+ * Encoding parameters for a video frame, as described by AVVideoEncParams.
192
+ */
193
+ AV_FRAME_DATA_VIDEO_ENC_PARAMS = 19,
194
+ /**
195
+ * User data unregistered metadata associated with a video frame.
196
+ * This is the H.26[45] UDU SEI message, and shouldn't be used for any other purpose
197
+ * The data is stored as uint8_t in AVFrameSideData.data which is 16 bytes of
198
+ * uuid_iso_iec_11578 followed by AVFrameSideData.size - 16 bytes of user_data_payload_byte.
199
+ */
200
+ AV_FRAME_DATA_SEI_UNREGISTERED = 20,
201
+ /**
202
+ * Film grain parameters for a frame, described by AVFilmGrainParams.
203
+ * Must be present for every frame which should have film grain applied.
204
+ */
205
+ AV_FRAME_DATA_FILM_GRAIN_PARAMS = 21,
206
+ /**
207
+ * Bounding boxes for object detection and classification,
208
+ * as described by AVDetectionBBoxHeader.
209
+ */
210
+ AV_FRAME_DATA_DETECTION_BBOXES = 22
211
+ }
212
+ @struct
213
+ export declare class AVFrameSideData {
214
+ type: AVFrameSideDataType;
215
+ data: pointer<uint8>;
216
+ size: size;
217
+ metadata: pointer<AVDictionary>;
218
+ buf: pointer<AVBufferRef>;
219
+ }
220
+ @struct
221
+ export declare class AVMasteringDisplayMetadata {
222
+ /**
223
+ * CIE 1931 xy chromaticity coords of color primaries (r, g, b order).
224
+ */
225
+ displayPrimaries: array<array<Rational, 2>, 3>;
226
+ /**
227
+ * CIE 1931 xy chromaticity coords of white point.
228
+ */
229
+ whitePoint: array<Rational, 2>;
230
+ /**
231
+ * Min luminance of mastering display (cd/m^2).
232
+ */
233
+ minLuminance: Rational;
234
+ /**
235
+ * Max luminance of mastering display (cd/m^2).
236
+ */
237
+ maxLuminance: Rational;
238
+ /**
239
+ * Flag indicating whether the display primaries (and white point) are set.
240
+ */
241
+ hasPrimaries: int32;
242
+ /**
243
+ * Flag indicating whether the luminance (min_ and max_) have been set.
244
+ */
245
+ hasLuminance: int32;
246
+ }
247
+ @struct
248
+ export declare class AVContentLightMetadata {
249
+ /**
250
+ * Max content light level (cd/m^2).
251
+ */
252
+ maxCLL: uint32;
253
+ /**
254
+ * Max average light level per frame (cd/m^2).
255
+ */
256
+ maxFALL: uint32;
257
+ }
258
+ @struct
259
+ export default class AVFrame {
260
+ /**
261
+ * pointer to the picture/channel planes.
262
+ * This might be different from the first allocated byte
263
+ *
264
+ * Some decoders access areas outside 0,0 - width, height, please
265
+ * see avcodec_align_dimensions2(). Some filters and swscale can read
266
+ * up to 16 bytes beyond the planes, if these filters are to be used,
267
+ * then 16 extra bytes must be allocated.
268
+ *
269
+ * NOTE: Except for hwaccel formats, pointers not needed by the format
270
+ * MUST be set to NULL.
271
+ */
272
+ data: array<pointer<uint8>, typeof AV_NUM_DATA_POINTERS>;
273
+ /**
274
+ * For video, size in bytes of each picture line.
275
+ * For audio, size in bytes of each plane.
276
+ *
277
+ * For audio, only linesize[0] may be set. For planar audio, each channel
278
+ * plane must be the same size.
279
+ *
280
+ * For video the linesizes should be multiples of the CPUs alignment
281
+ * preference, this is 16 or 32 for modern desktop CPUs.
282
+ * Some code requires such alignment other code can be slower without
283
+ * correct alignment, for yet other it makes no difference.
284
+ *
285
+ * @note The linesize may be larger than the size of usable data -- there
286
+ * may be extra padding present for performance reasons.
287
+ */
288
+ linesize: array<int32, typeof AV_NUM_DATA_POINTERS>;
289
+ /**
290
+ * pointers to the data planes/channels.
291
+ *
292
+ * For video, this should simply point to data[].
293
+ *
294
+ * For planar audio, each channel has a separate data pointer, and
295
+ * linesize[0] contains the size of each channel buffer.
296
+ * For packed audio, there is just one data pointer, and linesize[0]
297
+ * contains the total size of the buffer for all channels.
298
+ *
299
+ * Note: Both data and extended_data should always be set in a valid frame,
300
+ * but for planar audio with more channels that can fit in data,
301
+ * extended_data must be used in order to access all channels.
302
+ */
303
+ extendedData: pointer<pointer<uint8>>;
304
+ /**
305
+ * @name Video dimensions
306
+ * Video frames only. The coded dimensions (in pixels) of the video frame,
307
+ * i.e. the size of the rectangle that contains some well-defined values.
308
+ *
309
+ * @note The part of the frame intended for display/presentation is further
310
+ * restricted by the @ref cropping "Cropping rectangle".
311
+ *
312
+ */
313
+ width: int32;
314
+ height: int32;
315
+ /**
316
+ * number of audio samples (per channel) described by this frame
317
+ */
318
+ nbSamples: int32;
319
+ /**
320
+ * format of the frame, -1 if unknown or unset
321
+ * Values correspond to enum AVPixelFormat for video frames,
322
+ * enum AVSampleFormat for audio)
323
+ */
324
+ format: int32;
325
+ /**
326
+ * 1 -> keyframe, 0-> not
327
+ *
328
+ * @deprecated Use AV_FRAME_FLAG_KEY instead
329
+ */
330
+ keyFrame: int32;
331
+ /**
332
+ * Picture type of the frame.
333
+ */
334
+ pictType: AVPictureType;
335
+ /**
336
+ * Sample aspect ratio for the video frame, 0/1 if unknown/unspecified.
337
+ */
338
+ sampleAspectRatio: Rational;
339
+ /**
340
+ * Presentation timestamp in time_base units (time when frame should be shown to user).
341
+ */
342
+ pts: int64;
343
+ /**
344
+ * DTS copied from the AVPacket that triggered returning this frame. (if frame threading isn't used)
345
+ * This is also the Presentation time of this AVFrame calculated from
346
+ * only AVPacket.dts values without pts values.
347
+ */
348
+ pktDts: int64;
349
+ /**
350
+ * Time base for the timestamps in this frame.
351
+ * In the future, this field may be set on frames output by decoders or
352
+ * filters, but its value will be by default ignored on input to encoders
353
+ * or filters.
354
+ */
355
+ timeBase: Rational;
356
+ /**
357
+ * quality (between 1 (good) and FF_LAMBDA_MAX (bad))
358
+ */
359
+ quality: int32;
360
+ /**
361
+ * Frame owner's private data.
362
+ *
363
+ * This field may be set by the code that allocates/owns the frame data.
364
+ * It is then not touched by any library functions, except:
365
+ * - it is copied to other references by av_frame_copy_props() (and hence by
366
+ * av_frame_ref());
367
+ * - it is set to NULL when the frame is cleared by av_frame_unref()
368
+ * - on the caller's explicit request. E.g. libavcodec encoders/decoders
369
+ * will copy this field to/from @ref AVPacket "AVPackets" if the caller sets
370
+ * @ref AV_CODEC_FLAG_COPY_OPAQUE.
371
+ *
372
+ * @see opaque_ref the reference-counted analogue
373
+ */
374
+ opaque: pointer<void>;
375
+ /**
376
+ * Number of fields in this frame which should be repeated, i.e. the total
377
+ * duration of this frame should be repeat_pict + 2 normal field durations.
378
+ *
379
+ * For interlaced frames this field may be set to 1, which signals that this
380
+ * frame should be presented as 3 fields: beginning with the first field (as
381
+ * determined by AV_FRAME_FLAG_TOP_FIELD_FIRST being set or not), followed
382
+ * by the second field, and then the first field again.
383
+ *
384
+ * For progressive frames this field may be set to a multiple of 2, which
385
+ * signals that this frame's duration should be (repeat_pict + 2) / 2
386
+ * normal frame durations.
387
+ *
388
+ * @note This field is computed from MPEG2 repeat_first_field flag and its
389
+ * associated flags, H.264 pic_struct from picture timing SEI, and
390
+ * their analogues in other codecs. Typically it should only be used when
391
+ * higher-layer timing information is not available.
392
+ */
393
+ repeatPict: int32;
394
+ /**
395
+ * The content of the picture is interlaced.
396
+ *
397
+ * @deprecated Use AV_FRAME_FLAG_INTERLACED instead
398
+ */
399
+ interlacedFrame: int32;
400
+ /**
401
+ * If the content is interlaced, is top field displayed first.
402
+ *
403
+ * @deprecated Use AV_FRAME_FLAG_TOP_FIELD_FIRST instead
404
+ */
405
+ topFieldFirst: int32;
406
+ /**
407
+ * Tell user application that palette has changed from previous frame.
408
+ * @deprecated
409
+ */
410
+ paletteHasChanged: int32;
411
+ /**
412
+ * Sample rate of the audio data.
413
+ */
414
+ sampleRate: int32;
415
+ /**
416
+ * AVBuffer references backing the data for this frame. If all elements of
417
+ * this array are NULL, then this frame is not reference counted. This array
418
+ * must be filled contiguously -- if buf[i] is non-NULL then buf[j] must
419
+ * also be non-NULL for all j < i.
420
+ *
421
+ * There may be at most one AVBuffer per data plane, so for video this array
422
+ * always contains all the references. For planar audio with more than
423
+ * AV_NUM_DATA_POINTERS channels, there may be more buffers than can fit in
424
+ * this array. Then the extra AVBufferRef pointers are stored in the
425
+ * extended_buf array.
426
+ */
427
+ buf: array<pointer<AVBufferRef>, typeof AV_NUM_DATA_POINTERS>;
428
+ /**
429
+ * For planar audio which requires more than AV_NUM_DATA_POINTERS
430
+ * AVBufferRef pointers, this array will hold all the references which
431
+ * cannot fit into AVFrame.buf.
432
+ *
433
+ * Note that this is different from AVFrame.extended_data, which always
434
+ * contains all the pointers. This array only contains the extra pointers,
435
+ * which cannot fit into AVFrame.buf.
436
+ *
437
+ * This array is always allocated using av_malloc() by whoever constructs
438
+ * the frame. It is freed in av_frame_unref().
439
+ */
440
+ extendedBuf: pointer<pointer<AVBufferRef>>;
441
+ /**
442
+ * Number of elements in extended_buf.
443
+ */
444
+ nbExtendedBuf: int32;
445
+ sideData: pointer<pointer<AVFrameSideData>>;
446
+ nbSideData: int32;
447
+ /**
448
+ * Frame flags, a combination of @ref lavu_frame_flags
449
+ */
450
+ flags: AVFrameFlags;
451
+ /**
452
+ * MPEG vs JPEG YUV range.
453
+ * - encoding: Set by user
454
+ * - decoding: Set by libavcodec
455
+ */
456
+ colorRange: AVColorRange;
457
+ colorPrimaries: AVColorPrimaries;
458
+ colorTrc: AVColorTransferCharacteristic;
459
+ /**
460
+ * YUV colorspace type.
461
+ * - encoding: Set by user
462
+ * - decoding: Set by libavcodec
463
+ */
464
+ colorSpace: AVColorSpace;
465
+ chromaLocation: AVChromaLocation;
466
+ /**
467
+ * frame timestamp estimated using various heuristics, in stream time base
468
+ * - encoding: unused
469
+ * - decoding: set by libavcodec, read by user.
470
+ */
471
+ bestEffortTimestamp: int64;
472
+ /**
473
+ * reordered pos from the last AVPacket that has been input into the decoder
474
+ * - encoding: unused
475
+ * - decoding: Read by user.
476
+ * @deprecated use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user
477
+ * data from packets to frames
478
+ */
479
+ pktPos: int64;
480
+ /**
481
+ * metadata.
482
+ * - encoding: Set by user.
483
+ * - decoding: Set by libavcodec.
484
+ */
485
+ metadata: pointer<AVDictionary>;
486
+ /**
487
+ * decode error flags of the frame, set to a combination of
488
+ * FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there
489
+ * were errors during the decoding.
490
+ * - encoding: unused
491
+ * - decoding: set by libavcodec, read by user.
492
+ */
493
+ decodeErrorFlags: FFDecodeError;
494
+ /**
495
+ * size of the corresponding packet containing the compressed
496
+ * frame.
497
+ * It is set to a negative value if unknown.
498
+ * - encoding: unused
499
+ * - decoding: set by libavcodec, read by user.
500
+ * @deprecated use AV_CODEC_FLAG_COPY_OPAQUE to pass through arbitrary user
501
+ * data from packets to frames
502
+ */
503
+ pktSize: int32;
504
+ /**
505
+ * For hwaccel-format frames, this should be a reference to the
506
+ * AVHWFramesContext describing the frame.
507
+ */
508
+ hwFramesCtx: pointer<AVBufferRef>;
509
+ /**
510
+ * AVBufferRef for free use by the API user. FFmpeg will never check the
511
+ * contents of the buffer ref. FFmpeg calls av_buffer_unref() on it when
512
+ * the frame is unreferenced. av_frame_copy_props() calls create a new
513
+ * reference with av_buffer_ref() for the target frame's opaque_ref field.
514
+ *
515
+ * This is unrelated to the opaque field, although it serves a similar
516
+ * purpose.
517
+ */
518
+ opaqueRef: pointer<AVBufferRef>;
519
+ /**
520
+ * @anchor cropping
521
+ * @name Cropping
522
+ * Video frames only. The number of pixels to discard from the the
523
+ * top/bottom/left/right border of the frame to obtain the sub-rectangle of
524
+ * the frame intended for presentation.
525
+ */
526
+ cropTop: size;
527
+ cropBottom: size;
528
+ cropLeft: size;
529
+ cropRight: size;
530
+ /**
531
+ * AVBufferRef for internal use by a single libav* library.
532
+ * Must not be used to transfer data between libraries.
533
+ * Has to be NULL when ownership of the frame leaves the respective library.
534
+ *
535
+ * Code outside the FFmpeg libs should never check or change the contents of the buffer ref.
536
+ *
537
+ * FFmpeg calls av_buffer_unref() on it when the frame is unreferenced.
538
+ * av_frame_copy_props() calls create a new reference with av_buffer_ref()
539
+ * for the target frame's private_ref field.
540
+ */
541
+ privateRef: pointer<AVBufferRef>;
542
+ /**
543
+ * Channel layout of the audio data.
544
+ */
545
+ chLayout: AVChannelLayout;
546
+ /**
547
+ * Duration of the frame, in the same units as pts. 0 if unknown.
548
+ */
549
+ duration: int64;
550
+ close(): void;
551
+ }
552
+ @struct
553
+ export declare class AVFrameRef extends AVFrame {
554
+ refCount: atomic_int32;
555
+ }
556
+ export interface AVFramePool {
557
+ alloc: () => pointer<AVFrameRef>;
558
+ release: (avframe: pointer<AVFrameRef>) => void;
559
+ }