@libmedia/avutil 0.4.2 → 0.6.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 (193) hide show
  1. package/dist/cjs/AVStream.d.ts +8 -1
  2. package/dist/cjs/AVStream.js +1 -0
  3. package/dist/cjs/AVStream.js.map +1 -1
  4. package/dist/cjs/codecs/aac.d.ts +1 -1
  5. package/dist/cjs/codecs/aac.js +4 -3
  6. package/dist/cjs/codecs/aac.js.map +1 -1
  7. package/dist/cjs/codecs/av1.d.ts +1 -1
  8. package/dist/cjs/codecs/av1.js +10 -4
  9. package/dist/cjs/codecs/av1.js.map +1 -1
  10. package/dist/cjs/codecs/flac.d.ts +26 -0
  11. package/dist/cjs/codecs/flac.js +31 -1
  12. package/dist/cjs/codecs/flac.js.map +1 -1
  13. package/dist/cjs/codecs/h264.d.ts +59 -10
  14. package/dist/cjs/codecs/h264.js +118 -101
  15. package/dist/cjs/codecs/h264.js.map +1 -1
  16. package/dist/cjs/codecs/hevc.d.ts +61 -10
  17. package/dist/cjs/codecs/hevc.js +89 -98
  18. package/dist/cjs/codecs/hevc.js.map +1 -1
  19. package/dist/cjs/codecs/opus.d.ts +1 -1
  20. package/dist/cjs/codecs/vp9.d.ts +1 -1
  21. package/dist/cjs/codecs/vvc.d.ts +61 -11
  22. package/dist/cjs/codecs/vvc.js +82 -95
  23. package/dist/cjs/codecs/vvc.js.map +1 -1
  24. package/dist/cjs/error.d.ts +1 -0
  25. package/dist/cjs/error.js +2 -2
  26. package/dist/cjs/error.js.map +1 -1
  27. package/dist/cjs/function/analyzeUrlIOLoader.js +51 -39
  28. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
  29. package/dist/cjs/function/audioData2AVFrame.js +4 -2
  30. package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
  31. package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +3 -0
  32. package/dist/cjs/function/avPCMBuffer2AVFrame.js +73 -0
  33. package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -0
  34. package/dist/cjs/function/avframe2AudioData.d.ts +1 -2
  35. package/dist/cjs/function/avframe2AudioData.js +4 -3
  36. package/dist/cjs/function/avframe2AudioData.js.map +1 -1
  37. package/dist/cjs/function/avframe2VideoFrame.d.ts +1 -2
  38. package/dist/cjs/function/avframe2VideoFrame.js +10 -9
  39. package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
  40. package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  41. package/dist/cjs/function/avpacket2EncodedAudioChunk.js +5 -4
  42. package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
  43. package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  44. package/dist/cjs/function/avpacket2EncodedVideoChunk.js +5 -4
  45. package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
  46. package/dist/cjs/function/compileResource.js +10 -4
  47. package/dist/cjs/function/compileResource.js.map +1 -1
  48. package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
  49. package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
  50. package/dist/cjs/function/getVideoCodec.js +15 -7
  51. package/dist/cjs/function/getVideoCodec.js.map +1 -1
  52. package/dist/cjs/function/getWasmUrl.d.ts +2 -0
  53. package/dist/cjs/function/getWasmUrl.js +138 -0
  54. package/dist/cjs/function/getWasmUrl.js.map +1 -0
  55. package/dist/cjs/function/videoFrame2AVFrame.js +10 -8
  56. package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
  57. package/dist/cjs/implement/AVFramePoolImpl.js +10 -4
  58. package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
  59. package/dist/cjs/implement/AVPCMBufferPoolImpl.js +13 -7
  60. package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
  61. package/dist/cjs/implement/AVPacketPoolImpl.js +10 -4
  62. package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
  63. package/dist/cjs/stringEnum.d.ts +150 -0
  64. package/dist/cjs/stringEnum.js +2 -0
  65. package/dist/cjs/stringEnum.js.map +1 -1
  66. package/dist/cjs/struct/avbuffer.js +3 -3
  67. package/dist/cjs/struct/avframe.js +5 -5
  68. package/dist/cjs/struct/avpacket.js +2 -2
  69. package/dist/cjs/struct/avpacket.js.map +1 -1
  70. package/dist/cjs/struct/avpcmbuffer.d.ts +5 -0
  71. package/dist/cjs/struct/avpcmbuffer.js +16 -5
  72. package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
  73. package/dist/cjs/util/amf.js +10 -4
  74. package/dist/cjs/util/amf.js.map +1 -1
  75. package/dist/cjs/util/avbuffer.js +18 -12
  76. package/dist/cjs/util/avbuffer.js.map +1 -1
  77. package/dist/cjs/util/avdict.d.ts +1 -1
  78. package/dist/cjs/util/avdict.js +46 -4
  79. package/dist/cjs/util/avdict.js.map +1 -1
  80. package/dist/cjs/util/avframe.d.ts +7 -1
  81. package/dist/cjs/util/avframe.js +132 -80
  82. package/dist/cjs/util/avframe.js.map +1 -1
  83. package/dist/cjs/util/avpacket.d.ts +3 -3
  84. package/dist/cjs/util/avpacket.js +16 -10
  85. package/dist/cjs/util/avpacket.js.map +1 -1
  86. package/dist/cjs/util/channel.js +10 -4
  87. package/dist/cjs/util/channel.js.map +1 -1
  88. package/dist/cjs/util/codecparameters.js +3 -3
  89. package/dist/cjs/util/codecparameters.js.map +1 -1
  90. package/dist/cjs/util/mem.js +10 -4
  91. package/dist/cjs/util/mem.js.map +1 -1
  92. package/dist/cjs/util/nalu.d.ts +24 -4
  93. package/dist/cjs/util/nalu.js +15 -7
  94. package/dist/cjs/util/nalu.js.map +1 -1
  95. package/dist/cjs/util/pixel.d.ts +1 -1
  96. package/dist/cjs/util/pixel.js +21 -15
  97. package/dist/cjs/util/pixel.js.map +1 -1
  98. package/dist/cjs/util/rational.d.ts +1 -1
  99. package/dist/cjs/util/rational.js +5 -5
  100. package/dist/cjs/util/rational.js.map +1 -1
  101. package/dist/cjs/util/sample.js +1 -1
  102. package/dist/cjs/util/sample.js.map +1 -1
  103. package/dist/cjs/util/serialize.js +2 -2
  104. package/dist/cjs/util/serialize.js.map +1 -1
  105. package/dist/esm/AVStream.d.ts +8 -1
  106. package/dist/esm/AVStream.js +1 -0
  107. package/dist/esm/AVStream.js.map +1 -1
  108. package/dist/esm/codecs/aac.d.ts +1 -1
  109. package/dist/esm/codecs/aac.js +4 -3
  110. package/dist/esm/codecs/aac.js.map +1 -1
  111. package/dist/esm/codecs/av1.d.ts +1 -1
  112. package/dist/esm/codecs/flac.d.ts +26 -0
  113. package/dist/esm/codecs/flac.js +34 -1
  114. package/dist/esm/codecs/flac.js.map +1 -1
  115. package/dist/esm/codecs/h264.d.ts +59 -10
  116. package/dist/esm/codecs/h264.js +114 -98
  117. package/dist/esm/codecs/h264.js.map +1 -1
  118. package/dist/esm/codecs/hevc.d.ts +61 -10
  119. package/dist/esm/codecs/hevc.js +84 -96
  120. package/dist/esm/codecs/hevc.js.map +1 -1
  121. package/dist/esm/codecs/opus.d.ts +1 -1
  122. package/dist/esm/codecs/vp9.d.ts +1 -1
  123. package/dist/esm/codecs/vvc.d.ts +61 -11
  124. package/dist/esm/codecs/vvc.js +77 -93
  125. package/dist/esm/codecs/vvc.js.map +1 -1
  126. package/dist/esm/error.d.ts +1 -0
  127. package/dist/esm/error.js +2 -0
  128. package/dist/esm/error.js.map +1 -1
  129. package/dist/esm/function/analyzeUrlIOLoader.js +40 -34
  130. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
  131. package/dist/esm/function/audioData2AVFrame.js +4 -0
  132. package/dist/esm/function/audioData2AVFrame.js.map +1 -1
  133. package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +3 -0
  134. package/dist/esm/function/avPCMBuffer2AVFrame.js +48 -0
  135. package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -0
  136. package/dist/esm/function/avframe2AudioData.d.ts +1 -2
  137. package/dist/esm/function/avframe2AudioData.js +7 -3
  138. package/dist/esm/function/avframe2AudioData.js.map +1 -1
  139. package/dist/esm/function/avframe2VideoFrame.d.ts +1 -2
  140. package/dist/esm/function/avframe2VideoFrame.js +14 -10
  141. package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
  142. package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  143. package/dist/esm/function/avpacket2EncodedAudioChunk.js +11 -3
  144. package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
  145. package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  146. package/dist/esm/function/avpacket2EncodedVideoChunk.js +11 -3
  147. package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
  148. package/dist/esm/function/getVideoCodec.js +8 -2
  149. package/dist/esm/function/getVideoCodec.js.map +1 -1
  150. package/dist/esm/function/getWasmUrl.d.ts +2 -0
  151. package/dist/esm/function/getWasmUrl.js +133 -0
  152. package/dist/esm/function/getWasmUrl.js.map +1 -0
  153. package/dist/esm/function/videoFrame2AVFrame.js +12 -7
  154. package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
  155. package/dist/esm/implement/AVPCMBufferPoolImpl.js +3 -3
  156. package/dist/esm/stringEnum.d.ts +150 -0
  157. package/dist/esm/stringEnum.js +2 -0
  158. package/dist/esm/stringEnum.js.map +1 -1
  159. package/dist/esm/struct/avbuffer.js +3 -3
  160. package/dist/esm/struct/avframe.js +5 -5
  161. package/dist/esm/struct/avpacket.js +2 -2
  162. package/dist/esm/struct/avpacket.js.map +1 -1
  163. package/dist/esm/struct/avpcmbuffer.d.ts +5 -0
  164. package/dist/esm/struct/avpcmbuffer.js +16 -5
  165. package/dist/esm/struct/avpcmbuffer.js.map +1 -1
  166. package/dist/esm/util/amf.js.map +1 -1
  167. package/dist/esm/util/avbuffer.js +8 -8
  168. package/dist/esm/util/avdict.d.ts +1 -1
  169. package/dist/esm/util/avdict.js +14 -4
  170. package/dist/esm/util/avdict.js.map +1 -1
  171. package/dist/esm/util/avframe.d.ts +7 -1
  172. package/dist/esm/util/avframe.js +119 -74
  173. package/dist/esm/util/avframe.js.map +1 -1
  174. package/dist/esm/util/avpacket.d.ts +3 -3
  175. package/dist/esm/util/avpacket.js +6 -6
  176. package/dist/esm/util/avpacket.js.map +1 -1
  177. package/dist/esm/util/codecparameters.js +3 -3
  178. package/dist/esm/util/codecparameters.js.map +1 -1
  179. package/dist/esm/util/nalu.d.ts +24 -4
  180. package/dist/esm/util/nalu.js +7 -3
  181. package/dist/esm/util/nalu.js.map +1 -1
  182. package/dist/esm/util/pixel.d.ts +1 -1
  183. package/dist/esm/util/pixel.js +11 -11
  184. package/dist/esm/util/pixel.js.map +1 -1
  185. package/dist/esm/util/rational.d.ts +1 -1
  186. package/dist/esm/util/rational.js +5 -5
  187. package/dist/esm/util/rational.js.map +1 -1
  188. package/dist/esm/util/sample.js +1 -1
  189. package/dist/esm/util/sample.js.map +1 -1
  190. package/dist/esm/util/serialize.js +2 -2
  191. package/dist/esm/util/serialize.js.map +1 -1
  192. package/include/rational.h +1 -1
  193. package/package.json +7 -2
