@libmedia/avutil 0.12.0 → 1.0.1

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 (564) hide show
  1. package/dist/cjs/{AVStream.js → AVStream.cjs} +5 -5
  2. package/dist/cjs/AVStream.js.map +1 -1
  3. package/dist/cjs/codecs/{aac.js → aac.cjs} +2 -8
  4. package/dist/cjs/codecs/aac.js.map +1 -1
  5. package/dist/cjs/codecs/{ac3.js → ac3.cjs} +2 -8
  6. package/dist/cjs/codecs/ac3.js.map +1 -1
  7. package/dist/cjs/codecs/{av1.js → av1.cjs} +6 -10
  8. package/dist/cjs/codecs/av1.js.map +1 -1
  9. package/dist/cjs/codecs/{dts.js → dts.cjs} +3 -9
  10. package/dist/cjs/codecs/dts.js.map +1 -1
  11. package/dist/cjs/codecs/{flac.js → flac.cjs} +2 -8
  12. package/dist/cjs/codecs/flac.js.map +1 -1
  13. package/dist/cjs/codecs/{h264.js → h264.cjs} +20 -23
  14. package/dist/cjs/codecs/h264.js.map +1 -1
  15. package/dist/cjs/codecs/{hevc.js → hevc.cjs} +23 -23
  16. package/dist/cjs/codecs/hevc.js.map +1 -1
  17. package/dist/cjs/codecs/{mp3.js → mp3.cjs} +1 -1
  18. package/dist/cjs/codecs/mp3.js.map +1 -1
  19. package/dist/cjs/codecs/{mpeg4.js → mpeg4.cjs} +1 -1
  20. package/dist/cjs/codecs/mpeg4.js.map +1 -1
  21. package/dist/cjs/codecs/{mpegvideo.js → mpegvideo.cjs} +1 -1
  22. package/dist/cjs/codecs/mpegvideo.js.map +1 -1
  23. package/dist/cjs/codecs/{opus.js → opus.cjs} +3 -9
  24. package/dist/cjs/codecs/opus.js.map +1 -1
  25. package/dist/cjs/codecs/ttml.cjs +51 -0
  26. package/dist/cjs/codecs/ttml.js.map +1 -1
  27. package/dist/cjs/codecs/{vp8.js → vp8.cjs} +2 -8
  28. package/dist/cjs/codecs/vp8.js.map +1 -1
  29. package/dist/cjs/codecs/{vp9.js → vp9.cjs} +4 -10
  30. package/dist/cjs/codecs/vp9.js.map +1 -1
  31. package/dist/cjs/codecs/{vvc.js → vvc.cjs} +25 -25
  32. package/dist/cjs/codecs/vvc.js.map +1 -1
  33. package/dist/cjs/{constant.js → constant.cjs} +6 -7
  34. package/dist/cjs/constant.js.map +1 -1
  35. package/dist/cjs/{enum.js → enum.cjs} +3 -1
  36. package/dist/cjs/enum.js.map +1 -1
  37. package/dist/cjs/error.js.map +1 -1
  38. package/dist/cjs/function/analyzeAVFormat.js.map +1 -1
  39. package/dist/cjs/function/analyzeUrlIOLoader.cjs +66 -0
  40. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
  41. package/dist/cjs/function/{audioData2AVFrame.js → audioData2AVFrame.cjs} +9 -9
  42. package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
  43. package/dist/cjs/function/{avPCMBuffer2AVFrame.js → avPCMBuffer2AVFrame.cjs} +20 -20
  44. package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -1
  45. package/dist/cjs/function/{avframe2AudioData.js → avframe2AudioData.cjs} +7 -7
  46. package/dist/cjs/function/avframe2AudioData.js.map +1 -1
  47. package/dist/cjs/function/avframe2VideoFrame.cjs +48 -0
  48. package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
  49. package/dist/cjs/function/{avpacket2EncodedAudioChunk.js → avpacket2EncodedAudioChunk.cjs} +3 -3
  50. package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
  51. package/dist/cjs/function/{avpacket2EncodedVideoChunk.js → avpacket2EncodedVideoChunk.cjs} +3 -3
  52. package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
  53. package/dist/cjs/function/compileResource.cjs +19 -0
  54. package/dist/cjs/function/compileResource.js.map +1 -1
  55. package/dist/cjs/function/constant/webcodecs.cjs +50 -0
  56. package/dist/cjs/function/constant/webcodecs.js.map +1 -0
  57. package/dist/cjs/function/encodedAudioChunk2AVPacket.cjs +23 -0
  58. package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
  59. package/dist/cjs/function/{encodedVideoChunk2AVPacket.js → encodedVideoChunk2AVPacket.cjs} +8 -8
  60. package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
  61. package/dist/cjs/function/{getAudioCodec.js → getAudioCodec.cjs} +1 -1
  62. package/dist/cjs/function/getAudioCodec.js.map +1 -1
  63. package/dist/cjs/function/getAudioMimeType.cjs +19 -0
  64. package/dist/cjs/function/getAudioMimeType.js.map +1 -0
  65. package/dist/cjs/function/getHardwarePreference.cjs +10 -0
  66. package/dist/cjs/function/getHardwarePreference.js.map +1 -1
  67. package/dist/cjs/function/{getVideoCodec.js → getVideoCodec.cjs} +12 -12
  68. package/dist/cjs/function/getVideoCodec.js.map +1 -1
  69. package/dist/cjs/function/getVideoMimeType.cjs +18 -0
  70. package/dist/cjs/function/getVideoMimeType.js.map +1 -0
  71. package/dist/cjs/function/{getWasmUrl.js → getWasmUrl.cjs} +2 -3
  72. package/dist/cjs/function/getWasmUrl.js.map +1 -1
  73. package/dist/cjs/function/{hasAlphaChannel.js → hasAlphaChannel.cjs} +1 -1
  74. package/dist/cjs/function/hasAlphaChannel.js.map +1 -1
  75. package/dist/cjs/function/{isHdr.js → isHdr.cjs} +1 -1
  76. package/dist/cjs/function/isHdr.js.map +1 -1
  77. package/dist/cjs/function/videoFrame2AVFrame.cjs +51 -0
  78. package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
  79. package/dist/cjs/implement/AVFramePoolImpl.cjs +28 -0
  80. package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
  81. package/dist/cjs/implement/AVPCMBufferPoolImpl.cjs +27 -0
  82. package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
  83. package/dist/cjs/implement/AVPacketPoolImpl.cjs +29 -0
  84. package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
  85. package/dist/cjs/index.cjs +840 -0
  86. package/dist/cjs/index.js.map +1 -0
  87. package/dist/cjs/internal.cjs +283 -0
  88. package/dist/cjs/internal.js.map +1 -0
  89. package/dist/cjs/{pixelFormatDescriptor.js → pixelFormatDescriptor.cjs} +2 -0
  90. package/dist/cjs/pixelFormatDescriptor.js.map +1 -1
  91. package/dist/cjs/pixfmt.js.map +1 -1
  92. package/dist/cjs/sampleFormatDescriptor.js.map +1 -1
  93. package/dist/cjs/{stringEnum.js → stringEnum.cjs} +4 -1
  94. package/dist/cjs/stringEnum.js.map +1 -1
  95. package/dist/cjs/struct/{audiosample.js → audiosample.cjs} +13 -13
  96. package/dist/cjs/struct/audiosample.js.map +1 -1
  97. package/dist/cjs/struct/{avbuffer.js → avbuffer.cjs} +18 -18
  98. package/dist/cjs/struct/avbuffer.js.map +1 -1
  99. package/dist/cjs/struct/{avcodecparameters.js → avcodecparameters.cjs} +11 -11
  100. package/dist/cjs/struct/avcodecparameters.js.map +1 -1
  101. package/dist/cjs/struct/{avdict.js → avdict.cjs} +9 -9
  102. package/dist/cjs/struct/avdict.js.map +1 -1
  103. package/dist/cjs/struct/{avframe.js → avframe.cjs} +30 -30
  104. package/dist/cjs/struct/avframe.js.map +1 -1
  105. package/dist/cjs/struct/{avpacket.js → avpacket.cjs} +19 -19
  106. package/dist/cjs/struct/avpacket.js.map +1 -1
  107. package/dist/cjs/struct/{avpcmbuffer.js → avpcmbuffer.cjs} +9 -9
  108. package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
  109. package/dist/cjs/struct/{encryption.js → encryption.cjs} +13 -13
  110. package/dist/cjs/struct/encryption.js.map +1 -1
  111. package/dist/cjs/struct/rational.cjs +43 -0
  112. package/dist/cjs/struct/rational.js.map +1 -1
  113. package/dist/cjs/util/{amf.js → amf.cjs} +7 -38
  114. package/dist/cjs/util/amf.js.map +1 -1
  115. package/dist/cjs/util/av1syntax.js.map +1 -1
  116. package/dist/cjs/util/avbuffer.cjs +122 -0
  117. package/dist/cjs/util/avbuffer.js.map +1 -1
  118. package/dist/cjs/util/avdict.cjs +75 -0
  119. package/dist/cjs/util/avdict.js.map +1 -1
  120. package/dist/cjs/util/{avframe.js → avframe.cjs} +82 -87
  121. package/dist/cjs/util/avframe.js.map +1 -1
  122. package/dist/cjs/util/{avpacket.js → avpacket.cjs} +58 -58
  123. package/dist/cjs/util/avpacket.js.map +1 -1
  124. package/dist/cjs/util/{channel.js → channel.cjs} +7 -7
  125. package/dist/cjs/util/channel.js.map +1 -1
  126. package/dist/cjs/util/codecparameters.cjs +95 -0
  127. package/dist/cjs/util/codecparameters.js.map +1 -1
  128. package/dist/cjs/util/common.js.map +1 -1
  129. package/dist/cjs/util/{encryption.js → encryption.cjs} +5 -11
  130. package/dist/cjs/util/encryption.js.map +1 -1
  131. package/dist/cjs/util/expgolomb.js.map +1 -1
  132. package/dist/cjs/util/{intread.js → intread.cjs} +1 -1
  133. package/dist/cjs/util/intread.js.map +1 -1
  134. package/dist/cjs/util/{intwrite.js → intwrite.cjs} +1 -1
  135. package/dist/cjs/util/intwrite.js.map +1 -1
  136. package/dist/cjs/util/mem.cjs +23 -0
  137. package/dist/cjs/util/mem.js.map +1 -1
  138. package/dist/cjs/util/{nalu.js → nalu.cjs} +7 -42
  139. package/dist/cjs/util/nalu.js.map +1 -1
  140. package/dist/cjs/util/ntp.js.map +1 -1
  141. package/dist/cjs/util/pcm.js.map +1 -1
  142. package/dist/cjs/util/{pixel.js → pixel.cjs} +26 -30
  143. package/dist/cjs/util/pixel.js.map +1 -1
  144. package/dist/cjs/util/{rational.js → rational.cjs} +5 -11
  145. package/dist/cjs/util/rational.js.map +1 -1
  146. package/dist/cjs/util/{sample.js → sample.cjs} +6 -12
  147. package/dist/cjs/util/sample.js.map +1 -1
  148. package/dist/cjs/util/{serialize.js → serialize.cjs} +40 -42
  149. package/dist/cjs/util/serialize.js.map +1 -1
  150. package/dist/esm/AVStream.d.ts +7 -7
  151. package/dist/esm/AVStream.js +10 -12
  152. package/dist/esm/AVStream.js.map +1 -1
  153. package/dist/esm/codecs/aac.d.ts +10 -5
  154. package/dist/esm/codecs/aac.js +2 -2
  155. package/dist/esm/codecs/aac.js.map +1 -1
  156. package/dist/esm/codecs/ac3.d.ts +1 -1
  157. package/dist/esm/codecs/ac3.js +1 -1
  158. package/dist/esm/codecs/ac3.js.map +1 -1
  159. package/dist/esm/codecs/av1.d.ts +3 -3
  160. package/dist/esm/codecs/av1.js +4 -6
  161. package/dist/esm/codecs/av1.js.map +1 -1
  162. package/dist/esm/codecs/dts.d.ts +1 -1
  163. package/dist/esm/codecs/dts.js +2 -2
  164. package/dist/esm/codecs/dts.js.map +1 -1
  165. package/dist/esm/codecs/flac.d.ts +3 -3
  166. package/dist/esm/codecs/flac.js +1 -1
  167. package/dist/esm/codecs/flac.js.map +1 -1
  168. package/dist/esm/codecs/h264.d.ts +5 -5
  169. package/dist/esm/codecs/h264.js +13 -18
  170. package/dist/esm/codecs/h264.js.map +1 -1
  171. package/dist/esm/codecs/hevc.d.ts +5 -5
  172. package/dist/esm/codecs/hevc.js +16 -15
  173. package/dist/esm/codecs/hevc.js.map +1 -1
  174. package/dist/esm/codecs/mp3.d.ts +4 -4
  175. package/dist/esm/codecs/mp3.js +1 -1
  176. package/dist/esm/codecs/mp3.js.map +1 -1
  177. package/dist/esm/codecs/mpeg4.d.ts +1 -1
  178. package/dist/esm/codecs/mpeg4.js +1 -1
  179. package/dist/esm/codecs/mpeg4.js.map +1 -1
  180. package/dist/esm/codecs/mpegvideo.d.ts +1 -1
  181. package/dist/esm/codecs/mpegvideo.js +1 -1
  182. package/dist/esm/codecs/mpegvideo.js.map +1 -1
  183. package/dist/esm/codecs/opus.d.ts +3 -3
  184. package/dist/esm/codecs/opus.js +2 -4
  185. package/dist/esm/codecs/opus.js.map +1 -1
  186. package/dist/esm/codecs/ttml.js +5 -11
  187. package/dist/esm/codecs/ttml.js.map +1 -1
  188. package/dist/esm/codecs/vp8.d.ts +4 -4
  189. package/dist/esm/codecs/vp8.js +2 -2
  190. package/dist/esm/codecs/vp8.js.map +1 -1
  191. package/dist/esm/codecs/vp9.d.ts +4 -4
  192. package/dist/esm/codecs/vp9.js +8 -10
  193. package/dist/esm/codecs/vp9.js.map +1 -1
  194. package/dist/esm/codecs/vvc.d.ts +5 -5
  195. package/dist/esm/codecs/vvc.js +16 -17
  196. package/dist/esm/codecs/vvc.js.map +1 -1
  197. package/dist/esm/constant.d.ts +5 -7
  198. package/dist/esm/constant.js +5 -9
  199. package/dist/esm/constant.js.map +1 -1
  200. package/dist/esm/enum.d.ts +9 -1
  201. package/dist/esm/enum.js +3 -1
  202. package/dist/esm/enum.js.map +1 -1
  203. package/dist/esm/error.js.map +1 -1
  204. package/dist/esm/function/analyzeAVFormat.d.ts +2 -2
  205. package/dist/esm/function/analyzeAVFormat.js.map +1 -1
  206. package/dist/esm/function/analyzeUrlIOLoader.d.ts +2 -2
  207. package/dist/esm/function/analyzeUrlIOLoader.js +2 -10
  208. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
  209. package/dist/esm/function/audioData2AVFrame.d.ts +1 -1
  210. package/dist/esm/function/audioData2AVFrame.js +6 -6
  211. package/dist/esm/function/audioData2AVFrame.js.map +1 -1
  212. package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +2 -2
  213. package/dist/esm/function/avPCMBuffer2AVFrame.js +9 -9
  214. package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -1
  215. package/dist/esm/function/avframe2AudioData.d.ts +1 -1
  216. package/dist/esm/function/avframe2AudioData.js +6 -8
  217. package/dist/esm/function/avframe2AudioData.js.map +1 -1
  218. package/dist/esm/function/avframe2VideoFrame.d.ts +3 -3
  219. package/dist/esm/function/avframe2VideoFrame.js +14 -79
  220. package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
  221. package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  222. package/dist/esm/function/avpacket2EncodedAudioChunk.js +5 -7
  223. package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
  224. package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  225. package/dist/esm/function/avpacket2EncodedVideoChunk.js +5 -7
  226. package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
  227. package/dist/esm/function/compileResource.d.ts +1 -1
  228. package/dist/esm/function/compileResource.js +2 -4
  229. package/dist/esm/function/compileResource.js.map +1 -1
  230. package/dist/esm/function/constant/webcodecs.d.ts +5 -0
  231. package/dist/esm/function/constant/webcodecs.js +51 -0
  232. package/dist/esm/function/constant/webcodecs.js.map +1 -0
  233. package/dist/esm/function/encodedAudioChunk2AVPacket.d.ts +1 -1
  234. package/dist/esm/function/encodedAudioChunk2AVPacket.js +6 -6
  235. package/dist/esm/function/encodedAudioChunk2AVPacket.js.map +1 -1
  236. package/dist/esm/function/encodedVideoChunk2AVPacket.d.ts +1 -1
  237. package/dist/esm/function/encodedVideoChunk2AVPacket.js +7 -7
  238. package/dist/esm/function/encodedVideoChunk2AVPacket.js.map +1 -1
  239. package/dist/esm/function/getAudioCodec.d.ts +1 -1
  240. package/dist/esm/function/getAudioCodec.js +2 -2
  241. package/dist/esm/function/getAudioCodec.js.map +1 -1
  242. package/dist/esm/function/getAudioMimeType.d.ts +2 -0
  243. package/dist/esm/function/getAudioMimeType.js +12 -0
  244. package/dist/esm/function/getAudioMimeType.js.map +1 -0
  245. package/dist/esm/function/getHardwarePreference.js +1 -1
  246. package/dist/esm/function/getHardwarePreference.js.map +1 -1
  247. package/dist/esm/function/getVideoCodec.d.ts +1 -1
  248. package/dist/esm/function/getVideoCodec.js +11 -13
  249. package/dist/esm/function/getVideoCodec.js.map +1 -1
  250. package/dist/esm/function/getVideoMimeType.d.ts +2 -0
  251. package/dist/esm/function/getVideoMimeType.js +8 -0
  252. package/dist/esm/function/getVideoMimeType.js.map +1 -0
  253. package/dist/esm/function/getWasmUrl.d.ts +1 -1
  254. package/dist/esm/function/getWasmUrl.js +2 -2
  255. package/dist/esm/function/getWasmUrl.js.map +1 -1
  256. package/dist/esm/function/hasAlphaChannel.d.ts +1 -1
  257. package/dist/esm/function/hasAlphaChannel.js +2 -2
  258. package/dist/esm/function/hasAlphaChannel.js.map +1 -1
  259. package/dist/esm/function/isHdr.d.ts +1 -1
  260. package/dist/esm/function/isHdr.js +2 -2
  261. package/dist/esm/function/isHdr.js.map +1 -1
  262. package/dist/esm/function/videoFrame2AVFrame.d.ts +6 -6
  263. package/dist/esm/function/videoFrame2AVFrame.js +13 -74
  264. package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
  265. package/dist/esm/implement/AVFramePoolImpl.d.ts +3 -4
  266. package/dist/esm/implement/AVFramePoolImpl.js +5 -7
  267. package/dist/esm/implement/AVFramePoolImpl.js.map +1 -1
  268. package/dist/esm/implement/AVPCMBufferPoolImpl.d.ts +3 -4
  269. package/dist/esm/implement/AVPCMBufferPoolImpl.js +4 -6
  270. package/dist/esm/implement/AVPCMBufferPoolImpl.js.map +1 -1
  271. package/dist/esm/implement/AVPacketPoolImpl.d.ts +3 -4
  272. package/dist/esm/implement/AVPacketPoolImpl.js +5 -7
  273. package/dist/esm/implement/AVPacketPoolImpl.js.map +1 -1
  274. package/dist/esm/index.d.ts +54 -0
  275. package/dist/esm/index.js +98 -0
  276. package/dist/esm/index.js.map +1 -0
  277. package/dist/esm/internal.d.ts +26 -0
  278. package/dist/esm/internal.js +52 -0
  279. package/dist/esm/internal.js.map +1 -0
  280. package/dist/esm/pixelFormatDescriptor.d.ts +1 -1
  281. package/dist/esm/pixelFormatDescriptor.js +2 -0
  282. package/dist/esm/pixelFormatDescriptor.js.map +1 -1
  283. package/dist/esm/pixfmt.d.ts +9 -1
  284. package/dist/esm/pixfmt.js.map +1 -1
  285. package/dist/esm/sampleFormatDescriptor.d.ts +1 -1
  286. package/dist/esm/sampleFormatDescriptor.js.map +1 -1
  287. package/dist/esm/stringEnum.d.ts +5 -5
  288. package/dist/esm/stringEnum.js +4 -1
  289. package/dist/esm/stringEnum.js.map +1 -1
  290. package/dist/esm/struct/audiosample.d.ts +1 -1
  291. package/dist/esm/struct/audiosample.js +2 -2
  292. package/dist/esm/struct/audiosample.js.map +1 -1
  293. package/dist/esm/struct/avbuffer.d.ts +1 -1
  294. package/dist/esm/struct/avbuffer.js +4 -4
  295. package/dist/esm/struct/avbuffer.js.map +1 -1
  296. package/dist/esm/struct/avcodecparameters.d.ts +9 -9
  297. package/dist/esm/struct/avcodecparameters.js +14 -16
  298. package/dist/esm/struct/avcodecparameters.js.map +1 -1
  299. package/dist/esm/struct/avdict.js +2 -2
  300. package/dist/esm/struct/avdict.js.map +1 -1
  301. package/dist/esm/struct/avframe.d.ts +12 -12
  302. package/dist/esm/struct/avframe.js +18 -22
  303. package/dist/esm/struct/avframe.js.map +1 -1
  304. package/dist/esm/struct/avpacket.d.ts +4 -4
  305. package/dist/esm/struct/avpacket.js +7 -9
  306. package/dist/esm/struct/avpacket.js.map +1 -1
  307. package/dist/esm/struct/avpcmbuffer.d.ts +1 -1
  308. package/dist/esm/struct/avpcmbuffer.js +2 -2
  309. package/dist/esm/struct/avpcmbuffer.js.map +1 -1
  310. package/dist/esm/struct/avsubtitle.d.ts +2 -2
  311. package/dist/esm/struct/encryption.js +2 -2
  312. package/dist/esm/struct/encryption.js.map +1 -1
  313. package/dist/esm/struct/rational.d.ts +1 -1
  314. package/dist/esm/struct/rational.js +4 -4
  315. package/dist/esm/struct/rational.js.map +1 -1
  316. package/dist/esm/util/amf.d.ts +1 -4
  317. package/dist/esm/util/amf.js +1 -5
  318. package/dist/esm/util/amf.js.map +1 -1
  319. package/dist/esm/util/av1syntax.d.ts +1 -1
  320. package/dist/esm/util/av1syntax.js.map +1 -1
  321. package/dist/esm/util/avbuffer.d.ts +2 -2
  322. package/dist/esm/util/avbuffer.js +7 -15
  323. package/dist/esm/util/avbuffer.js.map +1 -1
  324. package/dist/esm/util/avdict.d.ts +2 -2
  325. package/dist/esm/util/avdict.js +12 -16
  326. package/dist/esm/util/avdict.js.map +1 -1
  327. package/dist/esm/util/avframe.d.ts +2 -2
  328. package/dist/esm/util/avframe.js +22 -24
  329. package/dist/esm/util/avframe.js.map +1 -1
  330. package/dist/esm/util/avpacket.d.ts +3 -3
  331. package/dist/esm/util/avpacket.js +11 -13
  332. package/dist/esm/util/avpacket.js.map +1 -1
  333. package/dist/esm/util/channel.d.ts +1 -1
  334. package/dist/esm/util/channel.js +6 -6
  335. package/dist/esm/util/channel.js.map +1 -1
  336. package/dist/esm/util/codecparameters.d.ts +3 -1
  337. package/dist/esm/util/codecparameters.js +16 -12
  338. package/dist/esm/util/codecparameters.js.map +1 -1
  339. package/dist/esm/util/common.js.map +1 -1
  340. package/dist/esm/util/encryption.d.ts +2 -2
  341. package/dist/esm/util/encryption.js +1 -3
  342. package/dist/esm/util/encryption.js.map +1 -1
  343. package/dist/esm/util/expgolomb.d.ts +1 -2
  344. package/dist/esm/util/expgolomb.js.map +1 -1
  345. package/dist/esm/util/intread.js +1 -1
  346. package/dist/esm/util/intread.js.map +1 -1
  347. package/dist/esm/util/intwrite.js +1 -1
  348. package/dist/esm/util/intwrite.js.map +1 -1
  349. package/dist/esm/util/mem.js +7 -7
  350. package/dist/esm/util/mem.js.map +1 -1
  351. package/dist/esm/util/nalu.d.ts +1 -1
  352. package/dist/esm/util/nalu.js +3 -5
  353. package/dist/esm/util/nalu.js.map +1 -1
  354. package/dist/esm/util/ntp.js.map +1 -1
  355. package/dist/esm/util/pcm.d.ts +1 -1
  356. package/dist/esm/util/pcm.js.map +1 -1
  357. package/dist/esm/util/pixel.d.ts +1 -1
  358. package/dist/esm/util/pixel.js +8 -10
  359. package/dist/esm/util/pixel.js.map +1 -1
  360. package/dist/esm/util/rational.d.ts +10 -10
  361. package/dist/esm/util/rational.js +4 -4
  362. package/dist/esm/util/rational.js.map +1 -1
  363. package/dist/esm/util/sample.d.ts +1 -1
  364. package/dist/esm/util/sample.js +7 -7
  365. package/dist/esm/util/sample.js.map +1 -1
  366. package/dist/esm/util/serialize.d.ts +9 -9
  367. package/dist/esm/util/serialize.js +6 -6
  368. package/dist/esm/util/serialize.js.map +1 -1
  369. package/package.json +23 -390
  370. package/src/AVStream.ts +677 -0
  371. package/src/audiosamplefmt.ts +302 -0
  372. package/src/avformat.ts +96 -0
  373. package/src/codec.ts +1016 -0
  374. package/src/codecs/aac.ts +429 -0
  375. package/src/codecs/ac3.ts +309 -0
  376. package/src/codecs/av1.ts +503 -0
  377. package/src/codecs/dts.ts +100 -0
  378. package/src/codecs/flac.ts +118 -0
  379. package/src/codecs/h264.ts +1013 -0
  380. package/src/codecs/hevc.ts +1049 -0
  381. package/src/codecs/mp3.ts +172 -0
  382. package/src/codecs/mpeg4.ts +37 -0
  383. package/src/codecs/mpegvideo.ts +49 -0
  384. package/src/codecs/opus.ts +148 -0
  385. package/src/codecs/ttml.ts +158 -0
  386. package/src/codecs/vp8.ts +91 -0
  387. package/src/codecs/vp9.ts +213 -0
  388. package/src/codecs/vvc.ts +1086 -0
  389. package/src/constant.ts +72 -0
  390. package/src/enum.ts +47 -0
  391. package/src/error.ts +45 -0
  392. package/src/function/analyzeAVFormat.ts +94 -0
  393. package/src/function/analyzeUrlIOLoader.ts +166 -0
  394. package/src/function/audioData2AVFrame.ts +82 -0
  395. package/src/function/avPCMBuffer2AVFrame.ts +111 -0
  396. package/src/function/avframe2AudioData.ts +131 -0
  397. package/src/function/avframe2VideoFrame.ts +88 -0
  398. package/src/function/avpacket2EncodedAudioChunk.ts +39 -0
  399. package/src/function/avpacket2EncodedVideoChunk.ts +39 -0
  400. package/src/function/compileResource.ts +57 -0
  401. package/src/function/constant/webcodecs.ts +81 -0
  402. package/src/function/encodedAudioChunk2AVPacket.ts +62 -0
  403. package/src/function/encodedVideoChunk2AVPacket.ts +86 -0
  404. package/src/function/getAudioCodec.ts +45 -0
  405. package/src/function/getAudioMimeType.ts +44 -0
  406. package/src/function/getHardwarePreference.ts +45 -0
  407. package/src/function/getVideoCodec.ts +244 -0
  408. package/src/function/getVideoMimeType.ts +35 -0
  409. package/src/function/getWasmUrl.ts +190 -0
  410. package/src/function/hasAlphaChannel.ts +37 -0
  411. package/src/function/isHdr.ts +44 -0
  412. package/src/function/videoFrame2AVFrame.ts +95 -0
  413. package/src/implement/AVFramePoolImpl.ts +83 -0
  414. package/src/implement/AVPCMBufferPoolImpl.ts +79 -0
  415. package/src/implement/AVPacketPoolImpl.ts +82 -0
  416. package/src/index.ts +264 -0
  417. package/src/internal.ts +71 -0
  418. package/src/pixelFormatDescriptor.ts +819 -0
  419. package/src/pixfmt.ts +1400 -0
  420. package/src/sampleFormatDescriptor.ts +57 -0
  421. package/src/stringEnum.ts +366 -0
  422. package/src/struct/audiosample.ts +95 -0
  423. package/src/struct/avbuffer.ts +139 -0
  424. package/src/struct/avcodecparameters.ts +243 -0
  425. package/src/struct/avdict.ts +44 -0
  426. package/src/struct/avframe.ts +663 -0
  427. package/src/struct/avpacket.ts +178 -0
  428. package/src/struct/avpcmbuffer.ts +77 -0
  429. package/src/struct/avsubtitle.ts +59 -0
  430. package/src/struct/encryption.ts +180 -0
  431. package/src/struct/rational.ts +43 -0
  432. package/src/util/amf.ts +178 -0
  433. package/src/util/av1syntax.ts +112 -0
  434. package/src/util/avbuffer.ts +294 -0
  435. package/src/util/avdict.ts +171 -0
  436. package/src/util/avframe.ts +520 -0
  437. package/src/util/avpacket.ts +313 -0
  438. package/src/util/channel.ts +66 -0
  439. package/src/util/codecparameters.ts +148 -0
  440. package/src/util/common.ts +42 -0
  441. package/src/util/encryption.ts +154 -0
  442. package/src/util/expgolomb.ts +170 -0
  443. package/src/util/intread.ts +60 -0
  444. package/src/util/intwrite.ts +71 -0
  445. package/src/util/mem.ts +60 -0
  446. package/src/util/nalu.ts +297 -0
  447. package/src/util/ntp.ts +32 -0
  448. package/src/util/pcm.ts +161 -0
  449. package/src/util/pixel.ts +381 -0
  450. package/src/util/rational.ts +152 -0
  451. package/src/util/sample.ts +136 -0
  452. package/src/util/serialize.ts +268 -0
  453. package/dist/cjs/AVStream.d.ts +0 -577
  454. package/dist/cjs/audiosamplefmt.d.ts +0 -248
  455. package/dist/cjs/avformat.d.ts +0 -66
  456. package/dist/cjs/codec.d.ts +0 -927
  457. package/dist/cjs/codecs/aac.d.ts +0 -121
  458. package/dist/cjs/codecs/ac3.d.ts +0 -72
  459. package/dist/cjs/codecs/av1.d.ts +0 -75
  460. package/dist/cjs/codecs/dts.d.ts +0 -17
  461. package/dist/cjs/codecs/flac.d.ts +0 -46
  462. package/dist/cjs/codecs/h264.d.ts +0 -188
  463. package/dist/cjs/codecs/hevc.d.ts +0 -220
  464. package/dist/cjs/codecs/mp3.d.ts +0 -17
  465. package/dist/cjs/codecs/mpeg4.d.ts +0 -7
  466. package/dist/cjs/codecs/mpegvideo.d.ts +0 -7
  467. package/dist/cjs/codecs/opus.d.ts +0 -26
  468. package/dist/cjs/codecs/ttml.d.ts +0 -9
  469. package/dist/cjs/codecs/ttml.js +0 -87
  470. package/dist/cjs/codecs/vp8.d.ts +0 -31
  471. package/dist/cjs/codecs/vp9.d.ts +0 -45
  472. package/dist/cjs/codecs/vvc.d.ts +0 -235
  473. package/dist/cjs/constant.d.ts +0 -36
  474. package/dist/cjs/enum.d.ts +0 -3285
  475. package/dist/cjs/error.d.ts +0 -10
  476. package/dist/cjs/function/analyzeAVFormat.d.ts +0 -3
  477. package/dist/cjs/function/analyzeUrlIOLoader.d.ts +0 -7
  478. package/dist/cjs/function/analyzeUrlIOLoader.js +0 -101
  479. package/dist/cjs/function/audioData2AVFrame.d.ts +0 -2
  480. package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +0 -3
  481. package/dist/cjs/function/avframe2AudioData.d.ts +0 -2
  482. package/dist/cjs/function/avframe2VideoFrame.d.ts +0 -5
  483. package/dist/cjs/function/avframe2VideoFrame.js +0 -146
  484. package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +0 -2
  485. package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +0 -2
  486. package/dist/cjs/function/compileResource.d.ts +0 -2
  487. package/dist/cjs/function/compileResource.js +0 -53
  488. package/dist/cjs/function/encodedAudioChunk2AVPacket.d.ts +0 -2
  489. package/dist/cjs/function/encodedAudioChunk2AVPacket.js +0 -23
  490. package/dist/cjs/function/encodedVideoChunk2AVPacket.d.ts +0 -7
  491. package/dist/cjs/function/getAudioCodec.d.ts +0 -2
  492. package/dist/cjs/function/getHardwarePreference.d.ts +0 -1
  493. package/dist/cjs/function/getHardwarePreference.js +0 -16
  494. package/dist/cjs/function/getVideoCodec.d.ts +0 -2
  495. package/dist/cjs/function/getWasmUrl.d.ts +0 -2
  496. package/dist/cjs/function/hasAlphaChannel.d.ts +0 -2
  497. package/dist/cjs/function/isHdr.d.ts +0 -2
  498. package/dist/cjs/function/videoFrame2AVFrame.d.ts +0 -7
  499. package/dist/cjs/function/videoFrame2AVFrame.js +0 -113
  500. package/dist/cjs/implement/AVFramePoolImpl.d.ts +0 -11
  501. package/dist/cjs/implement/AVFramePoolImpl.js +0 -59
  502. package/dist/cjs/implement/AVPCMBufferPoolImpl.d.ts +0 -11
  503. package/dist/cjs/implement/AVPCMBufferPoolImpl.js +0 -57
  504. package/dist/cjs/implement/AVPacketPoolImpl.d.ts +0 -11
  505. package/dist/cjs/implement/AVPacketPoolImpl.js +0 -60
  506. package/dist/cjs/pixelFormatDescriptor.d.ts +0 -100
  507. package/dist/cjs/pixfmt.d.ts +0 -1293
  508. package/dist/cjs/sampleFormatDescriptor.d.ts +0 -6
  509. package/dist/cjs/stringEnum.d.ts +0 -161
  510. package/dist/cjs/struct/audiosample.d.ts +0 -64
  511. package/dist/cjs/struct/avbuffer.d.ts +0 -85
  512. package/dist/cjs/struct/avcodecparameters.d.ts +0 -181
  513. package/dist/cjs/struct/avdict.d.ts +0 -17
  514. package/dist/cjs/struct/avframe.d.ts +0 -559
  515. package/dist/cjs/struct/avpacket.d.ts +0 -124
  516. package/dist/cjs/struct/avpcmbuffer.d.ts +0 -49
  517. package/dist/cjs/struct/avsubtitle.d.ts +0 -30
  518. package/dist/cjs/struct/encryption.d.ts +0 -137
  519. package/dist/cjs/struct/rational.d.ts +0 -15
  520. package/dist/cjs/struct/rational.js +0 -43
  521. package/dist/cjs/util/amf.d.ts +0 -10
  522. package/dist/cjs/util/av1syntax.d.ts +0 -9
  523. package/dist/cjs/util/avbuffer.d.ts +0 -18
  524. package/dist/cjs/util/avbuffer.js +0 -153
  525. package/dist/cjs/util/avdict.d.ts +0 -9
  526. package/dist/cjs/util/avdict.js +0 -111
  527. package/dist/cjs/util/avframe.d.ts +0 -21
  528. package/dist/cjs/util/avpacket.d.ts +0 -24
  529. package/dist/cjs/util/channel.d.ts +0 -5
  530. package/dist/cjs/util/codecparameters.d.ts +0 -4
  531. package/dist/cjs/util/codecparameters.js +0 -70
  532. package/dist/cjs/util/common.d.ts +0 -3
  533. package/dist/cjs/util/crypto.d.ts +0 -1
  534. package/dist/cjs/util/crypto.js +0 -8
  535. package/dist/cjs/util/crypto.js.map +0 -1
  536. package/dist/cjs/util/encryption.d.ts +0 -6
  537. package/dist/cjs/util/expgolomb.d.ts +0 -26
  538. package/dist/cjs/util/intread.d.ts +0 -9
  539. package/dist/cjs/util/intwrite.d.ts +0 -9
  540. package/dist/cjs/util/mem.d.ts +0 -5
  541. package/dist/cjs/util/mem.js +0 -54
  542. package/dist/cjs/util/nalu.d.ts +0 -32
  543. package/dist/cjs/util/ntp.d.ts +0 -1
  544. package/dist/cjs/util/pcm.d.ts +0 -4
  545. package/dist/cjs/util/pixel.d.ts +0 -11
  546. package/dist/cjs/util/rational.d.ts +0 -58
  547. package/dist/cjs/util/sample.d.ts +0 -7
  548. package/dist/cjs/util/serialize.d.ts +0 -63
  549. package/dist/esm/util/crypto.d.ts +0 -1
  550. package/dist/esm/util/crypto.js +0 -4
  551. package/dist/esm/util/crypto.js.map +0 -1
  552. /package/dist/cjs/{audiosamplefmt.js → audiosamplefmt.cjs} +0 -0
  553. /package/dist/cjs/{avformat.js → avformat.cjs} +0 -0
  554. /package/dist/cjs/{codec.js → codec.cjs} +0 -0
  555. /package/dist/cjs/{error.js → error.cjs} +0 -0
  556. /package/dist/cjs/function/{analyzeAVFormat.js → analyzeAVFormat.cjs} +0 -0
  557. /package/dist/cjs/{pixfmt.js → pixfmt.cjs} +0 -0
  558. /package/dist/cjs/{sampleFormatDescriptor.js → sampleFormatDescriptor.cjs} +0 -0
  559. /package/dist/cjs/struct/{avsubtitle.js → avsubtitle.cjs} +0 -0
  560. /package/dist/cjs/util/{av1syntax.js → av1syntax.cjs} +0 -0
  561. /package/dist/cjs/util/{common.js → common.cjs} +0 -0
  562. /package/dist/cjs/util/{expgolomb.js → expgolomb.cjs} +0 -0
  563. /package/dist/cjs/util/{ntp.js → ntp.cjs} +0 -0
  564. /package/dist/cjs/util/{pcm.js → pcm.cjs} +0 -0
