@remotion/media-parser 4.0.209 → 4.0.211
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/buffer.js +2 -0
- package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +1 -1
- package/dist/boxes/iso-base-media/make-track.js +14 -2
- package/dist/boxes/iso-base-media/mdat/mdat.d.ts +13 -4
- package/dist/boxes/iso-base-media/mdat/mdat.js +20 -5
- package/dist/boxes/iso-base-media/moov/moov.d.ts +2 -1
- package/dist/boxes/iso-base-media/moov/moov.js +2 -1
- package/dist/boxes/iso-base-media/process-box.d.ts +6 -3
- package/dist/boxes/iso-base-media/process-box.js +66 -12
- package/dist/boxes/iso-base-media/stsd/avcc.d.ts +1 -1
- package/dist/boxes/iso-base-media/stsd/avcc.js +2 -2
- package/dist/boxes/iso-base-media/stsd/ctts.js +2 -5
- package/dist/boxes/iso-base-media/stsd/hvcc.d.ts +1 -1
- package/dist/boxes/iso-base-media/stsd/hvcc.js +2 -2
- package/dist/boxes/iso-base-media/stsd/mebx.d.ts +2 -1
- package/dist/boxes/iso-base-media/stsd/mebx.js +2 -1
- package/dist/boxes/iso-base-media/stsd/samples.d.ts +4 -2
- package/dist/boxes/iso-base-media/stsd/samples.js +69 -11
- package/dist/boxes/iso-base-media/stsd/stsd.d.ts +2 -1
- package/dist/boxes/iso-base-media/stsd/stsd.js +2 -1
- package/dist/boxes/iso-base-media/trak/trak.d.ts +2 -1
- package/dist/boxes/iso-base-media/trak/trak.js +2 -1
- package/dist/boxes/iso-base-media/traversal.d.ts +39 -0
- package/dist/boxes/iso-base-media/traversal.js +201 -0
- package/dist/boxes/webm/color.d.ts +4 -0
- package/dist/boxes/webm/color.js +127 -0
- package/dist/boxes/webm/description.js +1 -1
- package/dist/boxes/webm/ebml.d.ts +1 -1
- package/dist/boxes/webm/get-ready-tracks.js +3 -3
- package/dist/boxes/webm/get-sample-from-block.js +1 -1
- package/dist/boxes/webm/make-track.d.ts +9 -0
- package/dist/boxes/webm/make-track.js +260 -0
- package/dist/boxes/webm/parse-ebml.js +2 -2
- package/dist/boxes/webm/segments/all-segments.d.ts +36 -3
- package/dist/boxes/webm/segments/all-segments.js +34 -6
- package/dist/boxes/webm/segments/parse-children.js +6 -0
- package/dist/boxes/webm/traversal.d.ts +26 -1
- package/dist/boxes/webm/traversal.js +214 -1
- package/dist/buffer-iterator.d.ts +4 -1
- package/dist/buffer-iterator.js +31 -5
- package/dist/create/cluster-segment.js +0 -2
- package/dist/create/cluster.d.ts +16 -2
- package/dist/create/cluster.js +17 -10
- package/dist/create/create-media.d.ts +4 -2
- package/dist/create/create-media.js +101 -22
- package/dist/create/make-duration-with-padding.d.ts +1 -1
- package/dist/create/make-duration-with-padding.js +3 -3
- package/dist/create/matroska-cues.d.ts +6 -0
- package/dist/create/matroska-cues.js +49 -0
- package/dist/create/matroska-info.js +1 -1
- package/dist/create/matroska-seek.d.ts +6 -0
- package/dist/create/matroska-seek.js +32 -0
- package/dist/create/matroska-segment.d.ts +1 -0
- package/dist/create/matroska-segment.js +3 -2
- package/dist/create/matroska-trackentry.d.ts +9 -14
- package/dist/create/matroska-trackentry.js +79 -102
- package/dist/emit-available-info.d.ts +12 -0
- package/dist/emit-available-info.js +133 -0
- package/dist/esm/buffer.mjs +57 -0
- package/dist/esm/from-fetch.mjs +107 -0
- package/dist/esm/from-node.mjs +49 -0
- package/dist/esm/from-web-file.mjs +49 -0
- package/dist/esm/index.mjs +6822 -0
- package/dist/esm/web-fs.mjs +67 -0
- package/dist/get-audio-codec.d.ts +5 -5
- package/dist/get-audio-codec.js +44 -57
- package/dist/get-container.d.ts +4 -0
- package/dist/get-container.js +26 -0
- package/dist/get-duration.js +1 -1
- package/dist/get-fps.js +1 -1
- package/dist/get-sample-aspect-ratio.d.ts +1 -1
- package/dist/get-sample-aspect-ratio.js +19 -19
- package/dist/get-tracks.d.ts +13 -0
- package/dist/get-tracks.js +8 -8
- package/dist/get-video-codec.d.ts +5 -2
- package/dist/get-video-codec.js +111 -21
- package/dist/has-all-info.d.ts +2 -2
- package/dist/has-all-info.js +23 -9
- package/dist/index.d.ts +4 -1
- package/dist/options.d.ts +97 -30
- package/dist/parse-media.js +59 -69
- package/dist/parse-video.d.ts +2 -1
- package/dist/parse-video.js +3 -1
- package/dist/parser-context.d.ts +1 -0
- package/dist/parser-state.js +1 -2
- package/dist/readers/from-fetch.d.ts +12 -0
- package/dist/readers/from-fetch.js +83 -17
- package/dist/readers/from-node.js +14 -3
- package/dist/readers/from-web-file.js +15 -2
- package/dist/readers/reader.d.ts +7 -1
- package/dist/samples-from-moof.js +1 -1
- package/dist/truthy.d.ts +3 -0
- package/dist/truthy.js +7 -0
- package/dist/writers/buffer.d.ts +2 -0
- package/dist/writers/buffer.js +58 -0
- package/dist/writers/web-fs.d.ts +1 -0
- package/dist/writers/web-fs.js +42 -18
- package/dist/writers/writer.d.ts +4 -2
- package/fetch.js +2 -0
- package/node.js +2 -0
- package/package.json +43 -8
- package/web-file.js +2 -0
- package/web-fs.js +2 -0
- package/.eslintrc +0 -8
- package/dist/av1-codec-string.d.ts +0 -3
- package/dist/av1-codec-string.js +0 -91
- package/dist/boxes/iso-base-media/ftype.d.ts +0 -9
- package/dist/boxes/iso-base-media/ftype.js +0 -31
- package/dist/boxes/iso-base-media/stsd/avcc-hvcc.d.ts +0 -20
- package/dist/boxes/iso-base-media/stsd/avcc-hvcc.js +0 -73
- package/dist/boxes/iso-base-media/stts/stts.d.ts +0 -15
- package/dist/boxes/iso-base-media/stts/stts.js +0 -35
- package/dist/boxes/webm/bitstream/av1/bitstream-frame-header.d.ts +0 -14
- package/dist/boxes/webm/bitstream/av1/bitstream-frame-header.js +0 -67
- package/dist/boxes/webm/bitstream/av1/bitstream-frame.d.ts +0 -11
- package/dist/boxes/webm/bitstream/av1/bitstream-frame.js +0 -14
- package/dist/boxes/webm/bitstream/av1/chroma-sample-position.d.ts +0 -6
- package/dist/boxes/webm/bitstream/av1/chroma-sample-position.js +0 -9
- package/dist/boxes/webm/bitstream/av1/color-config.d.ts +0 -16
- package/dist/boxes/webm/bitstream/av1/color-config.js +0 -103
- package/dist/boxes/webm/bitstream/av1/color-primaries.d.ts +0 -14
- package/dist/boxes/webm/bitstream/av1/color-primaries.js +0 -17
- package/dist/boxes/webm/bitstream/av1/decoder-model-info.d.ts +0 -9
- package/dist/boxes/webm/bitstream/av1/decoder-model-info.js +0 -17
- package/dist/boxes/webm/bitstream/av1/frame.d.ts +0 -0
- package/dist/boxes/webm/bitstream/av1/frame.js +0 -1
- package/dist/boxes/webm/bitstream/av1/header-segment.d.ts +0 -51
- package/dist/boxes/webm/bitstream/av1/header-segment.js +0 -183
- package/dist/boxes/webm/bitstream/av1/matrix-coefficients.d.ts +0 -17
- package/dist/boxes/webm/bitstream/av1/matrix-coefficients.js +0 -20
- package/dist/boxes/webm/bitstream/av1/operating-parameters-info.d.ts +0 -10
- package/dist/boxes/webm/bitstream/av1/operating-parameters-info.js +0 -15
- package/dist/boxes/webm/bitstream/av1/temporal-point-info.d.ts +0 -5
- package/dist/boxes/webm/bitstream/av1/temporal-point-info.js +0 -8
- package/dist/boxes/webm/bitstream/av1/timing-info.d.ts +0 -8
- package/dist/boxes/webm/bitstream/av1/timing-info.js +0 -20
- package/dist/boxes/webm/bitstream/av1/transfer-characteristics.d.ts +0 -21
- package/dist/boxes/webm/bitstream/av1/transfer-characteristics.js +0 -24
- package/dist/boxes/webm/bitstream/av1/uvlc.d.ts +0 -2
- package/dist/boxes/webm/bitstream/av1/uvlc.js +0 -20
- package/dist/boxes/webm/bitstream/av1.d.ts +0 -20
- package/dist/boxes/webm/bitstream/av1.js +0 -118
- package/dist/boxes/webm/bitstream/h264/get-h264-descriptor.d.ts +0 -0
- package/dist/boxes/webm/bitstream/h264/get-h264-descriptor.js +0 -1
- package/dist/boxes/webm/segments/duration.d.ts +0 -6
- package/dist/boxes/webm/segments/duration.js +0 -19
- package/dist/boxes/webm/segments/info.d.ts +0 -9
- package/dist/boxes/webm/segments/info.js +0 -22
- package/dist/boxes/webm/segments/main.d.ts +0 -5
- package/dist/boxes/webm/segments/main.js +0 -2
- package/dist/boxes/webm/segments/muxing.d.ts +0 -6
- package/dist/boxes/webm/segments/muxing.js +0 -11
- package/dist/boxes/webm/segments/seek-head.d.ts +0 -9
- package/dist/boxes/webm/segments/seek-head.js +0 -22
- package/dist/boxes/webm/segments/seek-position.d.ts +0 -6
- package/dist/boxes/webm/segments/seek-position.js +0 -11
- package/dist/boxes/webm/segments/seek.d.ts +0 -13
- package/dist/boxes/webm/segments/seek.js +0 -35
- package/dist/boxes/webm/segments/timestamp-scale.d.ts +0 -6
- package/dist/boxes/webm/segments/timestamp-scale.js +0 -11
- package/dist/boxes/webm/segments/tracks.d.ts +0 -8
- package/dist/boxes/webm/segments/tracks.js +0 -21
- package/dist/boxes/webm/segments/unknown.d.ts +0 -6
- package/dist/boxes/webm/segments/unknown.js +0 -11
- package/dist/boxes/webm/segments/void.d.ts +0 -6
- package/dist/boxes/webm/segments/void.js +0 -11
- package/dist/boxes/webm/segments/writing.d.ts +0 -6
- package/dist/boxes/webm/segments/writing.js +0 -11
- package/dist/boxes/webm/tracks.d.ts +0 -8
- package/dist/boxes/webm/tracks.js +0 -21
- package/dist/combine-uint8array.d.ts +0 -1
- package/dist/combine-uint8array.js +0 -13
- package/dist/from-web.d.ts +0 -2
- package/dist/from-web.js +0 -45
- package/dist/get-video-metadata.d.ts +0 -2
- package/dist/get-video-metadata.js +0 -44
- package/dist/read-and-increment-offset.d.ts +0 -28
- package/dist/read-and-increment-offset.js +0 -177
- package/dist/understand-vorbis.d.ts +0 -1
- package/dist/understand-vorbis.js +0 -12
- package/input.webm +0 -0
- package/src/add-new-matroska-tracks.ts +0 -23
- package/src/boxes/iso-base-media/base-type.ts +0 -4
- package/src/boxes/iso-base-media/esds/decoder-specific-config.ts +0 -68
- package/src/boxes/iso-base-media/esds/esds-descriptors.ts +0 -135
- package/src/boxes/iso-base-media/esds/esds.ts +0 -49
- package/src/boxes/iso-base-media/ftyp.ts +0 -39
- package/src/boxes/iso-base-media/get-sample-positions-from-track.ts +0 -69
- package/src/boxes/iso-base-media/make-track.ts +0 -116
- package/src/boxes/iso-base-media/mdat/mdat.ts +0 -140
- package/src/boxes/iso-base-media/mdhd.ts +0 -59
- package/src/boxes/iso-base-media/moov/moov.ts +0 -43
- package/src/boxes/iso-base-media/mvhd.ts +0 -114
- package/src/boxes/iso-base-media/process-box.ts +0 -748
- package/src/boxes/iso-base-media/stsd/av1c.ts +0 -19
- package/src/boxes/iso-base-media/stsd/avcc.ts +0 -36
- package/src/boxes/iso-base-media/stsd/colr.ts +0 -49
- package/src/boxes/iso-base-media/stsd/ctts.ts +0 -64
- package/src/boxes/iso-base-media/stsd/hvcc.ts +0 -32
- package/src/boxes/iso-base-media/stsd/keys.ts +0 -27
- package/src/boxes/iso-base-media/stsd/mebx.ts +0 -54
- package/src/boxes/iso-base-media/stsd/pasp.ts +0 -32
- package/src/boxes/iso-base-media/stsd/samples.ts +0 -359
- package/src/boxes/iso-base-media/stsd/stco.ts +0 -52
- package/src/boxes/iso-base-media/stsd/stsc.ts +0 -61
- package/src/boxes/iso-base-media/stsd/stsd.ts +0 -55
- package/src/boxes/iso-base-media/stsd/stss.ts +0 -47
- package/src/boxes/iso-base-media/stsd/stsz.ts +0 -75
- package/src/boxes/iso-base-media/stsd/stts.ts +0 -62
- package/src/boxes/iso-base-media/tfdt.ts +0 -37
- package/src/boxes/iso-base-media/tfhd.ts +0 -66
- package/src/boxes/iso-base-media/tkhd.ts +0 -150
- package/src/boxes/iso-base-media/to-date.ts +0 -9
- package/src/boxes/iso-base-media/trak/trak.ts +0 -43
- package/src/boxes/iso-base-media/trun.ts +0 -74
- package/src/boxes/iso-base-media/void-box.ts +0 -4
- package/src/boxes/webm/allowed-partial-segments.ts +0 -1
- package/src/boxes/webm/av1-codec-private.ts +0 -113
- package/src/boxes/webm/description.ts +0 -104
- package/src/boxes/webm/ebml.ts +0 -98
- package/src/boxes/webm/get-ready-tracks.ts +0 -36
- package/src/boxes/webm/get-sample-from-block.ts +0 -125
- package/src/boxes/webm/get-track.ts +0 -257
- package/src/boxes/webm/make-header.ts +0 -253
- package/src/boxes/webm/parse-ebml.ts +0 -259
- package/src/boxes/webm/parse-webm-header.ts +0 -18
- package/src/boxes/webm/segments/all-segments.ts +0 -888
- package/src/boxes/webm/segments/block-simple-block-flags.ts +0 -52
- package/src/boxes/webm/segments/parse-children.ts +0 -144
- package/src/boxes/webm/segments/track-entry.ts +0 -38
- package/src/boxes/webm/segments.ts +0 -147
- package/src/boxes/webm/traversal.ts +0 -45
- package/src/buffer-iterator.ts +0 -555
- package/src/create/cluster-segment.ts +0 -62
- package/src/create/cluster.ts +0 -64
- package/src/create/create-media.ts +0 -136
- package/src/create/make-duration-with-padding.ts +0 -15
- package/src/create/matroska-header.ts +0 -63
- package/src/create/matroska-info.ts +0 -30
- package/src/create/matroska-segment.ts +0 -10
- package/src/create/matroska-trackentry.ts +0 -325
- package/src/create/timescale.ts +0 -1
- package/src/get-audio-codec.ts +0 -270
- package/src/get-dimensions.ts +0 -47
- package/src/get-duration.ts +0 -103
- package/src/get-fps.ts +0 -113
- package/src/get-sample-aspect-ratio.ts +0 -204
- package/src/get-sample-positions.ts +0 -93
- package/src/get-tracks.ts +0 -147
- package/src/get-video-codec.ts +0 -117
- package/src/has-all-info.ts +0 -81
- package/src/index.ts +0 -18
- package/src/make-hvc1-codec-strings.ts +0 -55
- package/src/options.ts +0 -118
- package/src/parse-media.ts +0 -183
- package/src/parse-result.ts +0 -79
- package/src/parse-video.ts +0 -83
- package/src/parser-context.ts +0 -10
- package/src/parser-state.ts +0 -178
- package/src/readers/from-fetch.ts +0 -90
- package/src/readers/from-node.ts +0 -51
- package/src/readers/from-web-file.ts +0 -49
- package/src/readers/reader.ts +0 -15
- package/src/samples-from-moof.ts +0 -102
- package/src/test/aspect-ratio.test.ts +0 -42
- package/src/test/av1.test.ts +0 -108
- package/src/test/create-matroska.test.ts +0 -287
- package/src/test/duration.test.ts +0 -18
- package/src/test/keys.test.ts +0 -47
- package/src/test/matroska.test.ts +0 -463
- package/src/test/mvhd.test.ts +0 -94
- package/src/test/parse-esds.test.ts +0 -98
- package/src/test/parse-stco.test.ts +0 -61
- package/src/test/parse-stsc.test.ts +0 -104
- package/src/test/parse-stsz.test.ts +0 -57
- package/src/test/parse-stts.test.ts +0 -38
- package/src/test/parse-video.test.ts +0 -101
- package/src/test/parse-webm.test.ts +0 -17
- package/src/test/samples-from-moof.test.ts +0 -2496
- package/src/test/stream-local.test.ts +0 -743
- package/src/test/stream-remote.test.ts +0 -59
- package/src/test/stream-samples.test.ts +0 -181
- package/src/test/stsd.test.ts +0 -265
- package/src/test/tkhd.test.ts +0 -87
- package/src/traversal.ts +0 -528
- package/src/webcodec-sample-types.ts +0 -29
- package/src/writers/web-fs.ts +0 -50
- package/src/writers/writer.ts +0 -12
- package/tsconfig.json +0 -14
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseAv1FrameHeader = exports.getFrameType = void 0;
|
|
4
|
-
const temporal_point_info_1 = require("./temporal-point-info");
|
|
5
|
-
const getFrameType = (frameType) => {
|
|
6
|
-
switch (frameType) {
|
|
7
|
-
case 0:
|
|
8
|
-
return 'key';
|
|
9
|
-
case 1:
|
|
10
|
-
return 'delta';
|
|
11
|
-
case 2:
|
|
12
|
-
return 'intra';
|
|
13
|
-
case 3:
|
|
14
|
-
return 'switch';
|
|
15
|
-
default:
|
|
16
|
-
throw new Error('Unknown frame type');
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
exports.getFrameType = getFrameType;
|
|
20
|
-
// https://aomediacodec.github.io/av1-spec/#uncompressed-header-syntax
|
|
21
|
-
// Only implmementing to get the basic stuff
|
|
22
|
-
const parseAv1FrameHeader = ({ stream, headerSegment, }) => {
|
|
23
|
-
var _a, _b;
|
|
24
|
-
if (headerSegment.reduced_still_picture_header) {
|
|
25
|
-
return {
|
|
26
|
-
type: 'av1-frame-header',
|
|
27
|
-
frameType: 'key',
|
|
28
|
-
temporalPointInfo: null,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
let temporalPointInfo = null;
|
|
32
|
-
const show_existing_frame = Boolean(stream.getBits(1));
|
|
33
|
-
if (show_existing_frame) {
|
|
34
|
-
const frame_to_show_map_idx = stream.getBits(3);
|
|
35
|
-
if (headerSegment.decoder_model_info &&
|
|
36
|
-
!((_a = headerSegment.timing_info) === null || _a === void 0 ? void 0 : _a.equal_picture_interval)) {
|
|
37
|
-
temporalPointInfo = (0, temporal_point_info_1.getTemporalPointInfo)({
|
|
38
|
-
stream,
|
|
39
|
-
frame_presentation_time_length_minus_1: headerSegment.decoder_model_info
|
|
40
|
-
.frame_presentation_time_length_minus_1,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
// TODO: this is wrong, there should be a store
|
|
44
|
-
const frame_type = (0, exports.getFrameType)(frame_to_show_map_idx);
|
|
45
|
-
return {
|
|
46
|
-
type: 'av1-frame-header',
|
|
47
|
-
frameType: frame_type,
|
|
48
|
-
temporalPointInfo,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
const frameType = (0, exports.getFrameType)(stream.getBits(2));
|
|
52
|
-
const showFrame = Boolean(stream.getBits(1));
|
|
53
|
-
if (showFrame &&
|
|
54
|
-
headerSegment.decoder_model_info &&
|
|
55
|
-
!((_b = headerSegment.timing_info) === null || _b === void 0 ? void 0 : _b.equal_picture_interval)) {
|
|
56
|
-
temporalPointInfo = (0, temporal_point_info_1.getTemporalPointInfo)({
|
|
57
|
-
stream,
|
|
58
|
-
frame_presentation_time_length_minus_1: headerSegment.decoder_model_info.frame_presentation_time_length_minus_1,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return {
|
|
62
|
-
type: 'av1-frame-header',
|
|
63
|
-
frameType,
|
|
64
|
-
temporalPointInfo,
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
exports.parseAv1FrameHeader = parseAv1FrameHeader;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
import { type Av1FrameHeader } from './bitstream-frame-header';
|
|
3
|
-
import type { Av1BitstreamHeaderSegment } from './header-segment';
|
|
4
|
-
export type Av1Frame = {
|
|
5
|
-
type: 'av1-frame';
|
|
6
|
-
header: Av1FrameHeader;
|
|
7
|
-
};
|
|
8
|
-
export declare const parseAv1Frame: ({ stream, headerSegment, }: {
|
|
9
|
-
stream: BufferIterator;
|
|
10
|
-
headerSegment: Av1BitstreamHeaderSegment;
|
|
11
|
-
}) => Av1Frame;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseAv1Frame = void 0;
|
|
4
|
-
const bitstream_frame_header_1 = require("./bitstream-frame-header");
|
|
5
|
-
const parseAv1Frame = ({ stream, headerSegment, }) => {
|
|
6
|
-
return {
|
|
7
|
-
type: 'av1-frame',
|
|
8
|
-
header: (0, bitstream_frame_header_1.parseAv1FrameHeader)({
|
|
9
|
-
stream,
|
|
10
|
-
headerSegment,
|
|
11
|
-
}),
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
exports.parseAv1Frame = parseAv1Frame;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
export type ColorConfig = {
|
|
3
|
-
bitDepth: number;
|
|
4
|
-
numPlanes: number;
|
|
5
|
-
color_primaries: number;
|
|
6
|
-
transfer_characteristics: number;
|
|
7
|
-
matrix_coefficients: number;
|
|
8
|
-
separate_uv_delta_q: number;
|
|
9
|
-
color_range: boolean;
|
|
10
|
-
subsampling_x: boolean;
|
|
11
|
-
subsampling_y: boolean;
|
|
12
|
-
chroma_sample_position: number;
|
|
13
|
-
mono_chrome: boolean;
|
|
14
|
-
color_description_present_flag: boolean;
|
|
15
|
-
};
|
|
16
|
-
export declare const getColorConfig: (stream: BufferIterator, seq_profile: number) => ColorConfig;
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getColorConfig = void 0;
|
|
4
|
-
const chroma_sample_position_1 = require("./chroma-sample-position");
|
|
5
|
-
const color_primaries_1 = require("./color-primaries");
|
|
6
|
-
const matrix_coefficients_1 = require("./matrix-coefficients");
|
|
7
|
-
const transfer_characteristics_1 = require("./transfer-characteristics");
|
|
8
|
-
const getColorConfig = (stream, seq_profile) => {
|
|
9
|
-
const high_bitdepth = Boolean(stream.getBits(1));
|
|
10
|
-
let bitDepth = 0;
|
|
11
|
-
if (seq_profile === 2 && high_bitdepth) {
|
|
12
|
-
const twelve_bit = Boolean(stream.getBits(1));
|
|
13
|
-
bitDepth = twelve_bit ? 12 : 10;
|
|
14
|
-
}
|
|
15
|
-
else if (seq_profile <= 2) {
|
|
16
|
-
bitDepth = high_bitdepth ? 10 : 8;
|
|
17
|
-
}
|
|
18
|
-
const mono_chrome = seq_profile === 1 ? true : Boolean(stream.getBits(1));
|
|
19
|
-
const numPlanes = mono_chrome ? 1 : 3;
|
|
20
|
-
const color_description_present_flag = Boolean(stream.getBits(1));
|
|
21
|
-
const color_primaries = color_description_present_flag
|
|
22
|
-
? stream.getBits(8)
|
|
23
|
-
: color_primaries_1.colorPrimaries.CP_UNSPECIFIED;
|
|
24
|
-
const transfer_characteristics = color_description_present_flag
|
|
25
|
-
? stream.getBits(8)
|
|
26
|
-
: transfer_characteristics_1.transferCharacteristics.TC_UNSPECIFIED;
|
|
27
|
-
const matrix_coefficients = color_description_present_flag
|
|
28
|
-
? stream.getBits(8)
|
|
29
|
-
: matrix_coefficients_1.matrixCoefficients.MC_UNSPECIFIED;
|
|
30
|
-
let chroma_sample_position = chroma_sample_position_1.chromaSamplePositions.CSP_UNKNOWN;
|
|
31
|
-
let color_range = false;
|
|
32
|
-
let subsampling_x = false;
|
|
33
|
-
let subsampling_y = false;
|
|
34
|
-
if (mono_chrome) {
|
|
35
|
-
color_range = Boolean(stream.getBits(1));
|
|
36
|
-
subsampling_x = true;
|
|
37
|
-
subsampling_y = true;
|
|
38
|
-
return {
|
|
39
|
-
bitDepth,
|
|
40
|
-
numPlanes,
|
|
41
|
-
color_primaries,
|
|
42
|
-
transfer_characteristics,
|
|
43
|
-
matrix_coefficients,
|
|
44
|
-
separate_uv_delta_q: 0,
|
|
45
|
-
color_range,
|
|
46
|
-
subsampling_x,
|
|
47
|
-
subsampling_y,
|
|
48
|
-
chroma_sample_position,
|
|
49
|
-
mono_chrome,
|
|
50
|
-
color_description_present_flag,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
if (color_primaries === color_primaries_1.colorPrimaries.CP_BT_709 &&
|
|
54
|
-
transfer_characteristics === transfer_characteristics_1.transferCharacteristics.TC_SRGB &&
|
|
55
|
-
matrix_coefficients === matrix_coefficients_1.matrixCoefficients.MC_IDENTITY) {
|
|
56
|
-
color_range = true;
|
|
57
|
-
subsampling_x = false;
|
|
58
|
-
subsampling_y = false;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
color_range = Boolean(stream.getBits(1));
|
|
62
|
-
if (seq_profile === 0) {
|
|
63
|
-
subsampling_x = true;
|
|
64
|
-
subsampling_y = true;
|
|
65
|
-
}
|
|
66
|
-
else if (seq_profile === 1) {
|
|
67
|
-
subsampling_x = false;
|
|
68
|
-
subsampling_y = false;
|
|
69
|
-
}
|
|
70
|
-
else if (bitDepth === 12) {
|
|
71
|
-
subsampling_x = Boolean(stream.getBits(1));
|
|
72
|
-
if (subsampling_x) {
|
|
73
|
-
subsampling_y = Boolean(stream.getBits(1));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
subsampling_y = false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
subsampling_x = true;
|
|
81
|
-
subsampling_y = false;
|
|
82
|
-
}
|
|
83
|
-
if (subsampling_x && subsampling_y) {
|
|
84
|
-
chroma_sample_position = stream.getBits(2);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const separate_uv_delta_q = stream.getBits(1);
|
|
88
|
-
return {
|
|
89
|
-
bitDepth,
|
|
90
|
-
numPlanes,
|
|
91
|
-
color_primaries,
|
|
92
|
-
transfer_characteristics,
|
|
93
|
-
matrix_coefficients,
|
|
94
|
-
separate_uv_delta_q,
|
|
95
|
-
chroma_sample_position,
|
|
96
|
-
color_range,
|
|
97
|
-
subsampling_x,
|
|
98
|
-
subsampling_y,
|
|
99
|
-
mono_chrome,
|
|
100
|
-
color_description_present_flag,
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
exports.getColorConfig = getColorConfig;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare const colorPrimaries: {
|
|
2
|
-
CP_BT_709: number;
|
|
3
|
-
CP_UNSPECIFIED: number;
|
|
4
|
-
CP_BT_470_M: number;
|
|
5
|
-
CP_BT_470_B_G: number;
|
|
6
|
-
CP_BT_601: number;
|
|
7
|
-
CP_SMPTE_240: number;
|
|
8
|
-
CP_GENERIC_FILM: number;
|
|
9
|
-
CP_BT_2020: number;
|
|
10
|
-
CP_XYZ: number;
|
|
11
|
-
CP_SMPTE_431: number;
|
|
12
|
-
CP_SMPTE_432: number;
|
|
13
|
-
CP_EBU_3213: number;
|
|
14
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.colorPrimaries = void 0;
|
|
4
|
-
exports.colorPrimaries = {
|
|
5
|
-
CP_BT_709: 1,
|
|
6
|
-
CP_UNSPECIFIED: 2,
|
|
7
|
-
CP_BT_470_M: 4,
|
|
8
|
-
CP_BT_470_B_G: 5,
|
|
9
|
-
CP_BT_601: 6,
|
|
10
|
-
CP_SMPTE_240: 7,
|
|
11
|
-
CP_GENERIC_FILM: 8,
|
|
12
|
-
CP_BT_2020: 9,
|
|
13
|
-
CP_XYZ: 10,
|
|
14
|
-
CP_SMPTE_431: 11,
|
|
15
|
-
CP_SMPTE_432: 12,
|
|
16
|
-
CP_EBU_3213: 22,
|
|
17
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
export type DecoderModelInfo = {
|
|
3
|
-
type: 'decoder-model-info';
|
|
4
|
-
buffer_delay_length_minus_1: number;
|
|
5
|
-
num_units_in_decoding_tick: number;
|
|
6
|
-
buffer_removal_time_length_minus_1: number;
|
|
7
|
-
frame_presentation_time_length_minus_1: number;
|
|
8
|
-
};
|
|
9
|
-
export declare const parseDecoderModelInfo: (stream: BufferIterator) => DecoderModelInfo;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseDecoderModelInfo = void 0;
|
|
4
|
-
const parseDecoderModelInfo = (stream) => {
|
|
5
|
-
const buffer_delay_length_minus_1 = stream.getBits(5);
|
|
6
|
-
const num_units_in_decoding_tick = stream.getBits(32);
|
|
7
|
-
const buffer_removal_time_length_minus_1 = stream.getBits(5);
|
|
8
|
-
const frame_presentation_time_length_minus_1 = stream.getBits(5);
|
|
9
|
-
return {
|
|
10
|
-
type: 'decoder-model-info',
|
|
11
|
-
buffer_delay_length_minus_1,
|
|
12
|
-
num_units_in_decoding_tick,
|
|
13
|
-
buffer_removal_time_length_minus_1,
|
|
14
|
-
frame_presentation_time_length_minus_1,
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
exports.parseDecoderModelInfo = parseDecoderModelInfo;
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
import type { ColorConfig } from './color-config';
|
|
3
|
-
import { type DecoderModelInfo } from './decoder-model-info';
|
|
4
|
-
import { type OperatingParametersInfo } from './operating-parameters-info';
|
|
5
|
-
import { type TimingInfo } from './timing-info';
|
|
6
|
-
type SeqLevelIndex = {
|
|
7
|
-
operating_point_idc: number;
|
|
8
|
-
seq_level_idx: number;
|
|
9
|
-
seq_tier: number;
|
|
10
|
-
};
|
|
11
|
-
export type Av1BitstreamHeaderSegment = {
|
|
12
|
-
type: 'av1-bitstream-header';
|
|
13
|
-
seq_profile: number;
|
|
14
|
-
still_picture: boolean;
|
|
15
|
-
reduced_still_picture_header: boolean;
|
|
16
|
-
timing_info_present_flag: boolean;
|
|
17
|
-
decoder_model_info_present_flag: boolean;
|
|
18
|
-
initial_display_delay_present_flag: boolean;
|
|
19
|
-
operating_points_cnt_minus_1: number;
|
|
20
|
-
seq_level: SeqLevelIndex[];
|
|
21
|
-
timing_info: TimingInfo | null;
|
|
22
|
-
decoder_model_info: DecoderModelInfo | null;
|
|
23
|
-
operating_parameters_info: OperatingParametersInfo[];
|
|
24
|
-
initial_display_delay_minus_1: number[];
|
|
25
|
-
frame_width_bits_minus_1: number;
|
|
26
|
-
frame_height_bits_minus_1: number;
|
|
27
|
-
max_frame_width_minus_1: number;
|
|
28
|
-
max_frame_height_minus_1: number;
|
|
29
|
-
delta_frame_id_length_minus_2: number | null;
|
|
30
|
-
additional_frame_id_length_minus_1: number | null;
|
|
31
|
-
use_128x128_superblock: boolean;
|
|
32
|
-
enable_filter_intra: boolean;
|
|
33
|
-
enable_intra_edge_filter: boolean;
|
|
34
|
-
color_config: ColorConfig;
|
|
35
|
-
film_grain_params_present: boolean;
|
|
36
|
-
enable_interintra_compound: number;
|
|
37
|
-
enable_masked_compound: number;
|
|
38
|
-
enable_warped_motion: number;
|
|
39
|
-
enable_order_hint: number;
|
|
40
|
-
enable_dual_filter: number;
|
|
41
|
-
enable_jnt_comp: boolean;
|
|
42
|
-
enable_ref_frame_mvs: boolean;
|
|
43
|
-
seq_force_screen_content_tools: number;
|
|
44
|
-
seq_force_integer_mv: number;
|
|
45
|
-
enable_superres: boolean;
|
|
46
|
-
enable_cdef: boolean;
|
|
47
|
-
enable_restoration: boolean;
|
|
48
|
-
orderHintBits: number;
|
|
49
|
-
};
|
|
50
|
-
export declare const parseAv1BitstreamHeaderSegment: (stream: BufferIterator) => Av1BitstreamHeaderSegment;
|
|
51
|
-
export {};
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseAv1BitstreamHeaderSegment = void 0;
|
|
4
|
-
const color_config_1 = require("./color-config");
|
|
5
|
-
const decoder_model_info_1 = require("./decoder-model-info");
|
|
6
|
-
const operating_parameters_info_1 = require("./operating-parameters-info");
|
|
7
|
-
const timing_info_1 = require("./timing-info");
|
|
8
|
-
const makeSeqLevelIdx = () => {
|
|
9
|
-
return {
|
|
10
|
-
operating_point_idc: 0,
|
|
11
|
-
seq_level_idx: 0,
|
|
12
|
-
seq_tier: 0,
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
const SELECT_SCREEN_CONTENT_TOOLS = 2;
|
|
16
|
-
const SELECT_INTEGER_MV = 2;
|
|
17
|
-
const parseAv1BitstreamHeaderSegment = (stream) => {
|
|
18
|
-
// https://aomediacodec.github.io/av1-spec/av1-spec.pdf
|
|
19
|
-
// Page 41
|
|
20
|
-
const seq_profile = stream.getBits(3);
|
|
21
|
-
const still_picture = Boolean(stream.getBits(1));
|
|
22
|
-
const reduced_still_picture_header = Boolean(stream.getBits(1));
|
|
23
|
-
let timing_info_present_flag = false;
|
|
24
|
-
let decoder_model_info_present_flag = false;
|
|
25
|
-
let initial_display_delay_present_flag = false;
|
|
26
|
-
let operating_points_cnt_minus_1 = 1;
|
|
27
|
-
const seq_level = [];
|
|
28
|
-
let timing_info = null;
|
|
29
|
-
let decoder_model_info = null;
|
|
30
|
-
const operating_parameters_info = [];
|
|
31
|
-
const initial_display_delay_minus_1 = [];
|
|
32
|
-
if (reduced_still_picture_header) {
|
|
33
|
-
timing_info_present_flag = false;
|
|
34
|
-
decoder_model_info_present_flag = false;
|
|
35
|
-
initial_display_delay_present_flag = false;
|
|
36
|
-
operating_points_cnt_minus_1 = 0;
|
|
37
|
-
seq_level[0] = makeSeqLevelIdx();
|
|
38
|
-
seq_level[0].seq_level_idx = stream.getBits(5);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
timing_info_present_flag = Boolean(stream.getBits(1));
|
|
42
|
-
if (timing_info_present_flag) {
|
|
43
|
-
timing_info = (0, timing_info_1.getTimingInfo)(stream);
|
|
44
|
-
decoder_model_info_present_flag = Boolean(stream.getBits(1));
|
|
45
|
-
if (decoder_model_info_present_flag) {
|
|
46
|
-
decoder_model_info = (0, decoder_model_info_1.parseDecoderModelInfo)(stream);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
initial_display_delay_present_flag = Boolean(stream.getBits(1));
|
|
50
|
-
operating_points_cnt_minus_1 = stream.getBits(5);
|
|
51
|
-
for (let i = 0; i <= operating_points_cnt_minus_1; i++) {
|
|
52
|
-
seq_level[i] = makeSeqLevelIdx();
|
|
53
|
-
seq_level[i].operating_point_idc = stream.getBits(12);
|
|
54
|
-
seq_level[i].seq_level_idx = stream.getBits(5);
|
|
55
|
-
if (seq_level[i].seq_level_idx > 7) {
|
|
56
|
-
seq_level[i].seq_tier = stream.getBits(1);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
seq_level[i].seq_tier = 0;
|
|
60
|
-
}
|
|
61
|
-
if (decoder_model_info) {
|
|
62
|
-
const decoder_model_present_for_this_op = Boolean(stream.getBits(1));
|
|
63
|
-
if (decoder_model_present_for_this_op) {
|
|
64
|
-
operating_parameters_info.push((0, operating_parameters_info_1.parseOperatingParametersInfo)({
|
|
65
|
-
stream,
|
|
66
|
-
buffer_delay_length_minus_1: decoder_model_info.buffer_delay_length_minus_1,
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (initial_display_delay_present_flag) {
|
|
71
|
-
const initial_display_delay_present_for_this_op = Boolean(stream.getBits(1));
|
|
72
|
-
if (initial_display_delay_present_for_this_op) {
|
|
73
|
-
initial_display_delay_minus_1.push(stream.getBits(4));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
const frame_width_bits_minus_1 = stream.getBits(4);
|
|
79
|
-
const frame_height_bits_minus_1 = stream.getBits(4);
|
|
80
|
-
const n = frame_width_bits_minus_1 + 1;
|
|
81
|
-
const max_frame_width_minus_1 = stream.getBits(n);
|
|
82
|
-
const m = frame_height_bits_minus_1 + 1;
|
|
83
|
-
const max_frame_height_minus_1 = stream.getBits(m);
|
|
84
|
-
let frame_id_numbers_present_flag = false;
|
|
85
|
-
if (!reduced_still_picture_header) {
|
|
86
|
-
frame_id_numbers_present_flag = Boolean(stream.getBits(1));
|
|
87
|
-
}
|
|
88
|
-
let delta_frame_id_length_minus_2 = null;
|
|
89
|
-
let additional_frame_id_length_minus_1 = null;
|
|
90
|
-
if (frame_id_numbers_present_flag) {
|
|
91
|
-
delta_frame_id_length_minus_2 = stream.getBits(4);
|
|
92
|
-
additional_frame_id_length_minus_1 = stream.getBits(3);
|
|
93
|
-
}
|
|
94
|
-
const use_128x128_superblock = Boolean(stream.getBits(1));
|
|
95
|
-
const enable_filter_intra = Boolean(stream.getBits(1));
|
|
96
|
-
const enable_intra_edge_filter = Boolean(stream.getBits(1));
|
|
97
|
-
let enable_interintra_compound = 0;
|
|
98
|
-
let enable_masked_compound = 0;
|
|
99
|
-
let enable_warped_motion = 0;
|
|
100
|
-
let enable_dual_filter = 0;
|
|
101
|
-
let enable_order_hint = 0;
|
|
102
|
-
let enable_jnt_comp = false;
|
|
103
|
-
let enable_ref_frame_mvs = false;
|
|
104
|
-
let seq_force_screen_content_tools = SELECT_SCREEN_CONTENT_TOOLS;
|
|
105
|
-
let seq_force_integer_mv = SELECT_INTEGER_MV;
|
|
106
|
-
let orderHintBits = 0;
|
|
107
|
-
if (!reduced_still_picture_header) {
|
|
108
|
-
enable_interintra_compound = stream.getBits(1);
|
|
109
|
-
enable_masked_compound = stream.getBits(1);
|
|
110
|
-
enable_warped_motion = stream.getBits(1);
|
|
111
|
-
enable_dual_filter = stream.getBits(1);
|
|
112
|
-
enable_order_hint = stream.getBits(1);
|
|
113
|
-
enable_jnt_comp = enable_order_hint ? Boolean(stream.getBits(1)) : false;
|
|
114
|
-
enable_ref_frame_mvs = enable_order_hint
|
|
115
|
-
? Boolean(stream.getBits(1))
|
|
116
|
-
: false;
|
|
117
|
-
const seq_choose_screen_content_tools = stream.getBits(1);
|
|
118
|
-
seq_force_screen_content_tools = seq_choose_screen_content_tools
|
|
119
|
-
? SELECT_SCREEN_CONTENT_TOOLS
|
|
120
|
-
: stream.getBits(1);
|
|
121
|
-
if (seq_choose_screen_content_tools > 0) {
|
|
122
|
-
const seq_choose_integer_mv = stream.getBits(1);
|
|
123
|
-
seq_force_integer_mv = seq_choose_integer_mv
|
|
124
|
-
? SELECT_INTEGER_MV
|
|
125
|
-
: stream.getBits(1);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
seq_force_integer_mv = SELECT_INTEGER_MV;
|
|
129
|
-
}
|
|
130
|
-
if (enable_order_hint) {
|
|
131
|
-
const order_hint_bits_minus_1 = stream.getBits(3);
|
|
132
|
-
orderHintBits = order_hint_bits_minus_1 + 1;
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
orderHintBits = 0;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
const enable_superres = Boolean(stream.getBits(1));
|
|
139
|
-
const enable_cdef = Boolean(stream.getBits(1));
|
|
140
|
-
const enable_restoration = Boolean(stream.getBits(1));
|
|
141
|
-
const color_config = (0, color_config_1.getColorConfig)(stream, seq_profile);
|
|
142
|
-
const film_grain_params_present = Boolean(stream.getBits(1));
|
|
143
|
-
return {
|
|
144
|
-
type: 'av1-bitstream-header',
|
|
145
|
-
seq_profile,
|
|
146
|
-
still_picture,
|
|
147
|
-
reduced_still_picture_header,
|
|
148
|
-
timing_info_present_flag,
|
|
149
|
-
decoder_model_info_present_flag,
|
|
150
|
-
initial_display_delay_present_flag,
|
|
151
|
-
operating_points_cnt_minus_1,
|
|
152
|
-
seq_level,
|
|
153
|
-
timing_info,
|
|
154
|
-
decoder_model_info,
|
|
155
|
-
operating_parameters_info,
|
|
156
|
-
initial_display_delay_minus_1,
|
|
157
|
-
frame_width_bits_minus_1,
|
|
158
|
-
frame_height_bits_minus_1,
|
|
159
|
-
max_frame_width_minus_1,
|
|
160
|
-
max_frame_height_minus_1,
|
|
161
|
-
delta_frame_id_length_minus_2,
|
|
162
|
-
additional_frame_id_length_minus_1,
|
|
163
|
-
use_128x128_superblock,
|
|
164
|
-
enable_filter_intra,
|
|
165
|
-
enable_intra_edge_filter,
|
|
166
|
-
color_config,
|
|
167
|
-
film_grain_params_present,
|
|
168
|
-
enable_interintra_compound,
|
|
169
|
-
enable_masked_compound,
|
|
170
|
-
enable_warped_motion,
|
|
171
|
-
enable_order_hint,
|
|
172
|
-
enable_dual_filter,
|
|
173
|
-
enable_jnt_comp,
|
|
174
|
-
enable_ref_frame_mvs,
|
|
175
|
-
seq_force_screen_content_tools,
|
|
176
|
-
seq_force_integer_mv,
|
|
177
|
-
enable_superres,
|
|
178
|
-
enable_cdef,
|
|
179
|
-
enable_restoration,
|
|
180
|
-
orderHintBits,
|
|
181
|
-
};
|
|
182
|
-
};
|
|
183
|
-
exports.parseAv1BitstreamHeaderSegment = parseAv1BitstreamHeaderSegment;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare const matrixCoefficients: {
|
|
2
|
-
MC_IDENTITY: number;
|
|
3
|
-
MC_BT_709: number;
|
|
4
|
-
MC_UNSPECIFIED: number;
|
|
5
|
-
MC_RESERVED_3: number;
|
|
6
|
-
MC_FCC: number;
|
|
7
|
-
MC_BT_470_B_G: number;
|
|
8
|
-
MC_BT_601: number;
|
|
9
|
-
MC_SMPTE_240: number;
|
|
10
|
-
MC_SMPTE_YCGCO: number;
|
|
11
|
-
MC_BT_2020_NCL: number;
|
|
12
|
-
MC_BT_2020_CL: number;
|
|
13
|
-
MC_SMPTE_2085: number;
|
|
14
|
-
MC_CHROMAT_NCL: number;
|
|
15
|
-
MC_CHROMAT_CL: number;
|
|
16
|
-
MC_ICTCP: number;
|
|
17
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.matrixCoefficients = void 0;
|
|
4
|
-
exports.matrixCoefficients = {
|
|
5
|
-
MC_IDENTITY: 0,
|
|
6
|
-
MC_BT_709: 1,
|
|
7
|
-
MC_UNSPECIFIED: 2,
|
|
8
|
-
MC_RESERVED_3: 3,
|
|
9
|
-
MC_FCC: 4,
|
|
10
|
-
MC_BT_470_B_G: 5,
|
|
11
|
-
MC_BT_601: 6,
|
|
12
|
-
MC_SMPTE_240: 7,
|
|
13
|
-
MC_SMPTE_YCGCO: 8,
|
|
14
|
-
MC_BT_2020_NCL: 9,
|
|
15
|
-
MC_BT_2020_CL: 10,
|
|
16
|
-
MC_SMPTE_2085: 11,
|
|
17
|
-
MC_CHROMAT_NCL: 12,
|
|
18
|
-
MC_CHROMAT_CL: 13,
|
|
19
|
-
MC_ICTCP: 14,
|
|
20
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
export type OperatingParametersInfo = {
|
|
3
|
-
decoder_buffer_delay: number;
|
|
4
|
-
encoder_buffer_delay: number;
|
|
5
|
-
low_delay_mode_flag: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const parseOperatingParametersInfo: ({ stream, buffer_delay_length_minus_1, }: {
|
|
8
|
-
stream: BufferIterator;
|
|
9
|
-
buffer_delay_length_minus_1: number;
|
|
10
|
-
}) => OperatingParametersInfo;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseOperatingParametersInfo = void 0;
|
|
4
|
-
const parseOperatingParametersInfo = ({ stream, buffer_delay_length_minus_1, }) => {
|
|
5
|
-
const n = buffer_delay_length_minus_1 + 1;
|
|
6
|
-
const decoder_buffer_delay = stream.getBits(n);
|
|
7
|
-
const encoder_buffer_delay = stream.getBits(n);
|
|
8
|
-
const low_delay_mode_flag = Boolean(stream.getBits(1));
|
|
9
|
-
return {
|
|
10
|
-
decoder_buffer_delay,
|
|
11
|
-
encoder_buffer_delay,
|
|
12
|
-
low_delay_mode_flag,
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
exports.parseOperatingParametersInfo = parseOperatingParametersInfo;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTemporalPointInfo = void 0;
|
|
4
|
-
const getTemporalPointInfo = ({ stream, frame_presentation_time_length_minus_1, }) => {
|
|
5
|
-
const n = frame_presentation_time_length_minus_1 + 1;
|
|
6
|
-
return stream.getBits(n);
|
|
7
|
-
};
|
|
8
|
-
exports.getTemporalPointInfo = getTemporalPointInfo;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { BufferIterator } from '../../../../buffer-iterator';
|
|
2
|
-
export type TimingInfo = {
|
|
3
|
-
num_units_in_display_tick: number;
|
|
4
|
-
time_scale: number;
|
|
5
|
-
equal_picture_interval: boolean;
|
|
6
|
-
num_ticks_per_picture_minus_1: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const getTimingInfo: (stream: BufferIterator) => TimingInfo;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTimingInfo = void 0;
|
|
4
|
-
const uvlc_1 = require("./uvlc");
|
|
5
|
-
const getTimingInfo = (stream) => {
|
|
6
|
-
const num_units_in_display_tick = stream.getBits(32);
|
|
7
|
-
const time_scale = stream.getBits(32);
|
|
8
|
-
const equal_picture_interval = Boolean(stream.getBits(1));
|
|
9
|
-
let num_ticks_per_picture_minus_1 = 0;
|
|
10
|
-
if (equal_picture_interval) {
|
|
11
|
-
num_ticks_per_picture_minus_1 = (0, uvlc_1.uvlc)(stream);
|
|
12
|
-
}
|
|
13
|
-
return {
|
|
14
|
-
num_units_in_display_tick,
|
|
15
|
-
time_scale,
|
|
16
|
-
equal_picture_interval,
|
|
17
|
-
num_ticks_per_picture_minus_1,
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
exports.getTimingInfo = getTimingInfo;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export declare const transferCharacteristics: {
|
|
2
|
-
TC_RESERVED_0: number;
|
|
3
|
-
TC_BT_709: number;
|
|
4
|
-
TC_UNSPECIFIED: number;
|
|
5
|
-
TC_RESERVED_3: number;
|
|
6
|
-
TC_BT_470_M: number;
|
|
7
|
-
TC_BT_470_B_G: number;
|
|
8
|
-
TC_BT_601: number;
|
|
9
|
-
TC_SMPTE_240: number;
|
|
10
|
-
TC_LINEAR: number;
|
|
11
|
-
TC_LOG_100: number;
|
|
12
|
-
TC_LOG_100_SQRT10: number;
|
|
13
|
-
TC_IEC_61966: number;
|
|
14
|
-
TC_BT_1361: number;
|
|
15
|
-
TC_SRGB: number;
|
|
16
|
-
TC_BT_2020_10_BIT: number;
|
|
17
|
-
TC_BT_2020_12_BIT: number;
|
|
18
|
-
TC_SMPTE_2084: number;
|
|
19
|
-
TC_SMPTE_428: number;
|
|
20
|
-
TC_HLG: number;
|
|
21
|
-
};
|