@@ -1,6 +1,5 @@
1
1
  import AVFrame from "../struct/avframe";
2
2
  import { AVPixelFormat } from "../pixfmt";
3
- import { Rational } from "../struct/rational";
4
3
  export declare function avPixelFormat2Format(pixfmt: AVPixelFormat): "BGRA" | "I420" | "I420A" | "I422" | "I444" | "NV12" | "RGBA";
5
4
  export declare function getVideoColorSpaceInit(avframe: pointer<AVFrame>): VideoColorSpaceInit;
6
- export declare function avframe2VideoFrame(avframe: pointer<AVFrame>, timeBase?: Rational): VideoFrame;
5
+ export declare function avframe2VideoFrame(avframe: pointer<AVFrame>, pts?: int64): VideoFrame;
@@ -1,12 +1,16 @@
1
1
  import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
2
2
 
3
+ import { Rational as cheap__Rational__12 } from "../struct/rational";
4
+
5
+ import cheap__structAccess__13 from "@libmedia/cheap/std/structAccess";
6
+
3
7
  import { PixelFormatDescriptorsMap } from "../pixelFormatDescriptor";
4
8
 
5
- import { avRescaleQ } from "../util/rational";
9
+ import { avRescaleQ2 } from "../util/rational";
6
10
 
7
11
  import { AV_TIME_BASE_Q } from "../constant";
8
12
 
9
- import { getHeapU8 } from "@libmedia/cheap/heap";
13
+ import { getHeap } from "@libmedia/cheap/heap";
10
14
 