package/src/pixfmt.ts ADDED
@@ -0,0 +1,1400 @@
1
+ /*
2
+ * libmedia AVPixelFormat
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
+ export const AVPALETTE_SIZE = 1024
27
+ export const AVPALETTE_COUNT = 256
28
+ export const AV_VIDEO_MAX_PLANES = 4
29
+
30
+ export const enum AVPixelFormat {
31
+ AV_PIX_FMT_NONE = -1,
32
+ /**
33
+ * planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
34
+ */
35
+ AV_PIX_FMT_YUV420P,
36
+ /**
37
+ * packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr
38
+ */
39
+ AV_PIX_FMT_YUYV422,
40
+ /**
41
+ * packed RGB 8:8:8, 24bpp, RGBRGB...
42
+ */
43
+ AV_PIX_FMT_RGB24,
44
+ /**
45
+ * packed RGB 8:8:8, 24bpp, BGRBGR...
46
+ */
47
+ AV_PIX_FMT_BGR24,
48
+ /**
49
+ * planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
50
+ */
51
+ AV_PIX_FMT_YUV422P,
52
+ /**
53
+ * planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
54
+ */
55
+ AV_PIX_FMT_YUV444P,
56
+ /**
57
+ * planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
58
+ */
59
+ AV_PIX_FMT_YUV410P,
60
+ /**
61
+ * planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
62
+ */
63
+ AV_PIX_FMT_YUV411P,
64
+ /**
65
+ * Y 8bpp
66
+ */
67
+ AV_PIX_FMT_GRAY8,
68
+ /**
69
+ * Y 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
70
+ */
71
+ AV_PIX_FMT_MONOWHITE,
72
+ /**
73
+ * Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
74
+ */
75
+ AV_PIX_FMT_MONOBLACK,
76
+ /**
77
+ * 8 bits with AV_PIX_FMT_RGB32 palette
78
+ */
79
+ AV_PIX_FMT_PAL8,
80
+ /**
81
+ * planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range
82
+ */
83
+ AV_PIX_FMT_YUVJ420P,
84
+ /**
85
+ * planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range
86
+ */
87
+ AV_PIX_FMT_YUVJ422P,
88
+ /**
89
+ * planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range
90
+ */
91
+ AV_PIX_FMT_YUVJ444P,
92
+ /**
93
+ * packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
94
+ */
95
+ AV_PIX_FMT_UYVY422,
96
+ /**
97
+ * packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3
98
+ */
99
+ AV_PIX_FMT_UYYVYY411,
100
+ /**
101
+ * packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb)
102
+ */
103
+ AV_PIX_FMT_BGR8,
104
+ /**
105
+ * packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
106
+ */
107
+ AV_PIX_FMT_BGR4,
108
+ /**
109
+ * packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb)
110
+ */
111
+ AV_PIX_FMT_BGR4_BYTE,
112
+ /**
113
+ *
114
+ */
115
+ AV_PIX_FMT_RGB8,
116
+ /**
117
+ * packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits
118
+ */
119
+ AV_PIX_FMT_RGB4,
120
+ /**
121
+ * packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb)
122
+ */
123
+ AV_PIX_FMT_RGB4_BYTE,
124
+ /**
125
+ * planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
126
+ */
127
+ AV_PIX_FMT_NV12,
128
+ /**
129
+ * as above, but U and V bytes are swapped
130
+ */
131
+ AV_PIX_FMT_NV21,
132
+
133
+ /**
134
+ * packed ARGB 8:8:8:8, 32bpp, ARGBARGB...
135
+ */
136
+ AV_PIX_FMT_ARGB,
137
+ /**
138
+ * packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
139
+ */
140
+ AV_PIX_FMT_RGBA,
141
+ /**
142
+ * packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
143
+ */
144
+ AV_PIX_FMT_ABGR,
145
+ /**
146
+ * packed BGRA 8:8:8:8, 32bpp, BGRABGRA...
147
+ */
148
+ AV_PIX_FMT_BGRA,
149
+
150
+ /**
151
+ * Y , 16bpp, big-endian
152
+ */
153
+ AV_PIX_FMT_GRAY16BE,
154
+ /**
155
+ * Y , 16bpp, little-endian
156
+ */
157
+ AV_PIX_FMT_GRAY16LE,
158
+ /**
159
+ * planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
160
+ */
161
+ AV_PIX_FMT_YUV440P,
162
+ /**
163
+ * planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
164
+ */
165
+ AV_PIX_FMT_YUVJ440P,
166
+ /**
167
+ * planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
168
+ */
169
+ AV_PIX_FMT_YUVA420P,
170
+ /**
171
+ * packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian
172
+ */
173
+ AV_PIX_FMT_RGB48BE,
174
+ /**
175
+ * packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian
176
+ */
177
+ AV_PIX_FMT_RGB48LE,
178
+
179
+ /**
180
+ * packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian
181
+ */
182
+ AV_PIX_FMT_RGB565BE,
183
+ /**
184
+ * packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian
185
+ */
186
+ AV_PIX_FMT_RGB565LE,
187
+ /**
188
+ * packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined
189
+ */
190
+ AV_PIX_FMT_RGB555BE,
191
+ /**
192
+ * packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined
193
+ */
194
+ AV_PIX_FMT_RGB555LE,
195
+
196
+ /**
197
+ * packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian
198
+ */
199
+ AV_PIX_FMT_BGR565BE,
200
+ /**
201
+ * packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian
202
+ */
203
+ AV_PIX_FMT_BGR565LE,
204
+ /**
205
+ * packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), big-endian , X=unused/undefined
206
+ */
207
+ AV_PIX_FMT_BGR555BE,
208
+ /**
209
+ * packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), little-endian, X=unused/undefined
210
+ */
211
+ AV_PIX_FMT_BGR555LE,
212
+
213
+ /**
214
+ * Hardware acceleration through VA-API, data[3] contains a
215
+ * VASurfaceID.
216
+ */
217
+ AV_PIX_FMT_VAAPI,
218
+
219
+ /**
220
+ * planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
221
+ */
222
+ AV_PIX_FMT_YUV420P16LE,
223
+ /**
224
+ * planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
225
+ */
226
+ AV_PIX_FMT_YUV420P16BE,
227
+ /**
228
+ * planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
229
+ */
230
+ AV_PIX_FMT_YUV422P16LE,
231
+ /**
232
+ * planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
233
+ */
234
+ AV_PIX_FMT_YUV422P16BE,
235
+ /**
236
+ * planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
237
+ */
238
+ AV_PIX_FMT_YUV444P16LE,
239
+ /**
240
+ * planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
241
+ */
242
+ AV_PIX_FMT_YUV444P16BE,
243
+ /**
244
+ * HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
245
+ */
246
+ AV_PIX_FMT_DXVA2_VLD,
247
+
248
+ /**
249
+ * packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), little-endian, X=unused/undefined
250
+ */
251
+ AV_PIX_FMT_RGB444LE,
252
+ /**
253
+ * packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined
254
+ */
255
+ AV_PIX_FMT_RGB444BE,
256
+ /**
257
+ * packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined
258
+ */
259
+ AV_PIX_FMT_BGR444LE,
260
+ /**
261
+ * packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian, X=unused/undefined
262
+ */
263
+ AV_PIX_FMT_BGR444BE,
264
+ /**
265
+ * 8 bits gray, 8 bits alpha
266
+ */
267
+ AV_PIX_FMT_YA8,
268
+
269
+ /**
270
+ * alias for AV_PIX_FMT_YA8
271
+ */
272
+ AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8,
273
+ /**
274
+ * alias for AV_PIX_FMT_YA8
275
+ */
276
+ AV_PIX_FMT_GRAY8A = AV_PIX_FMT_YA8,
277
+
278
+ /**
279
+ * packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
280
+ */
281
+ AV_PIX_FMT_BGR48BE,
282
+ /**
283
+ * packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
284
+ */
285
+ AV_PIX_FMT_BGR48LE,
286
+
287
+ /**
288
+ * The following 12 formats have the disadvantage of needing 1 format for each bit depth.
289
+ * Notice that each 9/10 bits sample is stored in 16 bits with extra padding.
290
+ * If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately is better.
291
+ */
292
+
293
+ /**
294
+ * planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
295
+ */
296
+ AV_PIX_FMT_YUV420P9BE,
297
+ /**
298
+ * planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
299
+ */
300
+ AV_PIX_FMT_YUV420P9LE,
301
+ /**
302
+ * planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
303
+ */
304
+ AV_PIX_FMT_YUV420P10BE,
305
+ /**
306
+ * planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
307
+ */
308
+ AV_PIX_FMT_YUV420P10LE,
309
+ /**
310
+ * planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
311
+ */
312
+ AV_PIX_FMT_YUV422P10BE,
313
+ /**
314
+ * planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
315
+ */
316
+ AV_PIX_FMT_YUV422P10LE,
317
+ /**
318
+ * planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
319
+ */
320
+ AV_PIX_FMT_YUV444P9BE,
321
+ /**
322
+ * planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
323
+ */
324
+ AV_PIX_FMT_YUV444P9LE,
325
+ /**
326
+ * planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
327
+ */
328
+ AV_PIX_FMT_YUV444P10BE,
329
+ /**
330
+ * planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
331
+ */
332
+ AV_PIX_FMT_YUV444P10LE,
333
+ /**
334
+ * planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
335
+ */
336
+ AV_PIX_FMT_YUV422P9BE,
337
+ /**
338
+ * planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
339
+ */
340
+ AV_PIX_FMT_YUV422P9LE,
341
+ /**
342
+ * planar GBR 4:4:4 24bpp
343
+ */
344
+ AV_PIX_FMT_GBRP,
345
+ /**
346
+ * alias for #AV_PIX_FMT_GBRP
347
+ */
348
+ AV_PIX_FMT_GBR24P = AV_PIX_FMT_GBRP,
349
+ /**
350
+ * planar GBR 4:4:4 27bpp, big-endian
351
+ */
352
+ AV_PIX_FMT_GBRP9BE,
353
+ /**
354
+ * planar GBR 4:4:4 27bpp, little-endian
355
+ */
356
+ AV_PIX_FMT_GBRP9LE,
357
+ /**
358
+ * planar GBR 4:4:4 30bpp, big-endian
359
+ */
360
+ AV_PIX_FMT_GBRP10BE,
361
+ /**
362
+ * planar GBR 4:4:4 30bpp, little-endian
363
+ */
364
+ AV_PIX_FMT_GBRP10LE,
365
+ /**
366
+ * planar GBR 4:4:4 48bpp, big-endian
367
+ */
368
+ AV_PIX_FMT_GBRP16BE,
369
+ /**
370
+ * planar GBR 4:4:4 48bpp, little-endian
371
+ */
372
+ AV_PIX_FMT_GBRP16LE,
373
+ /**
374
+ * planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
375
+ */
376
+ AV_PIX_FMT_YUVA422P,
377
+ /**
378
+ * planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
379
+ */
380
+ AV_PIX_FMT_YUVA444P,
381
+ /**
382
+ * planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian
383
+ */
384
+ AV_PIX_FMT_YUVA420P9BE,
385
+ /**
386
+ * planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian
387
+ */
388
+ AV_PIX_FMT_YUVA420P9LE,
389
+ /**
390
+ * planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian
391
+ */
392
+ AV_PIX_FMT_YUVA422P9BE,
393
+ /**
394
+ * planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian
395
+ */
396
+ AV_PIX_FMT_YUVA422P9LE,
397
+ /**
398
+ * planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian
399
+ */
400
+ AV_PIX_FMT_YUVA444P9BE,
401
+ /**
402
+ * planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian
403
+ */
404
+ AV_PIX_FMT_YUVA444P9LE,
405
+ /**
406
+ * planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
407
+ */
408
+ AV_PIX_FMT_YUVA420P10BE,
409
+ /**
410
+ * planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
411
+ */
412
+ AV_PIX_FMT_YUVA420P10LE,
413
+ /**
414
+ * planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
415
+ */
416
+ AV_PIX_FMT_YUVA422P10BE,
417
+ /**
418
+ * planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
419
+ */
420
+ AV_PIX_FMT_YUVA422P10LE,
421
+ /**
422
+ * planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
423
+ */
424
+ AV_PIX_FMT_YUVA444P10BE,
425
+ /**
426
+ * planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
427
+ */
428
+ AV_PIX_FMT_YUVA444P10LE,
429
+ /**
430
+ * planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian)
431
+ */
432
+ AV_PIX_FMT_YUVA420P16BE,
433
+ /**
434
+ * planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian)
435
+ */
436
+ AV_PIX_FMT_YUVA420P16LE,
437
+ /**
438
+ * planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian)
439
+ */
440
+ AV_PIX_FMT_YUVA422P16BE,
441
+ /**
442
+ * planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian)
443
+ */
444
+ AV_PIX_FMT_YUVA422P16LE,
445
+ /**
446
+ * planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian)
447
+ */
448
+ AV_PIX_FMT_YUVA444P16BE,
449
+ /**
450
+ * planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian)
451
+ */
452
+ AV_PIX_FMT_YUVA444P16LE,
453
+
454
+ /**
455
+ * HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface
456
+ */
457
+ AV_PIX_FMT_VDPAU,
458
+
459
+ /**
460
+ * packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0
461
+ */
462
+ AV_PIX_FMT_XYZ12LE,
463
+ /**
464
+ * packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0
465
+ */
466
+ AV_PIX_FMT_XYZ12BE,
467
+ /**
468
+ * interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
469
+ */
470
+ AV_PIX_FMT_NV16,
471
+ /**
472
+ * interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
473
+ */
474
+ AV_PIX_FMT_NV20LE,
475
+ /**
476
+ * interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
477
+ */
478
+ AV_PIX_FMT_NV20BE,
479
+
480
+ /**
481
+ * packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
482
+ */
483
+ AV_PIX_FMT_RGBA64BE,
484
+ /**
485
+ * packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
486
+ */
487
+ AV_PIX_FMT_RGBA64LE,
488
+ /**
489
+ * packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian
490
+ */
491
+ AV_PIX_FMT_BGRA64BE,
492
+ /**
493
+ * packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian
494
+ */
495
+ AV_PIX_FMT_BGRA64LE,
496
+
497
+ /**
498
+ * packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb
499
+ */
500
+ AV_PIX_FMT_YVYU422,
501
+
502
+ /**
503
+ * 16 bits gray, 16 bits alpha (big-endian)
504
+ */
505
+ AV_PIX_FMT_YA16BE,
506
+ /**
507
+ * 16 bits gray, 16 bits alpha (little-endian)
508
+ */
509
+ AV_PIX_FMT_YA16LE,
510
+
511
+ /**
512
+ * planar GBRA 4:4:4:4 32bpp
513
+ */
514
+ AV_PIX_FMT_GBRAP,
515
+ /**
516
+ * planar GBRA 4:4:4:4 64bpp, big-endian
517
+ */
518
+ AV_PIX_FMT_GBRAP16BE,
519
+ /**
520
+ * planar GBRA 4:4:4:4 64bpp, little-endian
521
+ */
522
+ AV_PIX_FMT_GBRAP16LE,
523
+ /**
524
+ * HW acceleration through QSV, data[3] contains a pointer to the
525
+ * mfxFrameSurface1 structure.
526
+ *
527
+ * Before FFmpeg 5.0:
528
+ * mfxFrameSurface1.Data.MemId contains a pointer when importing
529
+ * the following frames as QSV frames:
530
+ *
531
+ * VAAPI:
532
+ * mfxFrameSurface1.Data.MemId contains a pointer to VASurfaceID
533
+ *
534
+ * DXVA2:
535
+ * mfxFrameSurface1.Data.MemId contains a pointer to IDirect3DSurface9
536
+ *
537
+ * FFmpeg 5.0 and above:
538
+ * mfxFrameSurface1.Data.MemId contains a pointer to the mfxHDLPair
539
+ * structure when importing the following frames as QSV frames:
540
+ *
541
+ * VAAPI:
542
+ * mfxHDLPair.first contains a VASurfaceID pointer.
543
+ * mfxHDLPair.second is always MFX_INFINITE.
544
+ *
545
+ * DXVA2:
546
+ * mfxHDLPair.first contains IDirect3DSurface9 pointer.
547
+ * mfxHDLPair.second is always MFX_INFINITE.
548
+ *
549
+ * D3D11:
550
+ * mfxHDLPair.first contains a ID3D11Texture2D pointer.
551
+ * mfxHDLPair.second contains the texture array index of the frame if the
552
+ * ID3D11Texture2D is an array texture, or always MFX_INFINITE if it is a
553
+ * normal texture.
554
+ */
555
+ AV_PIX_FMT_QSV,
556
+ /**
557
+ * HW acceleration though MMAL, data[3] contains a pointer to the
558
+ * MMAL_BUFFER_HEADER_T structure.
559
+ */
560
+ AV_PIX_FMT_MMAL,
561
+
562
+ /**
563
+ * HW decoding through Direct3D11 via old API, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer
564
+ */
565
+ AV_PIX_FMT_D3D11VA_VLD,
566
+
567
+ /**
568
+ * HW acceleration through CUDA. data[i] contain CUdeviceptr pointers
569
+ * exactly as for system memory frames.
570
+ */
571
+ AV_PIX_FMT_CUDA,
572
+
573
+ /**
574
+ * packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined
575
+ */
576
+ AV_PIX_FMT_0RGB,
577
+ /**
578
+ * packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined
579
+ */
580
+ AV_PIX_FMT_RGB0,
581
+ /**
582
+ * packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined
583
+ */
584
+ AV_PIX_FMT_0BGR,
585
+ /**
586
+ * packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined
587
+ */
588
+ AV_PIX_FMT_BGR0,
589
+
590
+ /**
591
+ * planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
592
+ */
593
+ AV_PIX_FMT_YUV420P12BE,
594
+ /**
595
+ * planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
596
+ */
597
+ AV_PIX_FMT_YUV420P12LE,
598
+ /**
599
+ * planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
600
+ */
601
+ AV_PIX_FMT_YUV420P14BE,
602
+ /**
603
+ * planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
604
+ */
605
+ AV_PIX_FMT_YUV420P14LE,
606
+ /**
607
+ * planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
608
+ */
609
+ AV_PIX_FMT_YUV422P12BE,
610
+ /**
611
+ * planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
612
+ */
613
+ AV_PIX_FMT_YUV422P12LE,
614
+ /**
615
+ * planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
616
+ */
617
+ AV_PIX_FMT_YUV422P14BE,
618
+ /**
619
+ * planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
620
+ */
621
+ AV_PIX_FMT_YUV422P14LE,
622
+ /**
623
+ * planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
624
+ */
625
+ AV_PIX_FMT_YUV444P12BE,
626
+ /**
627
+ * planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
628
+ */
629
+ AV_PIX_FMT_YUV444P12LE,
630
+ /**
631
+ * planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
632
+ */
633
+ AV_PIX_FMT_YUV444P14BE,
634
+ /**
635
+ * planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
636
+ */
637
+ AV_PIX_FMT_YUV444P14LE,
638
+ /**
639
+ * planar GBR 4:4:4 36bpp, big-endian
640
+ */
641
+ AV_PIX_FMT_GBRP12BE,
642
+ /**
643
+ * planar GBR 4:4:4 36bpp, little-endian
644
+ */
645
+ AV_PIX_FMT_GBRP12LE,
646
+ /**
647
+ * planar GBR 4:4:4 42bpp, big-endian
648
+ */
649
+ AV_PIX_FMT_GBRP14BE,
650
+ /**
651
+ * planar GBR 4:4:4 42bpp, little-endian
652
+ */
653
+ AV_PIX_FMT_GBRP14LE,
654
+ /**
655
+ * planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range
656
+ */
657
+ AV_PIX_FMT_YUVJ411P,
658
+
659
+ /**
660
+ * bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples
661
+ */
662
+ AV_PIX_FMT_BAYER_BGGR8,
663
+ /**
664
+ * bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples
665
+ */
666
+ AV_PIX_FMT_BAYER_RGGB8,
667
+ /**
668
+ * bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples
669
+ */
670
+ AV_PIX_FMT_BAYER_GBRG8,
671
+ /**
672
+ * bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples
673
+ */
674
+ AV_PIX_FMT_BAYER_GRBG8,
675
+ /**
676
+ * bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian
677
+ */
678
+ AV_PIX_FMT_BAYER_BGGR16LE,
679
+ /**
680
+ * bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian
681
+ */
682
+ AV_PIX_FMT_BAYER_BGGR16BE,
683
+ /**
684
+ * bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian
685
+ */
686
+ AV_PIX_FMT_BAYER_RGGB16LE,
687
+ /**
688
+ * bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian
689
+ */
690
+ AV_PIX_FMT_BAYER_RGGB16BE,
691
+ /**
692
+ * bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian
693
+ */
694
+ AV_PIX_FMT_BAYER_GBRG16LE,
695
+ /**
696
+ * bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian
697
+ */
698
+ AV_PIX_FMT_BAYER_GBRG16BE,
699
+ /**
700
+ * bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian
701
+ */
702
+ AV_PIX_FMT_BAYER_GRBG16LE,
703
+ /**
704
+ * bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian
705
+ */
706
+ AV_PIX_FMT_BAYER_GRBG16BE,
707
+
708
+ /**
709
+ * planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
710
+ */
711
+ AV_PIX_FMT_YUV440P10LE,
712
+ /**
713
+ * planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
714
+ */
715
+ AV_PIX_FMT_YUV440P10BE,
716
+ /**
717
+ * planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian
718
+ */
719
+ AV_PIX_FMT_YUV440P12LE,
720
+ /**
721
+ * planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian
722
+ */
723
+ AV_PIX_FMT_YUV440P12BE,
724
+ /**
725
+ * packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian
726
+ */
727
+ AV_PIX_FMT_AYUV64LE,
728
+ /**
729
+ * packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian
730
+ */
731
+ AV_PIX_FMT_AYUV64BE,
732
+
733
+ /**
734
+ * hardware decoding through Videotoolbox
735
+ */
736
+ AV_PIX_FMT_VIDEOTOOLBOX,
737
+
738
+ /**
739
+ * like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian
740
+ */
741
+ AV_PIX_FMT_P010LE,
742
+ /**
743
+ * like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian
744
+ */
745
+ AV_PIX_FMT_P010BE,
746
+
747
+ /**
748
+ * planar GBR 4:4:4:4 48bpp, big-endian
749
+ */
750
+ AV_PIX_FMT_GBRAP12BE,
751
+ /**
752
+ * planar GBR 4:4:4:4 48bpp, little-endian
753
+ */
754
+ AV_PIX_FMT_GBRAP12LE,
755
+
756
+ /**
757
+ * planar GBR 4:4:4:4 40bpp, big-endian
758
+ */
759
+ AV_PIX_FMT_GBRAP10BE,
760
+ /**
761
+ * planar GBR 4:4:4:4 40bpp, little-endian
762
+ */
763
+ AV_PIX_FMT_GBRAP10LE,
764
+
765
+ /**
766
+ * hardware decoding through MediaCodec
767
+ */
768
+ AV_PIX_FMT_MEDIACODEC,
769
+
770
+ /**
771
+ * Y , 12bpp, big-endian
772
+ */
773
+ AV_PIX_FMT_GRAY12BE,
774
+ /**
775
+ * Y , 12bpp, little-endian
776
+ */
777
+ AV_PIX_FMT_GRAY12LE,
778
+ /**
779
+ * Y , 10bpp, big-endian
780
+ */
781
+ AV_PIX_FMT_GRAY10BE,
782
+ /**
783
+ * Y , 10bpp, little-endian
784
+ */
785
+ AV_PIX_FMT_GRAY10LE,
786
+
787
+ /**
788
+ * like NV12, with 16bpp per component, little-endian
789
+ */
790
+ AV_PIX_FMT_P016LE,
791
+ /**
792
+ * like NV12, with 16bpp per component, big-endian
793
+ */
794
+ AV_PIX_FMT_P016BE,
795
+
796
+ /**
797
+ * Hardware surfaces for Direct3D11.
798
+ *
799
+ * This is preferred over the legacy AV_PIX_FMT_D3D11VA_VLD. The new D3D11
800
+ * hwaccel API and filtering support AV_PIX_FMT_D3D11 only.
801
+ *
802
+ * data[0] contains a ID3D11Texture2D pointer, and data[1] contains the
803
+ * texture array index of the frame as intptr_t if the ID3D11Texture2D is
804
+ * an array texture (or always 0 if it's a normal texture).
805
+ */
806
+ AV_PIX_FMT_D3D11,
807
+
808
+ /**
809
+ * Y, 9bpp, big-endian
810
+ */
811
+ AV_PIX_FMT_GRAY9BE,
812
+ /**
813
+ * Y , 9bpp, little-endian
814
+ */
815
+ AV_PIX_FMT_GRAY9LE,
816
+
817
+ /**
818
+ * IEEE-754 single precision planar GBR 4:4:4, 96bpp, big-endian
819
+ */
820
+ AV_PIX_FMT_GBRPF32BE,
821
+ /**
822
+ * IEEE-754 single precision planar GBR 4:4:4, 96bpp, little-endian
823
+ */
824
+ AV_PIX_FMT_GBRPF32LE,
825
+ /**
826
+ * IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian
827
+ */
828
+ AV_PIX_FMT_GBRAPF32BE,
829
+ /**
830
+ * IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian
831
+ */
832
+ AV_PIX_FMT_GBRAPF32LE,
833
+
834
+ /**
835
+ * DRM-managed buffers exposed through PRIME buffer sharing.
836
+ *
837
+ * data[0] points to an AVDRMFrameDescriptor.
838
+ */
839
+ AV_PIX_FMT_DRM_PRIME,
840
+ /**
841
+ * Hardware surfaces for OpenCL.
842
+ *
843
+ * data[i] contain 2D image objects (typed in C as cl_mem, used
844
+ * in OpenCL as image2d_t) for each plane of the surface.
845
+ */
846
+ AV_PIX_FMT_OPENCL,
847
+
848
+ /**
849
+ * Y , 14bpp, big-endian
850
+ */
851
+ AV_PIX_FMT_GRAY14BE,
852
+ /**
853
+ * Y 14bpp, little-endian
854
+ */
855
+ AV_PIX_FMT_GRAY14LE,
856
+
857
+ /**
858
+ * IEEE-754 single precision Y, 32bpp, big-endian
859
+ */
860
+ AV_PIX_FMT_GRAYF32BE,
861
+ /**
862
+ * IEEE-754 single precision Y, 32bpp, little-endian
863
+ */
864
+ AV_PIX_FMT_GRAYF32LE,
865
+
866
+ /**
867
+ * lanar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, big-endian
868
+ */
869
+ AV_PIX_FMT_YUVA422P12BE,
870
+ /**
871
+ * planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, little-endian
872
+ */
873
+ AV_PIX_FMT_YUVA422P12LE,
874
+ /**
875
+ * planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, big-endian
876
+ */
877
+ AV_PIX_FMT_YUVA444P12BE,
878
+ /**
879
+ * planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), 12b alpha, little-endian
880
+ */
881
+ AV_PIX_FMT_YUVA444P12LE,
882
+
883
+ /**
884
+ * planar YUV 4:4:4, 24bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)
885
+ */
886
+ AV_PIX_FMT_NV24,
887
+ /**
888
+ * as above, but U and V bytes are swapped
889
+ */
890
+ AV_PIX_FMT_NV42,
891
+
892
+ /**
893
+ * Vulkan hardware images.
894
+ *
895
+ * data[0] points to an AVVkFrame
896
+ */
897
+ AV_PIX_FMT_VULKAN,
898
+
899
+ /**
900
+ * packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, big-endian
901
+ */
902
+ AV_PIX_FMT_Y210BE,
903
+ /**
904
+ * packed YUV 4:2:2 like YUYV422, 20bpp, data in the high bits, little-endian
905
+ */
906
+ AV_PIX_FMT_Y210LE,
907
+
908
+ /**
909
+ * packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), little-endian, X=unused/undefined
910
+ */
911
+ AV_PIX_FMT_X2RGB10LE,
912
+ /**
913
+ * packed RGB 10:10:10, 30bpp, (msb)2X 10R 10G 10B(lsb), big-endian, X=unused/undefined
914
+ */
915
+ AV_PIX_FMT_X2RGB10BE,
916
+ /**
917
+ * packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), little-endian, X=unused/undefined
918
+ */
919
+ AV_PIX_FMT_X2BGR10LE,
920
+ /**
921
+ * packed BGR 10:10:10, 30bpp, (msb)2X 10B 10G 10R(lsb), big-endian, X=unused/undefined
922
+ */
923
+ AV_PIX_FMT_X2BGR10BE,
924
+
925
+ /**
926
+ * interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, big-endian
927
+ */
928
+ AV_PIX_FMT_P210BE,
929
+ /**
930
+ * interleaved chroma YUV 4:2:2, 20bpp, data in the high bits, little-endian
931
+ */
932
+ AV_PIX_FMT_P210LE,
933
+
934
+ /**
935
+ * interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, big-endian
936
+ */
937
+ AV_PIX_FMT_P410BE,
938
+ /**
939
+ * interleaved chroma YUV 4:4:4, 30bpp, data in the high bits, little-endian
940
+ */
941
+ AV_PIX_FMT_P410LE,
942
+
943
+ /**
944
+ * interleaved chroma YUV 4:2:2, 32bpp, big-endian
945
+ */
946
+ AV_PIX_FMT_P216BE,
947
+ /**
948
+ * interleaved chroma YUV 4:2:2, 32bpp, little-endian
949
+ */
950
+ AV_PIX_FMT_P216LE,
951
+
952
+ /**
953
+ * interleaved chroma YUV 4:4:4, 48bpp, big-endian
954
+ */
955
+ AV_PIX_FMT_P416BE,
956
+ /**
957
+ * interleaved chroma YUV 4:4:4, 48bpp, little-endian
958
+ */
959
+ AV_PIX_FMT_P416LE,
960
+
961
+ /**
962
+ * packed VUYA 4:4:4, 32bpp, VUYAVUYA...
963
+ */
964
+ AV_PIX_FMT_VUYA,
965
+
966
+ /**
967
+ * IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian
968
+ */
969
+ AV_PIX_FMT_RGBAF16BE,
970
+ /**
971
+ * IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian
972
+ */
973
+ AV_PIX_FMT_RGBAF16LE,
974
+
975
+ /**
976
+ * packed VUYX 4:4:4, 32bpp, Variant of VUYA where alpha channel is left undefined
977
+ */
978
+ AV_PIX_FMT_VUYX,
979
+
980
+ /**
981
+ * like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, little-endian
982
+ */
983
+ AV_PIX_FMT_P012LE,
984
+ /**
985
+ * like NV12, with 12bpp per component, data in the high bits, zeros in the low bits, big-endian
986
+ */
987
+ AV_PIX_FMT_P012BE,
988
+
989
+ /**
990
+ * packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, big-endian
991
+ */
992
+ AV_PIX_FMT_Y212BE,
993
+ /**
994
+ * packed YUV 4:2:2 like YUYV422, 24bpp, data in the high bits, zeros in the low bits, little-endian
995
+ */
996
+ AV_PIX_FMT_Y212LE,
997
+
998
+ /**
999
+ * packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), big-endian, variant of Y410 where alpha channel is left undefined
1000
+ */
1001
+ AV_PIX_FMT_XV30BE,
1002
+ /**
1003
+ * packed XVYU 4:4:4, 32bpp, (msb)2X 10V 10Y 10U(lsb), little-endian, variant of Y410 where alpha channel is left undefined
1004
+ */
1005
+ AV_PIX_FMT_XV30LE,
1006
+
1007
+ /**
1008
+ * packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, big-endian, variant of Y412 where alpha channel is left undefined
1009
+ */
1010
+ AV_PIX_FMT_XV36BE,
1011
+ /**
1012
+ * packed XVYU 4:4:4, 48bpp, data in the high bits, zeros in the low bits, little-endian, variant of Y412 where alpha channel is left undefined
1013
+ */
1014
+ AV_PIX_FMT_XV36LE,
1015
+
1016
+ /**
1017
+ * IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., big-endian
1018
+ */
1019
+ AV_PIX_FMT_RGBF32BE,
1020
+ /**
1021
+ * IEEE-754 single precision packed RGB 32:32:32, 96bpp, RGBRGB..., little-endian
1022
+ */
1023
+ AV_PIX_FMT_RGBF32LE,
1024
+
1025
+ /**
1026
+ * IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., big-endian
1027
+ */
1028
+ AV_PIX_FMT_RGBAF32BE,
1029
+ /**
1030
+ * IEEE-754 single precision packed RGBA 32:32:32:32, 128bpp, RGBARGBA..., little-endian
1031
+ */
1032
+ AV_PIX_FMT_RGBAF32LE,
1033
+
1034
+ /**
1035
+ * interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, big-endian
1036
+ */
1037
+ AV_PIX_FMT_P212BE,
1038
+ /**
1039
+ * interleaved chroma YUV 4:2:2, 24bpp, data in the high bits, little-endian
1040
+ */
1041
+ AV_PIX_FMT_P212LE,
1042
+
1043
+ /**
1044
+ * interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, big-endian
1045
+ */
1046
+ AV_PIX_FMT_P412BE,
1047
+ /**
1048
+ * interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, little-endian
1049
+ */
1050
+ AV_PIX_FMT_P412LE,
1051
+
1052
+ /**
1053
+ * planar GBR 4:4:4:4 56bpp, big-endian
1054
+ */
1055
+ AV_PIX_FMT_GBRAP14BE,
1056
+ /**
1057
+ * planar GBR 4:4:4:4 56bpp, little-endian
1058
+ */
1059
+ AV_PIX_FMT_GBRAP14LE,
1060
+
1061
+ /**
1062
+ * Hardware surfaces for Direct3D 12.
1063
+ *
1064
+ * data[0] points to an AVD3D12VAFrame
1065
+ */
1066
+ AV_PIX_FMT_D3D12,
1067
+
1068
+ /**
1069
+ * number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
1070
+ */
1071
+ AV_PIX_FMT_NB,
1072
+
1073
+ /**
1074
+ * planar YUVA 4:2:0,48bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, little-endian
1075
+ */
1076
+ AV_PIX_FMT_YUVA420P12LE,
1077
+ /**
1078
+ * planar YUVA 4:2:0,48bpp, (1 Cr & Cb sample per 2x1 Y samples), 12b alpha, big-endian
1079
+ */
1080
+ AV_PIX_FMT_YUVA420P12BE
1081
+ }
1082
+
1083
+ /**
1084
+ * Chromaticity coordinates of the source primaries.
1085
+ * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.1 and ITU-T H.273.
1086
+ */
1087
+ export const enum AVColorPrimaries {
1088
+ AVCOL_PRI_RESERVED0 = 0,
1089
+ /**
1090
+ * also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B
1091
+ */
1092
+ AVCOL_PRI_BT709 = 1,
1093
+ AVCOL_PRI_UNSPECIFIED = 2,
1094
+ AVCOL_PRI_RESERVED = 3,
1095
+ /**
1096
+ * also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
1097
+ */
1098
+ AVCOL_PRI_BT470M = 4,
1099
+
1100
+ /**
1101
+ * also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
1102
+ */
1103
+ AVCOL_PRI_BT470BG = 5,
1104
+ /**
1105
+ * also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
1106
+ */
1107
+ AVCOL_PRI_SMPTE170M = 6,
1108
+ /**
1109
+ * identical to above, also called "SMPTE C" even though it uses D65
1110
+ */
1111
+ AVCOL_PRI_SMPTE240M = 7,
1112
+ /**
1113
+ * colour filters using Illuminant C
1114
+ */
1115
+ AVCOL_PRI_FILM = 8,
1116
+ /**
1117
+ * ITU-R BT2020
1118
+ */
1119
+ AVCOL_PRI_BT2020 = 9,
1120
+ /**
1121
+ * SMPTE ST 428-1 (CIE 1931 XYZ)
1122
+ */
1123
+ AVCOL_PRI_SMPTE428 = 10,
1124
+ AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428,
1125
+ /**
1126
+ * SMPTE ST 431-2 (2011) / DCI P3
1127
+ */
1128
+ AVCOL_PRI_SMPTE431 = 11,
1129
+ /**
1130
+ * SMPTE ST 432-1 (2010) / P3 D65 / Display P3
1131
+ */
1132
+ AVCOL_PRI_SMPTE432 = 12,
1133
+ /**
1134
+ * EBU Tech. 3213-E (nothing there) / one of JEDEC P22 group phosphors
1135
+ */
1136
+ AVCOL_PRI_EBU3213 = 22,
1137
+ AVCOL_PRI_JEDEC_P22 = AVCOL_PRI_EBU3213,
1138
+ /**
1139
+ * Not part of ABI
1140
+ */
1141
+ AVCOL_PRI_NB
1142
+ }
1143
+
1144
+ /**
1145
+ * Color Transfer Characteristic.
1146
+ * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.2.
1147
+ */
1148
+ export const enum AVColorTransferCharacteristic {
1149
+ AVCOL_TRC_RESERVED0 = 0,
1150
+ /**
1151
+ * also ITU-R BT1361
1152
+ */
1153
+ AVCOL_TRC_BT709 = 1,
1154
+ AVCOL_TRC_UNSPECIFIED = 2,
1155
+ AVCOL_TRC_RESERVED = 3,
1156
+ /**
1157
+ * also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
1158
+ */
1159
+ AVCOL_TRC_GAMMA22 = 4,
1160
+ /**
1161
+ * also ITU-R BT470BG
1162
+ */
1163
+ AVCOL_TRC_GAMMA28 = 5,
1164
+ /**
1165
+ * also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
1166
+ */
1167
+ AVCOL_TRC_SMPTE170M = 6,
1168
+ AVCOL_TRC_SMPTE240M = 7,
1169
+ /**
1170
+ * Linear transfer characteristics
1171
+ */
1172
+ AVCOL_TRC_LINEAR = 8,
1173
+ /**
1174
+ * Logarithmic transfer characteristic (100:1 range)
1175
+ */
1176
+ AVCOL_TRC_LOG = 9,
1177
+ /**
1178
+ * Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)
1179
+ */
1180
+ AVCOL_TRC_LOG_SQRT = 10,
1181
+ /**
1182
+ * IEC 61966-2-4
1183
+ */
1184
+ AVCOL_TRC_IEC61966_2_4 = 11,
1185
+ /**
1186
+ * ITU-R BT1361 Extended Colour Gamut
1187
+ */
1188
+ AVCOL_TRC_BT1361_ECG = 12,
1189
+ /**
1190
+ * IEC 61966-2-1 (sRGB or sYCC)
1191
+ */
1192
+ AVCOL_TRC_IEC61966_2_1 = 13,
1193
+ /**
1194
+ * ITU-R BT2020 for 10-bit system
1195
+ */
1196
+ AVCOL_TRC_BT2020_10 = 14,
1197
+ /**
1198
+ * ITU-R BT2020 for 12-bit system
1199
+ */
1200
+ AVCOL_TRC_BT2020_12 = 15,
1201
+ /**
1202
+ * SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems
1203
+ */
1204
+ AVCOL_TRC_SMPTE2084 = 16,
1205
+ AVCOL_TRC_SMPTEST2084 = AVCOL_TRC_SMPTE2084,
1206
+ /**
1207
+ * SMPTE ST 428-1
1208
+ */
1209
+ AVCOL_TRC_SMPTE428 = 17,
1210
+ AVCOL_TRC_SMPTEST428_1 = AVCOL_TRC_SMPTE428,
1211
+ /**
1212
+ * ARIB STD-B67, known as "Hybrid log-gamma"
1213
+ */
1214
+ AVCOL_TRC_ARIB_STD_B67 = 18,
1215
+ /**
1216
+ * Not part of ABI
1217
+ */
1218
+ AVCOL_TRC_NB
1219
+ }
1220
+
1221
+ /**
1222
+ * YUV colorspace type.
1223
+ * These values match the ones defined by ISO/IEC 23091-2_2019 subclause 8.3.
1224
+ */
1225
+ export const enum AVColorSpace {
1226
+ /**
1227
+ * order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB), YZX and ST 428-1
1228
+ */
1229
+ AVCOL_SPC_RGB = 0,
1230
+ /**
1231
+ * also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B
1232
+ */
1233
+ AVCOL_SPC_BT709 = 1,
1234
+ AVCOL_SPC_UNSPECIFIED = 2,
1235
+ /**
1236
+ * reserved for future use by ITU-T and ISO/IEC just like 15-255 are
1237
+ */
1238
+ AVCOL_SPC_RESERVED = 3,
1239
+ /**
1240
+ * FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
1241
+ */
1242
+ AVCOL_SPC_FCC = 4,
1243
+ /**
1244
+ * also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
1245
+ */
1246
+ AVCOL_SPC_BT470BG = 5,
1247
+ /**
1248
+ * also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
1249
+ */
1250
+ AVCOL_SPC_SMPTE170M = 6,
1251
+ /**
1252
+ * derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries
1253
+ */
1254
+ AVCOL_SPC_SMPTE240M = 7,
1255
+ /**
1256
+ * used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16
1257
+ */
1258
+ AVCOL_SPC_YCGCO = 8,
1259
+ AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO,
1260
+ /**
1261
+ * ITU-R BT2020 non-constant luminance system
1262
+ */
1263
+ AVCOL_SPC_BT2020_NCL = 9,
1264
+ /**
1265
+ * ITU-R BT2020 constant luminance system
1266
+ */
1267
+ AVCOL_SPC_BT2020_CL = 10,
1268
+ /**
1269
+ * SMPTE 2085, Y'D'zD'x
1270
+ */
1271
+ AVCOL_SPC_SMPTE2085 = 11,
1272
+ /**
1273
+ * Chromaticity-derived non-constant luminance system
1274
+ */
1275
+ AVCOL_SPC_CHROMA_DERIVED_NCL = 12,
1276
+ /**
1277
+ * Chromaticity-derived constant luminance system
1278
+ */
1279
+ AVCOL_SPC_CHROMA_DERIVED_CL = 13,
1280
+ /**
1281
+ * ITU-R BT.2100-0, ICtCp
1282
+ */
1283
+ AVCOL_SPC_ICTCP = 14,
1284
+ /**
1285
+ * Not part of ABI
1286
+ */
1287
+ AVCOL_SPC_NB
1288
+ }
1289
+
1290
+ /**
1291
+ * Visual content value range.
1292
+ *
1293
+ * These values are based on definitions that can be found in multiple
1294
+ * specifications, such as ITU-T BT.709 (3.4 - Quantization of RGB, luminance
1295
+ * and colour-difference signals), ITU-T BT.2020 (Table 5 - Digital
1296
+ * Representation) as well as ITU-T BT.2100 (Table 9 - Digital 10- and 12-bit
1297
+ * integer representation). At the time of writing, the BT.2100 one is
1298
+ * recommended, as it also defines the full range representation.
1299
+ *
1300
+ * Common definitions:
1301
+ * - For RGB and luma planes such as Y in YCbCr and I in ICtCp,
1302
+ * 'E' is the original value in range of 0.0 to 1.0.
1303
+ * - For chroma planes such as Cb, Cr and Ct, Cp, 'E' is the original
1304
+ * value in range of -0.5 to 0.5.
1305
+ * - 'n' is the output bit depth.
1306
+ * - For additional definitions such as rounding and clipping to valid n
1307
+ * bit unsigned integer range, please refer to BT.2100 (Table 9).
1308
+ */
1309
+ export const enum AVColorRange {
1310
+ AVCOL_RANGE_UNSPECIFIED = 0,
1311
+
1312
+ /**
1313
+ * Narrow or limited range content.
1314
+ *
1315
+ * - For luma planes:
1316
+ *
1317
+ * (219 * E + 16) * 2^(n-8)
1318
+ *
1319
+ * F.ex. the range of 16-235 for 8 bits
1320
+ *
1321
+ * - For chroma planes:
1322
+ *
1323
+ * (224 * E + 128) * 2^(n-8)
1324
+ *
1325
+ * F.ex. the range of 16-240 for 8 bits
1326
+ */
1327
+ AVCOL_RANGE_MPEG = 1,
1328
+
1329
+ /**
1330
+ * Full range content.
1331
+ *
1332
+ * - For RGB and luma planes:
1333
+ *
1334
+ * (2^n - 1) * E
1335
+ *
1336
+ * F.ex. the range of 0-255 for 8 bits
1337
+ *
1338
+ * - For chroma planes:
1339
+ *
1340
+ * (2^n - 1) * E + 2^(n - 1)
1341
+ *
1342
+ * F.ex. the range of 1-255 for 8 bits
1343
+ */
1344
+ AVCOL_RANGE_JPEG = 2,
1345
+ /**
1346
+ * Not part of ABI
1347
+ */
1348
+ AVCOL_RANGE_NB
1349
+ }
1350
+
1351
+ /**
1352
+ * Location of chroma samples.
1353
+ *
1354
+ * Illustration showing the location of the first (top left) chroma sample of the
1355
+ * image, the left shows only luma, the right
1356
+ * shows the location of the chroma sample, the 2 could be imagined to overlay
1357
+ * each other but are drawn separately due to limitations of ASCII
1358
+ *
1359
+ * 1st 2nd 1st 2nd horizontal luma sample positions
1360
+ * v v v v
1361
+ * ______ ______
1362
+ *1st luma line > |X X ... |3 4 X ... X are luma samples,
1363
+ * | |1 2 1-6 are possible chroma positions
1364
+ *2nd luma line > |X X ... |5 6 X ... 0 is undefined/unknown position
1365
+ */
1366
+ export const enum AVChromaLocation {
1367
+ AVCHROMA_LOC_UNSPECIFIED = 0,
1368
+ /**
1369
+ * MPEG-2/4 4:2:0, H.264 default for 4:2:0
1370
+ */
1371
+ AVCHROMA_LOC_LEFT = 1,
1372
+ /**
1373
+ * MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0
1374
+ */
1375
+ AVCHROMA_LOC_CENTER = 2,
1376
+ /**
1377
+ * ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2
1378
+ */
1379
+ AVCHROMA_LOC_TOPLEFT = 3,
1380
+ AVCHROMA_LOC_TOP = 4,
1381
+ AVCHROMA_LOC_BOTTOMLEFT = 5,
1382
+ AVCHROMA_LOC_BOTTOM = 6,
1383
+ /**
1384
+ * Not part of ABI
1385
+ */
1386
+ AVCHROMA_LOC_NB
1387
+ }
1388
+
1389
+ export const enum AVFieldOrder {
1390
+ AV_FIELD_UNKNOWN,
1391
+ AV_FIELD_PROGRESSIVE,
1392
+ // < Top coded_first, top displayed first
1393
+ AV_FIELD_TT,
1394
+ // < Bottom coded first, bottom displayed first
1395
+ AV_FIELD_BB,
1396
+ // < Top coded first, bottom displayed first
1397
+ AV_FIELD_TB,
1398
+ // < Bottom coded first, top displayed first
1399
+ AV_FIELD_BT,
1400
+ }