@libmedia/avutil 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/cjs/AVStream.d.ts +8 -1
  2. package/dist/cjs/AVStream.js +1 -0
  3. package/dist/cjs/AVStream.js.map +1 -1
  4. package/dist/cjs/codecs/aac.d.ts +1 -1
  5. package/dist/cjs/codecs/aac.js +2 -1
  6. package/dist/cjs/codecs/aac.js.map +1 -1
  7. package/dist/cjs/codecs/av1.d.ts +1 -1
  8. package/dist/cjs/codecs/av1.js +10 -4
  9. package/dist/cjs/codecs/av1.js.map +1 -1
  10. package/dist/cjs/codecs/flac.d.ts +26 -0
  11. package/dist/cjs/codecs/flac.js +31 -1
  12. package/dist/cjs/codecs/flac.js.map +1 -1
  13. package/dist/cjs/codecs/h264.d.ts +59 -10
  14. package/dist/cjs/codecs/h264.js +118 -101
  15. package/dist/cjs/codecs/h264.js.map +1 -1
  16. package/dist/cjs/codecs/hevc.d.ts +61 -10
  17. package/dist/cjs/codecs/hevc.js +89 -98
  18. package/dist/cjs/codecs/hevc.js.map +1 -1
  19. package/dist/cjs/codecs/opus.d.ts +1 -1
  20. package/dist/cjs/codecs/vp9.d.ts +1 -1
  21. package/dist/cjs/codecs/vvc.d.ts +61 -11
  22. package/dist/cjs/codecs/vvc.js +82 -95
  23. package/dist/cjs/codecs/vvc.js.map +1 -1
  24. package/dist/cjs/function/analyzeUrlIOLoader.js +51 -39
  25. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
  26. package/dist/cjs/function/audioData2AVFrame.js +4 -2
  27. package/dist/cjs/function/audioData2AVFrame.js.map +1 -1
  28. package/dist/cjs/function/avPCMBuffer2AVFrame.d.ts +3 -0
  29. package/dist/cjs/function/avPCMBuffer2AVFrame.js +73 -0
  30. package/dist/cjs/function/avPCMBuffer2AVFrame.js.map +1 -0
  31. package/dist/cjs/function/avframe2AudioData.d.ts +1 -2
  32. package/dist/cjs/function/avframe2AudioData.js +4 -3
  33. package/dist/cjs/function/avframe2AudioData.js.map +1 -1
  34. package/dist/cjs/function/avframe2VideoFrame.d.ts +1 -2
  35. package/dist/cjs/function/avframe2VideoFrame.js +10 -9
  36. package/dist/cjs/function/avframe2VideoFrame.js.map +1 -1
  37. package/dist/cjs/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  38. package/dist/cjs/function/avpacket2EncodedAudioChunk.js +5 -4
  39. package/dist/cjs/function/avpacket2EncodedAudioChunk.js.map +1 -1
  40. package/dist/cjs/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  41. package/dist/cjs/function/avpacket2EncodedVideoChunk.js +5 -4
  42. package/dist/cjs/function/avpacket2EncodedVideoChunk.js.map +1 -1
  43. package/dist/cjs/function/compileResource.js +10 -4
  44. package/dist/cjs/function/compileResource.js.map +1 -1
  45. package/dist/cjs/function/encodedAudioChunk2AVPacket.js.map +1 -1
  46. package/dist/cjs/function/encodedVideoChunk2AVPacket.js.map +1 -1
  47. package/dist/cjs/function/getVideoCodec.js +15 -7
  48. package/dist/cjs/function/getVideoCodec.js.map +1 -1
  49. package/dist/cjs/function/getWasmUrl.d.ts +2 -0
  50. package/dist/cjs/function/getWasmUrl.js +138 -0
  51. package/dist/cjs/function/getWasmUrl.js.map +1 -0
  52. package/dist/cjs/function/videoFrame2AVFrame.js +10 -8
  53. package/dist/cjs/function/videoFrame2AVFrame.js.map +1 -1
  54. package/dist/cjs/implement/AVFramePoolImpl.js +10 -4
  55. package/dist/cjs/implement/AVFramePoolImpl.js.map +1 -1
  56. package/dist/cjs/implement/AVPCMBufferPoolImpl.js +13 -7
  57. package/dist/cjs/implement/AVPCMBufferPoolImpl.js.map +1 -1
  58. package/dist/cjs/implement/AVPacketPoolImpl.js +10 -4
  59. package/dist/cjs/implement/AVPacketPoolImpl.js.map +1 -1
  60. package/dist/cjs/stringEnum.js +2 -0
  61. package/dist/cjs/stringEnum.js.map +1 -1
  62. package/dist/cjs/struct/avbuffer.js +3 -3
  63. package/dist/cjs/struct/avframe.js +5 -5
  64. package/dist/cjs/struct/avpacket.js +2 -2
  65. package/dist/cjs/struct/avpacket.js.map +1 -1
  66. package/dist/cjs/struct/avpcmbuffer.d.ts +5 -0
  67. package/dist/cjs/struct/avpcmbuffer.js +16 -5
  68. package/dist/cjs/struct/avpcmbuffer.js.map +1 -1
  69. package/dist/cjs/util/amf.js +10 -4
  70. package/dist/cjs/util/amf.js.map +1 -1
  71. package/dist/cjs/util/avbuffer.js +18 -12
  72. package/dist/cjs/util/avbuffer.js.map +1 -1
  73. package/dist/cjs/util/avdict.js +38 -2
  74. package/dist/cjs/util/avdict.js.map +1 -1
  75. package/dist/cjs/util/avframe.js +21 -13
  76. package/dist/cjs/util/avframe.js.map +1 -1
  77. package/dist/cjs/util/avpacket.d.ts +2 -2
  78. package/dist/cjs/util/avpacket.js +16 -10
  79. package/dist/cjs/util/avpacket.js.map +1 -1
  80. package/dist/cjs/util/channel.js +10 -4
  81. package/dist/cjs/util/channel.js.map +1 -1
  82. package/dist/cjs/util/codecparameters.js +3 -3
  83. package/dist/cjs/util/codecparameters.js.map +1 -1
  84. package/dist/cjs/util/mem.js +10 -4
  85. package/dist/cjs/util/mem.js.map +1 -1
  86. package/dist/cjs/util/nalu.d.ts +24 -4
  87. package/dist/cjs/util/nalu.js +15 -7
  88. package/dist/cjs/util/nalu.js.map +1 -1
  89. package/dist/cjs/util/pixel.d.ts +1 -1
  90. package/dist/cjs/util/pixel.js +21 -15
  91. package/dist/cjs/util/pixel.js.map +1 -1
  92. package/dist/cjs/util/rational.d.ts +1 -1
  93. package/dist/cjs/util/rational.js +5 -5
  94. package/dist/cjs/util/rational.js.map +1 -1
  95. package/dist/cjs/util/sample.js +1 -1
  96. package/dist/cjs/util/sample.js.map +1 -1
  97. package/dist/cjs/util/serialize.js +2 -2
  98. package/dist/cjs/util/serialize.js.map +1 -1
  99. package/dist/esm/AVStream.d.ts +8 -1
  100. package/dist/esm/AVStream.js +1 -0
  101. package/dist/esm/AVStream.js.map +1 -1
  102. package/dist/esm/codecs/aac.d.ts +1 -1
  103. package/dist/esm/codecs/aac.js +2 -1
  104. package/dist/esm/codecs/aac.js.map +1 -1
  105. package/dist/esm/codecs/av1.d.ts +1 -1
  106. package/dist/esm/codecs/flac.d.ts +26 -0
  107. package/dist/esm/codecs/flac.js +34 -1
  108. package/dist/esm/codecs/flac.js.map +1 -1
  109. package/dist/esm/codecs/h264.d.ts +59 -10
  110. package/dist/esm/codecs/h264.js +114 -98
  111. package/dist/esm/codecs/h264.js.map +1 -1
  112. package/dist/esm/codecs/hevc.d.ts +61 -10
  113. package/dist/esm/codecs/hevc.js +84 -96
  114. package/dist/esm/codecs/hevc.js.map +1 -1
  115. package/dist/esm/codecs/opus.d.ts +1 -1
  116. package/dist/esm/codecs/vp9.d.ts +1 -1
  117. package/dist/esm/codecs/vvc.d.ts +61 -11
  118. package/dist/esm/codecs/vvc.js +77 -93
  119. package/dist/esm/codecs/vvc.js.map +1 -1
  120. package/dist/esm/function/analyzeUrlIOLoader.js +40 -34
  121. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
  122. package/dist/esm/function/audioData2AVFrame.js +4 -0
  123. package/dist/esm/function/audioData2AVFrame.js.map +1 -1
  124. package/dist/esm/function/avPCMBuffer2AVFrame.d.ts +3 -0
  125. package/dist/esm/function/avPCMBuffer2AVFrame.js +48 -0
  126. package/dist/esm/function/avPCMBuffer2AVFrame.js.map +1 -0
  127. package/dist/esm/function/avframe2AudioData.d.ts +1 -2
  128. package/dist/esm/function/avframe2AudioData.js +7 -3
  129. package/dist/esm/function/avframe2AudioData.js.map +1 -1
  130. package/dist/esm/function/avframe2VideoFrame.d.ts +1 -2
  131. package/dist/esm/function/avframe2VideoFrame.js +14 -10
  132. package/dist/esm/function/avframe2VideoFrame.js.map +1 -1
  133. package/dist/esm/function/avpacket2EncodedAudioChunk.d.ts +1 -1
  134. package/dist/esm/function/avpacket2EncodedAudioChunk.js +11 -3
  135. package/dist/esm/function/avpacket2EncodedAudioChunk.js.map +1 -1
  136. package/dist/esm/function/avpacket2EncodedVideoChunk.d.ts +1 -1
  137. package/dist/esm/function/avpacket2EncodedVideoChunk.js +11 -3
  138. package/dist/esm/function/avpacket2EncodedVideoChunk.js.map +1 -1
  139. package/dist/esm/function/getVideoCodec.js +8 -2
  140. package/dist/esm/function/getVideoCodec.js.map +1 -1
  141. package/dist/esm/function/getWasmUrl.d.ts +2 -0
  142. package/dist/esm/function/getWasmUrl.js +133 -0
  143. package/dist/esm/function/getWasmUrl.js.map +1 -0
  144. package/dist/esm/function/videoFrame2AVFrame.js +12 -7
  145. package/dist/esm/function/videoFrame2AVFrame.js.map +1 -1
  146. package/dist/esm/implement/AVPCMBufferPoolImpl.js +3 -3
  147. package/dist/esm/stringEnum.js +2 -0
  148. package/dist/esm/stringEnum.js.map +1 -1
  149. package/dist/esm/struct/avbuffer.js +3 -3
  150. package/dist/esm/struct/avframe.js +5 -5
  151. package/dist/esm/struct/avpacket.js +2 -2
  152. package/dist/esm/struct/avpacket.js.map +1 -1
  153. package/dist/esm/struct/avpcmbuffer.d.ts +5 -0
  154. package/dist/esm/struct/avpcmbuffer.js +16 -5
  155. package/dist/esm/struct/avpcmbuffer.js.map +1 -1
  156. package/dist/esm/util/amf.js.map +1 -1
  157. package/dist/esm/util/avbuffer.js +8 -8
  158. package/dist/esm/util/avdict.js +6 -1
  159. package/dist/esm/util/avdict.js.map +1 -1
  160. package/dist/esm/util/avframe.js +12 -10
  161. package/dist/esm/util/avframe.js.map +1 -1
  162. package/dist/esm/util/avpacket.d.ts +2 -2
  163. package/dist/esm/util/avpacket.js +6 -6
  164. package/dist/esm/util/avpacket.js.map +1 -1
  165. package/dist/esm/util/codecparameters.js +3 -3
  166. package/dist/esm/util/codecparameters.js.map +1 -1
  167. package/dist/esm/util/nalu.d.ts +24 -4
  168. package/dist/esm/util/nalu.js +7 -3
  169. package/dist/esm/util/nalu.js.map +1 -1
  170. package/dist/esm/util/pixel.d.ts +1 -1
  171. package/dist/esm/util/pixel.js +11 -11
  172. package/dist/esm/util/pixel.js.map +1 -1
  173. package/dist/esm/util/rational.d.ts +1 -1
  174. package/dist/esm/util/rational.js +5 -5
  175. package/dist/esm/util/rational.js.map +1 -1
  176. package/dist/esm/util/sample.js +1 -1
  177. package/dist/esm/util/sample.js.map +1 -1
  178. package/dist/esm/util/serialize.js +2 -2
  179. package/dist/esm/util/serialize.js.map +1 -1
  180. package/include/rational.h +1 -1
  181. package/package.json +7 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
