@norskvideo/norsk-studio-built-ins 1.27.0-2025-04-05-9821db2f → 1.27.0-2025-04-08-3f13a32b

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 (89) hide show
  1. package/client/info.js +6874 -1193
  2. package/lib/info.js +29 -21
  3. package/lib/info.js.map +1 -1
  4. package/lib/output.autoCmaf/info.js +4 -132
  5. package/lib/output.autoCmaf/info.js.map +1 -1
  6. package/lib/output.autoCmaf/runtime.js +4 -54
  7. package/lib/output.autoCmaf/runtime.js.map +1 -1
  8. package/lib/output.autoCmaf/types.d.ts +31 -31
  9. package/lib/output.autoCmaf/types.yaml +4 -85
  10. package/lib/output.cmafMultiVariant/info.d.ts +15 -0
  11. package/lib/output.cmafMultiVariant/info.js +91 -0
  12. package/lib/output.cmafMultiVariant/info.js.map +1 -0
  13. package/lib/output.cmafMultiVariant/runtime.d.ts +37 -0
  14. package/lib/output.cmafMultiVariant/runtime.js +158 -0
  15. package/lib/output.cmafMultiVariant/runtime.js.map +1 -0
  16. package/lib/output.cmafMultiVariant/types.d.ts +130 -0
  17. package/lib/output.cmafMultiVariant/types.js +3 -0
  18. package/lib/output.cmafMultiVariant/types.js.map +1 -0
  19. package/lib/output.cmafMultiVariant/types.yaml +74 -0
  20. package/lib/output.cmafPlaylist/info.d.ts +22 -0
  21. package/lib/output.cmafPlaylist/info.js +114 -0
  22. package/lib/output.cmafPlaylist/info.js.map +1 -0
  23. package/lib/output.cmafPlaylist/runtime.d.ts +41 -0
  24. package/lib/output.cmafPlaylist/runtime.js +239 -0
  25. package/lib/output.cmafPlaylist/runtime.js.map +1 -0
  26. package/lib/output.cmafPlaylist/types.d.ts +155 -0
  27. package/lib/output.cmafPlaylist/types.js +3 -0
  28. package/lib/output.cmafPlaylist/types.js.map +1 -0
  29. package/lib/output.cmafPlaylist/types.yaml +90 -0
  30. package/lib/output.preview/inline-view.js +2 -2
  31. package/lib/output.preview/inline-view.js.map +1 -1
  32. package/lib/output.tsMediaPlaylist/info.d.ts +22 -0
  33. package/lib/output.tsMediaPlaylist/info.js +113 -0
  34. package/lib/output.tsMediaPlaylist/info.js.map +1 -0
  35. package/lib/output.tsMediaPlaylist/runtime.d.ts +41 -0
  36. package/lib/output.tsMediaPlaylist/runtime.js +225 -0
  37. package/lib/output.tsMediaPlaylist/runtime.js.map +1 -0
  38. package/lib/output.tsMediaPlaylist/types.d.ts +155 -0
  39. package/lib/output.tsMediaPlaylist/types.js +3 -0
  40. package/lib/output.tsMediaPlaylist/types.js.map +1 -0
  41. package/lib/output.tsMediaPlaylist/types.yaml +90 -0
  42. package/lib/output.tsMultiVariant/info.d.ts +15 -0
  43. package/lib/output.tsMultiVariant/info.js +91 -0
  44. package/lib/output.tsMultiVariant/info.js.map +1 -0
  45. package/lib/output.tsMultiVariant/runtime.d.ts +37 -0
  46. package/lib/output.tsMultiVariant/runtime.js +157 -0
  47. package/lib/output.tsMultiVariant/runtime.js.map +1 -0
  48. package/lib/output.tsMultiVariant/types.d.ts +130 -0
  49. package/lib/output.tsMultiVariant/types.js +3 -0
  50. package/lib/output.tsMultiVariant/types.js.map +1 -0
  51. package/lib/output.tsMultiVariant/types.yaml +74 -0
  52. package/lib/output.whep/inline-view.js +2 -2
  53. package/lib/output.whep/inline-view.js.map +1 -1
  54. package/lib/processor.fixedLadder/info.d.ts +3 -3
  55. package/lib/processor.fixedLadder/info.js +1159 -73
  56. package/lib/processor.fixedLadder/info.js.map +1 -1
  57. package/lib/processor.fixedLadder/nvidia-rate-control-view.d.ts +4 -0
  58. package/lib/processor.fixedLadder/nvidia-rate-control-view.js +20 -0
  59. package/lib/processor.fixedLadder/nvidia-rate-control-view.js.map +1 -0
  60. package/lib/processor.fixedLadder/nvidia-view.d.ts +5 -0
  61. package/lib/processor.fixedLadder/nvidia-view.js +20 -0
  62. package/lib/processor.fixedLadder/nvidia-view.js.map +1 -0
  63. package/lib/processor.fixedLadder/quadra-view.d.ts +6 -0
  64. package/lib/processor.fixedLadder/quadra-view.js +22 -0
  65. package/lib/processor.fixedLadder/quadra-view.js.map +1 -0
  66. package/lib/processor.fixedLadder/runtime.js.map +1 -1
  67. package/lib/processor.fixedLadder/software-view.d.ts +5 -0
  68. package/lib/processor.fixedLadder/software-view.js +20 -0
  69. package/lib/processor.fixedLadder/software-view.js.map +1 -0
  70. package/lib/processor.fixedLadder/types.d.ts +108 -20
  71. package/lib/processor.fixedLadder/types.yaml +241 -34
  72. package/lib/processor.fixedLadder/x26x-bitrate-view.d.ts +4 -0
  73. package/lib/processor.fixedLadder/x26x-bitrate-view.js +20 -0
  74. package/lib/processor.fixedLadder/x26x-bitrate-view.js.map +1 -0
  75. package/lib/shared/cmaf.d.ts +17 -0
  76. package/lib/shared/cmaf.js +198 -0
  77. package/lib/shared/cmaf.js.map +1 -0
  78. package/lib/{output.autoCmaf/form-views.d.ts → shared/playlist-form-views.d.ts} +1 -1
  79. package/lib/{output.autoCmaf/form-views.js → shared/playlist-form-views.js} +1 -1
  80. package/lib/shared/playlist-form-views.js.map +1 -0
  81. package/lib/shared/types.d.ts +158 -0
  82. package/lib/shared/types.js +3 -0
  83. package/lib/shared/types.js.map +1 -0
  84. package/lib/shared/types.yaml +182 -0
  85. package/lib/shared/whep.d.ts +6 -0
  86. package/lib/shared/whep.js +46 -0
  87. package/lib/shared/whep.js.map +1 -0
  88. package/package.json +3 -3
  89. package/lib/output.autoCmaf/form-views.js.map +0 -1
