@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.
- package/dist/cjs/AVStream.d.ts +8 -1
- package/dist/cjs/AVStream.js +1 -0
- package/dist/cjs/AVStream.js.map +1 -1
- package/dist/cjs/codecs/aac.d.ts +1 -1
- package/dist/cjs/codecs/aac.js +4 -3
- package/dist/cjs/codecs/aac.js.map +1 -1
- package/dist/cjs/codecs/av1.d.ts +1 -1
- package/dist/cjs/codecs/av1.js +10 -4
- package/dist/cjs/codecs/av1.js.map +1 -1
- package/dist/cjs/codecs/flac.d.ts +26 -0
- package/dist/cjs/codecs/flac.js +31 -1
- package/dist/cjs/codecs/flac.js.map +1 -1
- package/dist/cjs/codecs/h264.d.ts +59 -10
- package/dist/cjs/codecs/h264.js +118 -101
- package/dist/cjs/codecs/h264.js.map +1 -1
- package/dist/cjs/codecs/hevc.d.ts +61 -10
- package/dist/cjs/codecs/hevc.js +89 -98
- package/dist/cjs/codecs/hevc.js.map +1 -1
- package/dist/cjs/codecs/opus.d.ts +1 -1
- package/dist/cjs/codecs/vp9.d.ts +1 -1
- package/dist/cjs/codecs/vvc.d.ts +61 -11
- package/dist/cjs/codecs/vvc.js +82 -95
- package/dist/cjs/codecs/vvc.js.map +1 -1
- package/dist/cjs/error.d.ts +1 -0
- package/dist/cjs/error.js +2 -2
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/function/analyzeUrlIOLoader.js +51 -39
- package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/cjs/function/audioData2AVFrame.js +4 -2
- package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
- package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +3 -0
- package/dist/cjs/function/avPCMBuffer2AVFrame.js +73 -0
- package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -0
- package/dist/cjs/function/avframe2AudioData.d.ts +1 -2
- package/dist/cjs/function/avframe2AudioData.js +4 -3
- package/dist/cjs/function/avframe2AudioData.js.map +1 -1
- package/dist/cjs/function/avframe2VideoFrame.d.ts +1 -2
- package/dist/cjs/function/avframe2VideoFrame.js +10 -9
- package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
- package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +1 -1
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js +5 -4
- package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +1 -1
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js +5 -4
- package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/cjs/function/compileResource.js +10 -4
- package/dist/cjs/function/compileResource.js.map +1 -1
- package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
- package/dist/cjs/function/getVideoCodec.js +15 -7
- package/dist/cjs/function/getVideoCodec.js.map +1 -1
- package/dist/cjs/function/getWasmUrl.d.ts +2 -0
- package/dist/cjs/function/getWasmUrl.js +138 -0
- package/dist/cjs/function/getWasmUrl.js.map +1 -0
- package/dist/cjs/function/videoFrame2AVFrame.js +10 -8
- package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/cjs/implement/AVFramePoolImpl.js +10 -4
- package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js +13 -7
- package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
- package/dist/cjs/implement/AVPacketPoolImpl.js +10 -4
- package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
- package/dist/cjs/stringEnum.d.ts +150 -0
- package/dist/cjs/stringEnum.js +2 -0
- package/dist/cjs/stringEnum.js.map +1 -1
- package/dist/cjs/struct/avbuffer.js +3 -3
- package/dist/cjs/struct/avframe.js +5 -5
- package/dist/cjs/struct/avpacket.js +2 -2
- package/dist/cjs/struct/avpacket.js.map +1 -1
- package/dist/cjs/struct/avpcmbuffer.d.ts +5 -0
- package/dist/cjs/struct/avpcmbuffer.js +16 -5
- package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
- package/dist/cjs/util/amf.js +10 -4
- package/dist/cjs/util/amf.js.map +1 -1
- package/dist/cjs/util/avbuffer.js +18 -12
- package/dist/cjs/util/avbuffer.js.map +1 -1
- package/dist/cjs/util/avdict.d.ts +1 -1
- package/dist/cjs/util/avdict.js +46 -4
- package/dist/cjs/util/avdict.js.map +1 -1
- package/dist/cjs/util/avframe.d.ts +7 -1
- package/dist/cjs/util/avframe.js +132 -80
- package/dist/cjs/util/avframe.js.map +1 -1
- package/dist/cjs/util/avpacket.d.ts +3 -3
- package/dist/cjs/util/avpacket.js +16 -10
- package/dist/cjs/util/avpacket.js.map +1 -1
- package/dist/cjs/util/channel.js +10 -4
- package/dist/cjs/util/channel.js.map +1 -1
- package/dist/cjs/util/codecparameters.js +3 -3
- package/dist/cjs/util/codecparameters.js.map +1 -1
- package/dist/cjs/util/mem.js +10 -4
- package/dist/cjs/util/mem.js.map +1 -1
- package/dist/cjs/util/nalu.d.ts +24 -4
- package/dist/cjs/util/nalu.js +15 -7
- package/dist/cjs/util/nalu.js.map +1 -1
- package/dist/cjs/util/pixel.d.ts +1 -1
- package/dist/cjs/util/pixel.js +21 -15
- package/dist/cjs/util/pixel.js.map +1 -1
- package/dist/cjs/util/rational.d.ts +1 -1
- package/dist/cjs/util/rational.js +5 -5
- package/dist/cjs/util/rational.js.map +1 -1
- package/dist/cjs/util/sample.js +1 -1
- package/dist/cjs/util/sample.js.map +1 -1
- package/dist/cjs/util/serialize.js +2 -2
- package/dist/cjs/util/serialize.js.map +1 -1
- package/dist/esm/AVStream.d.ts +8 -1
- package/dist/esm/AVStream.js +1 -0
- package/dist/esm/AVStream.js.map +1 -1
- package/dist/esm/codecs/aac.d.ts +1 -1
- package/dist/esm/codecs/aac.js +4 -3
- package/dist/esm/codecs/aac.js.map +1 -1
- package/dist/esm/codecs/av1.d.ts +1 -1
- package/dist/esm/codecs/flac.d.ts +26 -0
- package/dist/esm/codecs/flac.js +34 -1
- package/dist/esm/codecs/flac.js.map +1 -1
- package/dist/esm/codecs/h264.d.ts +59 -10
- package/dist/esm/codecs/h264.js +114 -98
- package/dist/esm/codecs/h264.js.map +1 -1
- package/dist/esm/codecs/hevc.d.ts +61 -10
- package/dist/esm/codecs/hevc.js +84 -96
- package/dist/esm/codecs/hevc.js.map +1 -1
- package/dist/esm/codecs/opus.d.ts +1 -1
- package/dist/esm/codecs/vp9.d.ts +1 -1
- package/dist/esm/codecs/vvc.d.ts +61 -11
- package/dist/esm/codecs/vvc.js +77 -93
- package/dist/esm/codecs/vvc.js.map +1 -1
- package/dist/esm/error.d.ts +1 -0
- package/dist/esm/error.js +2 -0
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/function/analyzeUrlIOLoader.js +40 -34
- package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
- package/dist/esm/function/audioData2AVFrame.js +4 -0
- package/dist/esm/function/audioData2AVFrame.js.map +1 -1
- package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +3 -0
- package/dist/esm/function/avPCMBuffer2AVFrame.js +48 -0
- package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -0
- package/dist/esm/function/avframe2AudioData.d.ts +1 -2
- package/dist/esm/function/avframe2AudioData.js +7 -3
- package/dist/esm/function/avframe2AudioData.js.map +1 -1
- package/dist/esm/function/avframe2VideoFrame.d.ts +1 -2
- package/dist/esm/function/avframe2VideoFrame.js +14 -10
- package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedAudioChunk.js +11 -3
- package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
- package/dist/esm/function/avpacket2EncodedVideoChunk.js +11 -3
- package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
- package/dist/esm/function/getVideoCodec.js +8 -2
- package/dist/esm/function/getVideoCodec.js.map +1 -1
- package/dist/esm/function/getWasmUrl.d.ts +2 -0
- package/dist/esm/function/getWasmUrl.js +133 -0
- package/dist/esm/function/getWasmUrl.js.map +1 -0
- package/dist/esm/function/videoFrame2AVFrame.js +12 -7
- package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
- package/dist/esm/implement/AVPCMBufferPoolImpl.js +3 -3
- package/dist/esm/stringEnum.d.ts +150 -0
- package/dist/esm/stringEnum.js +2 -0
- package/dist/esm/stringEnum.js.map +1 -1
- package/dist/esm/struct/avbuffer.js +3 -3
- package/dist/esm/struct/avframe.js +5 -5
- package/dist/esm/struct/avpacket.js +2 -2
- package/dist/esm/struct/avpacket.js.map +1 -1
- package/dist/esm/struct/avpcmbuffer.d.ts +5 -0
- package/dist/esm/struct/avpcmbuffer.js +16 -5
- package/dist/esm/struct/avpcmbuffer.js.map +1 -1
- package/dist/esm/util/amf.js.map +1 -1
- package/dist/esm/util/avbuffer.js +8 -8
- package/dist/esm/util/avdict.d.ts +1 -1
- package/dist/esm/util/avdict.js +14 -4
- package/dist/esm/util/avdict.js.map +1 -1
- package/dist/esm/util/avframe.d.ts +7 -1
- package/dist/esm/util/avframe.js +119 -74
- package/dist/esm/util/avframe.js.map +1 -1
- package/dist/esm/util/avpacket.d.ts +3 -3
- package/dist/esm/util/avpacket.js +6 -6
- package/dist/esm/util/avpacket.js.map +1 -1
- package/dist/esm/util/codecparameters.js +3 -3
- package/dist/esm/util/codecparameters.js.map +1 -1
- package/dist/esm/util/nalu.d.ts +24 -4
- package/dist/esm/util/nalu.js +7 -3
- package/dist/esm/util/nalu.js.map +1 -1
- package/dist/esm/util/pixel.d.ts +1 -1
- package/dist/esm/util/pixel.js +11 -11
- package/dist/esm/util/pixel.js.map +1 -1
- package/dist/esm/util/rational.d.ts +1 -1
- package/dist/esm/util/rational.js +5 -5
- package/dist/esm/util/rational.js.map +1 -1
- package/dist/esm/util/sample.js +1 -1
- package/dist/esm/util/sample.js.map +1 -1
- package/dist/esm/util/serialize.js +2 -2
- package/dist/esm/util/serialize.js.map +1 -1
- package/include/rational.h +1 -1
- 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>,
|
|
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 {
|
|
9
|
+
import { avRescaleQ2 } from "../util/rational";
|
|
6
10
|
|
|
7
11
|
import { AV_TIME_BASE_Q } from "../constant";
|
|
8
12
|
|
|
9
|
-
import {
|
|
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,
|
|
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(
|
|
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(
|
|
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[
|
|
110
|
-
y: cheap__CTypeEnumRead__0[
|
|
111
|
-
width: cheap__CTypeEnumRead__0[15](avframe + 68) - (cheap__CTypeEnumRead__0[
|
|
112
|
-
height: cheap__CTypeEnumRead__0[15](avframe + 72) - (cheap__CTypeEnumRead__0[
|
|
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(
|
|
119
|
+
return new VideoFrame(getHeap(), init);
|
|
116
120
|
}
|
|
117
121
|
//# sourceMappingURL=avframe2VideoFrame.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PixelFormatDescriptorsMap","
|
|
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
|
|
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
|
-
|
|
6
|
-
|
|
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:
|
|
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":["
|
|
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
|
|
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
|
-
|
|
6
|
-
|
|
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:
|
|
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":["
|
|
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
|
|
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":";;SA0BSA,wBAAkB;;YAEfC,SAAG;;YACHC,SAAG;;YACHC,SAAG;;YACHC,SAAG;;YACHC,YAAM;;SACTC,mBAAa;;SAEbC,qBAAe;;YACZC,YAAM;;
|
|
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,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":"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","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 {
|
|
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
|
|
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[
|
|
100
|
-
cheap__CTypeEnumWrite__1[
|
|
101
|
-
cheap__CTypeEnumWrite__1[
|
|
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(
|
|
112
|
+
return videoFrame.copyTo(getHeap(), {
|
|
108
113
|
layout: layout
|
|
109
114
|
}), avframe;
|
|
110
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAVFrame","getVideoBuffer","PixelFormatDescriptorsMap","
|
|
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 +
|
|
21
|
-
return buffer || (buffer = avMallocz(
|
|
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 +
|
|
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
|
package/dist/esm/stringEnum.d.ts
CHANGED
|
@@ -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;
|