3
+ var ownKeys, __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
4
4
  void 0 === k2 && (k2 = k);
5
5
  var desc = Object.getOwnPropertyDescriptor(m, k);
6
6
  desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
@@ -18,12 +18,18 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
18
18
  });
19
19
  } : function(o, v) {
20
20
  o.default = v;
21
- }), __importStar = this && this.__importStar || function(mod) {
21
+ }), __importStar = this && this.__importStar || (ownKeys = function(o) {
22
+ return ownKeys = Object.getOwnPropertyNames || function(o) {
23
+ var ar = [];
24
+ for (var k in o) Object.prototype.hasOwnProperty.call(o, k) && (ar[ar.length] = k);
25
+ return ar;
26
+ }, ownKeys(o);
27
+ }, function(mod) {
22
28
  if (mod && mod.__esModule) return mod;
23
29
  var result = {};
24
- if (null != mod) for (var k in mod) "default" !== k && Object.prototype.hasOwnProperty.call(mod, k) && __createBinding(result, mod, k);
30
+ if (null != mod) for (var k = ownKeys(mod), i = 0; i < k.length; i++) "default" !== k[i] && __createBinding(result, mod, k[i]);
25
31
  return __setModuleDefault(result, mod), result;
26
- }, __importDefault = this && this.__importDefault || function(mod) {
32
+ }), __importDefault = this && this.__importDefault || function(mod) {
27
33
  return mod && mod.__esModule ? mod : {
28
34
  default: mod
29
35
  };
@@ -31,13 +37,14 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
31
37
 
32
38
  Object.defineProperty(exports, "__esModule", {
33
39
  value: !0
34
- }), exports.LevelCapabilities = exports.HEVCProfile2Name = void 0, exports.getLevelByResolution = function(profile, width, height, fps, bitrate) {
40
+ }), exports.LevelCapabilities = exports.HEVCProfile2Name = exports.HEVC_MAX_DPB_FRAMES = void 0,
41
+ exports.getLevelByResolution = function(profile, width, height, fps, bitrate) {
35
42
  bitrate /= 1e3;
36
43
  const selectedProfile = 1 === profile ? "main" : "main10", lumaSamplesPerSecond = width * height * fps;
37
44
  for (const level of exports.LevelCapabilities) if (lumaSamplesPerSecond <= level.maxLumaSamplesPerSecond && width * height <= level.maxLumaPictureSize && bitrate <= level.maxBitRate[selectedProfile]) return level.level;
38
45
  }, exports.extradata2VpsSpsPps = extradata2VpsSpsPps, exports.vpsSpsPps2Extradata = vpsSpsPps2Extradata,