@@ -9,11 +9,1161 @@ exports.createSoftwareRung = createSoftwareRung;
9
9
  exports.createNvidiaRung = createNvidiaRung;
10
10
  exports.createQuadraRung = createQuadraRung;
11
11
  const config_1 = require("@norskvideo/norsk-studio/lib/shared/config");
12
+ const client_types_1 = require("@norskvideo/norsk-studio/lib/extension/client-types");
12
13
  const rung_view_1 = __importDefault(require("./rung-view"));
13
- const codec_editor_1 = __importDefault(require("./codec-editor"));
14
+ const x26x_bitrate_view_1 = __importDefault(require("./x26x-bitrate-view"));
15
+ const nvidia_rate_control_view_1 = __importDefault(require("./nvidia-rate-control-view"));
16
+ const software_view_1 = __importDefault(require("./software-view"));
17
+ const quadra_view_1 = __importDefault(require("./quadra-view"));
18
+ const nvidia_view_1 = __importDefault(require("./nvidia-view"));
14
19
  const codec_view_1 = __importDefault(require("./codec-view"));
15
20
  const FaLayerGroup_1 = require("@react-icons/all-files/fa/FaLayerGroup");
16
21
  function default_1({ defineComponent, common: { FrameRates }, }) {
22
+ function softwareHint() {
23
+ return {
24
+ type: 'form-pick',
25
+ view: software_view_1.default,
26
+ form: (0, client_types_1.discriminatedForm)({
27
+ x264: {
28
+ display: "H264",
29
+ form: {
30
+ threads: {
31
+ help: "How many CPU threads are used by the encode.",
32
+ advanced: true,
33
+ hint: { type: "numeric", optional: true }
34
+ },
35
+ bitrateMode: {
36
+ help: "",
37
+ advanced: undefined,
38
+ hint: {
39
+ type: "form-item",
40
+ view: x26x_bitrate_view_1.default,
41
+ form: {
42
+ mode: {
43
+ help: "",
44
+ advanced: undefined,
45
+ hint: {
46
+ type: "select",
47
+ options: [
48
+ { value: 'abr', display: 'abr' },
49
+ { value: 'cqp', display: 'cqp' },
50
+ { value: 'crf', display: 'crf' },
51
+ ]
52
+ }
53
+ },
54
+ value: {
55
+ help: "",
56
+ advanced: undefined,
57
+ hint: { type: "numeric", }
58
+ }
59
+ }
60
+ }
61
+ },
62
+ profile: {
63
+ help: "",
64
+ advanced: undefined,
65
+ hint: {
66
+ type: "select",
67
+ options: [
68
+ { value: 'baseline', display: 'baseline' },
69
+ { value: 'main', display: 'main' },
70
+ { value: 'high', display: 'high' },
71
+ { value: 'high10', display: 'high10' },
72
+ { value: 'high422', display: 'high422' },
73
+ { value: 'high444', display: 'high444' },
74
+ ],
75
+ }
76
+ },
77
+ level: {
78
+ help: "",
79
+ advanced: undefined,
80
+ hint: {
81
+ type: "select",
82
+ options: [
83
+ { value: 1, display: '1' },
84
+ { value: 1.1, display: '1.1' },
85
+ { value: 1.2, display: '1.2' },
86
+ { value: 1.3, display: '1.3' },
87
+ { value: 2, display: '2' },
88
+ { value: 2.1, display: '2.1' },
89
+ { value: 2.2, display: '2.2' },
90
+ { value: 3, display: '3' },
91
+ { value: 3.1, display: '3.1' },
92
+ { value: 3.2, display: '3.2' },
93
+ { value: 4, display: '4' },
94
+ { value: 4.1, display: '4.1' },
95
+ { value: 4.2, display: '4.2' },
96
+ { value: 5, display: '5' },
97
+ { value: 5.1, display: '5.1' },
98
+ ],
99
+ }
100
+ },
101
+ keyFrameIntervalMin: {
102
+ help: "",
103
+ advanced: undefined,
104
+ hint: { type: "numeric", optional: true }
105
+ },
106
+ keyFrameIntervalMax: {
107
+ help: "",
108
+ advanced: undefined,
109
+ hint: { type: "numeric", optional: true }
110
+ },
111
+ bframes: {
112
+ help: 'bframes',
113
+ hint: { type: 'numeric', optional: true }
114
+ },
115
+ tune: {
116
+ help: "",
117
+ advanced: undefined,
118
+ hint: {
119
+ type: "select",
120
+ options: [
121
+ { value: 'film', display: 'film' },
122
+ { value: 'animation', display: 'animation' },
123
+ { value: 'grain', display: 'grain' },
124
+ { value: 'stillimage', display: 'stillimage' },
125
+ { value: 'psnr', display: 'psnr' },
126
+ { value: 'ssim', display: 'ssim' },
127
+ { value: 'fastdecode', display: 'fastdecode' },
128
+ { value: 'zerolatency', display: 'zerolatency' },
129
+ ]
130
+ }
131
+ },
132
+ preset: {
133
+ help: "",
134
+ advanced: undefined,
135
+ hint: {
136
+ type: "select",
137
+ options: [
138
+ { value: 'ultrafast', display: 'ultrafast' },
139
+ { value: 'superfast', display: 'superfast' },
140
+ { value: 'veryfast', display: 'veryfast' },
141
+ { value: 'faster', display: 'faster' },
142
+ { value: 'fast', display: 'fast' },
143
+ { value: 'medium', display: 'medium' },
144
+ { value: 'slow', display: 'slow' },
145
+ { value: 'slower', display: 'slower' },
146
+ { value: 'veryslow', display: 'veryslow' },
147
+ { value: 'placebo', display: 'placebo' },
148
+ ]
149
+ }
150
+ },
151
+ frameReference: {
152
+ help: "",
153
+ advanced: undefined,
154
+ hint: { type: "numeric", optional: true }
155
+ },
156
+ cabac: {
157
+ help: "",
158
+ advanced: undefined,
159
+ hint: { type: "boolean", optional: true }
160
+ },
161
+ vbvMaxRate: {
162
+ help: "",
163
+ advanced: undefined,
164
+ hint: { type: "numeric", optional: true }
165
+ },
166
+ vbvBufferSize: {
167
+ help: "",
168
+ advanced: undefined,
169
+ hint: { type: "numeric", optional: true }
170
+ },
171
+ sceneCut: {
172
+ help: "",
173
+ advanced: undefined,
174
+ hint: { type: "numeric", optional: true }
175
+ },
176
+ aud: {
177
+ help: "",
178
+ advanced: undefined,
179
+ hint: { type: "boolean", optional: true }
180
+ },
181
+ noDeblock: {
182
+ help: "",
183
+ advanced: undefined,
184
+ hint: { type: "boolean", optional: true }
185
+ },
186
+ nalHrd: {
187
+ help: "",
188
+ advanced: undefined,
189
+ hint: {
190
+ type: "select",
191
+ options: [
192
+ { value: 'none', display: 'none' },
193
+ { value: 'vbr', display: 'vbr' },
194
+ { value: 'cbr', display: 'cbr' },
195
+ ]
196
+ }
197
+ }
198
+ }
199
+ },
200
+ x265: {
201
+ display: "HEVC",
202
+ form: {
203
+ bframes: {
204
+ help: '',
205
+ hint: { type: 'numeric', optional: true }
206
+ },
207
+ threads: {
208
+ help: "",
209
+ advanced: undefined,
210
+ hint: { type: "numeric", optional: true }
211
+ },
212
+ bitrateMode: {
213
+ help: "",
214
+ advanced: undefined,
215
+ hint: {
216
+ type: "form-item",
217
+ view: x26x_bitrate_view_1.default,
218
+ form: {
219
+ mode: {
220
+ help: "",
221
+ advanced: undefined,
222
+ hint: {
223
+ type: "select",
224
+ options: [
225
+ { value: 'abr', display: 'abr' },
226
+ { value: 'cqp', display: 'cqp' },
227
+ { value: 'crf', display: 'crf' },
228
+ ]
229
+ }
230
+ },
231
+ value: {
232
+ help: "",
233
+ advanced: undefined,
234
+ hint: { type: "numeric", }
235
+ }
236
+ }
237
+ }
238
+ },
239
+ profile: {
240
+ help: "",
241
+ advanced: undefined,
242
+ hint: {
243
+ type: "select",
244
+ options: [
245
+ { value: 'main', display: 'main' },
246
+ { value: 'main10', display: 'main10' },
247
+ { value: 'main444_8', display: 'main444_8' },
248
+ { value: 'main422_10', display: 'main422_10' },
249
+ { value: 'main444_10', display: 'main444_10' },
250
+ ],
251
+ }
252
+ },
253
+ level: {
254
+ help: "",
255
+ advanced: undefined,
256
+ hint: {
257
+ type: "select",
258
+ options: [
259
+ { value: 1, display: '1' },
260
+ { value: 2, display: '2' },
261
+ { value: 2.1, display: '2.1' },
262
+ { value: 3, display: '3' },
263
+ { value: 3.1, display: '3.1' },
264
+ { value: 4, display: '4' },
265
+ { value: 4.1, display: '4.1' },
266
+ { value: 5, display: '5' },
267
+ { value: 5.1, display: '5.1' },
268
+ { value: 5.2, display: '5.2' },
269
+ { value: 6, display: '6' },
270
+ { value: 6.1, display: '6.1' },
271
+ { value: 6.2, display: '6.2' },
272
+ ]
273
+ }
274
+ },
275
+ keyFrameIntervalMin: {
276
+ help: "",
277
+ advanced: undefined,
278
+ hint: { type: "numeric", optional: true }
279
+ },
280
+ keyFrameIntervalMax: {
281
+ help: "",
282
+ advanced: undefined,
283
+ hint: { type: "numeric", optional: true }
284
+ },
285
+ tune: {
286
+ help: "",
287
+ advanced: undefined,
288
+ hint: {
289
+ type: "select",
290
+ options: [
291
+ { value: 'psnr', display: 'psnr' },
292
+ { value: 'ssim', display: 'ssim' },
293
+ { value: 'grain', display: 'grain' },
294
+ { value: 'zerolatency', display: 'zerolatency' },
295
+ { value: 'fastdecode', display: 'fastdecode' },
296
+ { value: 'animation', display: 'animation' },
297
+ ]
298
+ }
299
+ },
300
+ preset: {
301
+ help: "",
302
+ advanced: undefined,
303
+ hint: {
304
+ type: "select",
305
+ options: [
306
+ { value: 'ultrafast', display: 'ultrafast' },
307
+ { value: 'superfast', display: 'superfast' },
308
+ { value: 'veryfast', display: 'veryfast' },
309
+ { value: 'faster', display: 'faster' },
310
+ { value: 'fast', display: 'fast' },
311
+ { value: 'medium', display: 'medium' },
312
+ { value: 'slow', display: 'slow' },
313
+ { value: 'slower', display: 'slower' },
314
+ { value: 'veryslow', display: 'veryslow' },
315
+ { value: 'placebo', display: 'placebo' },
316
+ ]
317
+ }
318
+ },
319
+ frameReference: {
320
+ help: "",
321
+ advanced: undefined,
322
+ hint: { type: "numeric", optional: true }
323
+ },
324
+ vbvMaxRate: {
325
+ help: "",
326
+ advanced: undefined,
327
+ hint: { type: "numeric", optional: true }
328
+ },
329
+ vbvBufferSize: {
330
+ help: "",
331
+ advanced: undefined,
332
+ hint: { type: "numeric", optional: true }
333
+ },
334
+ sceneCut: {
335
+ help: "",
336
+ advanced: undefined,
337
+ hint: { type: "numeric", optional: true }
338
+ },
339
+ aud: {
340
+ help: "",
341
+ advanced: undefined,
342
+ hint: { type: "boolean", optional: true }
343
+ },
344
+ noDeblock: {
345
+ help: "",
346
+ advanced: undefined,
347
+ hint: { type: "boolean", optional: true }
348
+ },
349
+ tier: {
350
+ help: "",
351
+ advanced: undefined,
352
+ hint: {
353
+ type: "select",
354
+ options: [
355
+ { value: 'main', display: 'main' },
356
+ { value: 'high', display: 'high' },
357
+ ]
358
+ }
359
+ }
360
+ }
361
+ }
362
+ })
363
+ };
364
+ }
365
+ function quadraHint() {
366
+ return {
367
+ type: 'form-pick',
368
+ view: quadra_view_1.default,
369
+ form: (0, client_types_1.discriminatedForm)({
370
+ "quadra-h264": {
371
+ display: "H264",
372
+ form: {
373
+ extraOpts: {
374
+ help: 'extraOpts',
375
+ hint: { type: 'text', optional: true }
376
+ },
377
+ enableAud: {
378
+ help: "",
379
+ advanced: undefined,
380
+ hint: { type: "boolean", optional: true }
381
+ },
382
+ gpuIndex: {
383
+ help: "",
384
+ advanced: undefined,
385
+ hint: { type: "numeric", optional: true }
386
+ },
387
+ bitrate: {
388
+ help: "",
389
+ advanced: undefined,
390
+ hint: { type: "numeric", optional: true }
391
+ },
392
+ enableVfr: {
393
+ help: "",
394
+ advanced: undefined,
395
+ hint: { type: "boolean", optional: true }
396
+ },
397
+ crf: {
398
+ help: "",
399
+ advanced: undefined,
400
+ hint: { type: "numeric", optional: true }
401
+ },
402
+ gopPresetIndex: {
403
+ help: "",
404
+ advanced: undefined,
405
+ hint: { type: "numeric", optional: true }
406
+ },
407
+ intraPeriod: {
408
+ help: "",
409
+ advanced: undefined,
410
+ hint: { type: "numeric", optional: true }
411
+ },
412
+ rcEnable: {
413
+ help: "",
414
+ advanced: undefined,
415
+ hint: { type: "boolean", optional: true }
416
+ },
417
+ intraQp: {
418
+ help: "",
419
+ advanced: undefined,
420
+ hint: { type: "numeric", optional: true }
421
+ },
422
+ rcInitDelay: {
423
+ help: "",
424
+ advanced: undefined,
425
+ hint: { type: "numeric", optional: true }
426
+ },
427
+ profile: {
428
+ help: "",
429
+ advanced: undefined,
430
+ hint: {
431
+ type: "select",
432
+ options: [
433
+ { value: 'baseline', display: 'baseline' },
434
+ { value: 'main', display: 'main' },
435
+ { value: 'extended', display: 'extended' },
436
+ { value: 'high', display: 'high' },
437
+ { value: 'high10', display: 'high10' },
438
+ ],
439
+ }
440
+ },
441
+ level: {
442
+ help: "",
443
+ advanced: undefined,
444
+ hint: {
445
+ type: "select",
446
+ options: [
447
+ { value: 1, display: '1' },
448
+ { value: 2, display: '2' },
449
+ { value: 2.1, display: '2.1' },
450
+ { value: 3, display: '3' },
451
+ { value: 3.1, display: '3.1' },
452
+ { value: 4, display: '4' },
453
+ { value: 4.1, display: '4.1' },
454
+ { value: 5, display: '5' },
455
+ { value: 5.1, display: '5.1' },
456
+ { value: 5.2, display: '5.2' },
457
+ { value: 6, display: '6' },
458
+ { value: 6.1, display: '6.1' },
459
+ { value: 6.2, display: '6.2' },
460
+ ]
461
+ }
462
+ },
463
+ fillerEnable: {
464
+ help: "",
465
+ advanced: undefined,
466
+ hint: { type: "boolean", optional: true }
467
+ },
468
+ minQp: {
469
+ help: "",
470
+ advanced: undefined,
471
+ hint: { type: "numeric", optional: true }
472
+ },
473
+ maxQp: {
474
+ help: "",
475
+ advanced: undefined,
476
+ hint: { type: "numeric", optional: true }
477
+ },
478
+ maxDeltaQp: {
479
+ help: "",
480
+ advanced: undefined,
481
+ hint: { type: "numeric", optional: true }
482
+ },
483
+ cuLevelRCEnable: {
484
+ help: "",
485
+ advanced: undefined,
486
+ hint: { type: "boolean", optional: true }
487
+ },
488
+ lookAheadDepth: {
489
+ help: "",
490
+ advanced: undefined,
491
+ hint: { type: "numeric", optional: true }
492
+ },
493
+ vbvMaxRate: {
494
+ help: "",
495
+ advanced: undefined,
496
+ hint: { type: "numeric", optional: true }
497
+ },
498
+ vbvBufferSize: {
499
+ help: "",
500
+ advanced: undefined,
501
+ hint: { type: "numeric", optional: true }
502
+ },
503
+ }
504
+ },
505
+ "quadra-hevc": {
506
+ display: "HEVC",
507
+ form: {
508
+ extraOpts: {
509
+ help: 'extraOpts',
510
+ hint: { type: 'text', optional: true }
511
+ },
512
+ enableAud: {
513
+ help: "",
514
+ advanced: undefined,
515
+ hint: { type: "boolean", optional: true }
516
+ },
517
+ gpuIndex: {
518
+ help: "",
519
+ advanced: undefined,
520
+ hint: { type: "numeric", optional: true }
521
+ },
522
+ bitrate: {
523
+ help: "",
524
+ advanced: undefined,
525
+ hint: { type: "numeric", optional: true }
526
+ },
527
+ enableVfr: {
528
+ help: "",
529
+ advanced: undefined,
530
+ hint: { type: "boolean", optional: true }
531
+ },
532
+ crf: {
533
+ help: "",
534
+ advanced: undefined,
535
+ hint: { type: "numeric", optional: true }
536
+ },
537
+ gopPresetIndex: {
538
+ help: "",
539
+ advanced: undefined,
540
+ hint: { type: "numeric", optional: true }
541
+ },
542
+ intraPeriod: {
543
+ help: "",
544
+ advanced: undefined,
545
+ hint: { type: "numeric", optional: true }
546
+ },
547
+ rcEnable: {
548
+ help: "",
549
+ advanced: undefined,
550
+ hint: { type: "boolean", optional: true }
551
+ },
552
+ intraQp: {
553
+ help: "",
554
+ advanced: undefined,
555
+ hint: { type: "numeric", optional: true }
556
+ },
557
+ rcInitDelay: {
558
+ help: "",
559
+ advanced: undefined,
560
+ hint: { type: "numeric", optional: true }
561
+ },
562
+ profile: {
563
+ help: "",
564
+ advanced: undefined,
565
+ hint: {
566
+ type: "select",
567
+ options: [
568
+ { value: 'main', display: 'main' },
569
+ { value: 'main10', display: 'main10' },
570
+ ],
571
+ }
572
+ },
573
+ level: {
574
+ help: "",
575
+ advanced: undefined,
576
+ hint: {
577
+ type: "select",
578
+ options: [
579
+ { value: 1, display: '1' },
580
+ { value: 2, display: '2' },
581
+ { value: 2.1, display: '2.1' },
582
+ { value: 3, display: '3' },
583
+ { value: 3.1, display: '3.1' },
584
+ { value: 4, display: '4' },
585
+ { value: 4.1, display: '4.1' },
586
+ { value: 5, display: '5' },
587
+ { value: 5.1, display: '5.1' },
588
+ { value: 5.2, display: '5.2' },
589
+ { value: 6, display: '6' },
590
+ { value: 6.1, display: '6.1' },
591
+ { value: 6.2, display: '6.2' },
592
+ ],
593
+ }
594
+ },
595
+ tier: {
596
+ help: "",
597
+ advanced: undefined,
598
+ hint: {
599
+ type: "select",
600
+ options: [
601
+ { value: 'main', display: 'main' },
602
+ { value: 'high', display: 'high' },
603
+ ],
604
+ }
605
+ },
606
+ lossless: {
607
+ help: "",
608
+ advanced: undefined,
609
+ hint: { type: "boolean", optional: true }
610
+ },
611
+ hrdEnable: {
612
+ help: "",
613
+ advanced: undefined,
614
+ hint: { type: "boolean", optional: true }
615
+ },
616
+ dolbyVisionProfile: {
617
+ help: "",
618
+ advanced: undefined,
619
+ hint: { type: "numeric", optional: true }
620
+ },
621
+ fillerEnable: {
622
+ help: "",
623
+ advanced: undefined,
624
+ hint: { type: "boolean", optional: true }
625
+ },
626
+ minQp: {
627
+ help: "",
628
+ advanced: undefined,
629
+ hint: { type: "numeric", optional: true }
630
+ },
631
+ maxQp: {
632
+ help: "",
633
+ advanced: undefined,
634
+ hint: { type: "numeric", optional: true }
635
+ },
636
+ maxDeltaQp: {
637
+ help: "",
638
+ advanced: undefined,
639
+ hint: { type: "numeric", optional: true }
640
+ },
641
+ cuLevelRCEnable: {
642
+ help: "",
643
+ advanced: undefined,
644
+ hint: { type: "boolean", optional: true }
645
+ },
646
+ lookAheadDepth: {
647
+ help: "",
648
+ advanced: undefined,
649
+ hint: { type: "numeric", optional: true }
650
+ },
651
+ vbvMaxRate: {
652
+ help: "",
653
+ advanced: undefined,
654
+ hint: { type: "numeric", optional: true }
655
+ },
656
+ vbvBufferSize: {
657
+ help: "",
658
+ advanced: undefined,
659
+ hint: { type: "numeric", optional: true }
660
+ },
661
+ }
662
+ },
663
+ "quadra-av1": {
664
+ display: "AV1",
665
+ form: {
666
+ extraOpts: {
667
+ help: 'extraOpts',
668
+ hint: { type: 'text', optional: true }
669
+ },
670
+ enableAud: {
671
+ help: "",
672
+ advanced: undefined,
673
+ hint: { type: "boolean", optional: true }
674
+ },
675
+ gpuIndex: {
676
+ help: "",
677
+ advanced: undefined,
678
+ hint: { type: "numeric", optional: true }
679
+ },
680
+ bitrate: {
681
+ help: "",
682
+ advanced: undefined,
683
+ hint: { type: "numeric", optional: true }
684
+ },
685
+ enableVfr: {
686
+ help: "",
687
+ advanced: undefined,
688
+ hint: { type: "boolean", optional: true }
689
+ },
690
+ crf: {
691
+ help: "",
692
+ advanced: undefined,
693
+ hint: { type: "numeric", optional: true }
694
+ },
695
+ gopPresetIndex: {
696
+ help: "",
697
+ advanced: undefined,
698
+ hint: { type: "numeric", optional: true }
699
+ },
700
+ intraPeriod: {
701
+ help: "",
702
+ advanced: undefined,
703
+ hint: { type: "numeric", optional: true }
704
+ },
705
+ rcEnable: {
706
+ help: "",
707
+ advanced: undefined,
708
+ hint: { type: "boolean", optional: true }
709
+ },
710
+ intraQp: {
711
+ help: "",
712
+ advanced: undefined,
713
+ hint: { type: "numeric", optional: true }
714
+ },
715
+ rcInitDelay: {
716
+ help: "",
717
+ advanced: undefined,
718
+ hint: { type: "numeric", optional: true }
719
+ },
720
+ profile: {
721
+ help: "",
722
+ advanced: undefined,
723
+ hint: {
724
+ type: "select",
725
+ options: [
726
+ { value: 'main_420_8', display: 'main_420_8' },
727
+ ],
728
+ }
729
+ },
730
+ tier: {
731
+ help: "",
732
+ advanced: undefined,
733
+ hint: {
734
+ type: "select",
735
+ options: [
736
+ { value: 'main', display: 'main' },
737
+ { value: 'high', display: 'high' },
738
+ ]
739
+ }
740
+ },
741
+ level: {
742
+ help: "",
743
+ advanced: undefined,
744
+ hint: {
745
+ type: "select",
746
+ options: [
747
+ { value: 1, display: '1' },
748
+ { value: 2, display: '2' },
749
+ { value: 2.1, display: '2.1' },
750
+ { value: 3, display: '3' },
751
+ { value: 3.1, display: '3.1' },
752
+ { value: 4, display: '4' },
753
+ { value: 4.1, display: '4.1' },
754
+ { value: 5, display: '5' },
755
+ { value: 5.1, display: '5.1' },
756
+ { value: 5.2, display: '5.2' },
757
+ { value: 6, display: '6' },
758
+ { value: 6.1, display: '6.1' },
759
+ { value: 6.2, display: '6.2' },
760
+ ],
761
+ defaultValue: 5.1
762
+ }
763
+ },
764
+ fillerEnable: {
765
+ help: "",
766
+ advanced: undefined,
767
+ hint: { type: "boolean", optional: true }
768
+ },
769
+ minQp: {
770
+ help: "",
771
+ advanced: undefined,
772
+ hint: { type: "numeric", optional: true }
773
+ },
774
+ maxQp: {
775
+ help: "",
776
+ advanced: undefined,
777
+ hint: { type: "numeric", optional: true }
778
+ },
779
+ maxDeltaQp: {
780
+ help: "",
781
+ advanced: undefined,
782
+ hint: { type: "numeric", optional: true }
783
+ },
784
+ cuLevelRCEnable: {
785
+ help: "",
786
+ advanced: undefined,
787
+ hint: { type: "boolean", optional: true }
788
+ },
789
+ lookAheadDepth: {
790
+ help: "",
791
+ advanced: undefined,
792
+ hint: { type: "numeric", optional: true }
793
+ },
794
+ vbvMaxRate: {
795
+ help: "",
796
+ advanced: undefined,
797
+ hint: { type: "numeric", optional: true }
798
+ },
799
+ vbvBufferSize: {
800
+ help: "",
801
+ advanced: undefined,
802
+ hint: { type: "numeric", optional: true }
803
+ },
804
+ }
805
+ }
806
+ })
807
+ };
808
+ }
809
+ function nvidiaHint() {
810
+ const nvidiaRateControl = {
811
+ mode: {
812
+ help: "",
813
+ advanced: undefined,
814
+ hint: {
815
+ type: "select",
816
+ options: [
817
+ { value: 'con_stqp', display: 'con_stqp' },
818
+ { value: 'vbr', display: 'vbr' },
819
+ { value: 'cbr', display: 'cbr' },
820
+ ]
821
+ }
822
+ },
823
+ averageBitrate: {
824
+ help: "",
825
+ hint: { type: "numeric", optional: true }
826
+ },
827
+ maxBitrate: {
828
+ help: "",
829
+ hint: { type: "numeric", optional: true }
830
+ },
831
+ vbvBufferSize: {
832
+ help: "",
833
+ hint: { type: "numeric", optional: true }
834
+ },
835
+ vbvInitialDelay: {
836
+ help: "",
837
+ hint: { type: "numeric", optional: true }
838
+ },
839
+ enableLookahead: {
840
+ help: "",
841
+ hint: { type: "boolean", optional: true }
842
+ },
843
+ strictGopTarget: {
844
+ help: "",
845
+ hint: { type: "boolean", optional: true }
846
+ },
847
+ lookaheadDepth: {
848
+ help: "",
849
+ hint: { type: "numeric", optional: true }
850
+ },
851
+ enableTemporalAQ: {
852
+ help: "",
853
+ hint: { type: "boolean", optional: true }
854
+ },
855
+ enableSpatialAQ: {
856
+ help: "",
857
+ hint: { type: "boolean", optional: true }
858
+ },
859
+ aqStrength: {
860
+ help: "",
861
+ hint: { type: "numeric", optional: true }
862
+ },
863
+ };
864
+ return {
865
+ type: 'form-pick',
866
+ view: nvidia_view_1.default,
867
+ form: (0, client_types_1.discriminatedForm)({
868
+ "nv-h264": {
869
+ display: "H264",
870
+ form: {
871
+ preset: {
872
+ help: "",
873
+ advanced: undefined,
874
+ hint: {
875
+ type: "select",
876
+ options: [
877
+ { value: 'p1', display: 'p1' },
878
+ { value: 'p2', display: 'p2' },
879
+ { value: 'p3', display: 'p3' },
880
+ { value: 'p4', display: 'p4' },
881
+ { value: 'p5', display: 'p5' },
882
+ { value: 'p6', display: 'p6' },
883
+ { value: 'p7', display: 'p7' },
884
+ ],
885
+ }
886
+ },
887
+ tuning: {
888
+ help: "",
889
+ advanced: undefined,
890
+ hint: {
891
+ type: "select",
892
+ options: [
893
+ { value: 'high_quality', display: 'high_quality' },
894
+ { value: 'low_latency', display: 'low_latency' },
895
+ { value: 'ultra_low_latency', display: 'ultra_low_latency' },
896
+ { value: 'lossless', display: 'lossless' },
897
+ ]
898
+ }
899
+ },
900
+ idrPeriod: {
901
+ help: 'idrPeriod',
902
+ hint: { type: 'numeric', optional: true }
903
+ },
904
+ gopInterval: {
905
+ help: "",
906
+ advanced: undefined,
907
+ hint: { type: "numeric", optional: true }
908
+ },
909
+ frameIntervalP: {
910
+ help: "",
911
+ advanced: undefined,
912
+ hint: { type: "numeric", optional: true }
913
+ },
914
+ maxNumRefFrames: {
915
+ help: "",
916
+ advanced: undefined,
917
+ hint: { type: "numeric", optional: true }
918
+ },
919
+ level: {
920
+ help: "",
921
+ advanced: undefined,
922
+ hint: {
923
+ type: "select",
924
+ options: [
925
+ { value: 1, display: '1' },
926
+ { value: 2, display: '2' },
927
+ { value: 2.1, display: '2.1' },
928
+ { value: 3, display: '3' },
929
+ { value: 3.1, display: '3.1' },
930
+ { value: 4, display: '4' },
931
+ { value: 4.1, display: '4.1' },
932
+ { value: 5, display: '5' },
933
+ { value: 5.1, display: '5.1' },
934
+ { value: 5.2, display: '5.2' },
935
+ { value: 6, display: '6' },
936
+ { value: 6.1, display: '6.1' },
937
+ { value: 6.2, display: '6.2' },
938
+ ]
939
+ }
940
+ },
941
+ profile: {
942
+ help: "",
943
+ advanced: undefined,
944
+ hint: {
945
+ type: "select",
946
+ options: [
947
+ { value: 'baseline', display: 'baseline' },
948
+ { value: 'main', display: 'main' },
949
+ { value: 'high', display: 'high' },
950
+ { value: 'high444', display: 'high444' },
951
+ ],
952
+ }
953
+ },
954
+ outputAud: {
955
+ help: "",
956
+ advanced: undefined,
957
+ hint: { type: "boolean", optional: true }
958
+ },
959
+ rateControl: {
960
+ help: "",
961
+ advanced: undefined,
962
+ hint: {
963
+ type: "form-item",
964
+ view: nvidia_rate_control_view_1.default,
965
+ form: nvidiaRateControl
966
+ }
967
+ },
968
+ useBFramesAsRef: {
969
+ help: "",
970
+ advanced: undefined,
971
+ hint: {
972
+ type: "select",
973
+ options: [
974
+ { value: 'disabled', display: 'disabled' },
975
+ { value: 'each', display: 'each' },
976
+ { value: 'middle', display: 'middle' },
977
+ ]
978
+ }
979
+ }
980
+ }
981
+ },
982
+ "nv-hevc": {
983
+ display: "HEVC",
984
+ form: {
985
+ preset: {
986
+ help: "",
987
+ advanced: undefined,
988
+ hint: {
989
+ type: "select",
990
+ options: [
991
+ { value: 'p1', display: 'p1' },
992
+ { value: 'p2', display: 'p2' },
993
+ { value: 'p3', display: 'p3' },
994
+ { value: 'p4', display: 'p4' },
995
+ { value: 'p5', display: 'p5' },
996
+ { value: 'p6', display: 'p6' },
997
+ { value: 'p7', display: 'p7' },
998
+ ],
999
+ }
1000
+ },
1001
+ tuning: {
1002
+ help: "",
1003
+ advanced: undefined,
1004
+ hint: {
1005
+ type: "select",
1006
+ options: [
1007
+ { value: 'high_quality', display: 'high_quality' },
1008
+ { value: 'low_latency', display: 'low_latency' },
1009
+ { value: 'ultra_low_latency', display: 'ultra_low_latency' },
1010
+ { value: 'lossless', display: 'lossless' },
1011
+ ]
1012
+ }
1013
+ },
1014
+ idrPeriod: {
1015
+ help: 'idrPeriod',
1016
+ hint: { type: 'numeric', optional: true }
1017
+ },
1018
+ gopInterval: {
1019
+ help: "",
1020
+ advanced: undefined,
1021
+ hint: { type: "numeric", optional: true }
1022
+ },
1023
+ frameIntervalP: {
1024
+ help: "",
1025
+ advanced: undefined,
1026
+ hint: { type: "numeric", optional: true }
1027
+ },
1028
+ level: {
1029
+ help: "",
1030
+ advanced: undefined,
1031
+ hint: {
1032
+ type: "select",
1033
+ options: [
1034
+ { value: 1, display: '1' },
1035
+ { value: 2, display: '2' },
1036
+ { value: 2.1, display: '2.1' },
1037
+ { value: 3, display: '3' },
1038
+ { value: 3.1, display: '3.1' },
1039
+ { value: 4, display: '4' },
1040
+ { value: 4.1, display: '4.1' },
1041
+ { value: 5, display: '5' },
1042
+ { value: 5.1, display: '5.1' },
1043
+ { value: 5.2, display: '5.2' },
1044
+ { value: 6, display: '6' },
1045
+ { value: 6.1, display: '6.1' },
1046
+ { value: 6.2, display: '6.2' },
1047
+ ]
1048
+ }
1049
+ },
1050
+ profile: {
1051
+ help: "",
1052
+ advanced: undefined,
1053
+ hint: {
1054
+ type: "select",
1055
+ options: [
1056
+ { value: 'main', display: 'main' },
1057
+ { value: 'main10', display: 'main10' },
1058
+ ],
1059
+ }
1060
+ },
1061
+ outputAud: {
1062
+ help: "",
1063
+ advanced: undefined,
1064
+ hint: { type: "boolean", optional: true }
1065
+ },
1066
+ tier: {
1067
+ help: "",
1068
+ advanced: undefined,
1069
+ hint: {
1070
+ type: "select",
1071
+ options: [
1072
+ { value: 'main', display: 'main' },
1073
+ { value: 'high', display: 'high' },
1074
+ ],
1075
+ }
1076
+ },
1077
+ rateControl: {
1078
+ help: "",
1079
+ advanced: undefined,
1080
+ hint: {
1081
+ type: "form-item",
1082
+ view: nvidia_rate_control_view_1.default,
1083
+ form: nvidiaRateControl
1084
+ }
1085
+ },
1086
+ useBFramesAsRef: {
1087
+ help: "",
1088
+ advanced: undefined,
1089
+ hint: {
1090
+ type: "select",
1091
+ options: [
1092
+ { value: 'disabled', display: 'disabled' },
1093
+ { value: 'each', display: 'each' },
1094
+ { value: 'middle', display: 'middle' },
1095
+ ]
1096
+ }
1097
+ }
1098
+ }
1099
+ }
1100
+ })
1101
+ };
1102
+ }
1103
+ const newRungForm = {
1104
+ form: {
1105
+ name: {
1106
+ help: "Unique name of the ladder rung (used in outputs)",
1107
+ hint: {
1108
+ type: "text",
1109
+ defaultValue: 'default'
1110
+ }
1111
+ },
1112
+ width: {
1113
+ help: 'Width in pixels of this rung',
1114
+ hint: {
1115
+ type: 'numeric',
1116
+ defaultValue: 640,
1117
+ }
1118
+ },
1119
+ height: {
1120
+ help: 'Height in pixels of this rung',
1121
+ hint: {
1122
+ type: 'numeric',
1123
+ defaultValue: 360,
1124
+ }
1125
+ },
1126
+ },
1127
+ transform: (x) => ({
1128
+ name: x.name,
1129
+ software: createRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000, threads: 4 }),
1130
+ quadra: createQuadraRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
1131
+ nvidia: createNvidiaRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
1132
+ })
1133
+ };
1134
+ const rungsForm = {
1135
+ rungs: {
1136
+ help: "The rungs in this encode ladder",
1137
+ hint: {
1138
+ type: 'form-list',
1139
+ envOverride: true,
1140
+ newForm: newRungForm,
1141
+ form: (() => {
1142
+ return {
1143
+ name: {
1144
+ help: "Unique name of the ladder rung (used in outputs)",
1145
+ hint: {
1146
+ type: "text",
1147
+ defaultValue: 'default'
1148
+ }
1149
+ },
1150
+ software: rungEditorForm('software', softwareHint()),
1151
+ quadra: rungEditorForm('quadra', quadraHint()),
1152
+ nvidia: rungEditorForm('nvidia', nvidiaHint()),
1153
+ };
1154
+ })(),
1155
+ view: rung_view_1.default,
1156
+ defaultValue: exports.rungNames.map((n) => {
1157
+ return {
1158
+ name: n,
1159
+ software: createSoftwareRung(n),
1160
+ quadra: createQuadraRung(n),
1161
+ nvidia: createNvidiaRung(n),
1162
+ };
1163
+ })
1164
+ }
1165
+ },
1166
+ };
17
1167
  return defineComponent({
18
1168
  identifier: 'processor.fixedLadder',
19
1169
  category: 'processor',
@@ -44,74 +1194,10 @@ function default_1({ defineComponent, common: { FrameRates }, }) {
44
1194
  global: {
45
1195
  hardware: (0, config_1.HardwareSelection)()
46
1196
  },
47
- form: {
48
- rungs: {
49
- help: "The rungs in this encode ladder",
50
- hint: {
51
- type: 'form-list',
52
- envOverride: true,
53
- newForm: {
54
- form: {
55
- name: {
56
- help: "Unique name of the ladder rung (used in outputs)",
57
- hint: {
58
- type: "text",
59
- defaultValue: 'default'
60
- }
61
- },
62
- width: {
63
- help: 'Width in pixels of this rung',
64
- hint: {
65
- type: 'numeric',
66
- defaultValue: 640,
67
- }
68
- },
69
- height: {
70
- help: 'Height in pixels of this rung',
71
- hint: {
72
- type: 'numeric',
73
- defaultValue: 360,
74
- }
75
- },
76
- }, transform: (x) => ({
77
- name: x.name,
78
- software: createRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000, threads: 4 }),
79
- quadra: createQuadraRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
80
- nvidia: createNvidiaRungImpl({ name: `hack_${x.width}x${x.height}`, bitrate: 5_000_000 }),
81
- })
82
- },
83
- form: {
84
- name: {
85
- help: "Unique name of the ladder rung (used in outputs)",
86
- hint: {
87
- type: "text",
88
- defaultValue: 'default'
89
- }
90
- },
91
- software: rungEditorForm('software'),
92
- quadra: rungEditorForm('quadra'),
93
- nvidia: rungEditorForm('nvidia'),
94
- },
95
- view: rung_view_1.default,
96
- defaultValue: exports.rungNames.map((n) => {
97
- return {
98
- name: n,
99
- software: createSoftwareRung(n),
100
- quadra: createQuadraRung(n),
101
- nvidia: createNvidiaRung(n),
102
- };
103
- })
104
- }
105
- },
106
- notes: { help: "Notes about this component", hint: { type: 'text', optional: true } },
107
- }
1197
+ form: rungsForm
108
1198
  }
