@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/h264.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { CTypeEnumRead as cheap__CTypeEnumRead__1 } from "@libmedia/cheap/ctypeEnumRead";
|
|
2
2
|
|
|
3
|
-
import { CTypeEnumWrite as cheap__CTypeEnumWrite__5 } 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";
|
|
@@ -12,11 +10,9 @@ import BitReader from "@libmedia/common/io/BitReader";
|
|
|
12
10
|
|
|
13
11
|
import * as logger from "@libmedia/common/util/logger";
|
|
14
12
|
|
|
15
|
-
import { mapUint8Array
|
|
16
|
-
|
|
17
|
-
import { addAVPacketSideData, getAVPacketData } from "../util/avpacket";
|
|
13
|
+
import { mapUint8Array } from "@libmedia/cheap/std/memory";
|
|
18
14
|
|
|
19
|
-
import
|
|
15
|
+
import * as naluUtil from "../util/nalu";
|
|
20
16
|
|
|
21
17
|
import { avMalloc } from "../util/mem";
|
|
22
18
|
|
|
@@ -24,6 +20,10 @@ import * as expgolomb from "../util/expgolomb";
|
|
|
24
20
|
|
|
25
21
|
import * as intread from "../util/intread";
|
|
26
22
|
|
|
23
|
+
import * as intwrite from "../util/intwrite";
|
|
24
|
+
|
|
25
|
+
export const H264_MAX_DPB_FRAMES = 16;
|
|
26
|
+
|
|
27
27
|
export const NALULengthSizeMinusOne = 3;
|
|
28
28
|
|
|
29
29
|
export const H264Profile2Name = {
|
|
@@ -147,8 +147,8 @@ export function extradata2SpsPps(extradata) {
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
export function spsPps2Extradata(spss, ppss, spsExts = []) {
|
|
150
|
-
spss.length > 32 && (logger.warn(`h264 metadata's sps max length is 32, but get ${spss.length}`, "src/avutil/codecs/h264.ts",
|
|
151
|
-
spss = spss.slice(0, 32)), spss.length > 256 && (logger.warn(`h264 metadata's pps max length is 256, but get ${spss.length}`, "src/avutil/codecs/h264.ts",
|
|
150
|
+
spss.length > 32 && (logger.warn(`h264 metadata's sps max length is 32, but get ${spss.length}`, "src/avutil/codecs/h264.ts", 221),
|
|
151
|
+
spss = spss.slice(0, 32)), spss.length > 256 && (logger.warn(`h264 metadata's pps max length is 256, but get ${spss.length}`, "src/avutil/codecs/h264.ts", 225),
|
|
152
152
|
spss = spss.slice(0, 256));
|
|
153
153
|
let length = 7;
|
|
154
154
|
length = spss.reduce(((prev, sps) => prev + 2 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 2 + pps.length), length);
|
|
@@ -170,7 +170,7 @@ export function spsPps2Extradata(spss, ppss, spsExts = []) {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
export function annexbExtradata2AvccExtradata(data) {
|
|
173
|
-
let nalus = splitNaluByStartCode(data);
|
|
173
|
+
let nalus = naluUtil.splitNaluByStartCode(data);
|
|
174
174
|
if (nalus.length > 1) {
|
|
175
175
|
const spss = [], ppss = [], spsExts = [];
|
|
176
176
|
if (nalus.forEach((nalu => {
|
|
@@ -180,24 +180,35 @@ export function annexbExtradata2AvccExtradata(data) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
export function
|
|
184
|
-
let
|
|
183
|
+
export function generateAnnexbExtradata(data) {
|
|
184
|
+
let nalus = naluUtil.splitNaluByStartCode(data);
|
|
185
185
|
if (nalus.length > 1) {
|
|
186
186
|
const spss = [], ppss = [], spsExts = [];
|
|
187
|
-
nalus.forEach((nalu => {
|
|
187
|
+
if (nalus.forEach((nalu => {
|
|
188
188
|
const type = 31 & nalu[0];
|
|
189
189
|
7 === type ? spss.push(nalu) : 8 === type ? ppss.push(nalu) : 13 === type && spsExts.push(nalu);
|
|
190
|
-
})), spss.length && ppss.length
|
|
190
|
+
})), spss.length && ppss.length) {
|
|
191
|
+
const nalus = [ spss[0], ppss[0] ];
|
|
192
|
+
return spsExts.length && nalus.push(spsExts[0]), naluUtil.joinNaluByStartCode(nalus, 0);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export function annexb2Avcc(data) {
|
|
198
|
+
let extradata, nalus = naluUtil.splitNaluByStartCode(data), key = !1;
|
|
199
|
+
if (nalus.length) {
|
|
200
|
+
const spss = [], ppss = [], spsExts = [];
|
|
201
|
+
nalus.forEach((nalu => {
|
|
202
|
+
const type = 31 & nalu[0];
|
|
203
|
+
7 === type ? spss.push(nalu) : 8 === type ? ppss.push(nalu) : 13 === type ? spsExts.push(nalu) : 5 === type && (key = !0);
|
|
204
|
+
})), spss.length && ppss.length ? (extradata = spsPps2Extradata(spss, ppss, spsExts),
|
|
191
205
|
nalus = nalus.filter((nalu => {
|
|
192
206
|
const type = 31 & nalu[0];
|
|
193
207
|
return 9 !== type && 8 !== type && 7 !== type && 13 !== type;
|
|
194
|
-
}));
|
|
208
|
+
}))) : nalus = nalus.filter((nalu => 9 !== (31 & nalu[0])));
|
|
195
209
|
}
|
|
196
|
-
const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length)
|
|
197
|
-
return
|
|
198
|
-
bufferWriter.writeUint32(nalu.length), bufferWriter.writeBuffer(nalu.subarray(0));
|
|
199
|
-
5 === (31 & nalu[0]) && (key = !0);
|
|
200
|
-
})), {
|
|
210
|
+
const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length);
|
|
211
|
+
return naluUtil.joinNaluByLength(nalus, 3, buffer), {
|
|
201
212
|
bufferPointer: bufferPointer,
|
|
202
213
|
length: length,
|
|
203
214
|
key: key,
|
|
@@ -205,6 +216,36 @@ export function annexb2Avcc(data) {
|
|
|
205
216
|
};
|
|
206
217
|
}
|
|
207
218
|
|
|
219
|
+
export function nalus2Annexb(spss, ppss, spsExts, seis, others) {
|
|
220
|
+
const lengths = [ naluUtil.joinNaluByStartCodeLength(seis, 0), naluUtil.joinNaluByStartCodeLength(spss, 0), naluUtil.joinNaluByStartCodeLength(ppss, 0), naluUtil.joinNaluByStartCodeLength(spsExts, 0), naluUtil.joinNaluByStartCodeLength(others, 2) ];
|
|
221
|
+
let length = lengths.reduce(((prev, length) => prev + length), 0);
|
|
222
|
+
const bufferPointer = avMalloc(length + 6);
|
|
223
|
+
let offset = bufferPointer;
|
|
224
|
+
return intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 0),
|
|
225
|
+
intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 1),
|
|
226
|
+
intwrite.w8((offset += 1, offset - 1), 9), intwrite.w8((offset += 1, offset - 1), 240),
|
|
227
|
+
seis.length && (naluUtil.joinNaluByStartCode(seis, 0, mapUint8Array(offset, lengths[0])),
|
|
228
|
+
offset += lengths[0]), spss.length && (naluUtil.joinNaluByStartCode(spss, 0, mapUint8Array(offset, lengths[1])),
|
|
229
|
+
offset += lengths[1]), ppss.length && (naluUtil.joinNaluByStartCode(ppss, 0, mapUint8Array(offset, lengths[2])),
|
|
230
|
+
offset += lengths[2]), spsExts.length && (naluUtil.joinNaluByStartCode(spsExts, 0, mapUint8Array(offset, lengths[3])),
|
|
231
|
+
offset += lengths[3]), others.length && naluUtil.joinNaluByStartCode(others, 2, mapUint8Array(offset, lengths[4])),
|
|
232
|
+
{
|
|
233
|
+
bufferPointer: bufferPointer,
|
|
234
|
+
length: length + 6
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export function annexbAddExtradata(data, extradata) {
|
|
239
|
+
let nalus = naluUtil.splitNaluByStartCode(data).concat(naluUtil.splitNaluByStartCode(extradata));
|
|
240
|
+
if (nalus.length) {
|
|
241
|
+
const spss = [], ppss = [], spsExts = [], seis = [], others = [];
|
|
242
|
+
return nalus.forEach((nalu => {
|
|
243
|
+
const type = 31 & nalu[0];
|
|
244
|
+
7 === type ? spss.push(nalu) : 8 === type ? ppss.push(nalu) : 13 === type ? spsExts.push(nalu) : 6 === type ? seis.push(nalu) : 9 !== type && others.push(nalu);
|
|
245
|
+
})), nalus2Annexb(spss, ppss, spsExts, seis, others);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
208
249
|
export function avcc2Annexb(data, extradata) {
|
|
209
250
|
const naluLengthSizeMinusOne = extradata ? 3 & extradata[4] : 3;
|
|
210
251
|
let spss = [], ppss = [], spsExts = [], key = !1;
|
|
@@ -212,98 +253,46 @@ export function avcc2Annexb(data, extradata) {
|
|
|
212
253
|
const result = extradata2SpsPps(extradata);
|
|
213
254
|
spss = result.spss, ppss = result.ppss, spsExts = result.spsExts, key = !0;
|
|
214
255
|
}
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
let length = 0;
|
|
218
|
-
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
|
|
219
|
-
const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
|
|
220
|
-
bufferReader.skip(length);
|
|
256
|
+
const others = [], seis = [];
|
|
257
|
+
return naluUtil.splitNaluByLength(data, naluLengthSizeMinusOne).forEach((nalu => {
|
|
221
258
|
const naluType = 31 & nalu[0];
|
|
222
|
-
6 === naluType ? seis.push(nalu) : 9 !== naluType &&
|
|
223
|
-
}
|
|
224
|
-
let length = spss.reduce(((prev, sps) => prev + 4 + sps.length), 0);
|
|
225
|
-
length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length), length = spsExts.reduce(((prev, ext) => prev + 4 + ext.length), length),
|
|
226
|
-
length = seis.reduce(((prev, sei) => prev + 4 + sei.length), length), length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
|
|
227
|
-
const bufferPointer = avMalloc(length + 6), bufferWriter = new BufferWriter(mapUint8Array(bufferPointer, length + 6));
|
|
228
|
-
return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
229
|
-
bufferWriter.writeUint8(1), bufferWriter.writeUint8(9), bufferWriter.writeUint8(240),
|
|
230
|
-
array.each(seis, (sei => {
|
|
231
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
232
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sei);
|
|
233
|
-
})), array.each(spss, (sps => {
|
|
234
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
235
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
|
|
236
|
-
})), array.each(ppss, (pps => {
|
|
237
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
238
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
|
|
239
|
-
})), array.each(spsExts, (ext => {
|
|
240
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
|
|
241
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(ext);
|
|
242
|
-
})), array.each(nalus, ((nalu, index) => {
|
|
243
|
-
bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
|
|
244
|
-
bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
|
|
245
|
-
5 === (31 & nalu[0]) && (key = !0);
|
|
259
|
+
6 === naluType ? seis.push(nalu) : 9 !== naluType && others.push(nalu), 5 === naluType && (key = !0);
|
|
246
260
|
})), {
|
|
247
|
-
|
|
248
|
-
length: length + 6,
|
|
261
|
+
...nalus2Annexb(spss, ppss, spsExts, seis, others),
|
|
249
262
|
key: key
|
|
250
263
|
};
|
|
251
264
|
}
|
|
252
265
|
|
|
253
|
-
export function parseAvccExtraData(avpacket, stream) {
|
|
254
|
-
if (!(1 & cheap__CTypeEnumRead__1[15](avpacket + 36))) return;
|
|
255
|
-
const data = getAVPacketData(avpacket);
|
|
256
|
-
if (isAnnexb(data)) return;
|
|
257
|
-
const naluLengthSizeMinusOne = stream.metadata.naluLengthSizeMinusOne ?? 3;
|
|
258
|
-
let spss = [], ppss = [], spsExts = [], others = [];
|
|
259
|
-
const bufferReader = new BufferReader(data);
|
|
260
|
-
for (;bufferReader.remainingSize() > 0; ) {
|
|
261
|
-
let length = 0;
|
|
262
|
-
length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
|
|
263
|
-
const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
|
|
264
|
-
bufferReader.skip(length);
|
|
265
|
-
const naluType = 31 & nalu[0];
|
|
266
|
-
7 === naluType ? spss.push(nalu) : 8 === naluType ? ppss.push(nalu) : 13 === naluType ? spsExts.push(nalu) : others.push(nalu);
|
|
267
|
-
}
|
|
268
|
-
if (spss.length || ppss.length) {
|
|
269
|
-
const extradata = spsPps2Extradata(spss, ppss, spsExts), extradataPointer = avMalloc(extradata.length);
|
|
270
|
-
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export function parseAnnexbExtraData(avpacket, force = !1) {
|
|
275
|
-
if (!(1 & cheap__CTypeEnumRead__1[15](avpacket + 36) || force)) return;
|
|
276
|
-
const data = getAVPacketData(avpacket);
|
|
277
|
-
if (!isAnnexb(data)) return;
|
|
278
|
-
let nalus = splitNaluByStartCode(data);
|
|
279
|
-
if (nalus.length > 1) {
|
|
280
|
-
const spss = [], ppss = [], spsExts = [];
|
|
281
|
-
if (nalus.forEach((nalu => {
|
|
282
|
-
const type = 31 & nalu[0];
|
|
283
|
-
7 === type ? spss.push(nalu) : 8 === type ? ppss.push(nalu) : 13 === type && spsExts.push(nalu);
|
|
284
|
-
})), spss.length && ppss.length) {
|
|
285
|
-
const extradata = spsPps2Extradata(spss, ppss, spsExts), extradataPointer = avMalloc(extradata.length);
|
|
286
|
-
memcpyFromUint8Array(extradataPointer, extradata.length, extradata), addAVPacketSideData(avpacket, 1, extradataPointer, extradata.length),
|
|
287
|
-
cheap__CTypeEnumWrite__5[15](avpacket + 36, 1 | cheap__CTypeEnumRead__1[15](avpacket + 36));
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
266
|
export function parseAVCodecParameters(stream, extradata) {
|
|
293
|
-
|
|
267
|
+
let sps;
|
|
268
|
+
if (!extradata && stream.sideData[1] && (extradata = stream.sideData[1]), extradata && naluUtil.isAnnexb(extradata)) array.each(naluUtil.splitNaluByStartCode(extradata), (nalu => {
|
|
269
|
+
if (7 === (31 & nalu[0])) return sps = nalu, !1;
|
|
270
|
+
})); else if (extradata && extradata.length >= 6) {
|
|
294
271
|
stream.metadata.naluLengthSizeMinusOne = 3 & extradata[4];
|
|
295
272
|
const {spss: spss} = extradata2SpsPps(extradata);
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
273
|
+
spss.length && (sps = spss[0]);
|
|
274
|
+
}
|
|
275
|
+
if (sps) {
|
|
276
|
+
const {profile: profile, level: level, width: width, height: height, videoDelay: videoDelay, chromaFormatIdc: chromaFormatIdc, bitDepthLumaMinus8: bitDepthLumaMinus8} = parseSPS(sps);
|
|
277
|
+
switch (stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
|
|
278
|
+
stream.codecpar.height = height, stream.codecpar.videoDelay = videoDelay, bitDepthLumaMinus8) {
|
|
279
|
+
case 0:
|
|
280
|
+
stream.codecpar.format = 3 === chromaFormatIdc ? 5 : 2 === chromaFormatIdc ? 4 : 0;
|
|
281
|
+
break;
|
|
282
|
+
|
|
283
|
+
case 1:
|
|
284
|
+
stream.codecpar.format = 3 === chromaFormatIdc ? 66 : 2 === chromaFormatIdc ? 70 : 60;
|
|
285
|
+
break;
|
|
286
|
+
|
|
287
|
+
case 2:
|
|
288
|
+
stream.codecpar.format = 3 === chromaFormatIdc ? 68 : 2 === chromaFormatIdc ? 64 : 62;
|
|
300
289
|
}
|
|
301
290
|
}
|
|
302
291
|
}
|
|
303
292
|
|
|
304
293
|
export function isIDR(avpacket, naluLengthSize = 4) {
|
|
305
294
|
if (2 === cheap__CTypeEnumRead__1[15](avpacket + 80)) {
|
|
306
|
-
return splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__1[20](avpacket + 24), cheap__CTypeEnumRead__1[15](avpacket + 28))).some((nalu => 5 === (31 & nalu[0])));
|
|
295
|
+
return naluUtil.splitNaluByStartCode(mapUint8Array(cheap__CTypeEnumRead__1[20](avpacket + 24), cheap__CTypeEnumRead__1[15](avpacket + 28))).some((nalu => 5 === (31 & nalu[0])));
|
|
307
296
|
}
|
|
308
297
|
{
|
|
309
298
|
const size = cheap__CTypeEnumRead__1[15](avpacket + 28);
|
|
@@ -321,7 +310,7 @@ export function parseSPS(sps) {
|
|
|
321
310
|
if (!sps || sps.length < 3) return;
|
|
322
311
|
let offset = 0;
|
|
323
312
|
0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
|
|
324
|
-
const buffer = naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
313
|
+
const buffer = naluUtil.naluUnescape(sps.subarray(offset)), bitReader = new BitReader(buffer.length);
|
|
325
314
|
bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU(2), bitReader.readU(5);
|
|
326
315
|
const profile = bitReader.readU(8);
|
|
327
316
|
bitReader.readU1(), bitReader.readU1(), bitReader.readU1(), bitReader.readU1(),
|
|
@@ -355,6 +344,32 @@ export function parseSPS(sps) {
|
|
|
355
344
|
cropUnitY = 2 - frameCroppingFlag), width -= cropUnitX * (expgolomb.readUE(bitReader) + expgolomb.readUE(bitReader)),
|
|
356
345
|
height -= cropUnitY * (expgolomb.readUE(bitReader) + expgolomb.readUE(bitReader));
|
|
357
346
|
}
|
|
347
|
+
let videoDelay = 0;
|
|
348
|
+
if (bitReader.readU1()) {
|
|
349
|
+
let flag = bitReader.readU1();
|
|
350
|
+
if (flag) {
|
|
351
|
+
bitReader.readU(8) >= 17 && (bitReader.readU(16), bitReader.readU(16));
|
|
352
|
+
}
|
|
353
|
+
function parseHrdParameters() {
|
|
354
|
+
const cpbCount = expgolomb.readUE(bitReader) + 1;
|
|
355
|
+
bitReader.readU(4), bitReader.readU(4);
|
|
356
|
+
for (let i = 0; i < cpbCount; i++) expgolomb.readUE(bitReader), expgolomb.readUE(bitReader),
|
|
357
|
+
bitReader.readU1();
|
|
358
|
+
bitReader.readU(5), bitReader.readU(5), bitReader.readU(5), bitReader.readU(5);
|
|
359
|
+
}
|
|
360
|
+
flag = bitReader.readU1(), flag && bitReader.readU1(), flag = bitReader.readU1(),
|
|
361
|
+
flag && (bitReader.readU(3), bitReader.readU1(), flag = bitReader.readU1(), flag && (bitReader.readU(8),
|
|
362
|
+
bitReader.readU(8), bitReader.readU(8))), flag = bitReader.readU1(), flag && (expgolomb.readUE(bitReader),
|
|
363
|
+
expgolomb.readUE(bitReader)), flag = bitReader.readU1(), flag && (bitReader.readU(32),
|
|
364
|
+
bitReader.readU(32), bitReader.readU1());
|
|
365
|
+
let flag1 = bitReader.readU1();
|
|
366
|
+
flag1 && parseHrdParameters();
|
|
367
|
+
let flag2 = bitReader.readU1();
|
|
368
|
+
flag2 && parseHrdParameters(), (flag1 || flag2) && bitReader.readU1(), bitReader.readU1(),
|
|
369
|
+
flag = bitReader.readU1(), flag && (bitReader.readU1(), expgolomb.readUE(bitReader),
|
|
370
|
+
expgolomb.readUE(bitReader), expgolomb.readUE(bitReader), expgolomb.readUE(bitReader),
|
|
371
|
+
videoDelay = Math.min(expgolomb.readUE(bitReader), 16));
|
|
372
|
+
}
|
|
358
373
|
return {
|
|
359
374
|
profile: profile,
|
|
360
375
|
level: level,
|
|
@@ -367,7 +382,8 @@ export function parseSPS(sps) {
|
|
|
367
382
|
picOrderCntType: picOrderCntType,
|
|
368
383
|
log2MaxPicOrderCntLsbMinus4: log2MaxPicOrderCntLsbMinus4,
|
|
369
384
|
deltaPicOrderAlwaysZeroFlag: deltaPicOrderAlwaysZeroFlag,
|
|
370
|
-
log2MaxFrameNumMinus4: log2MaxFrameNumMinus4
|
|
385
|
+
log2MaxFrameNumMinus4: log2MaxFrameNumMinus4,
|
|
386
|
+
videoDelay: videoDelay
|
|
371
387
|
};
|
|
372
388
|
}
|
|
373
389
|
//# sourceMappingURL=h264.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["array","BufferWriter","BufferReader","BitReader","logger","mapUint8Array","memcpyFromUint8Array","addAVPacketSideData","getAVPacketData","naluUnescape","splitNaluByStartCode","isAnnexb","avMalloc","expgolomb","intread","NALULengthSizeMinusOne","H264Profile2Name","LevelCapabilities","level","maxResolution","maxFrameRate","getLevelByResolution","width","height","fps","resolution","extradata2SpsPps","extradata","bufferReader","skip","spss","ppss","spsExts","spsLength","readUint8","i","length","readUint16","push","readBuffer","ppsLength","remainingSize","spsExtLength","spsPps2Extradata","warn","slice","reduce","prev","sps","pps","params","parseSPS","profile","ext","buffer","Uint8Array","bufferWriter","writeUint8","each","writeUint16","writeBuffer","chromaFormatIdc","bitDepthLumaMinus8","bitDepthChromaMinus8","annexbExtradata2AvccExtradata","data","nalus","forEach","nalu","type","annexb2Avcc","key","filter","bufferPointer","writeUint32","subarray","avcc2Annexb","naluLengthSizeMinusOne","result","seis","readUint32","readUint24","Number","BigInt","asIntN","getPos","naluType","sei","index","parseAvccExtraData","avpacket","stream","cheap__CTypeEnumRead__1","metadata","others","extradataPointer","parseAnnexbExtraData","force","cheap__CTypeEnumWrite__5","parseAVCodecParameters","sideData","codecpar","isIDR","naluLengthSize","some","size","r8","rb32","rb24","rb16","offset","bitReader","appendBuffer","readU1","readU","readUE","seqScalingListPresentFlag","Array","log2MaxFrameNumMinus4","picOrderCntType","log2MaxPicOrderCntLsbMinus4","deltaPicOrderAlwaysZeroFlag","readSE","numRefFramesInPicOrderCntCycle","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","frameCroppingFlag","cropUnitX","cropUnitY"],"sources":["../../../codecs/h264.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["array","BufferWriter","BufferReader","BitReader","logger","mapUint8Array","naluUtil","avMalloc","expgolomb","intread","intwrite","H264_MAX_DPB_FRAMES","NALULengthSizeMinusOne","H264Profile2Name","LevelCapabilities","level","maxResolution","maxFrameRate","getLevelByResolution","width","height","fps","resolution","extradata2SpsPps","extradata","bufferReader","skip","spss","ppss","spsExts","spsLength","readUint8","i","length","readUint16","push","readBuffer","ppsLength","remainingSize","spsExtLength","spsPps2Extradata","warn","slice","reduce","prev","sps","pps","params","parseSPS","profile","ext","buffer","Uint8Array","bufferWriter","writeUint8","each","writeUint16","writeBuffer","chromaFormatIdc","bitDepthLumaMinus8","bitDepthChromaMinus8","annexbExtradata2AvccExtradata","data","nalus","splitNaluByStartCode","forEach","nalu","type","generateAnnexbExtradata","joinNaluByStartCode","annexb2Avcc","key","filter","bufferPointer","joinNaluByLength","nalus2Annexb","seis","others","lengths","joinNaluByStartCodeLength","offset","w8","annexbAddExtradata","concat","avcc2Annexb","naluLengthSizeMinusOne","result","splitNaluByLength","naluType","parseAVCodecParameters","stream","sideData","isAnnexb","metadata","videoDelay","codecpar","format","isIDR","avpacket","naluLengthSize","cheap__CTypeEnumRead__1","some","size","r8","rb32","rb24","rb16","naluUnescape","subarray","bitReader","appendBuffer","readU1","readU","readUE","seqScalingListPresentFlag","Array","log2MaxFrameNumMinus4","picOrderCntType","log2MaxPicOrderCntLsbMinus4","deltaPicOrderAlwaysZeroFlag","readSE","numRefFramesInPicOrderCntCycle","picWidthInMbsMinus1","picHeightInMapUnitsMinus1","frameMbsOnlyFlag","frameCroppingFlag","cropUnitX","cropUnitY","flag","parseHrdParameters","cpbCount","flag1","flag2","Math","min"],"sources":["../../../codecs/h264.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import AVPacket from "../struct/avpacket";
|
|
2
2
|
import AVStream from "../AVStream";
|
|
3
3
|
import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
|
|
4
|
+
export declare const HEVC_MAX_DPB_FRAMES = 16;
|
|
4
5
|
export declare const enum HEVCProfile {
|
|
5
6
|
Main = 1,
|
|
6
7
|
Main10 = 2,
|
|
@@ -91,34 +92,83 @@ export declare const enum HEVCSliceType {
|
|
|
91
92
|
*
|
|
92
93
|
*/
|
|
93
94
|
export declare function extradata2VpsSpsPps(extradata: Uint8ArrayInterface): {
|
|
94
|
-
vpss:
|
|
95
|
-
spss:
|
|
96
|
-
ppss:
|
|
95
|
+
vpss: Uint8ArrayInterface[];
|
|
96
|
+
spss: Uint8ArrayInterface[];
|
|
97
|
+
ppss: Uint8ArrayInterface[];
|
|
97
98
|
};
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
/**
|
|
100
|
+
* annexb vps sps pps 转 avcc 格式的 extradata
|
|
101
|
+
*
|
|
102
|
+
* @param vpss
|
|
103
|
+
* @param spss
|
|
104
|
+
* @param ppss
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
export declare function vpsSpsPps2Extradata(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[]): Uint8Array<ArrayBuffer>;
|
|
108
|
+
/**
|
|
109
|
+
* annexb extradata 转 avcc extradata
|
|
110
|
+
*
|
|
111
|
+
* @param data
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
export declare function annexbExtradata2AvccExtradata(data: Uint8ArrayInterface): Uint8Array<ArrayBuffer>;
|
|
115
|
+
/**
|
|
116
|
+
* 从 annexb 码流里面生成 annexb extradata
|
|
117
|
+
*
|
|
118
|
+
* 提取出 vps、 sps 和 pps
|
|
119
|
+
*
|
|
120
|
+
* @param data
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
123
|
+
export declare function generateAnnexbExtradata(data: Uint8ArrayInterface): Uint8Array<ArrayBufferLike>;
|
|
100
124
|
/**
|
|
101
125
|
*
|
|
102
126
|
* annexb 格式的 NALU 转 avcc NALU
|
|
103
127
|
*
|
|
128
|
+
* 需要保证 data 是 safe 的
|
|
129
|
+
*
|
|
104
130
|
*/
|
|
105
131
|
export declare function annexb2Avcc(data: Uint8ArrayInterface): {
|
|
106
132
|
bufferPointer: pointer<void>;
|
|
107
133
|
length: number;
|
|
108
|
-
extradata: Uint8Array
|
|
134
|
+
extradata: Uint8Array<ArrayBufferLike>;
|
|
109
135
|
key: boolean;
|
|
110
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
*
|
|
139
|
+
* 需要保证 data 是 safe 的
|
|
140
|
+
*
|
|
141
|
+
* @param vpss
|
|
142
|
+
* @param spss
|
|
143
|
+
* @param ppss
|
|
144
|
+
* @param nalus
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
export declare function nalus2Annexb(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[], nalus: Uint8ArrayInterface[]): {
|
|
148
|
+
bufferPointer: pointer<void>;
|
|
149
|
+
length: number;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* annexb 添加 sps pps
|
|
153
|
+
*
|
|
154
|
+
* @param data
|
|
155
|
+
* @param extradata
|
|
156
|
+
*/
|
|
157
|
+
export declare function annexbAddExtradata(data: Uint8ArrayInterface, extradata: Uint8ArrayInterface): {
|
|
158
|
+
bufferPointer: pointer<void>;
|
|
159
|
+
length: number;
|
|
160
|
+
};
|
|
111
161
|
/**
|
|
112
162
|
* avcc 格式的 NALU 转 annexb NALU
|
|
113
163
|
*
|
|
164
|
+
* 需要保证 data 是 safe 的
|
|
165
|
+
*
|
|
114
166
|
*/
|
|
115
167
|
export declare function avcc2Annexb(data: Uint8ArrayInterface, extradata?: Uint8ArrayInterface): {
|
|
116
|
-
bufferPointer: pointer<void>;
|
|
117
|
-
length: any;
|
|
118
168
|
key: boolean;
|
|
169
|
+
bufferPointer: pointer<void>;
|
|
170
|
+
length: number;
|
|
119
171
|
};
|
|
120
|
-
export declare function parseAvccExtraData(avpacket: pointer<AVPacket>, stream: AVStream): void;
|
|
121
|
-
export declare function parseAnnexbExtraData(avpacket: pointer<AVPacket>, force?: boolean): void;
|
|
122
172
|
export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
|
|
123
173
|
export declare function isIDR(avpacket: pointer<AVPacket>, naluLengthSize?: int32): boolean;
|
|
124
174
|
export interface HevcSPS {
|
|
@@ -151,6 +201,7 @@ export interface HevcSPS {
|
|
|
151
201
|
min_pu_width: number;
|
|
152
202
|
min_pu_height: number;
|
|
153
203
|
log2_max_poc_lsb: number;
|
|
204
|
+
video_delay: number;
|
|
154
205
|
}
|
|
155
206
|
export declare function parseSPS(sps: Uint8ArrayInterface): HevcSPS;
|
|
156
207
|
export interface HevcPPS {
|