@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
package/dist/esm/codecs/vvc.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
|
|
2
2
|
|
|
3
|
-
import { CTypeEnumWrite as cheap__CTypeEnumWrite__4 } from "@libmedia/cheap/ctypeEnumWrite";
|
|
4
|
-
|
|
5
3
|
import * as array from "@libmedia/common/util/array";
|
|
6
4
|
|
|
7
5
|
import BufferWriter from "@libmedia/common/io/BufferWriter";
|
|
@@ -10,11 +8,9 @@ import BufferReader from "@libmedia/common/io/BufferReader";
|
|
|
10
8
|
|
|
11
9
|
import BitReader from "@libmedia/common/io/BitReader";
|
|
12
10
|
|
|
13
|
-
import { mapUint8Array
|
|
14
|
-
|
|
15
|
-
import { naluUnescape, splitNaluByStartCode, isAnnexb } from "../util/nalu";
|
|
11
|
+
import { mapUint8Array } from "@libmedia/cheap/std/memory";
|
|
16
12
|
|
|
17
|
-
import
|
|
13
|
+
import * as naluUtil from "../util/nalu";
|
|
18
14
|
|
|
19
15
|
import { avMalloc } from "../util/mem";
|
|
20
16
|
|
|
@@ -24,6 +20,8 @@ import BitWriter from "@libmedia/common/io/BitWriter";
|
|
|
24
20
|
|
|
25
21
|
import * as intread from "../util/intread";
|
|
26
22
|
|
|
23
|
+
import * as intwrite from "../util/intwrite";
|
|
24
|
+
|
|
27
25
|
function parsePTL(bitReader) {
|
|
28
26
|
const olsIdx = bitReader.readU(9), numSublayers = bitReader.readU(3), constantFrameRate = bitReader.readU(2), chromaFormatIdc = bitReader.readU(2), bitDepthMinus8 = bitReader.readU(3);
|
|
29
27
|
bitReader.readU(5), bitReader.readU(2);
|
|
@@ -138,7 +136,7 @@ export function vpsSpsPps2Extradata(vpss, spss, ppss) {
|
|
|
138
136
|
}
|
|
139
137
|
|
|
140
138
|
export function annexbExtradata2AvccExtradata(data) {
|
|
141
|
-
let nalus = splitNaluByStartCode(data);
|
|
139
|
+
let nalus = naluUtil.splitNaluByStartCode(data);
|
|
142
140
|
if (nalus.length >= 2) {
|
|
143
141
|
const vpss = [], spss = [], ppss = [];
|
|
144
142
|
if (nalus.forEach((nalu => {
|
|
@@ -148,25 +146,36 @@ export function annexbExtradata2AvccExtradata(data) {
|
|
|
148
146
|
}
|
|
149
147
|
}
|
|
150
148
|
|
|
151
|
-
export function
|
|
152
|
-
let
|
|
149
|
+
export function generateAnnexbExtradata(data) {
|
|
150
|
+
let nalus = naluUtil.splitNaluByStartCode(data);
|
|
153
151
|
if (nalus.length >= 2) {
|
|
154
152
|
const vpss = [], spss = [], ppss = [];
|
|
155
|
-
nalus.forEach((nalu => {
|
|
153
|
+
if (nalus.forEach((nalu => {
|
|
156
154
|
const type = nalu[1] >>> 3 & 31;
|
|
157
155
|
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu);
|
|
158
|
-
})), spss.length && ppss.length
|
|
156
|
+
})), spss.length && ppss.length) {
|
|
157
|
+
const nalus = [ spss[0], ppss[0] ];
|
|
158
|
+
return vpss.length && nalus.unshift(vpss[0]), naluUtil.joinNaluByStartCode(nalus, 0);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export function annexb2Avcc(data) {
|
|
164
|
+
let extradata, key = !1, nalus = naluUtil.splitNaluByStartCode(data);
|
|
165
|
+
if (nalus.length) {
|
|
166
|
+
const vpss = [], spss = [], ppss = [];
|
|
167
|
+
nalus.forEach((nalu => {
|
|
168
|
+
const type = nalu[1] >>> 3 & 31;
|
|
169
|
+
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu),
|
|
170
|
+
8 !== type && 7 !== type && 9 !== type && 10 !== type || (key = !0);
|
|
171
|
+
})), spss.length && ppss.length ? (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
|
|
159
172
|
nalus = nalus.filter((nalu => {
|
|
160
173
|
const type = nalu[1] >>> 3 & 31;
|
|
161
174
|
return 14 !== type && 15 !== type && 16 !== type && 20 !== type;
|
|
162
|
-
})));
|
|
175
|
+
}))) : nalus = nalus.filter((nalu => 20 !== (nalu[1] >>> 3 & 31)));
|
|
163
176
|
}
|
|
164
|
-
const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length)
|
|
165
|
-
return
|
|
166
|
-
bufferWriter.writeUint32(nalu.length), bufferWriter.writeBuffer(nalu.subarray(0));
|
|
167
|
-
const type = nalu[1] >>> 3 & 31;
|
|
168
|
-
8 !== type && 7 !== type && 9 !== type && 10 !== type || (key = !0);
|
|
169
|
-
})), {
|
|
177
|
+
const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length);
|
|
178
|
+
return naluUtil.joinNaluByLength(nalus, 3, buffer), {
|
|
170
179
|
bufferPointer: bufferPointer,
|
|
171
180
|
length: length,
|
|
172
181
|
extradata: extradata,
|
|
@@ -174,6 +183,35 @@ export function annexb2Avcc(data) {
|
|
|
174
183
|
};
|
|
175
184
|
}
|
|
176
185
|
|
|
186
|
+
export function nalus2Annexb(vpss, spss, ppss, nalus, key) {
|
|
187
|
+
const lengths = [ naluUtil.joinNaluByStartCodeLength(vpss, 0), naluUtil.joinNaluByStartCodeLength(spss, 0), naluUtil.joinNaluByStartCodeLength(ppss, 0), naluUtil.joinNaluByStartCodeLength(nalus, 2) ];
|
|
188
|
+
let length = lengths.reduce(((prev, length) => prev + length), 0);
|
|
189
|
+
const bufferPointer = avMalloc(length + 7);
|
|
190
|
+
let offset = bufferPointer;
|
|
191
|
+
return intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 0),
|
|
192
|
+
intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 1),
|
|
193
|
+
intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 161),
|
|
194
|
+
intwrite.w8((offset += 1, offset - 1), (key ? 1 : 0) << 7 | 40), vpss.length && (naluUtil.joinNaluByStartCode(vpss, 0, mapUint8Array(offset, lengths[0])),
|
|
195
|
+
offset += lengths[0]), spss.length && (naluUtil.joinNaluByStartCode(spss, 0, mapUint8Array(offset, lengths[1])),
|
|
196
|
+
offset += lengths[1]), ppss.length && (naluUtil.joinNaluByStartCode(ppss, 0, mapUint8Array(offset, lengths[2])),
|
|
197
|
+
offset += lengths[2]), nalus.length && naluUtil.joinNaluByStartCode(nalus, 2, mapUint8Array(offset, lengths[3])),
|
|
198
|
+
{
|
|
199
|
+
bufferPointer: bufferPointer,
|
|
200
|
+
length: length + 7
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function annexbAddExtradata(data, extradata) {
|
|
205
|
+
let nalus = naluUtil.splitNaluByStartCode(data).concat(naluUtil.splitNaluByStartCode(extradata));
|
|
206
|
+
if (nalus.length) {
|
|
207
|
+
let vpss = [], spss = [], ppss = [], others = [];
|
|
208
|
+
return nalus.forEach((nalu => {
|
|
209
|
+
const type = nalu[1] >>> 3 & 31;
|
|
210
|
+
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type ? ppss.push(nalu) : 20 !== type && others.push(nalu);
|
|
211
|
+
})), nalus2Annexb(vpss, spss, ppss, others, !0);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
177
215
|
export function avcc2Annexb(data, extradata) {
|
|
178
216
|
const naluLengthSizeMinusOne = extradata ? extradata[0] >>> 1 & 3 : 3;
|
|
179
217
|
let vpss = [], spss = [], ppss = [], key = !1;
|
|
@@ -181,95 +219,40 @@ export function avcc2Annexb(data, extradata) {
|
|
|
181
219
|
const result = extradata2VpsSpsPps(extradata);
|
|
182
220
|
vpss = result.vpss, spss = result.spss, ppss = result.ppss, key = !0;
|
|
183
221
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
let length = 0;
|
|
187
|
-
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8(),
|
|
188
|
-
nalus.push(bufferReader.readBuffer(length));
|
|
189
|
-
}
|
|
190
|
-
let length = vpss.reduce(((prev, vps) => prev + 4 + vps.length), 0);
|
|
191
|
-
length = spss.reduce(((prev, sps) => prev + 4 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length),
|
|
192
|
-
length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
|
|
193
|
-
const bufferPointer = avMalloc(length + 7), buffer = mapUint8Array(bufferPointer, length + 7), bufferWriter = new BufferWriter(buffer);
|
|
194
|
-
return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
195
|
-
bufferWriter.writeUint8(1), bufferWriter.writeUint8(0), bufferWriter.writeUint8(160),
|
|
196
|
-
bufferWriter.writeUint8(240), array.each(vpss, (vps => {
|
|
197
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
198
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(vps);
|
|
199
|
-
})), array.each(spss, (sps => {
|
|
200
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
201
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
|
|
202
|
-
})), array.each(ppss, (pps => {
|
|
203
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
204
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
|
|
205
|
-
})), array.each(nalus, ((nalu, index) => {
|
|
206
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
|
|
207
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
|
|
208
|
-
const type = nalu[1] >>> 3 & 31;
|
|
209
|
-
8 !== type && 7 !== type && 9 !== type && 10 !== type || (key = !0);
|
|
210
|
-
})), {
|
|
211
|
-
bufferPointer: bufferPointer,
|
|
212
|
-
length: length + 7,
|
|
222
|
+
return {
|
|
223
|
+
...nalus2Annexb(vpss, spss, ppss, naluUtil.splitNaluByLength(data, naluLengthSizeMinusOne).filter((nalu => 20 !== (nalu[1] >>> 3 & 31))), key),
|
|
213
224
|
key: key
|
|
214
225
|
};
|
|
215
226
|
}
|
|
216
227
|
|
|
217
|
-
export function
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
for (;bufferReader.remainingSize() > 0; ) {
|
|
225
|
-
let length = 0;
|
|
226
|
-
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
|
|
227
|
-
const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
|
|
228
|
-
bufferReader.skip(length);
|
|
229
|
-
const naluType = nalu[1] >>> 3 & 31;
|
|
230
|
-
15 === naluType ? spss.push(nalu) : 16 === naluType ? ppss.push(nalu) : 14 === naluType && vpss.push(nalu);
|
|
231
|
-
}
|
|
232
|
-
if (spss.length || ppss.length || vpss.length) {
|
|
233
|
-
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
|
|
234
|
-
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
228
|
+
export function parseAVCodecParametersBySps(stream, sps) {
|
|
229
|
+
const {profile: profile, level: level, width: width, height: height, videoDelay: videoDelay, chromaFormatIdc: chromaFormatIdc, bitDepthMinus8: bitDepthMinus8} = parseSPS(sps);
|
|
230
|
+
switch (stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
|
|
231
|
+
stream.codecpar.height = height, stream.codecpar.videoDelay = videoDelay, bitDepthMinus8) {
|
|
232
|
+
case 0:
|
|
233
|
+
stream.codecpar.format = 3 === chromaFormatIdc ? 5 : 2 === chromaFormatIdc ? 4 : 0;
|
|
234
|
+
break;
|
|
237
235
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
const data = getAVPacketData(avpacket);
|
|
241
|
-
if (!isAnnexb(data)) return;
|
|
242
|
-
let nalus = splitNaluByStartCode(data);
|
|
243
|
-
if (nalus.length > 2) {
|
|
244
|
-
const vpss = [], spss = [], ppss = [];
|
|
245
|
-
if (nalus.forEach((nalu => {
|
|
246
|
-
const type = nalu[1] >>> 3 & 31;
|
|
247
|
-
14 === type ? vpss.push(nalu) : 15 === type ? spss.push(nalu) : 16 === type && ppss.push(nalu);
|
|
248
|
-
})), vpss.length && spss.length && ppss.length) {
|
|
249
|
-
const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = avMalloc(extradata.length);
|
|
250
|
-
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length),
|
|
251
|
-
cheap__CTypeEnumWrite__4[15](avpacket + 36, 1 | cheap__CTypeEnumRead__0[15](avpacket + 36));
|
|
252
|
-
}
|
|
236
|
+
case 2:
|
|
237
|
+
stream.codecpar.format = 3 === chromaFormatIdc ? 68 : 2 === chromaFormatIdc ? 64 : 62;
|
|
253
238
|
}
|
|
254
239
|
}
|
|
255
240
|
|
|
256
|
-
export function parseAVCodecParametersBySps(stream, sps) {
|
|
257
|
-
const {profile: profile, level: level, width: width, height: height} = parseSPS(sps);
|
|
258
|
-
stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
|
|
259
|
-
stream.codecpar.height = height;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
241
|
export function parseAVCodecParameters(stream, extradata) {
|
|
263
|
-
|
|
242
|
+
let sps;
|
|
243
|
+
if (!extradata && stream.sideData[1] && (extradata = stream.sideData[1]), extradata && naluUtil.isAnnexb(extradata)) array.each(naluUtil.splitNaluByStartCode(extradata), (nalu => {
|
|
244
|
+
if (15 === (nalu[1] >>> 3 & 31)) return sps = nalu, !1;
|
|
245
|
+
})); else if (extradata && extradata.length >= 6) {
|
|
264
246
|
stream.metadata.naluLengthSizeMinusOne = extradata[0] >>> 1 & 3;
|
|
265
247
|
const {spss: spss} = extradata2VpsSpsPps(extradata);
|
|
266
|
-
spss.length &&
|
|
248
|
+
spss.length && (sps = spss[0]);
|
|
267
249
|
}
|
|
250
|
+
sps && parseAVCodecParametersBySps(stream, sps);
|
|
268
251
|
}
|
|
269
252
|
|
|
270
253
|
export function isIDR(avpacket, naluLengthSize = 4) {
|
|
271
254
|
if (2 === cheap__CTypeEnumRead__0[15](avpacket + 80)) {
|
|
272
|
-
return splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))).some((nalu => {
|
|
255
|
+
return naluUtil.splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__0[20](avpacket + 24), cheap__CTypeEnumRead__0[15](avpacket + 28))).some((nalu => {
|
|
273
256
|
const type = nalu[1] >>> 3 & 31;
|
|
274
257
|
return 8 === type || 7 === type;
|
|
275
258
|
}));
|
|
@@ -292,7 +275,7 @@ export function parseSPS(sps) {
|
|
|
292
275
|
let offset = 0;
|
|
293
276
|
0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
|
|
294
277
|
let profile = 0, level = 0, width = 0, height = 0, bitDepthMinus8 = 0, chromaFormatIdc = 1, tierFlag = 0, ptlFrameOnlyConstraintFlag = 0, ptlMultilayerEnabledFlag = 0;
|
|
295
|
-
const generalConstraintInfo = [], ptlSublayerLevelPresentFlag = [], sublayerLevelIdc = [], generalSubProfileIdc = [], buffer = naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
278
|
+
const generalConstraintInfo = [], ptlSublayerLevelPresentFlag = [], sublayerLevelIdc = [], generalSubProfileIdc = [], buffer = naluUtil.naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
296
279
|
bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU1(), bitReader.readU(6),
|
|
297
280
|
bitReader.readU(5), bitReader.readU(3), bitReader.readU(8);
|
|
298
281
|
const spsMaxSublayersMinus1 = bitReader.readU(3);
|
|
@@ -341,6 +324,7 @@ export function parseSPS(sps) {
|
|
|
341
324
|
level: level,
|
|
342
325
|
width: width,
|
|
343
326
|
height: height,
|
|
327
|
+
videoDelay: spsMaxSublayersMinus1 + 1 > 2 ? 2 : spsMaxSublayersMinus1,
|
|
344
328
|
chromaFormatIdc: chromaFormatIdc,
|
|
345
329
|
bitDepthMinus8: bitDepthMinus8,
|
|
346
330
|
generalProfileSpace: 0,
|
|
@@ -361,7 +345,7 @@ export function parseSPS(sps) {
|
|
|
361
345
|
}
|
|
362
346
|
|
|
363
347
|
export function parseExtraData(extradata) {
|
|
364
|
-
|
|
348
|
+
naluUtil.isAnnexb(extradata) && (extradata = annexbExtradata2AvccExtradata(extradata));
|
|
365
349
|
const bitReader = new BitReader;
|
|
366
350
|
bitReader.appendBuffer(extradata);
|
|
367
351
|
return 1 & bitReader.readU(8) ? parsePTL(bitReader) : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["array","BufferWriter","BufferReader","BitReader","mapUint8Array","memcpyFromUint8Array","naluUnescape","splitNaluByStartCode","isAnnexb","addAVPacketSideData","getAVPacketData","avMalloc","expgolomb","BitWriter","intread","parsePTL","bitReader","olsIdx","readU","numSublayers","constantFrameRate","chromaFormatIdc","bitDepthMinus8","num_bytes_constraint_info","generalProfileIdc","generalTierFlag","generalLevelIdc","ptlFrameOnlyConstraintFlag","ptlMultilayerEnabledFlag","generalConstraintInfo","sublayerLevelIdc","i","ptl_sublayer_present_mask","j","ptl_num_sub_profiles","generalSubProfileIdc","push","maxPictureWidth","maxPictureHeight","avgFramerate","extradata2VpsSpsPps","extradata","bufferReader","readUint8","appendBuffer","subarray","skip","getPointer","vpss","spss","ppss","arrayLen","naluType","count","readUint16","list","len","readBuffer","vpsSpsPps2Extradata","sps","ptl","spsParams","parseSPS","length","Array","fill","biWriter","writeU","spsMaxSublayersMinus1","profile","writeU1","tierFlag","level","ptlSubLayerLevelPresentFlags","ptlSublayerLevelPresentFlag","width","height","padding","getBuffer","reduce","prev","value","buffer","Uint8Array","bufferWriter","writeUint8","NALULengthSizeMinusOne","writeBuffer","numOfArrays","writeUint16","each","vps","pps","annexbExtradata2AvccExtradata","data","nalus","forEach","nalu","type","annexb2Avcc","key","filter","bufferPointer","writeUint32","avcc2Annexb","naluLengthSizeMinusOne","result","remainingSize","readUint32","readUint24","index","parseAvccExtraData","avpacket","stream","cheap__CTypeEnumRead__0","metadata","Number","BigInt","asIntN","getPos","extradataPointer","parseAnnexbExtraData","force","cheap__CTypeEnumWrite__4","parseAVCodecParametersBySps","codecpar","parseAVCodecParameters","sideData","isIDR","naluLengthSize","some","size","r8","rb32","rb24","rb16","offset","readU1","sps_log2_ctu_size_minus5","gci_num_reserved_bits","skipPadding","sps_pic_width_max_in_luma_samples","readUE","sps_pic_height_max_in_luma_samples","sps_num_subpics_minus1","ctb_log2_size_y","ctb_size_y","tmp_width_val","tmp_height_val","wlen","Math","ceil","log2","hlen","sps_subpic_id_len","sps_subpic_same_size_flag","sps_independent_subpics_flag","sps_log2_max_pic_order_cnt_lsb_minus4","sps_poc_msb_cycle_flag","sps_poc_msb_cycle_len_minus1","sps_extra_ph_bit_present_flag","sps_num_extra_ph_bytes","generalProfileSpace","parseExtraData"],"sources":["../../../codecs/vvc.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["array","BufferWriter","BufferReader","BitReader","mapUint8Array","naluUtil","avMalloc","expgolomb","BitWriter","intread","intwrite","parsePTL","bitReader","olsIdx","readU","numSublayers","constantFrameRate","chromaFormatIdc","bitDepthMinus8","num_bytes_constraint_info","generalProfileIdc","generalTierFlag","generalLevelIdc","ptlFrameOnlyConstraintFlag","ptlMultilayerEnabledFlag","generalConstraintInfo","sublayerLevelIdc","i","ptl_sublayer_present_mask","j","ptl_num_sub_profiles","generalSubProfileIdc","push","maxPictureWidth","maxPictureHeight","avgFramerate","extradata2VpsSpsPps","extradata","bufferReader","readUint8","appendBuffer","subarray","skip","getPointer","vpss","spss","ppss","arrayLen","naluType","count","readUint16","list","len","readBuffer","vpsSpsPps2Extradata","sps","ptl","spsParams","parseSPS","length","Array","fill","biWriter","writeU","spsMaxSublayersMinus1","profile","writeU1","tierFlag","level","ptlSubLayerLevelPresentFlags","ptlSublayerLevelPresentFlag","width","height","padding","getBuffer","reduce","prev","value","buffer","Uint8Array","bufferWriter","writeUint8","NALULengthSizeMinusOne","writeBuffer","numOfArrays","writeUint16","each","vps","pps","annexbExtradata2AvccExtradata","data","nalus","splitNaluByStartCode","forEach","nalu","type","generateAnnexbExtradata","unshift","joinNaluByStartCode","annexb2Avcc","key","filter","bufferPointer","joinNaluByLength","nalus2Annexb","lengths","joinNaluByStartCodeLength","offset","w8","annexbAddExtradata","concat","others","avcc2Annexb","naluLengthSizeMinusOne","result","splitNaluByLength","parseAVCodecParametersBySps","stream","videoDelay","codecpar","format","parseAVCodecParameters","sideData","isAnnexb","metadata","isIDR","avpacket","naluLengthSize","cheap__CTypeEnumRead__0","some","size","r8","rb32","rb24","rb16","naluUnescape","readU1","sps_log2_ctu_size_minus5","gci_num_reserved_bits","skipPadding","sps_pic_width_max_in_luma_samples","readUE","sps_pic_height_max_in_luma_samples","sps_num_subpics_minus1","ctb_log2_size_y","ctb_size_y","tmp_width_val","tmp_height_val","wlen","Math","ceil","log2","hlen","sps_subpic_id_len","sps_subpic_same_size_flag","sps_independent_subpics_flag","sps_log2_max_pic_order_cnt_lsb_minus4","sps_poc_msb_cycle_flag","sps_poc_msb_cycle_len_minus1","sps_extra_ph_bit_present_flag","sps_num_extra_ph_bytes","generalProfileSpace","parseExtraData"],"sources":["../../../codecs/vvc.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/error.d.ts
CHANGED
package/dist/esm/error.js
CHANGED
package/dist/esm/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FORMAT_NOT_SUPPORT","DATA_INVALID","INVALID_ARGUMENT","NO_MEMORY","INVALID_OPERATE","EAGAIN","EOF","CODEC_NOT_SUPPORT","OPERATE_NOT_SUPPORT"],"sources":["../../error.ts"],"mappings":"OA0BO,MAAMA,sBAAsB;;OAE5B,MAAMC,gBAAgB;;OAEtB,MAAMC,oBAAoB;;OAE1B,MAAMC,aAAa;;OAEnB,MAAMC,mBAAmB;;OAEzB,MAAMC,UAAU;;OAEhB,MAAMC,OAAO;;OAEb,MAAMC,qBAAqB;;OAE3B,MAAMC,uBAAuB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["FORMAT_NOT_SUPPORT","DATA_INVALID","INVALID_ARGUMENT","NO_MEMORY","INVALID_OPERATE","EAGAIN","EOF","CODEC_NOT_SUPPORT","OPERATE_NOT_SUPPORT","INVALID_PARAMETERS"],"sources":["../../error.ts"],"mappings":"OA0BO,MAAMA,sBAAsB;;OAE5B,MAAMC,gBAAgB;;OAEtB,MAAMC,oBAAoB;;OAE1B,MAAMC,aAAa;;OAEnB,MAAMC,mBAAmB;;OAEzB,MAAMC,UAAU;;OAEhB,MAAMC,OAAO;;OAEb,MAAMC,qBAAqB;;OAE3B,MAAMC,uBAAuB;;OAE7B,MAAMC,sBAAsB","ignoreList":[]}
|
|
@@ -18,42 +18,48 @@ export default async function analyzeUrlIOLoader(source, defaultExt = "", httpOp
|
|
|
18
18
|
"wss" === subProtocol || "ws" === subProtocol ? type = 2 : "webtransport" === subProtocol && (type = 3),
|
|
19
19
|
info.url = info.url.replace(/^\S+:\/\//, subProtocol + "://"), "rtmp" === ext && (info.subProtocol = type,
|
|
20
20
|
type = 6);
|
|
21
|
-
} else
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
let
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (
|
|
48
|
-
const
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
|
|
21
|
+
} else {
|
|
22
|
+
const protocol = urlUtils.parse(source).protocol;
|
|
23
|
+
ext = defaultExt || urlUtils.parse(source).file.split(".").pop(), !ext && /^https?/.test(protocol) && (ext = await async function(url, httpOptions = {}) {
|
|
24
|
+
const params = {
|
|
25
|
+
method: "GET",
|
|
26
|
+
headers: {},
|
|
27
|
+
mode: "cors",
|
|
28
|
+
cache: "default",
|
|
29
|
+
referrerPolicy: "no-referrer-when-downgrade"
|
|
30
|
+
};
|
|
31
|
+
let abortController;
|
|
32
|
+
httpOptions.headers && object.each(httpOptions.headers, ((value, key) => {
|
|
33
|
+
params.headers[key] = value;
|
|
34
|
+
})), httpOptions.credentials && (params.credentials = httpOptions.credentials),
|
|
35
|
+
httpOptions.referrerPolicy && (params.referrerPolicy = httpOptions.referrerPolicy),
|
|
36
|
+
"function" == typeof AbortController && (abortController = new AbortController,
|
|
37
|
+
params.signal = abortController.signal);
|
|
38
|
+
const res = await fetch(url, params);
|
|
39
|
+
if (res.ok && res.status >= 200 && res.status <= 299) {
|
|
40
|
+
const reader = res.body.getReader(), buffers = [];
|
|
41
|
+
let len = 0;
|
|
42
|
+
for (;;) {
|
|
43
|
+
let result = await reader.read();
|
|
44
|
+
if (result.done) break;
|
|
45
|
+
if (len += result.value.length, buffers.push(result.value), len >= 100) break;
|
|
46
|
+
}
|
|
47
|
+
if (abortController && abortController.abort(), buffers.length) {
|
|
48
|
+
const buffer = buffers.length > 1 ? concatTypeArray(Uint8Array, buffers) : buffers[0];
|
|
49
|
+
if (buffer.length) {
|
|
50
|
+
const context = text.decode(buffer.subarray(0, 100));
|
|
51
|
+
if (/<\?xml/.test(context)) {
|
|
52
|
+
if (context.indexOf("<MPD") > -1) return "mpd";
|
|
53
|
+
} else if (/#EXTM3U/.test(context)) return "m3u8";
|
|
54
|
+
}
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
return "";
|
|
58
|
+
}(source, httpOptions));
|
|
59
|
+
let defaultType = 0;
|
|
60
|
+
"wss" === protocol || "ws" === protocol ? defaultType = 2 : "webtransport" === protocol && (defaultType = 3),
|
|
61
|
+
type = Ext2IOLoader[ext] ?? defaultType;
|
|
62
|
+
}
|
|
57
63
|
return {
|
|
58
64
|
type: type,
|
|
59
65
|
ext: ext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Ext2IOLoader","concatTypeArray","object","text","urlUtils","async","analyzeUrlIOLoader","source","defaultExt","httpOptions","type","ext","info","url","test","subProtocol","parse","protocol","split","replace","file","pop","params","method","headers","mode","cache","referrerPolicy","abortController","each","value","key","credentials","AbortController","signal","res","fetch","ok","status","reader","body","getReader","buffers","len","result","read","done","length","push","abort","buffer","Uint8Array","context","decode","subarray","indexOf","analyzeUrlFileExt"],"sources":["../../../function/analyzeUrlIOLoader.ts"],"mappings":"SAyBSA,oBAAc;;OAChBC,qBAAe;;YAEVC,YAAM;;YACNC,UAAI;;YACJC,cAAQ;;eA+DLC,eAAeC,mBAAmBC,QAAgBC,aAAqB,IAAIC,cAA2B;IACnH,IAAIC,MACAC,MAAc,IACdC,OAAa;QACfC,KAAKN;;IAGP,IAAqC,QAAQO,KAAKP,WACZ,QAAQO,KAAKP,SACjD;QACqC,QAAQO,KAAKP,UAChDI,MAAM,SAEkC,QAAQG,KAAKP,YACrDI,MAAM,SAERD,OAAI;QACJ,MACMK,cADWX,SAASY,MAAMT,QAAQU,SACXC,MAAM,KAAK,MAAM;QAC1B,UAAhBH,eAAyC,SAAhBA,cAC3BL,OAAI,IAEmB,mBAAhBK,gBACPL,OAAI;QAENE,KAAKC,MAAMD,KAAKC,IAAIM,QAAQ,aAAaJ,cAAc,QAC3C,WAARJ,QACFC,KAAKG,cAAcL;QACnBA,OAAI;AAER,
|
|
1
|
+
{"version":3,"names":["Ext2IOLoader","concatTypeArray","object","text","urlUtils","async","analyzeUrlIOLoader","source","defaultExt","httpOptions","type","ext","info","url","test","subProtocol","parse","protocol","split","replace","file","pop","params","method","headers","mode","cache","referrerPolicy","abortController","each","value","key","credentials","AbortController","signal","res","fetch","ok","status","reader","body","getReader","buffers","len","result","read","done","length","push","abort","buffer","Uint8Array","context","decode","subarray","indexOf","analyzeUrlFileExt","defaultType"],"sources":["../../../function/analyzeUrlIOLoader.ts"],"mappings":"SAyBSA,oBAAc;;OAChBC,qBAAe;;YAEVC,YAAM;;YACNC,UAAI;;YACJC,cAAQ;;eA+DLC,eAAeC,mBAAmBC,QAAgBC,aAAqB,IAAIC,cAA2B;IACnH,IAAIC,MACAC,MAAc,IACdC,OAAa;QACfC,KAAKN;;IAGP,IAAqC,QAAQO,KAAKP,WACZ,QAAQO,KAAKP,SACjD;QACqC,QAAQO,KAAKP,UAChDI,MAAM,SAEkC,QAAQG,KAAKP,YACrDI,MAAM,SAERD,OAAI;QACJ,MACMK,cADWX,SAASY,MAAMT,QAAQU,SACXC,MAAM,KAAK,MAAM;QAC1B,UAAhBH,eAAyC,SAAhBA,cAC3BL,OAAI,IAEmB,mBAAhBK,gBACPL,OAAI;QAENE,KAAKC,MAAMD,KAAKC,IAAIM,QAAQ,aAAaJ,cAAc,QAC3C,WAARJ,QACFC,KAAKG,cAAcL;QACnBA,OAAI;AAER,WACK;QAEH,MAAMO,WAAWb,SAASY,MAAMT,QAAQU;QAExCN,MAAMH,cAAcJ,SAASY,MAAMT,QAAQa,KAAKF,MAAM,KAAKG,QAGtDV,OAAO,UAAUG,KAAKG,cACzBN,YApGNN,eAAiCQ,KAAaJ,cAA2B;YACvE,MAAMa,SAAsB;gBAC1BC,QAAQ;gBACRC,SAAS;gBACTC,MAAM;gBACNC,OAAO;gBACPC,gBAAgB;;YAalB,IAAIC;YAXAnB,YAAYe,WACdtB,OAAO2B,KAAKpB,YAAYe,UAAS,CAACM,OAAOC;gBACvCT,OAAOE,QAAQO,OAAOD;AAAK,iBAG3BrB,YAAYuB,gBACdV,OAAOU,cAAcvB,YAAYuB;YAE/BvB,YAAYkB,mBACdL,OAAOK,iBAAiBlB,YAAYkB;YAGP,qBAApBM,oBACTL,kBAAkB,IAAIK;YACtBX,OAAOY,SAASN,gBAAgBM;YAElC,MAAMC,YAAYC,MAAMvB,KAAKS;YAC7B,IAAIa,IAAIE,MAAOF,IAAIG,UAAU,OAAOH,IAAIG,UAAU,KAAM;gBACtD,MAAMC,SAASJ,IAAIK,KAAKC,aAClBC,UAAwB;gBAC9B,IAAIC,MAAM;gBACV,SAAa;oBACX,IAAIC,eAAeL,OAAOM;oBAC1B,IAAID,OAAOE,MACT;oBAIF,IAFAH,OAAOC,OAAOd,MAAMiB,QACpBL,QAAQM,KAAKJ,OAAOd,QAChBa,OAAO,KACT;AAEJ;gBAIA,IAHIf,mBACFA,gBAAgBqB,SAEdP,QAAQK,QAAQ;oBAClB,MAAMG,SAASR,QAAQK,SAAS,IAAI9C,gBAAgBkD,YAAYT,WAAWA,QAAQ;oBACnF,IAAIQ,OAAOH,QAAQ;wBACjB,MAAMK,UAAUjD,KAAKkD,OAAOH,OAAOI,SAAS,GAAG;wBAC/C,IAAI,SAASxC,KAAKsC;4BAChB,IAAIA,QAAQG,QAAQ,WAAW,GAC7B,OAAO;+BAGN,IAAI,UAAUzC,KAAKsC,UACtB,OAAO;AAEX;AACF;AACF;YACA,OAAO;AACT,SAyCkBI,CAAkBjD,QAAQE;QAGxC,IAAIgD,cAAW;QACE,UAAbxC,YAAmC,SAAbA,WACxBwC,cAAW,IAES,mBAAbxC,aACPwC,cAAW;QAEb/C,OAAOV,aAAaW,QAAQ8C;AAC9B;IAEA,OAAO;QACL/C;QACAC;QACAC;;AAEJ","ignoreList":[]}
|
|
@@ -8,6 +8,8 @@ import { sampleFormatIsPlanar } from "../util/sample";
|
|
|
8
8
|
|
|
9
9
|
import { mapUint8Array } from "@libmedia/cheap/std/memory";
|
|
10
10
|
|
|
11
|
+
import { AV_TIME_BASE } from "../constant";
|
|
12
|
+
|
|
11
13
|
export function audioData2AVFrame(audioData, avframe = 0) {
|
|
12
14
|
0 === avframe && (avframe = createAVFrame()), cheap__CTypeEnumWrite__1[15](avframe + 152, audioData.sampleRate),
|
|
13
15
|
cheap__CTypeEnumWrite__1[15](avframe + 76, audioData.numberOfFrames), cheap__CTypeEnumWrite__1[15](avframe + 292, audioData.numberOfChannels),
|
|
@@ -41,6 +43,8 @@ export function audioData2AVFrame(audioData, avframe = 0) {
|
|
|
41
43
|
throw new Error("not support");
|
|
42
44
|
}
|
|
43
45
|
}(audioData.format)), cheap__CTypeEnumWrite__1[17](avframe + 104, BigInt(Math.floor(audioData.timestamp))),
|
|
46
|
+
cheap__CTypeEnumWrite__1[17](avframe + 312, BigInt(Math.floor(audioData.duration))),
|
|
47
|
+
cheap__CTypeEnumWrite__1[15](avframe + 124, AV_TIME_BASE), cheap__CTypeEnumWrite__1[15](avframe + 120, 1),
|
|
44
48
|
getAudioBuffer(avframe);
|
|
45
49
|
const planes = sampleFormatIsPlanar(cheap__CTypeEnumRead__0[15](avframe + 80)) ? cheap__CTypeEnumRead__0[15](avframe + 292) : 1;
|
|
46
50
|
for (let i = 0; i < planes; i++) audioData.copyTo(mapUint8Array(cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](avframe + 64) + 4 * i), cheap__CTypeEnumRead__0[15](avframe + 32)), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAVFrame","getAudioBuffer","sampleFormatIsPlanar","mapUint8Array","audioData2AVFrame","audioData","avframe","cheap__CTypeEnumWrite__1","sampleRate","numberOfFrames","numberOfChannels","format","Error","mapFormat","BigInt","Math","floor","timestamp","planes","cheap__CTypeEnumRead__0","i","copyTo","planeIndex"],"sources":["../../../function/audioData2AVFrame.ts"],"mappings":";;;;SAwBSA,eAAeC,sBAAgB;;SAG/BC,4BAAsB;;SACtBC,qBAAe;;
|
|
1
|
+
{"version":3,"names":["createAVFrame","getAudioBuffer","sampleFormatIsPlanar","mapUint8Array","AV_TIME_BASE","audioData2AVFrame","audioData","avframe","cheap__CTypeEnumWrite__1","sampleRate","numberOfFrames","numberOfChannels","format","Error","mapFormat","BigInt","Math","floor","timestamp","duration","planes","cheap__CTypeEnumRead__0","i","copyTo","planeIndex"],"sources":["../../../function/audioData2AVFrame.ts"],"mappings":";;;;SAwBSA,eAAeC,sBAAgB;;SAG/BC,4BAAsB;;SACtBC,qBAAe;;SACfC,oBAAc;;OAyBjB,SAAUC,kBAAkBC,WAAsBC,UAAA;IAC3C,MAAPA,YACFA,UAAUP,kBAGZQ,yBAAA,IAAAD,UAAO,KAAcD,UAAUG;IAC/BD,yBAAA,IAAAD,UAAO,IAAaD,UAAUI,iBAC9BF,yBAAA,IAAAD,UAAO,KAAuBD,UAAUK;IACxCH,yBAAA,IAAAD,UAAO,IA/BT,SAAmBK;QACjB,QAAQA;UACN,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF,KAAK;YACH;;UACF;YACE,MAAM,IAAIC,MAAM;;AAEtB,KAUmBC,CAAUR,UAAUM,UACrCJ,yBAAA,IAAAD,UAAO,KAAAQ,OAAAC,KAAAC,MAA0BX,UAAUY;IAC3CV,yBAAA,IAAAD,UAAO,KAAAQ,OAAAC,KAAAC,MAA+BX,UAAUa;IAChDX,yBAAA,IAAAD,UAAO,KAAgBH,eACvBI,yBAAA,IAAAD,UAAO,KAAgB;IAEvBN,eAAeM;IAEf,MACMa,SADSlB,qBAAoBmB,wBAAA,IAACd,UAAO,OACpBc,wBAAA,IAACd,UAAO,OAAuB;IAEtD,KAAK,IAAIe,IAAI,GAAGA,IAAIF,QAAQE,KAC1BhB,UAAUiB,OAAOpB,cAAakB,wBAAA,IAAAA,wBAAA,IAACd,UAAO,MAAe,IAADe,IAACD,wBAAA,IAA0Bd,UAAO,MAAgB;QACpGiB,YAAYF;;IAIhB,OAAOf;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
|
|
2
|
+
|
|
3
|
+
import { CTypeEnumWrite as cheap__CTypeEnumWrite__5 } from "@libmedia/cheap/ctypeEnumWrite";
|
|
4
|
+
|
|
5
|
+
import { createAVFrame, unrefAVFrame } from "../util/avframe";
|
|
6
|
+
|
|
7
|
+
import { AV_NUM_DATA_POINTERS } from "../struct/avframe";
|
|
8
|
+
|
|
9
|
+
import { sampleFormatIsPlanar } from "../util/sample";
|
|
10
|
+
|
|
11
|
+
import { avFreep, avMalloc } from "../util/mem";
|
|
12
|
+
|
|
13
|
+
import * as errorType from "../error";
|
|
14
|
+
|
|
15
|
+
import { avbufferCreate } from "../util/avbuffer";
|
|
16
|
+
|
|
17
|
+
import { memcpy } from "@libmedia/cheap/std/memory";
|
|
18
|
+
|
|
19
|
+
export function avPCMBuffer2AVFrame(pcmBuffer, copy = !1, avframe = 0) {
|
|
20
|
+
if (0 === avframe) avframe = createAVFrame(); else {
|
|
21
|
+
const pts = cheap__CTypeEnumRead__0[17](avframe + 104), duration = cheap__CTypeEnumRead__0[17](avframe + 312), den = cheap__CTypeEnumRead__0[15](avframe + 124), num = cheap__CTypeEnumRead__0[15](avframe + 120);
|
|
22
|
+
unrefAVFrame(avframe), cheap__CTypeEnumWrite__5[17](avframe + 104, pts), cheap__CTypeEnumWrite__5[17](avframe + 312, duration),
|
|
23
|
+
cheap__CTypeEnumWrite__5[15](avframe + 124, den), cheap__CTypeEnumWrite__5[15](avframe + 120, num);
|
|
24
|
+
}
|
|
25
|
+
cheap__CTypeEnumWrite__5[15](avframe + 76, cheap__CTypeEnumRead__0[15](pcmBuffer + 8)),
|
|
26
|
+
cheap__CTypeEnumWrite__5[15](avframe + 152, cheap__CTypeEnumRead__0[15](pcmBuffer + 20)),
|
|
27
|
+
cheap__CTypeEnumWrite__5[15](avframe + 292, cheap__CTypeEnumRead__0[15](pcmBuffer + 16)),
|
|
28
|
+
cheap__CTypeEnumWrite__5[15](avframe + 32, cheap__CTypeEnumRead__0[15](pcmBuffer + 4)),
|
|
29
|
+
cheap__CTypeEnumWrite__5[15](avframe + 80, cheap__CTypeEnumRead__0[15](pcmBuffer + 24));
|
|
30
|
+
const planar = sampleFormatIsPlanar(cheap__CTypeEnumRead__0[15](avframe + 80)), planes = planar ? cheap__CTypeEnumRead__0[15](pcmBuffer + 16) : 1;
|
|
31
|
+
if (planes > AV_NUM_DATA_POINTERS) {
|
|
32
|
+
if (cheap__CTypeEnumWrite__5[20](avframe + 64, avMalloc(4 * planes)), !cheap__CTypeEnumRead__0[20](avframe + 64)) return avFreep(avframe + 64),
|
|
33
|
+
errorType.NO_MEMORY;
|
|
34
|
+
} else cheap__CTypeEnumWrite__5[20](avframe + 64, avframe);
|
|
35
|
+
for (let i = 0; i < Math.min(planes, AV_NUM_DATA_POINTERS); i++) {
|
|
36
|
+
if (0 === i && (copy ? (cheap__CTypeEnumWrite__5[20](avframe + 156, avbufferCreate(avMalloc(cheap__CTypeEnumRead__0[15](pcmBuffer + 4) * (planar ? cheap__CTypeEnumRead__0[15](pcmBuffer + 16) : 1)), cheap__CTypeEnumRead__0[15](pcmBuffer + 4) * (planar ? cheap__CTypeEnumRead__0[15](pcmBuffer + 16) : 1))),
|
|
37
|
+
memcpy(cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](avframe + 156) + 4), cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](pcmBuffer)), cheap__CTypeEnumRead__0[15](pcmBuffer + 4) * (planar ? cheap__CTypeEnumRead__0[15](pcmBuffer + 16) : 1))) : cheap__CTypeEnumWrite__5[20](avframe + 156, avbufferCreate(cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](pcmBuffer)), cheap__CTypeEnumRead__0[15](pcmBuffer + 4) * (planar ? cheap__CTypeEnumRead__0[15](pcmBuffer + 16) : 1))),
|
|
38
|
+
!cheap__CTypeEnumRead__0[20](avframe + 156))) return unrefAVFrame(avframe), errorType.NO_MEMORY;
|
|
39
|
+
copy ? (cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](avframe + 64) + 4 * i, cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](avframe + 156) + 4) + i * cheap__CTypeEnumRead__0[15](pcmBuffer + 4)),
|
|
40
|
+
cheap__CTypeEnumWrite__5[20](avframe + 4 * i, cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](avframe + 156) + 4) + i * cheap__CTypeEnumRead__0[15](pcmBuffer + 4))) : (cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](avframe + 64) + 4 * i, cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](pcmBuffer) + 4 * i)),
|
|
41
|
+
cheap__CTypeEnumWrite__5[20](avframe + 4 * i, cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](pcmBuffer) + 4 * i)),
|
|
42
|
+
cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](pcmBuffer) + 4 * i, 0));
|
|
43
|
+
}
|
|
44
|
+
for (let i = 0; i < planes - AV_NUM_DATA_POINTERS; i++) copy ? cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](avframe + 64) + 4 * (i + AV_NUM_DATA_POINTERS), cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](avframe + 156) + 4) + i * cheap__CTypeEnumRead__0[15](pcmBuffer + 4)) : (cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](avframe + 64) + 4 * (i + AV_NUM_DATA_POINTERS), cheap__CTypeEnumRead__0[20](cheap__CTypeEnumRead__0[20](pcmBuffer) + 4 * i)),
|
|
45
|
+
cheap__CTypeEnumWrite__5[20](cheap__CTypeEnumRead__0[20](pcmBuffer) + 4 * i, 0));
|
|
46
|
+
return copy || cheap__CTypeEnumWrite__5[15](pcmBuffer + 12, 0), avframe;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=avPCMBuffer2AVFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAVFrame","unrefAVFrame","AV_NUM_DATA_POINTERS","sampleFormatIsPlanar","avFreep","avMalloc","errorType","avbufferCreate","memcpy","avPCMBuffer2AVFrame","pcmBuffer","copy","avframe","pts","cheap__CTypeEnumRead__0","duration","den","num","cheap__CTypeEnumWrite__5","planar","planes","NO_MEMORY","i","Math","min"],"sources":["../../../function/avPCMBuffer2AVFrame.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import AVFrame from "../struct/avframe";
|
|
2
|
-
|
|
3
|
-
export declare function avframe2AudioData(avframe: pointer<AVFrame>, timeBase?: Rational): AudioData;
|
|
2
|
+
export declare function avframe2AudioData(avframe: pointer<AVFrame>, pts?: int64): AudioData;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { CTypeEnumRead as cheap__CTypeEnumRead__0 } from "@libmedia/cheap/ctypeEnumRead";
|
|
2
2
|
|
|
3
|
+
import { Rational as cheap__Rational__17 } from "../struct/rational";
|
|
4
|
+
|
|
5
|
+
import cheap__structAccess__18 from "@libmedia/cheap/std/structAccess";
|
|
6
|
+
|
|
3
7
|
import { mapFloat32Array, mapInt16Array, mapInt32Array, mapUint8Array } from "@libmedia/cheap/std/memory";
|
|
4
8
|
|
|
5
9
|
import { getBytesPerSample, sampleFormatIsPlanar } from "../util/sample";
|
|
6
10
|
|
|
7
|
-
import {
|
|
11
|
+
import { avRescaleQ2 } from "../util/rational";
|
|
8
12
|
|
|
9
13
|
import { AV_TIME_BASE_Q } from "../constant";
|
|
10
14
|
|
|
@@ -39,7 +43,7 @@ function mapFormat(avframe) {
|
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
export function avframe2AudioData(avframe,
|
|
46
|
+
export function avframe2AudioData(avframe, pts) {
|
|
43
47
|
const planar = sampleFormatIsPlanar(cheap__CTypeEnumRead__0[15](avframe + 80)), planes = planar ? cheap__CTypeEnumRead__0[15](avframe + 292) : 1;
|
|
44
48
|
let data;
|
|
45
49
|
const sampleSize = getBytesPerSample(cheap__CTypeEnumRead__0[15](avframe + 80));
|
|
@@ -98,7 +102,7 @@ export function avframe2AudioData(avframe, timeBase) {
|
|
|
98
102
|
sampleRate: cheap__CTypeEnumRead__0[15](avframe + 152),
|
|
99
103
|
numberOfFrames: cheap__CTypeEnumRead__0[15](avframe + 76),
|
|
100
104
|
numberOfChannels: cheap__CTypeEnumRead__0[15](avframe + 292),
|
|
101
|
-
timestamp: Number(
|
|
105
|
+
timestamp: Number(pts || avRescaleQ2(cheap__CTypeEnumRead__0[17](avframe + 104), avframe + 120, AV_TIME_BASE_Q))
|
|
102
106
|
});
|
|
103
107
|
}
|
|
104
108
|
//# sourceMappingURL=avframe2AudioData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mapFloat32Array","mapInt16Array","mapInt32Array","mapUint8Array","getBytesPerSample","sampleFormatIsPlanar","
|
|
1
|
+
{"version":3,"names":["mapFloat32Array","mapInt16Array","mapInt32Array","mapUint8Array","getBytesPerSample","sampleFormatIsPlanar","avRescaleQ2","AV_TIME_BASE_Q","mapFormat","avframe","cheap__CTypeEnumRead__0","Error","avframe2AudioData","pts","planar","planes","data","sampleSize","linesize","buffer","Uint8Array","offset","i","set","format","Int16Array","Int32Array","Float32Array","mapBuffer","pointer","size","mapTypeBuffer","AudioData","sampleRate","numberOfFrames","numberOfChannels","timestamp","Number"],"sources":["../../../function/avframe2AudioData.ts"],"mappings":";;;;;;SAyBSA,iBAAiBC,eAAeC,eAAeC,qBAAe;;SAG9DC,mBAAmBC,4BAAsB;;SACzCC,mBAAa;;SACbC,sBAAgB;;AAEzB,SAASC,UAAUC;IACjB,QAAAC,wBAAA,IAAQD,UAAO;MACb;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,OAAO;;MACT;QACE,MAAM,IAAIE,MAAM;;AAEtB;;OAwCM,SAAUC,kBAAkBH,SAA2BI;IAE3D,MAAMC,SAAST,qBAAoBK,wBAAA,IAACD,UAAO,MACrCM,SAASD,SAAQJ,wBAAA,IAACD,UAAO,OAAuB;IAEtD,IAAIO;IAEJ,MAAMC,aAAab,kBAAiBM,wBAAA,IAACD,UAAO;IAE5C,IAAIK,QAAQ;QACV,MAAMI,WAAWR,wBAAA,IAAAD,UAAO,MAAcQ,YAChCE,SAAS,IAAIC,WAAWL,SAASG;QACvC,IAAIG,SAAS;QACb,KAAK,IAAIC,IAAI,GAAGA,IAAIP,QAAQO,KAC1BH,OAAOI,IAAIpB,cAAaO,wBAAA,IAACD,UAAO,QAAUS,WAAWG;QACrDA,UAAUH;QAEZF,OAvDJ,SAAmBQ,QAAwBR;YACzC,QAAQQ;cACN;cACA;gBACE,OAAOR;;cACT;cACA;gBACE,OAAO,IAAIS,WAAWT,KAAKG;;cAC7B;cACA;gBACE,OAAO,IAAIO,WAAWV,KAAKG;;cAC7B;cACA;gBACE,OAAO,IAAIQ,aAAaX,KAAKG;;cAC/B;gBACE,MAAM,IAAIR,MAAM;;AAEtB,SAsCWiB,CAASlB,wBAAA,IAACD,UAAO,KAASU;AACnC,WAEEH,OAvCJ,SAAuBQ,QAAwBK,SAAwBC;QACrE,QAAQN;UACN;UACA;YACE,OAAOrB,cAAc0B,SAAgCC;;UACvD;UACA;YACE,OAAO7B,cAA+C4B,SAAUC,SAAS;;UAC3E;UACA;YACE,OAAO5B,cAA+C2B,SAAUC,SAAS;;UAC3E;UACA;YACE,OAAO9B,gBAAiD6B,SAAUC,SAAS;;UAC7E;YACE,MAAM,IAAInB,MAAM;;AAEtB,KAsBWoB,CAAarB,wBAAA,IAACD,UAAO,KAAAC,wBAAA,IAASD,UAAiBQ,aAAUP,wBAAA,IAAGD,UAAO,MAAUC,wBAAA,IAAGD,UAAO;IAWhG,OARkB,IAAIuB,UAAU;QAC9BhB;QACAQ,QAAQhB,UAAUC;QAClBwB,YAAUvB,wBAAA,IAAED,UAAO;QACnByB,gBAAcxB,wBAAA,IAAED,UAAO;QACvB0B,kBAAgBzB,wBAAA,IAAED,UAAO;QACzB2B,WAAgBC,OAALxB,OAAqDP,YAAWI,wBAAA,IAACD,UAAO,MAAgBA,UAAO,KAAYF;;AAG1H","ignoreList":[]}
|