109
1199
  });
110
- function rungEditorForm(mode) {
111
- const codecHint = {
112
- type: 'custom',
113
- component: codec_editor_1.default,
114
- };
1200
+ function rungEditorForm(mode, codecHint) {
115
1201
  return {
116
1202
  help: `Settings to use when encoding using ${mode} mode`,
117
1203
  hint: {
@@ -198,7 +1284,7 @@ function createQuadraRung(rung) {
198
1284
  }
199
1285
  }
200
1286
  function createRungImpl({ name, threads, bitrate }) {
201
- const codec = {
1287
+ const x264Codec = {
202
1288
  type: "x264",
203
1289
  bitrateMode: {
204
1290
  value: bitrate,
@@ -215,12 +1301,12 @@ function createRungImpl({ name, threads, bitrate }) {
215
1301
  return {
216
1302
  width: rungWidth(name),
217
1303
  height: rungHeight(name),
218
- codec,
1304
+ codec: x264Codec,
219
1305
  frameRate: { frames: 25, seconds: 1 },
220
1306
  };
221
1307
  }
222
1308
  function createQuadraRungImpl({ name, bitrate }) {
223
- const codec = {
1309
+ const h264Codec = {
224
1310
  type: "quadra-h264",
225
1311
  intraPeriod: 50,
226
1312
  bitrate
@@ -228,12 +1314,12 @@ function createQuadraRungImpl({ name, bitrate }) {
228
1314
  return {
229
1315
  width: rungWidth(name),
230
1316
  height: rungHeight(name),
231
- codec,
1317
+ codec: h264Codec,
232
1318
  frameRate: { frames: 25, seconds: 1 },
233
1319
  };
234
1320
  }
235
1321
  function createNvidiaRungImpl({ name, bitrate }) {
236
- const codec = {
1322
+ const h264Codec = {
237
1323
  type: "nv-h264",
238
1324
  idrPeriod: 50,
239
1325
  rateControl: {
@@ -244,7 +1330,7 @@ function createNvidiaRungImpl({ name, bitrate }) {
244
1330
  return {
245
1331
  width: rungWidth(name),
246
1332
  height: rungHeight(name),
247
- codec,
1333
+ codec: h264Codec,
248
1334
  frameRate: { frames: 25, seconds: 1 },
249
1335
  };
250
1336
  }