39
46
  exports.annexbExtradata2AvccExtradata = function(data) {
40
- let nalus = (0, nalu_1.splitNaluByStartCode)(data);
47
+ let nalus = naluUtil.splitNaluByStartCode(data);
41
48
  if (nalus.length >= 2) {
42
49
  const vpss = [], spss = [], ppss = [];
43
50
  if (nalus.forEach((nalu => {
@@ -45,32 +52,49 @@ exports.annexbExtradata2AvccExtradata = function(data) {
45
52
  32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
46
53
  })), spss.length && ppss.length) return vpsSpsPps2Extradata(vpss, spss, ppss);
47
54
  }
48
- }, exports.annexb2Avcc = function(data) {
49
- let extradata, key = !1, nalus = (0, nalu_1.splitNaluByStartCode)(data);
55
+ }, exports.generateAnnexbExtradata = function(data) {
56
+ let nalus = naluUtil.splitNaluByStartCode(data);
50
57
  if (nalus.length >= 2) {
51
58
  const vpss = [], spss = [], ppss = [];
52
- nalus.forEach((nalu => {
59
+ if (nalus.forEach((nalu => {
53
60
  const type = nalu[0] >>> 1 & 63;
54
61
  32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
55
- })), spss.length && ppss.length && (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
62
+ })), spss.length && ppss.length) {
63
+ const nalus = [ spss[0], ppss[0] ];
64
+ return vpss.length && nalus.unshift(vpss[0]), naluUtil.joinNaluByStartCode(nalus, 0);
65
+ }
66
+ }
67
+ }, exports.annexb2Avcc = function(data) {
68
+ let extradata, key = !1, nalus = naluUtil.splitNaluByStartCode(data);
69
+ if (nalus.length) {
70
+ const vpss = [], spss = [], ppss = [];
71
+ nalus.forEach((nalu => {
72
+ const type = nalu[0] >>> 1 & 63;
73
+ 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu),
74
+ 19 !== type && 20 !== type && 21 !== type || (key = !0);
75
+ })), spss.length && ppss.length ? (extradata = vpsSpsPps2Extradata(vpss, spss, ppss),
56
76
  nalus = nalus.filter((nalu => {
57
77
  const type = nalu[0] >>> 1 & 63;
58
78
  return 32 !== type && 33 !== type && 34 !== type && 35 !== type;
59
- })));
79
+ }))) : nalus = nalus.filter((nalu => 35 !== (nalu[0] >>> 1 & 63)));
60
80
  }
