-
Notifications
You must be signed in to change notification settings - Fork 10
/
Av1VideoConfiguration.ts
48 lines (42 loc) · 1.76 KB
/
Av1VideoConfiguration.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import {map, mapArray} from '../common/Mapper';
import AutoLevelSetup from './AutoLevelSetup';
import Av1PresetConfiguration from './Av1PresetConfiguration';
import CodecConfigType from './CodecConfigType';
import ColorConfig from './ColorConfig';
import DisplayAspectRatio from './DisplayAspectRatio';
import EncodingMode from './EncodingMode';
import PixelFormat from './PixelFormat';
import VideoConfiguration from './VideoConfiguration';
/**
* @export
* @class Av1VideoConfiguration
*/
export class Av1VideoConfiguration extends VideoConfiguration {
/**
* Discriminator property for CodecConfiguration
* @type {string}
* @memberof Av1VideoConfiguration
*/
public readonly type: CodecConfigType = CodecConfigType.AV1;
/**
* Use a set of well defined configurations preset to support certain use cases. Can be overwritten with more specific values.
* @type {Av1PresetConfiguration}
* @memberof Av1VideoConfiguration
*/
public presetConfiguration?: Av1PresetConfiguration;
/**
* Enable/disable automatic calculation of level, maxBitrate, and bufsize based on the least level that satisfies maximum property values for picture resolution, frame rate, and bit rate. In the case the target level is set explicitly, the maximum bitrate and buffer size are calculated based on the defined level. Explicitly setting maxBitrate, or bufsize properties will disable the automatic calculation.
* @type {AutoLevelSetup}
* @memberof Av1VideoConfiguration
*/
public autoLevelSetup?: AutoLevelSetup;
constructor(obj?: Partial<Av1VideoConfiguration>) {
super(obj);
if(!obj) {
return;
}
this.presetConfiguration = map(obj.presetConfiguration);
this.autoLevelSetup = map(obj.autoLevelSetup);
}
}
export default Av1VideoConfiguration;