11
15
  export function avPixelFormat2Format(pixfmt) {
12
16
  switch (pixfmt) {
@@ -90,7 +94,7 @@ export function getVideoColorSpaceInit(avframe) {
90
94
  init;
91
95
  }
92
96
 
93
- export function avframe2VideoFrame(avframe, timeBase) {
97
+ export function avframe2VideoFrame(avframe, pts) {
94
98
  let height = cheap__CTypeEnumRead__0[15](avframe + 72);
95
99
  const des = PixelFormatDescriptorsMap[cheap__CTypeEnumRead__0[15](avframe + 80)], layout = [];
96
100
  for (let i = 0; i < des.nbComponents; i++) layout.push({
@@ -100,18 +104,18 @@ export function avframe2VideoFrame(avframe, timeBase) {
100
104
  const init = {
101
105
  codedWidth: cheap__CTypeEnumRead__0[15](avframe + 68),
102
106
  codedHeight: height,
103
- timestamp: Number(timeBase ? avRescaleQ(cheap__CTypeEnumRead__0[17](avframe + 104), timeBase, AV_TIME_BASE_Q) : cheap__CTypeEnumRead__0[17](avframe + 104)),
107
+ timestamp: Number(pts || avRescaleQ2(cheap__CTypeEnumRead__0[17](avframe + 104), avframe + 120, AV_TIME_BASE_Q)),
104
108
  format: avPixelFormat2Format(cheap__CTypeEnumRead__0[15](avframe + 80)),
105
- duration: Number(timeBase ? avRescaleQ(cheap__CTypeEnumRead__0[17](avframe + 312), timeBase, AV_TIME_BASE_Q) : cheap__CTypeEnumRead__0[17](avframe + 312)),
109
+ duration: Number(avRescaleQ2(cheap__CTypeEnumRead__0[17](avframe + 312), avframe + 120, AV_TIME_BASE_Q)),
106
110
  layout: layout,
107
111
  colorSpace: getVideoColorSpaceInit(avframe),
108
112
  visibleRect: {
109
- x: cheap__CTypeEnumRead__0[15](avframe + 276),
110
- y: cheap__CTypeEnumRead__0[15](avframe + 268),
111
- width: cheap__CTypeEnumRead__0[15](avframe + 68) - (cheap__CTypeEnumRead__0[15](avframe + 276) + cheap__CTypeEnumRead__0[15](avframe + 280)),
112
- height: cheap__CTypeEnumRead__0[15](avframe + 72) - (cheap__CTypeEnumRead__0[15](avframe + 268) + cheap__CTypeEnumRead__0[15](avframe + 272))
113
+ x: cheap__CTypeEnumRead__0[25](avframe + 276),
114
+ y: cheap__CTypeEnumRead__0[25](avframe + 268),
115
+ width: cheap__CTypeEnumRead__0[15](avframe + 68) - (cheap__CTypeEnumRead__0[25](avframe + 276) + cheap__CTypeEnumRead__0[25](avframe + 280)),
116
+ height: cheap__CTypeEnumRead__0[15](avframe + 72) - (cheap__CTypeEnumRead__0[25](avframe + 268) + cheap__CTypeEnumRead__0[25](avframe + 272))
113
117
  }
114
118
  };
115
- return new VideoFrame(getHeapU8(), init);
119
+ return new VideoFrame(getHeap(), init);
116
120
  }
117
121
  //# sourceMappingURL=avframe2VideoFrame.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PixelFormatDescriptorsMap","avRescaleQ","AV_TIME_BASE_Q","getHeapU8","avPixelFormat2Format","pixfmt","getVideoColorSpaceInit","avframe","init","fullRange","matrix","primaries","transfer","cheap__CTypeEnumRead__0","avframe2VideoFrame","timeBase","height","des","layout","i","nbComponents","push","offset","stride","codedWidth","codedHeight","timestamp","Number","format","duration","colorSpace","visibleRect","x","y","width","VideoFrame"],"sources":["../../../function/avframe2VideoFrame.ts"],"mappings":";;SA0BSA,iCAA2B;;SAG3BC,kBAAY;;SACZC,sBAAgB;;SAChBC,iBAAW;;OAEd,SAAUC,qBAAqBC;IACnC,QAAQA;MACN;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;AAEb;;OAEM,SAAUC,uBAAuBC;IACrC,MAAMC,OAA4B;QAChCC,YAAW;QACXC,QAAQ;QACRC,WAAW;QACXC,UAAU;;IAGZ,QAAAC,wBAAA,IAAQN,UAAO;MACb;MAYA;QACEC,KAAKE,SAAS;QACd;;MAXF;QACEF,KAAKE,SAAS;QACd;;MACF;QACEF,KAAKE,SAAS;QACd;;MACF;QACEF,KAAKE,SAAS;;IAOlB,QAAAG,wBAAA,IAAQN,UAAO;MACb;MASA;QACEC,KAAKG,YAAY;QACjB;;MARF;QACEH,KAAKG,YAAY;QACjB;;MACF;QACEH,KAAKG,YAAY;;IAOrB,QAAAE,wBAAA,IAAQN,UAAO;MACb;MASA;QACEC,KAAKI,WAAW;QAChB;;MARF;QACEJ,KAAKI,WAAW;QAChB;;MACF;QACEJ,KAAKI,WAAW;;IAWpB,OAJW,MAAPC,wBAAA,IAAAN,UAAO,SACTC,KAAKC,aAAY;IAGZD;AACT;;OAEM,SAAUM,mBAAmBP,SAA2BQ;IAE5D,IAAIC,SAAMH,wBAAA,IAAGN,UAAO;IAEpB,MAAMU,MAAMjB,0BAA0Ba,wBAAA,IAAAN,UAAO,MAEvCW,SAAwB;IAE9B,KAAK,IAAIC,IAAI,GAAGA,IAAIF,IAAIG,cAAcD,KACpCD,OAAOG,KAAK;QACVC,QAAMT,wBAAA,IAAEN,UAAO;QACfgB,QAAMV,wBAAA,IAAEN,UAAO;;IAInB,MAAMC,OAA6B;QACjCgB,YAAUX,wBAAA,IAAEN,UAAO;QACnBkB,aAAaT;QACbU,WAASC,OAAsBZ,WAAWd,WAAUY,wBAAA,IAACN,UAAO,MAAMQ,UAAUb,kBAAiBW,wBAAA,IAACN,UAAO;QACrGqB,QAAQxB,qBAAoBS,wBAAA,IAACN,UAAO;QACpCsB,UAAQF,OAAsBZ,WAAWd,WAAUY,wBAAA,IAACN,UAAO,MAAWQ,UAAUb,kBAAiBW,wBAAA,IAACN,UAAO;QACzGW;QACAY,YAAYxB,uBAAuBC;QACnCwB,aAAa;YACXC,GAACnB,wBAAA,IAAEN,UAAO;YACV0B,GAACpB,wBAAA,IAAEN,UAAO;YACV2B,OAAOrB,wBAAA,IAAAN,UAAO,OAAUM,wBAAA,IAAAN,UAAO,OAAAM,wBAAA,IAAYN,UAAO;YAClDS,QAAQH,wBAAA,IAAAN,UAAO,OAAWM,wBAAA,IAAAN,UAAO,OAAAM,wBAAA,IAAWN,UAAO;;;IAIvD,OAAO,IAAI4B,WAAWhC,aAAaK;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["PixelFormatDescriptorsMap","avRescaleQ2","AV_TIME_BASE_Q","getHeap","avPixelFormat2Format","pixfmt","getVideoColorSpaceInit","avframe","init","fullRange","matrix","primaries","transfer","cheap__CTypeEnumRead__0","avframe2VideoFrame","pts","height","des","layout","i","nbComponents","push","offset","stride","codedWidth","codedHeight","timestamp","Number","format","duration","colorSpace","visibleRect","x","y","width","VideoFrame"],"sources":["../../../function/avframe2VideoFrame.ts"],"mappings":";;;;;;SA0BSA,iCAA2B;;SAE3BC,mBAAa;;SACbC,sBAAgB;;SAChBC,eAAS;;OAEZ,SAAUC,qBAAqBC;IACnC,QAAQA;MACN;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;AAEb;;OAEM,SAAUC,uBAAuBC;IACrC,MAAMC,OAA4B;QAChCC,YAAW;QACXC,QAAQ;QACRC,WAAW;QACXC,UAAU;;IAGZ,QAAAC,wBAAA,IAAQN,UAAO;MACb;MAYA;QACEC,KAAKE,SAAS;QACd;;MAXF;QACEF,KAAKE,SAAS;QACd;;MACF;QACEF,KAAKE,SAAS;QACd;;MACF;QACEF,KAAKE,SAAS;;IAOlB,QAAAG,wBAAA,IAAQN,UAAO;MACb;MASA;QACEC,KAAKG,YAAY;QACjB;;MARF;QACEH,KAAKG,YAAY;QACjB;;MACF;QACEH,KAAKG,YAAY;;IAOrB,QAAAE,wBAAA,IAAQN,UAAO;MACb;MASA;QACEC,KAAKI,WAAW;QAChB;;MARF;QACEJ,KAAKI,WAAW;QAChB;;MACF;QACEJ,KAAKI,WAAW;;IAWpB,OAJW,MAAPC,wBAAA,IAAAN,UAAO,SACTC,KAAKC,aAAY;IAGZD;AACT;;OAEM,SAAUM,mBAAmBP,SAA2BQ;IAE5D,IAAIC,SAAMH,wBAAA,IAAGN,UAAO;IAEpB,MAAMU,MAAMjB,0BAA0Ba,wBAAA,IAAAN,UAAO,MAEvCW,SAAwB;IAE9B,KAAK,IAAIC,IAAI,GAAGA,IAAIF,IAAIG,cAAcD,KACpCD,OAAOG,KAAK;QACVC,QAAMT,wBAAA,IAA2BN,UAAO;QACxCgB,QAAMV,wBAAA,IAAEN,UAAO;;IAInB,MAAMC,OAA6B;QACjCgB,YAAUX,wBAAA,IAAEN,UAAO;QACnBkB,aAAaT;QACbU,WAAgBC,OAALZ,OAAqDd,YAAWY,wBAAA,IAACN,UAAO,MAAgBA,UAAO,KAAYL;QACtH0B,QAAQxB,qBAAoBS,wBAAA,IAACN,UAAO;QACpCsB,UAAQF,OAAsB1B,YAAWY,wBAAA,IAACN,UAAO,MAAqBA,UAAO,KAAYL;QACzFgB;QACAY,YAAYxB,uBAAuBC;QACnCwB,aAAa;YACXC,GAACnB,wBAAA,IAA2BN,UAAO;YACnC0B,GAACpB,wBAAA,IAA2BN,UAAO;YACnC2B,OAAOrB,wBAAA,IAAAN,UAAO,OAAkCM,wBAAA,IAAAN,UAAO,OAAAM,wBAAA,IAAYN,UAAO;YAC1ES,QAAQH,wBAAA,IAAAN,UAAO,OAAmCM,wBAAA,IAAAN,UAAO,OAAAM,wBAAA,IAAWN,UAAO;;;IAG/E,OAAO,IAAI4B,WAAWhC,WAAWK;AACnC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import AVPacket from "../struct/avpacket";
2
- export default function avpacket2EncodedAudioChunk(avpacket: pointer<AVPacket>, pts?: int64): EncodedAudioChunk;
2
+ export default function avpacket2EncodedAudioChunk(avpacket: pointer<AVPacket>): EncodedAudioChunk;
@@ -1,12 +1,20 @@
1
1
  import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
2
2
 
3
+ import { Rational as cheap__Rational__2 } from "../struct/rational";
4
+
5
+ import cheap__structAccess__3 from "@libmedia/cheap/std/structAccess";
6
+
7
+ import { avRescaleQ2 } from "../util/rational";
8
+
3
9
  import { mapUint8Array } from "@libmedia/cheap/std/memory";
4
10
 
5
- export default function avpacket2EncodedAudioChunk(avpacket, pts) {
6
- const timestamp = Number(pts ?? cheap__CTypeEnumRead__0[17](avpacket + 8)), key = 1 & cheap__CTypeEnumRead__0[15](avpacket + 36);
11
+ import { AV_TIME_BASE_Q } from "../constant";
12
+
13
+ export default function avpacket2EncodedAudioChunk(avpacket) {
14
+ const key = 1 & cheap__CTypeEnumRead__0[15](avpacket + 36);
7
15
  return new EncodedAudioChunk({
8
16
  type: key ? "key" : "delta",
9
- timestamp: timestamp,
17
+ timestamp: Number(avRescaleQ2(cheap__CTypeEnumRead__0[17](avpacket + 8), avpacket + 72, AV_TIME_BASE_Q)),
10
18
  data: mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))
11
19
  });
12
20
  }
@@ -1 +1 @@
1
- {"version":3,"names":["mapUint8Array","avpacket2EncodedAudioChunk","avpacket","pts","timestamp","Number","cheap__CTypeEnumRead__0","key","EncodedAudioChunk","type","data"],"sources":["../../../function/avpacket2EncodedAudioChunk.ts"],"mappings":";;SAyBSA,qBAAe;;eAEV,SAAUC,2BAA2BC,UAA6BC;IAC9E,MAAMC,YAASC,OAAuBF,OAAGG,wBAAA,IAAIJ,WAAQ,KAC/CK,MAAc,IAARD,wBAAA,IAAAJ,WAAQ;IACpB,OAAO,IAAIM,kBAAkB;QAC3BC,MAAMF,MAAM,QAAQ;QACpBH;QACAM,MAAMV,cAAaM,wBAAA,IAACJ,WAAQ,KAAAI,wBAAA,IAAOJ,WAAQ;;AAE/C","ignoreList":[]}
1
+ {"version":3,"names":["avRescaleQ2","mapUint8Array","AV_TIME_BASE_Q","avpacket2EncodedAudioChunk","avpacket","key","cheap__CTypeEnumRead__0","EncodedAudioChunk","type","timestamp","Number","data"],"sources":["../../../function/avpacket2EncodedAudioChunk.ts"],"mappings":";;;;;;SAwBSA,mBAAa;;SAEbC,qBAAe;;SACfC,sBAAgB;;eAEX,SAAUC,2BAA2BC;IACjD,MAAMC,MAAc,IAARC,wBAAA,IAAAF,WAAQ;IACpB,OAAO,IAAIG,kBAAkB;QAC3BC,MAAMH,MAAM,QAAQ;QACpBI,WAASC,OAAsBV,YAAWM,wBAAA,IAACF,WAAQ,IAAgBA,WAAQ,IAAYF;QACvFS,MAAMV,cAAaK,wBAAA,IAACF,WAAQ,KAAAE,wBAAA,IAA8BF,WAAQ;;AAEtE","ignoreList":[]}
@@ -1,2 +1,2 @@
1
1
  import AVPacket from "../struct/avpacket";
2
- export default function avpacket2EncodedVideoChunk(avpacket: pointer<AVPacket>, pts?: int64): EncodedVideoChunk;
2
+ export default function avpacket2EncodedVideoChunk(avpacket: pointer<AVPacket>): EncodedVideoChunk;
@@ -1,12 +1,20 @@
1
1
  import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
2
2
 
3
+ import { Rational as cheap__Rational__2 } from "../struct/rational";
4
+
5
+ import cheap__structAccess__3 from "@libmedia/cheap/std/structAccess";
6
+
7
+ import { avRescaleQ2 } from "../util/rational";
8
+
3
9
  import { mapUint8Array } from "@libmedia/cheap/std/memory";
4
10
 
5
- export default function avpacket2EncodedVideoChunk(avpacket, pts) {
6
- const timestamp = Number(pts ?? cheap__CTypeEnumRead__0[17](avpacket + 8)), key = 1 & cheap__CTypeEnumRead__0[15](avpacket + 36);
11
+ import { AV_TIME_BASE_Q } from "../constant";
12
+
13
+ export default function avpacket2EncodedVideoChunk(avpacket) {
14
+ const key = 1 & cheap__CTypeEnumRead__0[15](avpacket + 36);
7
15
  return new EncodedVideoChunk({
8
16
  type: key ? "key" : "delta",
9
- timestamp: timestamp,
17
+ timestamp: Number(avRescaleQ2(cheap__CTypeEnumRead__0[17](avpacket + 8), avpacket + 72, AV_TIME_BASE_Q)),
10
18
  data: mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))
11
19
  });
12
20
  }
@@ -1 +1 @@
1
- {"version":3,"names":["mapUint8Array","avpacket2EncodedVideoChunk","avpacket","pts","timestamp","Number","cheap__CTypeEnumRead__0","key","EncodedVideoChunk","type","data"],"sources":["../../../function/avpacket2EncodedVideoChunk.ts"],"mappings":";;SAyBSA,qBAAe;;eAEV,SAAUC,2BAA2BC,UAA6BC;IAC9E,MAAMC,YAASC,OAAuBF,OAAGG,wBAAA,IAAIJ,WAAQ,KAC/CK,MAAc,IAARD,wBAAA,IAAAJ,WAAQ;IACpB,OAAO,IAAIM,kBAAkB;QAC3BC,MAAMF,MAAM,QAAQ;QACpBH;QACAM,MAAMV,cAAaM,wBAAA,IAACJ,WAAQ,KAAAI,wBAAA,IAAOJ,WAAQ;;AAE/C","ignoreList":[]}
1
+ {"version":3,"names":["avRescaleQ2","mapUint8Array","AV_TIME_BASE_Q","avpacket2EncodedVideoChunk","avpacket","key","cheap__CTypeEnumRead__0","EncodedVideoChunk","type","timestamp","Number","data"],"sources":["../../../function/avpacket2EncodedVideoChunk.ts"],"mappings":";;;;;;SAwBSA,mBAAa;;SAEbC,qBAAe;;SACfC,sBAAgB;;eAEX,SAAUC,2BAA2BC;IACjD,MAAMC,MAAc,IAARC,wBAAA,IAAAF,WAAQ;IACpB,OAAO,IAAIG,kBAAkB;QAC3BC,MAAMH,MAAM,QAAQ;QACpBI,WAASC,OAAsBV,YAAWM,wBAAA,IAACF,WAAQ,IAAgBA,WAAQ,IAAYF;QACvFS,MAAMV,cAAaK,wBAAA,IAACF,WAAQ,KAAAE,wBAAA,IAA8BF,WAAQ;;AAEtE","ignoreList":[]}
@@ -10,6 +10,8 @@ import * as vp9 from "../codecs/vp9";
10
10
 
11
11
  import * as vvc from "../codecs/vvc";
12
12
 
13
+ import * as hevc from "../codecs/hevc";
14
+
13
15
  import * as string from "@libmedia/common/util/string";
14
16
 
15
17
  import { NOPTS_VALUE } from "../constant";
@@ -18,6 +20,8 @@ import { mapUint8Array } from "@libmedia/cheap/std/memory";
18
20
 
19
21
  import * as base32 from "@libmedia/common/util/base32";
20
22
 
23
+ import * as naluUtil from "../util/nalu";
24
+
21
25
  export default function getVideoCodec(codecpar, extradata) {
22
26
  const codecId = cheap__CTypeEnumRead__0[15](codecpar + 4);
23
27
  let profile = cheap__CTypeEnumRead__0[15](codecpar + 48), level = cheap__CTypeEnumRead__0[15](codecpar + 52);
@@ -25,9 +29,10 @@ export default function getVideoCodec(codecpar, extradata) {
25
29
  let entry = CodecId2MimeType[codecId], codec = "";
26
30
  if (27 === codecId) 110 === profile && (profile = 100), codec = string.format("%s.%02x00%02x", entry, 255 & profile, 255 & level); else if (173 === codecId) {
27
31
  let generalProfileSpace = 0, generalProfileCompatibilityFlags = 0, generalTierFlag = 0, constraintFlags = 0;
28
- extradata?.length > 13 && (generalProfileSpace = extradata[1] >>> 6 & 3, generalTierFlag = extradata[1] >>> 5 & 1,
32
+ extradata && (naluUtil.isAnnexb(extradata) && (extradata = hevc.annexbExtradata2AvccExtradata(extradata)),
33
+ extradata.length > 13 && (generalProfileSpace = extradata[1] >>> 6 & 3, generalTierFlag = extradata[1] >>> 5 & 1,
29
34
  generalProfileCompatibilityFlags = extradata[2] | extradata[3] << 8 | extradata[4] << 16 | extradata[5] << 24,
30
- constraintFlags = 240 & extradata[6]);
35
+ constraintFlags = 240 & extradata[6]));
31
36
  const generalProfileSpaceMap = {
32
37
  0: "",
33
38
  1: "A",
@@ -39,6 +44,7 @@ export default function getVideoCodec(codecpar, extradata) {
39
44
  let generalTierFlag = 0;
40
45
  if (extradata?.length > 13 && (generalTierFlag = 1 & extradata[5]), codec = string.format("%s.%d.%s%d", entry, profile, 0 === generalTierFlag ? "L" : "H", level),
41
46
  extradata) {
47
+ naluUtil.isAnnexb(extradata) && (extradata = vvc.annexbExtradata2AvccExtradata(extradata));
42
48
  const params = vvc.parseExtraData(extradata);
43
49
  if (params.generalConstraintInfo.length) {
44
50
  let index = params.generalConstraintInfo.length - 1;
@@ -1 +1 @@
1
- {"version":3,"names":["CodecId2MimeType","av1","vp8","vp9","vvc","string","NOPTS_VALUE","mapUint8Array","base32","getVideoCodec","codecpar","extradata","codecId","cheap__CTypeEnumRead__0","profile","level","entry","codec","format","generalProfileSpace","generalProfileCompatibilityFlags","generalTierFlag","constraintFlags","length","generalProfileSpaceMap","params","parseExtraData","generalConstraintInfo","index","slice","encode","Uint8Array","generalSubProfileIdc","map","toString","join","olsIdx","numSublayers","tier","bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","chromaSubsampling","colorPrimaries","colorTrc","colorSpace","fullRangeFlag"],"sources":["../../../function/getVideoCodec.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CodecId2MimeType","av1","vp8","vp9","vvc","hevc","string","NOPTS_VALUE","mapUint8Array","base32","naluUtil","getVideoCodec","codecpar","extradata","codecId","cheap__CTypeEnumRead__0","profile","level","entry","codec","format","generalProfileSpace","generalProfileCompatibilityFlags","generalTierFlag","constraintFlags","isAnnexb","annexbExtradata2AvccExtradata","length","generalProfileSpaceMap","params","parseExtraData","generalConstraintInfo","index","slice","encode","Uint8Array","generalSubProfileIdc","map","toString","join","olsIdx","numSublayers","tier","bitDepth","monochrome","chromaSubsamplingX","chromaSubsamplingY","chromaSamplePosition","chromaSubsampling","colorPrimaries","colorTrc","colorSpace","fullRangeFlag"],"sources":["../../../function/getVideoCodec.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import { AVCodecID } from "../codec";
2
+ export default function getWasmUrl(baseUrl: string, type: 'decoder' | 'encoder' | 'resampler' | 'scaler' | 'stretchpitcher', codecId?: AVCodecID): string;
@@ -0,0 +1,133 @@
1
+ import { base64ToUint8Array } from "@libmedia/common/util/base64";
2
+
3
+ let supportAtomic = WebAssembly.validate(base64ToUint8Array("AGFzbQEAAAABBgFgAX8BfwISAQNlbnYGbWVtb3J5AgMBgIACAwIBAAcJAQVsb2FkOAAACgoBCAAgAP4SAAAL")), supportSimd = WebAssembly.validate(base64ToUint8Array("AGFzbQEAAAABBQFgAAF7AhIBA2VudgZtZW1vcnkCAwGAgAIDAgEACgoBCABBAP0ABAAL"));
4
+
5
+ export default function getWasmUrl(baseUrl, type, codecId) {
6
+ switch (type) {
7
+ case "decoder":
8
+ if (codecId > 65536 && codecId <= 65572) return `${baseUrl}/decode/pcm${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
9
+ switch (codecId) {
10
+ case 2:
11
+ return `${baseUrl}/decode/mpeg2video${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
12
+
13
+ case 27:
14
+ return `${baseUrl}/decode/h264${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
15
+
16
+ case 30:
17
+ return `${baseUrl}/decode/theora${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
18
+
19
+ case 86018:
20
+ return `${baseUrl}/decode/aac${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
21
+
22
+ case 86019:
23
+ return `${baseUrl}/decode/ac3${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
24
+
25
+ case 86056:
26
+ return `${baseUrl}/decode/eac3${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
27
+
28
+ case 86020:
29
+ return `${baseUrl}/decode/dca${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
30
+
31
+ case 86017:
32
+ return `${baseUrl}/decode/mp3${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
33
+
34
+ case 173:
35
+ return `${baseUrl}/decode/hevc${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
36
+
37
+ case 196:
38
+ return `${baseUrl}/decode/vvc${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
39
+
40
+ case 12:
41
+ return `${baseUrl}/decode/mpeg4${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
42
+
43
+ case 225:
44
+ return `${baseUrl}/decode/av1${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
45
+
46
+ case 86051:
47
+ return `${baseUrl}/decode/speex${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
48
+
49
+ case 86076:
50
+ return `${baseUrl}/decode/opus${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
51
+
52
+ case 86028:
53
+ return `${baseUrl}/decode/flac${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
54
+
55
+ case 86021:
56
+ return `${baseUrl}/decode/vorbis${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
57
+
58
+ case 139:
59
+ return `${baseUrl}/decode/vp8${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
60
+
61
+ case 167:
62
+ return `${baseUrl}/decode/vp9${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
63
+
64
+ default:
65
+ return null;
66
+ }
67
+
68
+ case "encoder":
69
+ if (codecId > 65536 && codecId <= 65572) return `${baseUrl}/encode/pcm${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
70
+ switch (codecId) {
71
+ case 27:
72
+ return `${baseUrl}/encode/x264${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
73
+
74
+ case 30:
75
+ return `${baseUrl}/encode/theora${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
76
+
77
+ case 86018:
78
+ return `${baseUrl}/encode/aac${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
79
+
80
+ case 86019:
81
+ return `${baseUrl}/encode/ac3${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
82
+
83
+ case 86056:
84
+ return `${baseUrl}/encode/eac3${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
85
+
86
+ case 86020:
87
+ return `${baseUrl}/encode/dca${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
88
+
89
+ case 86017:
90
+ return `${baseUrl}/encode/mp3lame${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
91
+
92
+ case 173:
93
+ return `${baseUrl}/encode/x265${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
94
+
95
+ case 12:
96
+ return `${baseUrl}/encode/mpeg4${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
97
+
98
+ case 225:
99
+ return `${baseUrl}/encode/av1${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
100
+
101
+ case 86051:
102
+ return `${baseUrl}/encode/speex${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
103
+
104
+ case 86076:
105
+ return `${baseUrl}/encode/opus${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
106
+
107
+ case 86028:
108
+ return `${baseUrl}/encode/flac${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
109
+
110
+ case 86021:
111
+ return `${baseUrl}/encode/vorbis${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
112
+
113
+ case 139:
114
+ return `${baseUrl}/encode/vp8${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
115
+
116
+ case 167:
117
+ return `${baseUrl}/encode/vp9${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
118
+
119
+ default:
120
+ return null;
121
+ }
122
+
123
+ case "resampler":
124
+ return `${baseUrl}/resample/resample${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
125
+
126
+ case "scaler":
127
+ return `${baseUrl}/scale/scale${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
128
+
129
+ case "stretchpitcher":
130
+ return `${baseUrl}/stretchpitch/stretchpitch${supportSimd ? "-simd" : supportAtomic ? "-atomic" : ""}.wasm`;
131
+ }
132
+ }
133
+ //# sourceMappingURL=getWasmUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64ToUint8Array","supportAtomic","WebAssembly","validate","supportSimd","getWasmUrl","baseUrl","type","codecId"],"sources":["../../../function/getWasmUrl.ts"],"mappings":"SAASA,0BAAoB;;AAG7B,IAAIC,gBAAgBC,YAAYC,SAASH,mBAAmB,0FACxDI,cAAcF,YAAYC,SAASH,mBAAmB;;eAE5C,SAAUK,WAAWC,SAAiBC,MAAyEC;IAC3H,QAAQD;MACN,KAAK;QAEH,IAAIC,UAAO,SAAwCA,WAAO,OACxD,OAAO,GAAGF,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;QAGtF,QAAQO;UAEN;YACE,OAAO,GAAGF,4BAA4BF,cAAc,UAAWH,gBAAgB,YAAY;;UAE7F;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,wBAAwBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEzF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,uBAAuBF,cAAc,UAAWH,gBAAgB,YAAY;;UAExF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,uBAAuBF,cAAc,UAAWH,gBAAgB,YAAY;;UAExF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,wBAAwBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEzF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UACtF;YACE,OAAO;;;MAGb,KAAK;QAEH,IAAIO,UAAO,SAAwCA,WAAO,OACxD,OAAO,GAAGF,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;QAGtF,QAAQO;UAEN;YACE,OAAO,GAAGF,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,wBAAwBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEzF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,yBAAyBF,cAAc,UAAWH,gBAAgB,YAAY;;UAE1F;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UACvF;YACE,OAAO,GAAGK,uBAAuBF,cAAc,UAAWH,gBAAgB,YAAY;;UAExF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,uBAAuBF,cAAc,UAAWH,gBAAgB,YAAY;;UAExF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEvF;YACE,OAAO,GAAGK,wBAAwBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEzF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UAEtF;YACE,OAAO,GAAGK,qBAAqBF,cAAc,UAAWH,gBAAgB,YAAY;;UACtF;YACE,OAAO;;;MAGb,KAAK;QACH,OAAO,GAAGK,4BAA4BF,cAAc,UAAWH,gBAAgB,YAAY;;MAC7F,KAAK;QACH,OAAO,GAAGK,sBAAsBF,cAAc,UAAWH,gBAAgB,YAAY;;MACvF,KAAK;QACH,OAAO,GAAGK,oCAAoCF,cAAc,UAAWH,gBAAgB,YAAY;;AAEzG","ignoreList":[]}
@@ -2,11 +2,13 @@ import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeE
2
2
 
3
3
  import { CTypeEnumWrite as cheap__CTypeEnumWrite__1 } from "@libmedia/cheap/ctypeEnumWrite";
4
4
 
5
- import { createAVFrame, getVideoBuffer } from "../util/avframe";
5
+ import { createAVFrame, getVideoBuffer, unrefAVFrame } from "../util/avframe";
6
6
 
7
7
  import { PixelFormatDescriptorsMap } from "../pixelFormatDescriptor";
8
8
 
9
- import { getHeapU8 } from "@libmedia/cheap/heap";
9
+ import { getHeap } from "@libmedia/cheap/heap";
10
+
11
+ import { AV_TIME_BASE } from "../constant";
10
12
 
11
13
  export function mapFormat(format) {
12
14
  switch (format) {
@@ -88,23 +90,26 @@ export function mapColorTrc(colorTrc) {
88
90
  }
89
91
 
90
92
  export function videoFrame2AVFrame(videoFrame, avframe = 0) {
91
- 0 === avframe && (avframe = createAVFrame()), cheap__CTypeEnumWrite__1[15](avframe + 80, mapFormat(videoFrame.format)),
93
+ 0 === avframe ? avframe = createAVFrame() : unrefAVFrame(avframe), cheap__CTypeEnumWrite__1[15](avframe + 80, mapFormat(videoFrame.format)),
92
94
  cheap__CTypeEnumWrite__1[17](avframe + 104, BigInt(Math.floor(videoFrame.timestamp))),
95
+ cheap__CTypeEnumWrite__1[17](avframe + 232, cheap__CTypeEnumRead__0[17](avframe + 104)),
93
96
  cheap__CTypeEnumWrite__1[15](avframe + 68, videoFrame.codedWidth), cheap__CTypeEnumWrite__1[15](avframe + 72, videoFrame.codedHeight),
94
97
  cheap__CTypeEnumWrite__1[17](avframe + 312, BigInt(Math.floor(videoFrame.duration))),
98
+ cheap__CTypeEnumWrite__1[15](avframe + 124, AV_TIME_BASE), cheap__CTypeEnumWrite__1[15](avframe + 120, 1),
95
99
  cheap__CTypeEnumWrite__1[15](avframe + 220, mapColorSpace(videoFrame.colorSpace.matrix)),
96
100
  cheap__CTypeEnumWrite__1[15](avframe + 212, mapColorPrimaries(videoFrame.colorSpace.primaries)),
97
101
  cheap__CTypeEnumWrite__1[15](avframe + 216, mapColorTrc(videoFrame.colorSpace.transfer)),
98
102
  cheap__CTypeEnumWrite__1[15](avframe + 208, videoFrame.colorSpace.fullRange ? 2 : 1),
99
- videoFrame.visibleRect && (cheap__CTypeEnumWrite__1[15](avframe + 276, videoFrame.visibleRect.left),
100
- cheap__CTypeEnumWrite__1[15](avframe + 280, videoFrame.visibleRect.right), cheap__CTypeEnumWrite__1[15](avframe + 268, videoFrame.visibleRect.top),
101
- cheap__CTypeEnumWrite__1[15](avframe + 272, videoFrame.visibleRect.bottom)), getVideoBuffer(avframe);
103
+ videoFrame.visibleRect && (cheap__CTypeEnumWrite__1[25](avframe + 276, videoFrame.visibleRect.left),
104
+ cheap__CTypeEnumWrite__1[25](avframe + 280, videoFrame.codedWidth - videoFrame.visibleRect.right),
105
+ cheap__CTypeEnumWrite__1[25](avframe + 268, videoFrame.visibleRect.top), cheap__CTypeEnumWrite__1[25](avframe + 272, videoFrame.codedHeight - videoFrame.visibleRect.bottom)),
106
+ getVideoBuffer(avframe);
102
107
  const des = PixelFormatDescriptorsMap[cheap__CTypeEnumRead__0[15](avframe + 80)], layout = [];
103
108
  for (let i = 0; i < des.nbComponents; i++) des.comp[i].plane >= i && layout.push({
104
109
  offset: cheap__CTypeEnumRead__0[20](avframe + 4 * i),
105
110
  stride: cheap__CTypeEnumRead__0[15](avframe + 32 + 4 * i)
106
111
  });
107
- return videoFrame.copyTo(getHeapU8(), {
112
+ return videoFrame.copyTo(getHeap(), {
108
113
  layout: layout
109
114
  }), avframe;
110
115
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createAVFrame","getVideoBuffer","PixelFormatDescriptorsMap","getHeapU8","mapFormat","format","mapColorSpace","colorSpace","mapColorPrimaries","colorPrimaries","mapColorTrc","colorTrc","videoFrame2AVFrame","videoFrame","avframe","cheap__CTypeEnumWrite__1","BigInt","Math","floor","timestamp","codedWidth","codedHeight","duration","matrix","primaries","transfer","fullRange","visibleRect","left","right","top","bottom","des","cheap__CTypeEnumRead__0","layout","i","nbComponents","comp","plane","push","offset","stride","copyTo"],"sources":["../../../function/videoFrame2AVFrame.ts"],"mappings":";;;;SAwBSA,eAAeC,sBAAgB;;SAG/BC,iCAA2B;;SAC3BC,iBAAW;;OAEd,SAAUC,UAAUC;IACxB,QAAQA;MACN,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF;QACE;;AAEN;;OAEM,SAAUC,cAAcC;IAC5B,QAAQA;MACN,KAAK;MAQL;QACE;;MAPF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,kBAAkBC;IAChC,QAAQA;MACN,KAAK;MAML;QACE;;MALF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,YAAYC;IAC1B,QAAQA;MACN,KAAK;MAML;QACE;;MALF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,mBAAmBC,YAAwBC,UAAA;IAC9C,MAAPA,YACFA,UAAUd,kBAGZe,yBAAA,IAAAD,UAAO,IAAUV,UAAUS,WAAWR;IACtCU,yBAAA,IAAAD,UAAO,KAAAE,OAAAC,KAAAC,MAA0BL,WAAWM;IAC5CJ,yBAAA,IAAAD,UAAO,IAASD,WAAWO,aAC3BL,yBAAA,IAAAD,UAAO,IAAUD,WAAWQ;IAC5BN,yBAAA,IAAAD,UAAO,KAAAE,OAAAC,KAAAC,MAA+BL,WAAWS;IAEjDP,yBAAA,IAAAD,UAAO,KAAcR,cAAcO,WAAWN,WAAWgB;IACzDR,yBAAA,IAAAD,UAAO,KAAkBN,kBAAkBK,WAAWN,WAAWiB;IACjET,yBAAA,IAAAD,UAAO,KAAYJ,YAAYG,WAAWN,WAAWkB;IACrDV,yBAAA,IAAAD,UAAO,KAAcD,WAAWN,WAAWmB,YAAW,IAAgC;IAElFb,WAAWc,gBACbZ,yBAAA,IAAAD,UAAO,KAAYD,WAAWc,YAAYC;IAC1Cb,yBAAA,IAAAD,UAAO,KAAaD,WAAWc,YAAYE,QAC3Cd,yBAAA,IAAAD,UAAO,KAAWD,WAAWc,YAAYG;IACzCf,yBAAA,IAAAD,UAAO,KAAcD,WAAWc,YAAYI,UAG9C9B,eAAea;IAEf,MAAMkB,MAAM9B,0BAA0B+B,wBAAA,IAAAnB,UAAO,MACvCoB,SAAwB;IAC9B,KAAK,IAAIC,IAAI,GAAGA,IAAIH,IAAII,cAAcD,KAChCH,IAAIK,KAAKF,GAAGG,SAASH,KACvBD,OAAOK,KAAK;QACVC,QAAMP,wBAAA,IAAEnB,UAAO;QACf2B,QAAMR,wBAAA,IAAEnB,UAAO;;IASrB,OAJAD,WAAW6B,OAAOvC,aAAa;QAC7B+B;QAGKpB;AACT","ignoreList":[]}
1
+ {"version":3,"names":["createAVFrame","getVideoBuffer","unrefAVFrame","PixelFormatDescriptorsMap","getHeap","AV_TIME_BASE","mapFormat","format","mapColorSpace","colorSpace","mapColorPrimaries","colorPrimaries","mapColorTrc","colorTrc","videoFrame2AVFrame","videoFrame","avframe","cheap__CTypeEnumWrite__1","BigInt","Math","floor","timestamp","cheap__CTypeEnumRead__0","codedWidth","codedHeight","duration","matrix","primaries","transfer","fullRange","visibleRect","left","right","top","bottom","des","layout","i","nbComponents","comp","plane","push","offset","stride","copyTo"],"sources":["../../../function/videoFrame2AVFrame.ts"],"mappings":";;;;SAwBSA,eAAeC,gBAAgBC,oBAAc;;SAG7CC,iCAA2B;;SAC3BC,eAAS;;SACTC,oBAAc;;OAEjB,SAAUC,UAAUC;IACxB,QAAQA;MACN,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;MACF;QACE;;AAEN;;OAEM,SAAUC,cAAcC;IAC5B,QAAQA;MACN,KAAK;MAQL;QACE;;MAPF,KAAK;QACH;;MACF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,kBAAkBC;IAChC,QAAQA;MACN,KAAK;MAML;QACE;;MALF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,YAAYC;IAC1B,QAAQA;MACN,KAAK;MAML;QACE;;MALF,KAAK;QACH;;MACF,KAAK;QACH;;AAIN;;OAEM,SAAUC,mBAAmBC,YAAwBC,UAAA;IAC9C,MAAPA,UACFA,UAAUhB,kBAGVE,aAAac,UAGfC,yBAAA,IAAAD,UAAO,IAAUV,UAAUS,WAAWR;IACtCU,yBAAA,IAAAD,UAAO,KAAAE,OAAAC,KAAAC,MAA0BL,WAAWM;IAC5CJ,yBAAA,IAAAD,UAAO,KAAAM,wBAAA,IAAuBN,UAAO;IACrCC,yBAAA,IAAAD,UAAO,IAASD,WAAWQ,aAC3BN,yBAAA,IAAAD,UAAO,IAAUD,WAAWS;IAC5BP,yBAAA,IAAAD,UAAO,KAAAE,OAAAC,KAAAC,MAA+BL,WAAWU;IACjDR,yBAAA,IAAAD,UAAO,KAAgBX,eACvBY,yBAAA,IAAAD,UAAO,KAAgB;IAEvBC,yBAAA,IAAAD,UAAO,KAAcR,cAAcO,WAAWN,WAAWiB;IACzDT,yBAAA,IAAAD,UAAO,KAAkBN,kBAAkBK,WAAWN,WAAWkB;IACjEV,yBAAA,IAAAD,UAAO,KAAYJ,YAAYG,WAAWN,WAAWmB;IACrDX,yBAAA,IAAAD,UAAO,KAAcD,WAAWN,WAAWoB,YAAW,IAAgC;IAElFd,WAAWe,gBACbb,yBAAA,IAAAD,UAAO,KAAmCD,WAAWe,YAAYC;IACjEd,yBAAA,IAAAD,UAAO,KAAoCD,WAAWQ,aAAaR,WAAWe,YAAYE;IAC1Ff,yBAAA,IAAAD,UAAO,KAAkCD,WAAWe,YAAYG,MAChEhB,yBAAA,IAAAD,UAAO,KAAqCD,WAAWS,cAAcT,WAAWe,YAAYI;IAG9FjC,eAAee;IAEf,MAAMmB,MAAMhC,0BAA0BmB,wBAAA,IAAAN,UAAO,MACvCoB,SAAwB;IAC9B,KAAK,IAAIC,IAAI,GAAGA,IAAIF,IAAIG,cAAcD,KAChCF,IAAII,KAAKF,GAAGG,SAASH,KACvBD,OAAOK,KAAK;QACVC,QAAMpB,wBAAA,IAA2BN,UAAO;QACxC2B,QAAMrB,wBAAA,IAAEN,UAAO;;IAQrB,OAJAD,WAAW6B,OAAOxC,WAAW;QAC3BgC;QAGKpB;AACT","ignoreList":[]}
@@ -17,12 +17,12 @@ export default class AVPCMBufferPoolImpl {
17
17
  this.list = list, this.mutex = mutex;
18
18
  }
19
19
  alloc() {
20
- let buffer = this.list.find((buffer => -1 === atomics.compareExchange(buffer + 40, -1, 1, 16, 2)), 20);
21
- return buffer || (buffer = avMallocz(48), cheap__CTypeEnumWrite__2[16](buffer + 40, 1),
20
+ let buffer = this.list.find((buffer => -1 === atomics.compareExchange(buffer + 48, -1, 1, 16, 2)), 20);
21
+ return buffer || (buffer = avMallocz(56), cheap__CTypeEnumWrite__2[16](buffer + 48, 1),
22
22
  mutex.lock(this.mutex), this.list.push(buffer, 20), mutex.unlock(this.mutex)), buffer;
23
23
  }
24
24
  release(buffer) {
25
- atomics.load(buffer + 40, 16, 2) <= 0 || 1 === atomics.sub(buffer + 40, 1, 16, 2) && atomics.store(buffer + 40, -1, 16, 2);
25
+ atomics.load(buffer + 48, 16, 2) <= 0 || 1 === atomics.sub(buffer + 48, 1, 16, 2) && atomics.store(buffer + 48, -1, 16, 2);
26
26
  }
27
27
  }
28
28
  //# sourceMappingURL=AVPCMBufferPoolImpl.js.map
@@ -3,6 +3,156 @@ import { AVCodecID, AVMediaType } from "./codec";
3
3
  import { AVColorPrimaries, AVColorRange, AVColorSpace, AVColorTransferCharacteristic, AVPixelFormat } from "./pixfmt";
4
4
  import { AVSampleFormat } from "./audiosamplefmt";
5
5
  import { AVDisposition } from "./AVStream";
6
+ export declare const enum AVStreamMetadataKey {
7
+ /**
8
+ * 表演者(歌手、乐队等)
9
+ */
10
+ ARTIST = "artist",
11
+ /**
12
+ * 自由文本评论
13
+ */
14
+ COMMENT = "comment",
15
+ /**
16
+ * 版权声明
17
+ */
18
+ COPYRIGHT = "copyright",
19
+ /**
20
+ * 发行年份(通常为 YYYY 格式)
21
+ */
22
+ DATE = "date",
23
+ /**
24
+ * 音乐流派
25
+ */
26
+ GENRE = "genre",
27
+ /**
28
+ * 语言
29
+ */
30
+ LANGUAGE = "language",
31
+ /**
32
+ * 语言描述
33
+ */
34
+ LANGUAGE_STRING = "languageString",
35
+ /**
36
+ * 歌曲或作品的标题
37
+ */
38
+ TITLE = "title",
39
+ /**
40
+ * 专辑名称
41
+ */
42
+ ALBUM = "album",
43
+ /**
44
+ * 曲目编号
45
+ */
46
+ TRACK = "track",
47
+ /**
48
+ * 用于编码音频文件的软件信息
49
+ */
50
+ ENCODER = "encoder",
51
+ /**
52
+ * 时间参数
53
+ */
54
+ TIME_CODE = "timecode",
55
+ /**
56
+ * 发行商
57
+ */
58
+ VENDOR = "vendor",
59
+ /**
60
+ * 发行商标识
61
+ */
62
+ VENDOR_ID = "vendorId",
63
+ /**
64
+ * 海报
65
+ */
66
+ POSTER = "poster",
67
+ /**
68
+ * 歌词
69
+ */
70
+ LYRICS = "lyrics",
71
+ /**
72
+ * 专辑的主要艺术家(与 ARTIST 区分开,适用于合集专辑)
73
+ */
74
+ ALBUM_ARTIST = "albumArtist",
75
+ /**
76
+ * 如果是多张 CD 的专辑,标识当前曲目所在的 CD
77
+ */
78
+ DISC = "disc",
79
+ /**
80
+ * 具体的演奏者或表演者
81
+ */
82
+ PERFORMER = "performer",
83
+ /**
84
+ * 发行者
85
+ */
86
+ PUBLISHER = "publisher",
87
+ /**
88
+ * 作曲者
89
+ */
90
+ COMPOSER = "composer",
91
+ /**
92
+ * 编曲者
93
+ */
94
+ COMPILATION = "compilation",
95
+ /**
96
+ * 创建时间
97
+ */
98
+ CREATION_TIME = "creationTime",
99
+ /**
100
+ * 最后更改时间
101
+ */
102
+ MODIFICATION_TIME = "modificationTime",
103
+ /**
104
+ * 专辑排序
105
+ */
106
+ ALBUM_SORT = "albumSort",
107
+ /**
108
+ * 表演者排序
109
+ */
110
+ ARTIST_SORT = "artistSort",
111
+ /**
112
+ * 标题排序
113
+ */
114
+ TITLE_SORT = "titleSort",
115
+ /**
116
+ * 分组
117
+ */
118
+ GROUPING = "grouping",
119
+ /**
120
+ * 额外的描述信息
121
+ */
122
+ DESCRIPTION = "description",
123
+ /**
124
+ * 许可信息
125
+ */
126
+ LICENSE = "license",
127
+ /**
128
+ * 国际标准录音代码
129
+ */
130
+ ISRC = "isrc",
131
+ /**
132
+ * 情绪标签,如 Happy、Sad
133
+ */
134
+ MOOD = "mood",
135
+ /**
136
+ * mp4 的 elst box 内容
137
+ */
138
+ ELST = "elst",
139
+ /**
140
+ * mp4 的旋转矩阵
141
+ */
142
+ MATRIX = "matrix",
143
+ /**
144
+ * 某些媒体的样式(如 webvtt)
145
+ */
146
+ STYLES = "styles",
147
+ /**
148
+ * 媒体的 mime
149
+ */
150
+ MIME = "mime",
151
+ /**
152
+ * mp4 的 handlerName
153
+ */
154
+ HANDLER_NAME = "handlerName"
155
+ }
6
156
  export declare const CodecId2MimeType: {
7
157
  86017: string;
8
158
  86018: string;
@@ -20,6 +20,8 @@ export const Ext2Format = {
20
20
  mp4: 1,
21
21
  mov: 1,
22
22
  ts: 2,
23
+ mts: 2,
24
+ m2ts: 2,
23
25
  ivf: 5,
24
26
  opus: 4,
25
27
  oggs: 4,