61
81
  const length = nalus.reduce(((prev, nalu) => prev + NALULengthSizeMinusOne + 1 + nalu.length), 0), bufferPointer = (0,
62
- mem_1.avMalloc)(length), buffer = (0, memory_1.mapUint8Array)(bufferPointer, length), bufferWriter = new BufferWriter_1.default(buffer);
63
- return array.each(nalus, (nalu => {
64
- 3 === NALULengthSizeMinusOne ? bufferWriter.writeUint32(nalu.length) : 2 === NALULengthSizeMinusOne ? bufferWriter.writeUint24(nalu.length) : 1 === NALULengthSizeMinusOne ? bufferWriter.writeUint16(nalu.length) : bufferWriter.writeUint8(nalu.length),
65
- bufferWriter.writeBuffer(nalu.subarray(0));
66
- const type = nalu[0] >>> 1 & 63;
67
- 19 !== type && 20 !== type && 21 !== type || (key = !0);
68
- })), {
82
+ mem_1.avMalloc)(length), buffer = (0, memory_1.mapUint8Array)(bufferPointer, length);
83
+ return naluUtil.joinNaluByLength(nalus, NALULengthSizeMinusOne, buffer), {
69
84
  bufferPointer: bufferPointer,
70
85
  length: length,
71
86
  extradata: extradata,
72
87
  key: key
73
88
  };
