webcodecs-node 0.5.0 → 0.5.2

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 (188) hide show
  1. package/README.md +64 -184
  2. package/docs/api.md +1 -1
  3. package/docs/configuration.md +6 -17
  4. package/package.json +2 -2
  5. package/dist/AudioData.d.ts +0 -6
  6. package/dist/AudioData.d.ts.map +0 -1
  7. package/dist/AudioData.js +0 -6
  8. package/dist/AudioData.js.map +0 -1
  9. package/dist/AudioDecoder.d.ts +0 -6
  10. package/dist/AudioDecoder.d.ts.map +0 -1
  11. package/dist/AudioDecoder.js +0 -6
  12. package/dist/AudioDecoder.js.map +0 -1
  13. package/dist/AudioEncoder.d.ts +0 -6
  14. package/dist/AudioEncoder.d.ts.map +0 -1
  15. package/dist/AudioEncoder.js +0 -6
  16. package/dist/AudioEncoder.js.map +0 -1
  17. package/dist/EncodedAudioChunk.d.ts +0 -6
  18. package/dist/EncodedAudioChunk.d.ts.map +0 -1
  19. package/dist/EncodedAudioChunk.js +0 -6
  20. package/dist/EncodedAudioChunk.js.map +0 -1
  21. package/dist/EncodedVideoChunk.d.ts +0 -6
  22. package/dist/EncodedVideoChunk.d.ts.map +0 -1
  23. package/dist/EncodedVideoChunk.js +0 -6
  24. package/dist/EncodedVideoChunk.js.map +0 -1
  25. package/dist/FFmpegProcess.d.ts +0 -6
  26. package/dist/FFmpegProcess.d.ts.map +0 -1
  27. package/dist/FFmpegProcess.js +0 -6
  28. package/dist/FFmpegProcess.js.map +0 -1
  29. package/dist/HardwareAcceleration.d.ts +0 -6
  30. package/dist/HardwareAcceleration.d.ts.map +0 -1
  31. package/dist/HardwareAcceleration.js +0 -6
  32. package/dist/HardwareAcceleration.js.map +0 -1
  33. package/dist/ImageDecoder.d.ts +0 -6
  34. package/dist/ImageDecoder.d.ts.map +0 -1
  35. package/dist/ImageDecoder.js +0 -6
  36. package/dist/ImageDecoder.js.map +0 -1
  37. package/dist/Logger.d.ts +0 -6
  38. package/dist/Logger.d.ts.map +0 -1
  39. package/dist/Logger.js +0 -6
  40. package/dist/Logger.js.map +0 -1
  41. package/dist/MediaCapabilities.d.ts +0 -9
  42. package/dist/MediaCapabilities.d.ts.map +0 -1
  43. package/dist/MediaCapabilities.js +0 -8
  44. package/dist/MediaCapabilities.js.map +0 -1
  45. package/dist/VideoDecoder.d.ts +0 -6
  46. package/dist/VideoDecoder.d.ts.map +0 -1
  47. package/dist/VideoDecoder.js +0 -6
  48. package/dist/VideoDecoder.js.map +0 -1
  49. package/dist/VideoEncoder.d.ts +0 -6
  50. package/dist/VideoEncoder.d.ts.map +0 -1
  51. package/dist/VideoEncoder.js +0 -6
  52. package/dist/VideoEncoder.js.map +0 -1
  53. package/dist/VideoFrame.d.ts +0 -10
  54. package/dist/VideoFrame.d.ts.map +0 -1
  55. package/dist/VideoFrame.js +0 -9
  56. package/dist/VideoFrame.js.map +0 -1
  57. package/dist/__tests__/AudioData.test.d.ts +0 -5
  58. package/dist/__tests__/AudioData.test.d.ts.map +0 -1
  59. package/dist/__tests__/AudioData.test.js +0 -180
  60. package/dist/__tests__/AudioData.test.js.map +0 -1
  61. package/dist/__tests__/AudioDecoder.test.d.ts +0 -5
  62. package/dist/__tests__/AudioDecoder.test.d.ts.map +0 -1
  63. package/dist/__tests__/AudioDecoder.test.js +0 -733
  64. package/dist/__tests__/AudioDecoder.test.js.map +0 -1
  65. package/dist/__tests__/AudioEncoder.test.d.ts +0 -5
  66. package/dist/__tests__/AudioEncoder.test.d.ts.map +0 -1
  67. package/dist/__tests__/AudioEncoder.test.js +0 -247
  68. package/dist/__tests__/AudioEncoder.test.js.map +0 -1
  69. package/dist/__tests__/EncodedChunks.test.d.ts +0 -5
  70. package/dist/__tests__/EncodedChunks.test.d.ts.map +0 -1
  71. package/dist/__tests__/EncodedChunks.test.js +0 -100
  72. package/dist/__tests__/EncodedChunks.test.js.map +0 -1
  73. package/dist/__tests__/HardwareAcceleration.test.d.ts +0 -5
  74. package/dist/__tests__/HardwareAcceleration.test.d.ts.map +0 -1
  75. package/dist/__tests__/HardwareAcceleration.test.js +0 -85
  76. package/dist/__tests__/HardwareAcceleration.test.js.map +0 -1
  77. package/dist/__tests__/ImageDecoder.test.d.ts +0 -5
  78. package/dist/__tests__/ImageDecoder.test.d.ts.map +0 -1
  79. package/dist/__tests__/ImageDecoder.test.js +0 -558
  80. package/dist/__tests__/ImageDecoder.test.js.map +0 -1
  81. package/dist/__tests__/ImageDecoder.wpt.test.d.ts +0 -8
  82. package/dist/__tests__/ImageDecoder.wpt.test.d.ts.map +0 -1
  83. package/dist/__tests__/ImageDecoder.wpt.test.js +0 -135
  84. package/dist/__tests__/ImageDecoder.wpt.test.js.map +0 -1
  85. package/dist/__tests__/MediaCapabilities.test.d.ts +0 -5
  86. package/dist/__tests__/MediaCapabilities.test.d.ts.map +0 -1
  87. package/dist/__tests__/MediaCapabilities.test.js +0 -346
  88. package/dist/__tests__/MediaCapabilities.test.js.map +0 -1
  89. package/dist/__tests__/NodeAvDecoder.test.d.ts +0 -2
  90. package/dist/__tests__/NodeAvDecoder.test.d.ts.map +0 -1
  91. package/dist/__tests__/NodeAvDecoder.test.js +0 -206
  92. package/dist/__tests__/NodeAvDecoder.test.js.map +0 -1
  93. package/dist/__tests__/NodeAvEncoder.test.d.ts +0 -2
  94. package/dist/__tests__/NodeAvEncoder.test.d.ts.map +0 -1
  95. package/dist/__tests__/NodeAvEncoder.test.js +0 -176
  96. package/dist/__tests__/NodeAvEncoder.test.js.map +0 -1
  97. package/dist/__tests__/VideoDecoder.test.d.ts +0 -5
  98. package/dist/__tests__/VideoDecoder.test.d.ts.map +0 -1
  99. package/dist/__tests__/VideoDecoder.test.js +0 -675
  100. package/dist/__tests__/VideoDecoder.test.js.map +0 -1
  101. package/dist/__tests__/VideoEncoder.test.d.ts +0 -5
  102. package/dist/__tests__/VideoEncoder.test.d.ts.map +0 -1
  103. package/dist/__tests__/VideoEncoder.test.js +0 -468
  104. package/dist/__tests__/VideoEncoder.test.js.map +0 -1
  105. package/dist/__tests__/VideoFrame.test.d.ts +0 -5
  106. package/dist/__tests__/VideoFrame.test.d.ts.map +0 -1
  107. package/dist/__tests__/VideoFrame.test.js +0 -246
  108. package/dist/__tests__/VideoFrame.test.js.map +0 -1
  109. package/dist/__tests__/aac-utils.test.d.ts +0 -2
  110. package/dist/__tests__/aac-utils.test.d.ts.map +0 -1
  111. package/dist/__tests__/aac-utils.test.js +0 -37
  112. package/dist/__tests__/aac-utils.test.js.map +0 -1
  113. package/dist/__tests__/avc-utils.test.d.ts +0 -2
  114. package/dist/__tests__/avc-utils.test.d.ts.map +0 -1
  115. package/dist/__tests__/avc-utils.test.js +0 -63
  116. package/dist/__tests__/avc-utils.test.js.map +0 -1
  117. package/dist/__tests__/hevc-utils.test.d.ts +0 -2
  118. package/dist/__tests__/hevc-utils.test.d.ts.map +0 -1
  119. package/dist/__tests__/hevc-utils.test.js +0 -78
  120. package/dist/__tests__/hevc-utils.test.js.map +0 -1
  121. package/dist/demos/demo-conversion.d.ts +0 -13
  122. package/dist/demos/demo-conversion.d.ts.map +0 -1
  123. package/dist/demos/demo-conversion.js +0 -301
  124. package/dist/demos/demo-conversion.js.map +0 -1
  125. package/dist/demos/demo-hwaccel-conversion.d.ts +0 -8
  126. package/dist/demos/demo-hwaccel-conversion.d.ts.map +0 -1
  127. package/dist/demos/demo-hwaccel-conversion.js +0 -161
  128. package/dist/demos/demo-hwaccel-conversion.js.map +0 -1
  129. package/dist/demos/demo-mediabunny.d.ts +0 -7
  130. package/dist/demos/demo-mediabunny.d.ts.map +0 -1
  131. package/dist/demos/demo-mediabunny.js +0 -78
  132. package/dist/demos/demo-mediabunny.js.map +0 -1
  133. package/dist/ffmpeg/FFmpegProcess.d.ts +0 -111
  134. package/dist/ffmpeg/FFmpegProcess.d.ts.map +0 -1
  135. package/dist/ffmpeg/FFmpegProcess.js +0 -543
  136. package/dist/ffmpeg/FFmpegProcess.js.map +0 -1
  137. package/dist/ffmpeg/audio-codecs.d.ts +0 -59
  138. package/dist/ffmpeg/audio-codecs.d.ts.map +0 -1
  139. package/dist/ffmpeg/audio-codecs.js +0 -99
  140. package/dist/ffmpeg/audio-codecs.js.map +0 -1
  141. package/dist/ffmpeg/formats.d.ts +0 -42
  142. package/dist/ffmpeg/formats.d.ts.map +0 -1
  143. package/dist/ffmpeg/formats.js +0 -147
  144. package/dist/ffmpeg/formats.js.map +0 -1
  145. package/dist/ffmpeg/index.d.ts +0 -10
  146. package/dist/ffmpeg/index.d.ts.map +0 -1
  147. package/dist/ffmpeg/index.js +0 -13
  148. package/dist/ffmpeg/index.js.map +0 -1
  149. package/dist/ffmpeg/parsers/annexb.d.ts +0 -88
  150. package/dist/ffmpeg/parsers/annexb.d.ts.map +0 -1
  151. package/dist/ffmpeg/parsers/annexb.js +0 -201
  152. package/dist/ffmpeg/parsers/annexb.js.map +0 -1
  153. package/dist/ffmpeg/parsers/index.d.ts +0 -6
  154. package/dist/ffmpeg/parsers/index.d.ts.map +0 -1
  155. package/dist/ffmpeg/parsers/index.js +0 -8
  156. package/dist/ffmpeg/parsers/index.js.map +0 -1
  157. package/dist/ffmpeg/parsers/ivf.d.ts +0 -54
  158. package/dist/ffmpeg/parsers/ivf.d.ts.map +0 -1
  159. package/dist/ffmpeg/parsers/ivf.js +0 -109
  160. package/dist/ffmpeg/parsers/ivf.js.map +0 -1
  161. package/dist/ffmpeg/types.d.ts +0 -85
  162. package/dist/ffmpeg/types.d.ts.map +0 -1
  163. package/dist/ffmpeg/types.js +0 -8
  164. package/dist/ffmpeg/types.js.map +0 -1
  165. package/dist/mediabunny/FFmpegAudioDecoder.d.ts +0 -24
  166. package/dist/mediabunny/FFmpegAudioDecoder.d.ts.map +0 -1
  167. package/dist/mediabunny/FFmpegAudioDecoder.js +0 -126
  168. package/dist/mediabunny/FFmpegAudioDecoder.js.map +0 -1
  169. package/dist/mediabunny/FFmpegAudioEncoder.d.ts +0 -44
  170. package/dist/mediabunny/FFmpegAudioEncoder.d.ts.map +0 -1
  171. package/dist/mediabunny/FFmpegAudioEncoder.js +0 -221
  172. package/dist/mediabunny/FFmpegAudioEncoder.js.map +0 -1
  173. package/dist/mediabunny/FFmpegVideoDecoder.d.ts +0 -25
  174. package/dist/mediabunny/FFmpegVideoDecoder.d.ts.map +0 -1
  175. package/dist/mediabunny/FFmpegVideoDecoder.js +0 -122
  176. package/dist/mediabunny/FFmpegVideoDecoder.js.map +0 -1
  177. package/dist/mediabunny/FFmpegVideoEncoder.d.ts +0 -49
  178. package/dist/mediabunny/FFmpegVideoEncoder.d.ts.map +0 -1
  179. package/dist/mediabunny/FFmpegVideoEncoder.js +0 -264
  180. package/dist/mediabunny/FFmpegVideoEncoder.js.map +0 -1
  181. package/dist/mediabunny/index.d.ts +0 -21
  182. package/dist/mediabunny/index.d.ts.map +0 -1
  183. package/dist/mediabunny/index.js +0 -33
  184. package/dist/mediabunny/index.js.map +0 -1
  185. package/dist/types.d.ts +0 -6
  186. package/dist/types.d.ts.map +0 -1
  187. package/dist/types.js +0 -6
  188. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"FFmpegProcess.js","sourceRoot":"","sources":["../../src/ffmpeg/FFmpegProcess.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * FFmpeg audio codec mappings
3
- *
4
- * Consolidates all audio codec mappings for encoders and decoders
5
- */
6
- import type { AudioSampleFormat } from '../types/audio.js';
7
- /**
8
- * WebCodecs audio codec to FFmpeg encoder mapping
9
- */
10
- export declare const AUDIO_ENCODER_CODEC_MAP: Record<string, string>;
11
- /**
12
- * WebCodecs audio codec to FFmpeg decoder mapping
13
- */
14
- export declare const AUDIO_DECODER_CODEC_MAP: Record<string, {
15
- decoder: string;
16
- format: string;
17
- }>;
18
- /**
19
- * FFmpeg encoder to output container format mapping
20
- */
21
- export declare const AUDIO_ENCODER_FORMAT_MAP: Record<string, string>;
22
- /**
23
- * Frame size per FFmpeg codec (samples per frame)
24
- */
25
- export declare const AUDIO_FRAME_SIZE_MAP: Record<string, number>;
26
- /**
27
- * Audio sample format to FFmpeg settings mapping
28
- */
29
- export interface AudioFormatSettings {
30
- ffmpegFormat: string;
31
- bytesPerSample: number;
32
- isPlanar: boolean;
33
- }
34
- export declare const AUDIO_OUTPUT_FORMAT_MAP: Record<AudioSampleFormat, AudioFormatSettings>;
35
- /**
36
- * Get FFmpeg encoder codec from WebCodecs codec string
37
- * Returns undefined if codec is not supported
38
- */
39
- export declare function getAudioEncoderCodec(codec: string): string | undefined;
40
- /**
41
- * Get FFmpeg decoder info from WebCodecs codec string
42
- */
43
- export declare function getAudioDecoderInfo(codec: string): {
44
- decoder: string;
45
- format: string;
46
- };
47
- /**
48
- * Get output format for an FFmpeg encoder codec
49
- */
50
- export declare function getAudioEncoderFormat(ffmpegCodec: string): string;
51
- /**
52
- * Get frame size for an FFmpeg encoder codec
53
- */
54
- export declare function getAudioFrameSize(ffmpegCodec: string): number | undefined;
55
- /**
56
- * Get FFmpeg output format settings for an AudioSampleFormat
57
- */
58
- export declare function getAudioOutputFormatSettings(format: AudioSampleFormat): AudioFormatSettings;
59
- //# sourceMappingURL=audio-codecs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio-codecs.d.ts","sourceRoot":"","sources":["../../src/ffmpeg/audio-codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWvF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQ3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIvD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CASlF,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAGtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAE3F"}
@@ -1,99 +0,0 @@
1
- /**
2
- * FFmpeg audio codec mappings
3
- *
4
- * Consolidates all audio codec mappings for encoders and decoders
5
- */
6
- /**
7
- * WebCodecs audio codec to FFmpeg encoder mapping
8
- */
9
- export const AUDIO_ENCODER_CODEC_MAP = {
10
- 'opus': 'libopus',
11
- 'mp3': 'libmp3lame',
12
- 'flac': 'flac',
13
- 'mp4a.40.2': 'aac',
14
- 'mp4a.40.5': 'aac',
15
- 'mp4a.40.29': 'aac',
16
- 'aac': 'aac',
17
- 'pcm-s16': 'pcm_s16le',
18
- 'pcm-f32': 'pcm_f32le',
19
- 'vorbis': 'libvorbis',
20
- };
21
- /**
22
- * WebCodecs audio codec to FFmpeg decoder mapping
23
- */
24
- export const AUDIO_DECODER_CODEC_MAP = {
25
- 'opus': { decoder: 'libopus', format: 'ogg' },
26
- 'mp3': { decoder: 'mp3', format: 'mp3' },
27
- 'flac': { decoder: 'flac', format: 'flac' },
28
- 'mp4a.40.2': { decoder: 'aac', format: 'aac' },
29
- 'mp4a.40.5': { decoder: 'aac', format: 'aac' },
30
- 'mp4a.40.29': { decoder: 'aac', format: 'aac' },
31
- 'aac': { decoder: 'aac', format: 'aac' },
32
- 'pcm-s16': { decoder: 'pcm_s16le', format: 's16le' },
33
- 'pcm-f32': { decoder: 'pcm_f32le', format: 'f32le' },
34
- 'vorbis': { decoder: 'libvorbis', format: 'ogg' },
35
- };
36
- /**
37
- * FFmpeg encoder to output container format mapping
38
- */
39
- export const AUDIO_ENCODER_FORMAT_MAP = {
40
- 'libopus': 'ogg',
41
- 'libmp3lame': 'mp3',
42
- 'flac': 'flac',
43
- 'aac': 'adts',
44
- 'pcm_s16le': 's16le',
45
- 'pcm_f32le': 'f32le',
46
- 'libvorbis': 'ogg',
47
- };
48
- /**
49
- * Frame size per FFmpeg codec (samples per frame)
50
- */
51
- export const AUDIO_FRAME_SIZE_MAP = {
52
- 'libopus': 960,
53
- 'aac': 1024,
54
- 'libmp3lame': 1152,
55
- };
56
- export const AUDIO_OUTPUT_FORMAT_MAP = {
57
- 'u8': { ffmpegFormat: 'u8', bytesPerSample: 1, isPlanar: false },
58
- 's16': { ffmpegFormat: 's16le', bytesPerSample: 2, isPlanar: false },
59
- 's32': { ffmpegFormat: 's32le', bytesPerSample: 4, isPlanar: false },
60
- 'f32': { ffmpegFormat: 'f32le', bytesPerSample: 4, isPlanar: false },
61
- 'u8-planar': { ffmpegFormat: 'u8', bytesPerSample: 1, isPlanar: true },
62
- 's16-planar': { ffmpegFormat: 's16le', bytesPerSample: 2, isPlanar: true },
63
- 's32-planar': { ffmpegFormat: 's32le', bytesPerSample: 4, isPlanar: true },
64
- 'f32-planar': { ffmpegFormat: 'f32le', bytesPerSample: 4, isPlanar: true },
65
- };
66
- /**
67
- * Get FFmpeg encoder codec from WebCodecs codec string
68
- * Returns undefined if codec is not supported
69
- */
70
- export function getAudioEncoderCodec(codec) {
71
- const codecBase = codec.split('.')[0].toLowerCase();
72
- return AUDIO_ENCODER_CODEC_MAP[codecBase] || AUDIO_ENCODER_CODEC_MAP[codec];
73
- }
74
- /**
75
- * Get FFmpeg decoder info from WebCodecs codec string
76
- */
77
- export function getAudioDecoderInfo(codec) {
78
- const codecBase = codec.split('.')[0].toLowerCase();
79
- return AUDIO_DECODER_CODEC_MAP[codecBase] || AUDIO_DECODER_CODEC_MAP[codec] || { decoder: 'aac', format: 'adts' };
80
- }
81
- /**
82
- * Get output format for an FFmpeg encoder codec
83
- */
84
- export function getAudioEncoderFormat(ffmpegCodec) {
85
- return AUDIO_ENCODER_FORMAT_MAP[ffmpegCodec] || 'wav';
86
- }
87
- /**
88
- * Get frame size for an FFmpeg encoder codec
89
- */
90
- export function getAudioFrameSize(ffmpegCodec) {
91
- return AUDIO_FRAME_SIZE_MAP[ffmpegCodec];
92
- }
93
- /**
94
- * Get FFmpeg output format settings for an AudioSampleFormat
95
- */
96
- export function getAudioOutputFormatSettings(format) {
97
- return AUDIO_OUTPUT_FORMAT_MAP[format] || AUDIO_OUTPUT_FORMAT_MAP['f32'];
98
- }
99
- //# sourceMappingURL=audio-codecs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio-codecs.js","sourceRoot":"","sources":["../../src/ffmpeg/audio-codecs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE,KAAK;IACZ,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAwD;IAC1F,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;IAC7C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACxC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3C,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC9C,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC9C,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC/C,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IACxC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;IACpD,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;IACpD,QAAQ,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,SAAS,EAAE,GAAG;IACd,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;CACnB,CAAC;AAWF,MAAM,CAAC,MAAM,uBAAuB,GAAmD;IACrF,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IAChE,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpE,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpE,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;IACpE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IACtE,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1E,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC1E,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;CAC3E,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,uBAAuB,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,wBAAwB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAyB;IACpE,OAAO,uBAAuB,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
@@ -1,42 +0,0 @@
1
- /**
2
- * FFmpeg format mappings
3
- *
4
- * Converts between WebCodecs formats and FFmpeg formats
5
- */
6
- /**
7
- * Map WebCodecs pixel format to FFmpeg pixel format
8
- */
9
- export declare function pixelFormatToFFmpeg(format: string): string;
10
- /**
11
- * Map FFmpeg pixel format to WebCodecs pixel format
12
- */
13
- export declare function ffmpegToPixelFormat(format: string): string;
14
- /**
15
- * Map WebCodecs codec string to FFmpeg codec
16
- */
17
- export declare function webCodecToFFmpegCodec(webCodec: string): string;
18
- /**
19
- * Map WebCodecs codec to container format
20
- */
21
- export declare function webCodecToContainerFormat(webCodec: string): string;
22
- /**
23
- * Calculate frame size in bytes for a given pixel format and dimensions
24
- */
25
- export declare function calculateFrameSize(format: string, width: number, height: number): number;
26
- /**
27
- * MIME type to FFmpeg format mapping for ImageDecoder
28
- */
29
- export declare const IMAGE_MIME_TO_FFMPEG: Record<string, {
30
- format: string;
31
- decoder?: string;
32
- autoDetect?: boolean;
33
- }>;
34
- /**
35
- * Audio codec mappings
36
- */
37
- export declare const AUDIO_CODEC_MAP: Record<string, string>;
38
- /**
39
- * Get FFmpeg audio codec from WebCodecs codec string
40
- */
41
- export declare function webCodecToFFmpegAudioCodec(codec: string): string;
42
- //# sourceMappingURL=formats.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/ffmpeg/formats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa1D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgB9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAkCxF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAU3G,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASlD,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhE"}
@@ -1,147 +0,0 @@
1
- /**
2
- * FFmpeg format mappings
3
- *
4
- * Converts between WebCodecs formats and FFmpeg formats
5
- */
6
- /**
7
- * Map WebCodecs pixel format to FFmpeg pixel format
8
- */
9
- export function pixelFormatToFFmpeg(format) {
10
- const formatMap = {
11
- 'I420': 'yuv420p',
12
- 'I420A': 'yuva420p',
13
- 'I422': 'yuv422p',
14
- 'I444': 'yuv444p',
15
- 'NV12': 'nv12',
16
- 'RGBA': 'rgba',
17
- 'RGBX': 'rgb0',
18
- 'BGRA': 'bgra',
19
- 'BGRX': 'bgr0',
20
- };
21
- return formatMap[format] || format.toLowerCase();
22
- }
23
- /**
24
- * Map FFmpeg pixel format to WebCodecs pixel format
25
- */
26
- export function ffmpegToPixelFormat(format) {
27
- const formatMap = {
28
- 'yuv420p': 'I420',
29
- 'yuva420p': 'I420A',
30
- 'yuv422p': 'I422',
31
- 'yuv444p': 'I444',
32
- 'nv12': 'NV12',
33
- 'rgba': 'RGBA',
34
- 'rgb0': 'RGBX',
35
- 'bgra': 'BGRA',
36
- 'bgr0': 'BGRX',
37
- };
38
- return formatMap[format] || format.toUpperCase();
39
- }
40
- /**
41
- * Map WebCodecs codec string to FFmpeg codec
42
- */
43
- export function webCodecToFFmpegCodec(webCodec) {
44
- const codecBase = webCodec.split('.')[0].toLowerCase();
45
- const codecMap = {
46
- 'avc1': 'libx264',
47
- 'avc3': 'libx264',
48
- 'hev1': 'libx265',
49
- 'hvc1': 'libx265',
50
- 'vp8': 'libvpx',
51
- 'vp09': 'libvpx-vp9',
52
- 'vp9': 'libvpx-vp9',
53
- 'av01': 'libaom-av1',
54
- 'av1': 'libaom-av1',
55
- };
56
- return codecMap[codecBase] || codecBase;
57
- }
58
- /**
59
- * Map WebCodecs codec to container format
60
- */
61
- export function webCodecToContainerFormat(webCodec) {
62
- const codecBase = webCodec.split('.')[0].toLowerCase();
63
- const formatMap = {
64
- 'avc1': 'h264',
65
- 'avc3': 'h264',
66
- 'hev1': 'hevc',
67
- 'hvc1': 'hevc',
68
- 'vp8': 'ivf',
69
- 'vp09': 'ivf',
70
- 'vp9': 'ivf',
71
- 'av01': 'ivf',
72
- 'av1': 'ivf',
73
- };
74
- return formatMap[codecBase] || 'rawvideo';
75
- }
76
- /**
77
- * Calculate frame size in bytes for a given pixel format and dimensions
78
- */
79
- export function calculateFrameSize(format, width, height) {
80
- const chromaW = Math.ceil(width / 2);
81
- const chromaH = Math.ceil(height / 2);
82
- switch (format.toUpperCase()) {
83
- case 'I420':
84
- case 'YUV420P':
85
- // Y: width * height, U: chromaW * chromaH, V: chromaW * chromaH
86
- return width * height + 2 * chromaW * chromaH;
87
- case 'I420A':
88
- case 'YUVA420P':
89
- // I420 + Alpha plane
90
- return width * height * 2 + 2 * chromaW * chromaH;
91
- case 'I422':
92
- case 'YUV422P':
93
- // Y: width * height, U: chromaW * height, V: chromaW * height
94
- return width * height + 2 * chromaW * height;
95
- case 'I444':
96
- case 'YUV444P':
97
- // Y, U, V all full size
98
- return width * height * 3;
99
- case 'NV12':
100
- // Y: width * height, UV interleaved: width * chromaH
101
- return width * height + width * chromaH;
102
- case 'RGBA':
103
- case 'RGBX':
104
- case 'BGRA':
105
- case 'BGRX':
106
- case 'RGB0':
107
- case 'BGR0':
108
- return width * height * 4;
109
- default:
110
- return width * height * 4; // Assume RGBA as fallback
111
- }
112
- }
113
- /**
114
- * MIME type to FFmpeg format mapping for ImageDecoder
115
- */
116
- export const IMAGE_MIME_TO_FFMPEG = {
117
- 'image/png': { format: 'png_pipe' },
118
- 'image/apng': { format: 'apng' },
119
- 'image/jpeg': { format: 'jpeg_pipe' },
120
- 'image/jpg': { format: 'jpeg_pipe' },
121
- 'image/webp': { format: 'webp_pipe', autoDetect: true },
122
- 'image/gif': { format: 'gif' },
123
- 'image/bmp': { format: 'bmp_pipe' },
124
- 'image/avif': { format: 'avif', autoDetect: true },
125
- 'image/tiff': { format: 'tiff_pipe' },
126
- };
127
- /**
128
- * Audio codec mappings
129
- */
130
- export const AUDIO_CODEC_MAP = {
131
- 'opus': 'libopus',
132
- 'aac': 'aac',
133
- 'mp3': 'libmp3lame',
134
- 'flac': 'flac',
135
- 'vorbis': 'libvorbis',
136
- 'pcm-s16': 'pcm_s16le',
137
- 'pcm-s32': 'pcm_s32le',
138
- 'pcm-f32': 'pcm_f32le',
139
- };
140
- /**
141
- * Get FFmpeg audio codec from WebCodecs codec string
142
- */
143
- export function webCodecToFFmpegAudioCodec(codec) {
144
- const codecLower = codec.toLowerCase();
145
- return AUDIO_CODEC_MAP[codecLower] || codecLower;
146
- }
147
- //# sourceMappingURL=formats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/ffmpeg/formats.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * FFmpeg utilities
3
- *
4
- * Note: FFmpegProcess has been removed in favor of node-av native bindings.
5
- * Use NodeAvVideoEncoder/NodeAvVideoDecoder for encoding/decoding.
6
- */
7
- export { type EncodedFrameData, type DecoderConfig, type EncoderConfig, type BitrateMode, type AlphaOption, DEFAULT_SHUTDOWN_TIMEOUT, DEFAULT_FLUSH_TIMEOUT, } from './types.js';
8
- export { pixelFormatToFFmpeg, ffmpegToPixelFormat, webCodecToFFmpegCodec, webCodecToContainerFormat, calculateFrameSize, webCodecToFFmpegAudioCodec, IMAGE_MIME_TO_FFMPEG, AUDIO_CODEC_MAP, } from './formats.js';
9
- export { AUDIO_ENCODER_CODEC_MAP, AUDIO_DECODER_CODEC_MAP, AUDIO_ENCODER_FORMAT_MAP, AUDIO_FRAME_SIZE_MAP, AUDIO_OUTPUT_FORMAT_MAP, getAudioEncoderCodec, getAudioDecoderInfo, getAudioEncoderFormat, getAudioFrameSize, getAudioOutputFormatSettings, type AudioFormatSettings, } from './audio-codecs.js';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ffmpeg/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC"}
@@ -1,13 +0,0 @@
1
- /**
2
- * FFmpeg utilities
3
- *
4
- * Note: FFmpegProcess has been removed in favor of node-av native bindings.
5
- * Use NodeAvVideoEncoder/NodeAvVideoDecoder for encoding/decoding.
6
- */
7
- // Types
8
- export { DEFAULT_SHUTDOWN_TIMEOUT, DEFAULT_FLUSH_TIMEOUT, } from './types.js';
9
- // Format mappings
10
- export { pixelFormatToFFmpeg, ffmpegToPixelFormat, webCodecToFFmpegCodec, webCodecToContainerFormat, calculateFrameSize, webCodecToFFmpegAudioCodec, IMAGE_MIME_TO_FFMPEG, AUDIO_CODEC_MAP, } from './formats.js';
11
- // Audio codec mappings
12
- export { AUDIO_ENCODER_CODEC_MAP, AUDIO_DECODER_CODEC_MAP, AUDIO_ENCODER_FORMAT_MAP, AUDIO_FRAME_SIZE_MAP, AUDIO_OUTPUT_FORMAT_MAP, getAudioEncoderCodec, getAudioDecoderInfo, getAudioEncoderFormat, getAudioFrameSize, getAudioOutputFormatSettings, } from './audio-codecs.js';
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffmpeg/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAQ;AACR,OAAO,EAML,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,kBAAkB;AAClB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,uBAAuB;AACvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,GAE7B,MAAM,mBAAmB,CAAC"}
@@ -1,88 +0,0 @@
1
- /**
2
- * H.264/HEVC Annex B bitstream parser
3
- *
4
- * Parses Annex B format using Access Unit Delimiter (AUD) as frame boundaries.
5
- */
6
- import type { EncodedFrameData } from '../types.js';
7
- /**
8
- * NAL unit types for H.264
9
- */
10
- export declare const H264_NAL_TYPES: {
11
- readonly SLICE: 1;
12
- readonly IDR: 5;
13
- readonly SEI: 6;
14
- readonly SPS: 7;
15
- readonly PPS: 8;
16
- readonly AUD: 9;
17
- };
18
- /**
19
- * NAL unit types for HEVC
20
- */
21
- export declare const HEVC_NAL_TYPES: {
22
- readonly TRAIL_N: 0;
23
- readonly TRAIL_R: 1;
24
- readonly IDR_W_RADL: 19;
25
- readonly IDR_N_LP: 20;
26
- readonly CRA: 21;
27
- readonly VPS: 32;
28
- readonly SPS: 33;
29
- readonly PPS: 34;
30
- readonly AUD: 35;
31
- };
32
- /**
33
- * Annex B parser state
34
- */
35
- export interface AnnexBParserState {
36
- buffer: Buffer;
37
- codec: 'h264' | 'hevc';
38
- frameIndex: number;
39
- }
40
- /**
41
- * Create initial Annex B parser state
42
- */
43
- export declare function createAnnexBParserState(codec: 'h264' | 'hevc'): AnnexBParserState;
44
- /**
45
- * Get NAL unit type from first byte after start code
46
- */
47
- export declare function getNalType(firstByte: number, codec: 'h264' | 'hevc'): number;
48
- /**
49
- * Check if NAL type is an Access Unit Delimiter
50
- */
51
- export declare function isAudNal(nalType: number, codec: 'h264' | 'hevc'): boolean;
52
- /**
53
- * Find start code in buffer starting from offset
54
- * Returns { position, length } or null if not found
55
- */
56
- export declare function findStartCode(data: Buffer, offset: number): {
57
- position: number;
58
- length: number;
59
- } | null;
60
- /**
61
- * Find all AUD positions in buffer
62
- */
63
- export declare function findAudPositions(data: Buffer, codec: 'h264' | 'hevc'): number[];
64
- /**
65
- * Check if H.264 frame is a keyframe
66
- */
67
- export declare function isH264KeyFrame(data: Buffer): boolean;
68
- /**
69
- * Check if HEVC frame is a keyframe
70
- */
71
- export declare function isHEVCKeyFrame(data: Buffer): boolean;
72
- /**
73
- * Check if frame is a keyframe based on codec
74
- */
75
- export declare function isKeyFrame(data: Buffer, codec: 'h264' | 'hevc'): boolean;
76
- /**
77
- * Parse Annex B frames from accumulated data
78
- *
79
- * @param state - Parser state (mutated)
80
- * @param newData - New data to append
81
- * @returns Array of parsed frames
82
- */
83
- export declare function parseAnnexBFrames(state: AnnexBParserState, newData: Buffer): EncodedFrameData[];
84
- /**
85
- * Flush remaining data as final frame
86
- */
87
- export declare function flushAnnexBParser(state: AnnexBParserState): EncodedFrameData | null;
88
- //# sourceMappingURL=annexb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annexb.d.ts","sourceRoot":"","sources":["../../../src/ffmpeg/parsers/annexb.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAMjF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAQ5E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAMzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAW7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAoB/E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,MAAM,GACd,gBAAgB,EAAE,CAgCpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,CAanF"}