89
+ }, exports.nalus2Annexb = nalus2Annexb, exports.annexbAddExtradata = function(data, extradata) {
90
+ let nalus = naluUtil.splitNaluByStartCode(data).concat(naluUtil.splitNaluByStartCode(extradata));
91
+ if (nalus.length) {
92
+ let vpss = [], spss = [], ppss = [], others = [];
93
+ return nalus.forEach((nalu => {
94
+ const type = nalu[0] >>> 1 & 63;
95
+ 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type ? ppss.push(nalu) : 35 !== type && others.push(nalu);
96
+ })), nalus2Annexb(vpss, spss, ppss, others);
97
+ }
74
98
  }, exports.avcc2Annexb = function(data, extradata) {
75
99
  const naluLengthSizeMinusOne = extradata ? 3 & extradata[21] : NALULengthSizeMinusOne;
76
100
  let vpss = [], spss = [], ppss = [], key = !1;
@@ -78,90 +102,36 @@ exports.annexbExtradata2AvccExtradata = function(data) {
78
102
  const result = extradata2VpsSpsPps(extradata);
79
103
  vpss = result.vpss, spss = result.spss, ppss = result.ppss, key = !0;
80
104
  }
81
- const nalus = [], bufferReader = new BufferReader_1.default(data);
82
- for (;bufferReader.remainingSize() > 0; ) {
83
- let length = 0;
84
- length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8(),
85
- nalus.push(bufferReader.readBuffer(length));
86
- }
87
- let length = vpss.reduce(((prev, vps) => prev + 4 + vps.length), 0);
88
- length = spss.reduce(((prev, sps) => prev + 4 + sps.length), length), length = ppss.reduce(((prev, pps) => prev + 4 + pps.length), length),
89
- length = nalus.reduce(((prev, nalu, index) => prev + (index ? 3 : 4) + nalu.length), length);
90
- const bufferPointer = (0, mem_1.avMalloc)(length + 7), buffer = (0, memory_1.mapUint8Array)(bufferPointer, length + 7), bufferWriter = new BufferWriter_1.default(buffer);
91
- return bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
92
- bufferWriter.writeUint8(1), bufferWriter.writeUint8(70), bufferWriter.writeUint8(0),
93
- bufferWriter.writeUint8(240), array.each(vpss, (vps => {
94
- bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
95
- bufferWriter.writeUint8(1), bufferWriter.writeBuffer(vps);
96
- })), array.each(spss, (sps => {
97
- bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
98
- bufferWriter.writeUint8(1), bufferWriter.writeBuffer(sps);
99
- })), array.each(ppss, (pps => {
100
- bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), bufferWriter.writeUint8(0),
101
- bufferWriter.writeUint8(1), bufferWriter.writeBuffer(pps);
102
- })), array.each(nalus, ((nalu, index) => {
103
- bufferWriter.writeUint8(0), bufferWriter.writeUint8(0), index || bufferWriter.writeUint8(0),
104
- bufferWriter.writeUint8(1), bufferWriter.writeBuffer(nalu);
105
- const type = nalu[0] >>> 1 & 63;
106
- 19 !== type && 20 !== type && 21 !== type || (key = !0);
107
- })), {
108
- bufferPointer: bufferPointer,
109
- length: length + 7,
105
+ const nalus = naluUtil.splitNaluByLength(data, naluLengthSizeMinusOne).filter((nalu => 35 !== (nalu[0] >>> 1 & 63)));
106
+ return {
107
+ ...nalus2Annexb(vpss, spss, ppss, nalus),
110
108
  key: key
111
109
  };
112
- }, exports.parseAvccExtraData = function(avpacket, stream) {
113
- if (!(1 & cheap__identifier__0.CTypeEnumRead[15](avpacket + 36))) return;
114
- const data = (0, avpacket_1.getAVPacketData)(avpacket);
115
- if ((0, nalu_1.isAnnexb)(data)) return;
116
- const naluLengthSizeMinusOne = stream.metadata.naluLengthSizeMinusOne ?? NALULengthSizeMinusOne;
117
- let vpss = [], spss = [], ppss = [];
118
- const bufferReader = new BufferReader_1.default(data);
119
- for (;bufferReader.remainingSize() > 0; ) {
120
- let length = 0;
121
- length = 3 === naluLengthSizeMinusOne ? bufferReader.readUint32() : 2 === naluLengthSizeMinusOne ? bufferReader.readUint24() : 1 === naluLengthSizeMinusOne ? bufferReader.readUint16() : bufferReader.readUint8();
122
- const nalu = data.subarray(Number(BigInt.asIntN(32, bufferReader.getPos())), Number(BigInt.asIntN(32, bufferReader.getPos())) + length);
123
- bufferReader.skip(length);
124
- const naluType = nalu[0] >>> 1 & 63;
125
- 33 === naluType ? spss.push(nalu) : 34 === naluType ? ppss.push(nalu) : 32 === naluType && vpss.push(nalu);
126
- }
127
- if (spss.length || ppss.length || vpss.length) {
128
- const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = (0,
129
- mem_1.avMalloc)(extradata.length);
130
- (0, memory_1.memcpyFromUint8Array)(extradataPointer, extradata.length, extradata),
131
- (0, avpacket_1.addAVPacketSideData)(avpacket, 1, extradataPointer, extradata.length);
132
- }
133
- }, exports.parseAnnexbExtraData = function(avpacket, force = !1) {
134
- if (!(1 & cheap__identifier__0.CTypeEnumRead[15](avpacket + 36) || force)) return;
135
- const data = (0, avpacket_1.getAVPacketData)(avpacket);
136
- if (!(0, nalu_1.isAnnexb)(data)) return;
137
- let nalus = (0, nalu_1.splitNaluByStartCode)(data);
138
- if (nalus.length > 2) {
139
- const vpss = [], spss = [], ppss = [];
140
- if (nalus.forEach((nalu => {
141
- const type = nalu[0] >>> 1 & 63;
142
- 32 === type ? vpss.push(nalu) : 33 === type ? spss.push(nalu) : 34 === type && ppss.push(nalu);
143
- })), vpss.length && spss.length && ppss.length) {
144
- const extradata = vpsSpsPps2Extradata(vpss, spss, ppss), extradataPointer = (0,
145
- mem_1.avMalloc)(extradata.length);
146
- (0, memory_1.memcpyFromUint8Array)(extradataPointer, extradata.length, extradata),
147
- (0, avpacket_1.addAVPacketSideData)(avpacket, 1, extradataPointer, extradata.length),
148
- cheap__identifier__4.CTypeEnumWrite[15](avpacket + 36, 1 | cheap__identifier__0.CTypeEnumRead[15](avpacket + 36));
149
- }
150
- }
151
110
  }, exports.parseAVCodecParameters = function(stream, extradata) {
152
111
  !extradata && stream.sideData[1] && (extradata = stream.sideData[1]);
153
- if (extradata && extradata.length >= 6) {
112
+ let sps;
113
+ if (extradata && naluUtil.isAnnexb(extradata)) array.each(naluUtil.splitNaluByStartCode(extradata), (nalu => {
114
+ if (33 === (nalu[0] >>> 1 & 63)) return sps = nalu, !1;
115
+ })); else if (extradata && extradata.length >= 6) {
154
116
  stream.metadata.naluLengthSizeMinusOne = 3 & extradata[21];
155
117
  const {spss: spss} = extradata2VpsSpsPps(extradata);
156
- if (spss.length) {
157
- const {profile: profile, level: level, width: width, height: height} = parseSPS(spss[0]);
158
- stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
159
- stream.codecpar.height = height;
118
+ spss.length && (sps = spss[0]);
119
+ }
120
+ if (sps) {
121
+ const {profile: profile, level: level, width: width, height: height, video_delay: video_delay, chroma_format_idc: chroma_format_idc, bit_depth_luma_minus8: bit_depth_luma_minus8} = parseSPS(sps);
122
+ switch (stream.codecpar.profile = profile, stream.codecpar.level = level, stream.codecpar.width = width,
123
+ stream.codecpar.height = height, stream.codecpar.videoDelay = video_delay, bit_depth_luma_minus8) {
124
+ case 0:
125
+ stream.codecpar.format = 3 === chroma_format_idc ? 5 : 2 === chroma_format_idc ? 4 : 0;
126
+ break;
127
+
128
+ case 2:
129
+ stream.codecpar.format = 3 === chroma_format_idc ? 68 : 2 === chroma_format_idc ? 64 : 62;
160
130
  }
161
131
  }
162
132
  }, exports.isIDR = function(avpacket, naluLengthSize = 4) {
163
133
  if (2 === cheap__identifier__0.CTypeEnumRead[15](avpacket + 80)) {
164
- return (0, nalu_1.splitNaluByStartCode)((0, memory_1.mapUint8Array)(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24), cheap__identifier__0.CTypeEnumRead[15](avpacket + 28))).some((nalu => {
134
+ return naluUtil.splitNaluByStartCode((0, memory_1.mapUint8Array)(cheap__identifier__0.CTypeEnumRead[20](avpacket + 24), cheap__identifier__0.CTypeEnumRead[15](avpacket + 28))).some((nalu => {
165
135
  const type = nalu[0] >>> 1 & 63;
166
136
  return 20 === type || 19 === type;
167
137
  }));
@@ -181,7 +151,7 @@ exports.annexbExtradata2AvccExtradata = function(data) {
181
151
  if (!pps || pps.length < 3) return;
182
152
  let offset = 0;
183
153
  0 === pps[0] && 0 === pps[1] && 0 === pps[2] && 1 === pps[3] && (offset = 4);
184
- const buffer = (0, nalu_1.naluUnescape)(pps.subarray(offset)), bitReader = new BitReader_1.default(buffer.length);
154
+ const buffer = naluUtil.naluUnescape(pps.subarray(offset)), bitReader = new BitReader_1.default(buffer.length);
185
155
  bitReader.appendBuffer(buffer);
186
156
  const pps_pic_parameter_set_id = expgolomb.readUE(bitReader), pps_seq_parameter_set_id = expgolomb.readUE(bitReader), dependent_slice_segment_flag = bitReader.readU1(), output_flag_present_flag = bitReader.readU1(), num_extra_slice_header_bits = bitReader.readU(3);
187
157
  return {
@@ -193,9 +163,9 @@ exports.annexbExtradata2AvccExtradata = function(data) {
193
163
  };
194
164
  };
195
165
 
196
- const cheap__identifier__0 = require("@libmedia/cheap/ctypeEnumRead"), cheap__identifier__4 = require("@libmedia/cheap/ctypeEnumWrite"), array = __importStar(require("@libmedia/common/util/array")), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter")), BufferReader_1 = __importDefault(require("@libmedia/common/io/BufferReader")), BitReader_1 = __importDefault(require("@libmedia/common/io/BitReader")), memory_1 = require("@libmedia/cheap/std/memory"), nalu_1 = require("../util/nalu"), avpacket_1 = require("../util/avpacket"), mem_1 = require("../util/mem"), expgolomb = __importStar(require("../util/expgolomb")), intread = __importStar(require("../util/intread"));
166
+ const cheap__identifier__0 = require("@libmedia/cheap/ctypeEnumRead"), array = __importStar(require("@libmedia/common/util/array")), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter")), BufferReader_1 = __importDefault(require("@libmedia/common/io/BufferReader")), BitReader_1 = __importDefault(require("@libmedia/common/io/BitReader")), memory_1 = require("@libmedia/cheap/std/memory"), naluUtil = __importStar(require("../util/nalu")), mem_1 = require("../util/mem"), expgolomb = __importStar(require("../util/expgolomb")), intread = __importStar(require("../util/intread")), intwrite = __importStar(require("../util/intwrite"));
197
167
 
198
- exports.HEVCProfile2Name = {
168
+ exports.HEVC_MAX_DPB_FRAMES = 16, exports.HEVCProfile2Name = {
199
169
  1: "Main",
200
170
  2: "Main10",
201
171
  3: "MainStillPicture",
@@ -357,12 +327,30 @@ function vpsSpsPps2Extradata(vpss, spss, ppss) {
357
327
  }))), buffer;
358
328
  }
359
329
 
330
+ function nalus2Annexb(vpss, spss, ppss, nalus) {
331
+ const lengths = [ naluUtil.joinNaluByStartCodeLength(vpss, 0), naluUtil.joinNaluByStartCodeLength(spss, 0), naluUtil.joinNaluByStartCodeLength(ppss, 0), naluUtil.joinNaluByStartCodeLength(nalus, 2) ];
332
+ let length = lengths.reduce(((prev, length) => prev + length), 0);
333
+ const bufferPointer = (0, mem_1.avMalloc)(length + 7);
334
+ let offset = bufferPointer;
335
+ return intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 0),
336
+ intwrite.w8((offset += 1, offset - 1), 0), intwrite.w8((offset += 1, offset - 1), 1),
337
+ intwrite.w8((offset += 1, offset - 1), 70), intwrite.w8((offset += 1, offset - 1), 1),
338
+ intwrite.w8((offset += 1, offset - 1), 80), vpss.length && (naluUtil.joinNaluByStartCode(vpss, 0, (0,
339
+ memory_1.mapUint8Array)(offset, lengths[0])), offset += lengths[0]), spss.length && (naluUtil.joinNaluByStartCode(spss, 0, (0,
340
+ memory_1.mapUint8Array)(offset, lengths[1])), offset += lengths[1]), ppss.length && (naluUtil.joinNaluByStartCode(ppss, 0, (0,
341
+ memory_1.mapUint8Array)(offset, lengths[2])), offset += lengths[2]), nalus.length && naluUtil.joinNaluByStartCode(nalus, 2, (0,
342
+ memory_1.mapUint8Array)(offset, lengths[3])), {
343
+ bufferPointer: bufferPointer,
344
+ length: length + 7
345
+ };
346
+ }
347
+
360
348
  function parseSPS(sps) {
361
349
  if (!sps || sps.length < 3) return;
362
350
  let offset = 0;
363
351
  0 === sps[0] && 0 === sps[1] && 0 === sps[2] && 1 === sps[3] && (offset = 4);
364
352
  let profile = 0, level = 0, width = 0, height = 0, bit_depth_luma_minus8 = 0, bit_depth_chroma_minus8 = 0, chroma_format_idc = 1, general_profile_space = 0, general_tier_flag = 0, general_profile_compatibility_flags = 0, constraint_flags = 0;
365
- const buffer = (0, nalu_1.naluUnescape)(sps.subarray(offset)), bitReader = new BitReader_1.default(buffer.length);
353
+ const buffer = naluUtil.naluUnescape(sps.subarray(offset)), bitReader = new BitReader_1.default(buffer.length);
366
354
  bitReader.appendBuffer(buffer), bitReader.readU1(), bitReader.readU(6), bitReader.readU(6),
367
355
  bitReader.readU(3), bitReader.readU(4);
368
356
  const spsMaxSubLayersMinus1 = bitReader.readU(3);
@@ -393,8 +381,10 @@ function parseSPS(sps) {
393
381
  height -= SubHeightC * (1 << bit_depth_luma_minus8 + 1) * (confWinTopOffset + confWinBottomOffset);
394
382
  }
395
383
  const log2_max_poc_lsb = expgolomb.readUE(bitReader) + 4;
384
+ let video_delay = 0;
396
385
  for (let i = bitReader.readU1() ? 0 : spsMaxSubLayersMinus1; i < spsMaxSubLayersMinus1 + 1; i++) expgolomb.readUE(bitReader),
397
- expgolomb.readUE(bitReader), expgolomb.readUE(bitReader);
386
+ video_delay = Math.max(video_delay, Math.min(expgolomb.readUE(bitReader), exports.HEVC_MAX_DPB_FRAMES)),
387
+ expgolomb.readUE(bitReader);
398
388
  const log2_min_cb_size = expgolomb.readUE(bitReader) + 3, log2_diff_max_min_coding_block_size = expgolomb.readUE(bitReader), log2_min_tb_size = expgolomb.readUE(bitReader) + 2, log2_diff_max_min_transform_block_size = expgolomb.readUE(bitReader), log2_ctb_size = log2_min_cb_size + log2_diff_max_min_coding_block_size, log2_min_pu_size = log2_min_cb_size - 1, ctb_width = width + (1 << log2_ctb_size) - 1 >> log2_ctb_size, ctb_height = height + (1 << log2_ctb_size) - 1 >> log2_ctb_size;
399
389
  return {
400
390
  profile: profile,
@@ -425,7 +415,8 @@ function parseSPS(sps) {
425
415
  min_tb_height: height >> log2_min_tb_size,
426
416
  min_pu_width: width >> log2_min_pu_size,
427
417
  min_pu_height: height >> log2_min_pu_size,
428
- log2_max_poc_lsb: log2_max_poc_lsb
418
+ log2_max_poc_lsb: log2_max_poc_lsb,
419
+ video_delay: video_delay
429
420
  };
430
421
  }
431
422
  //# sourceMappingURL=hevc.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["exports","getLevelByResolution","profile","width","height","fps","bitrate","selectedProfile","lumaSamplesPerSecond","level","LevelCapabilities","maxLumaSamplesPerSecond","maxLumaPictureSize","maxBitRate","extradata2VpsSpsPps","vpsSpsPps2Extradata","annexbExtradata2AvccExtradata","data","nalus","nalu_1","splitNaluByStartCode","length","vpss","spss","ppss","forEach","nalu","type","push","annexb2Avcc","extradata","key","filter","reduce","prev","NALULengthSizeMinusOne","bufferPointer","mem_1","avMalloc","buffer","memory_1","mapUint8Array","bufferWriter","BufferWriter_1","default","array","each","writeUint32","writeUint24","writeUint16","writeUint8","writeBuffer","subarray","avcc2Annexb","naluLengthSizeMinusOne","result","bufferReader","BufferReader_1","remainingSize","readUint32","readUint24","readUint16","readUint8","readBuffer","vps","sps","pps","index","parseAvccExtraData","avpacket","stream","cheap__identifier__0","CTypeEnumRead","avpacket_1","getAVPacketData","isAnnexb","metadata","Number","BigInt","asIntN","getPos","skip","naluType","extradataPointer","memcpyFromUint8Array","addAVPacketSideData","parseAnnexbExtraData","force","cheap__identifier__4","CTypeEnumWrite","parseAVCodecParameters","sideData","parseSPS","codecpar","isIDR","naluLengthSize","some","size","i","intread","r8","rb32","rb24","rb16","parsePPS","offset","naluUnescape","bitReader","BitReader_1","appendBuffer","pps_pic_parameter_set_id","expgolomb","readUE","pps_seq_parameter_set_id","dependent_slice_segment_flag","readU1","output_flag_present_flag","num_extra_slice_header_bits","readU","__importStar","require","__importDefault","HEVCProfile2Name","main","main10","arrayLen","count","list","j","len","value","Uint8Array","spsData","chroma_format_idc","bit_depth_luma_minus8","bit_depth_chroma_minus8","numOfArrays","general_profile_space","general_tier_flag","general_profile_compatibility_flags","constraint_flags","spsMaxSubLayersMinus1","separate_colour_plane_flag","subLayerProfilePresentFlag","Array","subLayerLevelPresentFlag","confWinLeftOffset","confWinRightOffset","confWinTopOffset","confWinBottomOffset","SubWidthC","SubHeightC","log2_max_poc_lsb","log2_min_cb_size","log2_diff_max_min_coding_block_size","log2_min_tb_size","log2_diff_max_min_transform_block_size","log2_ctb_size","log2_min_pu_size","ctb_width","ctb_height","log2_max_trafo_size","ctb_size","min_cb_width","min_cb_height","min_tb_width","min_tb_height","min_pu_width","min_pu_height"],"sources":["../../../codecs/hevc.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["exports","getLevelByResolution","profile","width","height","fps","bitrate","selectedProfile","lumaSamplesPerSecond","level","LevelCapabilities","maxLumaSamplesPerSecond","maxLumaPictureSize","maxBitRate","extradata2VpsSpsPps","vpsSpsPps2Extradata","annexbExtradata2AvccExtradata","data","nalus","naluUtil","splitNaluByStartCode","length","vpss","spss","ppss","forEach","nalu","type","push","generateAnnexbExtradata","unshift","joinNaluByStartCode","annexb2Avcc","extradata","key","filter","reduce","prev","NALULengthSizeMinusOne","bufferPointer","mem_1","avMalloc","buffer","memory_1","mapUint8Array","joinNaluByLength","nalus2Annexb","annexbAddExtradata","concat","others","avcc2Annexb","naluLengthSizeMinusOne","result","splitNaluByLength","parseAVCodecParameters","stream","sideData","sps","isAnnexb","array","each","metadata","video_delay","chroma_format_idc","bit_depth_luma_minus8","parseSPS","codecpar","videoDelay","format","isIDR","avpacket","naluLengthSize","cheap__identifier__0","CTypeEnumRead","some","size","i","intread","r8","rb32","rb24","rb16","parsePPS","pps","offset","naluUnescape","subarray","bitReader","BitReader_1","default","appendBuffer","pps_pic_parameter_set_id","expgolomb","readUE","pps_seq_parameter_set_id","dependent_slice_segment_flag","readU1","output_flag_present_flag","num_extra_slice_header_bits","readU","__importStar","require","BufferWriter_1","__importDefault","BufferReader_1","intwrite","HEVC_MAX_DPB_FRAMES","HEVCProfile2Name","main","main10","bufferReader","skip","arrayLen","readUint8","naluType","count","readUint16","list","j","len","readBuffer","value","Uint8Array","bufferWriter","spsData","writeUint8","bit_depth_chroma_minus8","writeUint16","numOfArrays","vps","writeBuffer","lengths","joinNaluByStartCodeLength","w8","general_profile_space","general_tier_flag","general_profile_compatibility_flags","constraint_flags","spsMaxSubLayersMinus1","separate_colour_plane_flag","subLayerProfilePresentFlag","Array","subLayerLevelPresentFlag","confWinLeftOffset","confWinRightOffset","confWinTopOffset","confWinBottomOffset","SubWidthC","SubHeightC","log2_max_poc_lsb","Math","max","min","log2_min_cb_size","log2_diff_max_min_coding_block_size","log2_min_tb_size","log2_diff_max_min_transform_block_size","log2_ctb_size","log2_min_pu_size","ctb_width","ctb_height","log2_max_trafo_size","ctb_size","min_cb_width","min_cb_height","min_tb_width","min_tb_height","min_pu_width","min_pu_height"],"sources":["../../../codecs/hevc.ts"],"mappings":"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","ignoreList":[]}
@@ -20,4 +20,4 @@ export declare function getBufferSamples(buffer: Uint8Array): number;
20
20
  *
21
21
  */
22
22
  export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
23
- export declare function avCodecParameters2Extradata(codecpar: AVCodecParameters): Uint8Array;
23
+ export declare function avCodecParameters2Extradata(codecpar: AVCodecParameters): Uint8Array<ArrayBuffer>;
@@ -38,5 +38,5 @@ export declare function parseExtraData(extradata: Uint8ArrayInterface): {
38
38
  colorTrc: number;
39
39
  colorSpace: number;
40
40
  };
41
- export declare function generateExtradata(codecpar: pointer<AVCodecParameters>): Uint8Array;
41
+ export declare function generateExtradata(codecpar: pointer<AVCodecParameters>): Uint8Array<ArrayBufferLike>;
42
42
  export declare function isIDR(avpacket: pointer<AVPacket>): boolean;
@@ -104,35 +104,84 @@ export declare const enum VVCAPSType {
104
104
  *
105
105
  */
106
106
  export declare function extradata2VpsSpsPps(extradata: Uint8ArrayInterface): {
107
- vpss: any[];
108
- spss: any[];
109
- ppss: any[];
107
+ vpss: Uint8ArrayInterface[];
108
+ spss: Uint8ArrayInterface[];
109
+ ppss: Uint8ArrayInterface[];
110
110
  };
111
- export declare function vpsSpsPps2Extradata(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[]): Uint8Array;
112
- export declare function annexbExtradata2AvccExtradata(data: Uint8ArrayInterface): Uint8Array;
111
+ /**
112
+ * annexb vps sps pps 转 avcc 格式的 extradata
113
+ *
114
+ * @param vpss
115
+ * @param spss
116
+ * @param ppss
117
+ * @returns
118
+ */
119
+ export declare function vpsSpsPps2Extradata(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[]): Uint8Array<ArrayBuffer>;
120
+ /**
121
+ * annexb extradata 转 avcc extradata
122
+ *
123
+ * @param data
124
+ * @returns
125
+ */
126
+ export declare function annexbExtradata2AvccExtradata(data: Uint8ArrayInterface): Uint8Array<ArrayBuffer>;
127
+ /**
128
+ * 从 annexb 码流里面生成 annexb extradata
129
+ *
130
+ * 提取出 vps、 sps 和 pps
131
+ *
132
+ * @param data
133
+ * @returns
134
+ */
135
+ export declare function generateAnnexbExtradata(data: Uint8ArrayInterface): Uint8Array<ArrayBufferLike>;
113
136
  /**
114
137
  *
115
138
  * annexb 格式的 NALU 转 avcc NALU
116
139
  *
140
+ * 需要保证 data 是 safe 的
141
+ *
117
142
  */
118
143
  export declare function annexb2Avcc(data: Uint8ArrayInterface): {
119
144
  bufferPointer: pointer<void>;
120
145
  length: number;
121
- extradata: Uint8Array;
146
+ extradata: Uint8Array<ArrayBufferLike>;
122
147
  key: boolean;
123
148
  };
149
+ /**
150
+ *
151
+ * 需要保证 data 是 safe 的
152
+ *
153
+ * @param vpss
154
+ * @param spss
155
+ * @param ppss
156
+ * @param nalus
157
+ * @returns
158
+ */
159
+ export declare function nalus2Annexb(vpss: Uint8ArrayInterface[], spss: Uint8ArrayInterface[], ppss: Uint8ArrayInterface[], nalus: Uint8ArrayInterface[], key: boolean): {
160
+ bufferPointer: pointer<void>;
161
+ length: number;
162
+ };
163
+ /**
164
+ * annexb 添加 sps pps
165
+ *
166
+ * @param data
167
+ * @param extradata
168
+ */
169
+ export declare function annexbAddExtradata(data: Uint8ArrayInterface, extradata: Uint8ArrayInterface): {
170
+ bufferPointer: pointer<void>;
171
+ length: number;
172
+ };
124
173
  /**
125
174
  * avcc 格式的 NALU 转 annexb NALU
126
175
  *
176
+ * 需要保证 data 是 safe 的
177
+ *
127
178
  */
128
179
  export declare function avcc2Annexb(data: Uint8ArrayInterface, extradata?: Uint8ArrayInterface): {
129
- bufferPointer: pointer<void>;
130
- length: any;
131
180
  key: boolean;
181
+ bufferPointer: pointer<void>;
182
+ length: number;
132
183
  };
133
- export declare function parseAvccExtraData(avpacket: pointer<AVPacket>, stream: AVStream): void;
134
- export declare function parseAnnexbExtraData(avpacket: pointer<AVPacket>, force?: boolean): void;
135
- export declare function parseAVCodecParametersBySps(stream: AVStream, sps: Uint8Array): void;
184
+ export declare function parseAVCodecParametersBySps(stream: AVStream, sps: Uint8ArrayInterface): void;
136
185
  export declare function parseAVCodecParameters(stream: AVStream, extradata?: Uint8ArrayInterface): void;
137
186
  export declare function isIDR(avpacket: pointer<AVPacket>, naluLengthSize?: int32): boolean;
138
187
  export interface VvcSPS {
@@ -140,6 +189,7 @@ export interface VvcSPS {
140
189
  level: number;
141
190
  width: number;
142
191
  height: number;
192
+ videoDelay: number;
143
193
  chromaFormatIdc: number;
144
194
  bitDepthMinus8: number;
145
195
  generalProfileSpace: number;