Source code for bitmovin_api_sdk.models.vp8_video_configuration

# coding: utf-8

from enum import Enum
from six import string_types, iteritems
from bitmovin_api_sdk.common.poscheck import poscheck_model
from bitmovin_api_sdk.models.color_config import ColorConfig
from bitmovin_api_sdk.models.display_aspect_ratio import DisplayAspectRatio
from bitmovin_api_sdk.models.encoding_mode import EncodingMode
from bitmovin_api_sdk.models.pixel_format import PixelFormat
from bitmovin_api_sdk.models.video_configuration import VideoConfiguration
from bitmovin_api_sdk.models.vp8_arnr_type import Vp8ArnrType
from bitmovin_api_sdk.models.vp8_noise_sensitivity import Vp8NoiseSensitivity
from bitmovin_api_sdk.models.vp8_quality import Vp8Quality
import pprint
import six


[docs]class Vp8VideoConfiguration(VideoConfiguration): @poscheck_model def __init__(self, id_=None, name=None, description=None, created_at=None, modified_at=None, custom_data=None, width=None, height=None, bitrate=None, rate=None, pixel_format=None, color_config=None, sample_aspect_ratio_numerator=None, sample_aspect_ratio_denominator=None, display_aspect_ratio=None, encoding_mode=None, crf=None, lag_in_frames=None, max_intra_rate=None, qp_min=None, qp_max=None, rate_undershoot_pct=None, rate_overshoot_pct=None, cpu_used=None, noise_sensitivity=None, sharpness=None, min_gop=None, max_gop=None, min_keyframe_interval=None, max_keyframe_interval=None, quality=None, static_thresh=None, arnr_max_frames=None, arnr_strength=None, arnr_type=None): # type: (string_types, string_types, string_types, datetime, datetime, dict, int, int, int, float, PixelFormat, ColorConfig, int, int, DisplayAspectRatio, EncodingMode, int, int, int, int, int, int, int, int, Vp8NoiseSensitivity, int, int, int, float, float, Vp8Quality, int, int, int, Vp8ArnrType) -> None super(Vp8VideoConfiguration, self).__init__(id_=id_, name=name, description=description, created_at=created_at, modified_at=modified_at, custom_data=custom_data, width=width, height=height, bitrate=bitrate, rate=rate, pixel_format=pixel_format, color_config=color_config, sample_aspect_ratio_numerator=sample_aspect_ratio_numerator, sample_aspect_ratio_denominator=sample_aspect_ratio_denominator, display_aspect_ratio=display_aspect_ratio, encoding_mode=encoding_mode) self._crf = None self._lag_in_frames = None self._max_intra_rate = None self._qp_min = None self._qp_max = None self._rate_undershoot_pct = None self._rate_overshoot_pct = None self._cpu_used = None self._noise_sensitivity = None self._sharpness = None self._min_gop = None self._max_gop = None self._min_keyframe_interval = None self._max_keyframe_interval = None self._quality = None self._static_thresh = None self._arnr_max_frames = None self._arnr_strength = None self._arnr_type = None self.discriminator = None if crf is not None: self.crf = crf if lag_in_frames is not None: self.lag_in_frames = lag_in_frames if max_intra_rate is not None: self.max_intra_rate = max_intra_rate if qp_min is not None: self.qp_min = qp_min if qp_max is not None: self.qp_max = qp_max if rate_undershoot_pct is not None: self.rate_undershoot_pct = rate_undershoot_pct if rate_overshoot_pct is not None: self.rate_overshoot_pct = rate_overshoot_pct if cpu_used is not None: self.cpu_used = cpu_used if noise_sensitivity is not None: self.noise_sensitivity = noise_sensitivity if sharpness is not None: self.sharpness = sharpness if min_gop is not None: self.min_gop = min_gop if max_gop is not None: self.max_gop = max_gop if min_keyframe_interval is not None: self.min_keyframe_interval = min_keyframe_interval if max_keyframe_interval is not None: self.max_keyframe_interval = max_keyframe_interval if quality is not None: self.quality = quality if static_thresh is not None: self.static_thresh = static_thresh if arnr_max_frames is not None: self.arnr_max_frames = arnr_max_frames if arnr_strength is not None: self.arnr_strength = arnr_strength if arnr_type is not None: self.arnr_type = arnr_type @property def openapi_types(self): types = {} if hasattr(super(Vp8VideoConfiguration, self), 'openapi_types'): types = getattr(super(Vp8VideoConfiguration, self), 'openapi_types') types.update({ 'crf': 'int', 'lag_in_frames': 'int', 'max_intra_rate': 'int', 'qp_min': 'int', 'qp_max': 'int', 'rate_undershoot_pct': 'int', 'rate_overshoot_pct': 'int', 'cpu_used': 'int', 'noise_sensitivity': 'Vp8NoiseSensitivity', 'sharpness': 'int', 'min_gop': 'int', 'max_gop': 'int', 'min_keyframe_interval': 'float', 'max_keyframe_interval': 'float', 'quality': 'Vp8Quality', 'static_thresh': 'int', 'arnr_max_frames': 'int', 'arnr_strength': 'int', 'arnr_type': 'Vp8ArnrType' }) return types @property def attribute_map(self): attributes = {} if hasattr(super(Vp8VideoConfiguration, self), 'attribute_map'): attributes = getattr(super(Vp8VideoConfiguration, self), 'attribute_map') attributes.update({ 'crf': 'crf', 'lag_in_frames': 'lagInFrames', 'max_intra_rate': 'maxIntraRate', 'qp_min': 'qpMin', 'qp_max': 'qpMax', 'rate_undershoot_pct': 'rateUndershootPct', 'rate_overshoot_pct': 'rateOvershootPct', 'cpu_used': 'cpuUsed', 'noise_sensitivity': 'noiseSensitivity', 'sharpness': 'sharpness', 'min_gop': 'minGop', 'max_gop': 'maxGop', 'min_keyframe_interval': 'minKeyframeInterval', 'max_keyframe_interval': 'maxKeyframeInterval', 'quality': 'quality', 'static_thresh': 'staticThresh', 'arnr_max_frames': 'arnrMaxFrames', 'arnr_strength': 'arnrStrength', 'arnr_type': 'arnrType' }) return attributes @property def crf(self): # type: () -> int """Gets the crf of this Vp8VideoConfiguration. Constant rate factor for quality-based variable bitrate. Either bitrate or crf is required. :return: The crf of this Vp8VideoConfiguration. :rtype: int """ return self._crf @crf.setter def crf(self, crf): # type: (int) -> None """Sets the crf of this Vp8VideoConfiguration. Constant rate factor for quality-based variable bitrate. Either bitrate or crf is required. :param crf: The crf of this Vp8VideoConfiguration. :type: int """ if crf is not None: if crf is not None and crf > 63: raise ValueError("Invalid value for `crf`, must be a value less than or equal to `63`") if crf is not None and crf < 0: raise ValueError("Invalid value for `crf`, must be a value greater than or equal to `0`") if not isinstance(crf, int): raise TypeError("Invalid type for `crf`, type has to be `int`") self._crf = crf @property def lag_in_frames(self): # type: () -> int """Gets the lag_in_frames of this Vp8VideoConfiguration. Number of frames to look ahead for alternate reference frame selection. :return: The lag_in_frames of this Vp8VideoConfiguration. :rtype: int """ return self._lag_in_frames @lag_in_frames.setter def lag_in_frames(self, lag_in_frames): # type: (int) -> None """Sets the lag_in_frames of this Vp8VideoConfiguration. Number of frames to look ahead for alternate reference frame selection. :param lag_in_frames: The lag_in_frames of this Vp8VideoConfiguration. :type: int """ if lag_in_frames is not None: if lag_in_frames is not None and lag_in_frames > 25: raise ValueError("Invalid value for `lag_in_frames`, must be a value less than or equal to `25`") if lag_in_frames is not None and lag_in_frames < 0: raise ValueError("Invalid value for `lag_in_frames`, must be a value greater than or equal to `0`") if not isinstance(lag_in_frames, int): raise TypeError("Invalid type for `lag_in_frames`, type has to be `int`") self._lag_in_frames = lag_in_frames @property def max_intra_rate(self): # type: () -> int """Gets the max_intra_rate of this Vp8VideoConfiguration. Maximum I-frame bitrate (percentage) 0=unlimited :return: The max_intra_rate of this Vp8VideoConfiguration. :rtype: int """ return self._max_intra_rate @max_intra_rate.setter def max_intra_rate(self, max_intra_rate): # type: (int) -> None """Sets the max_intra_rate of this Vp8VideoConfiguration. Maximum I-frame bitrate (percentage) 0=unlimited :param max_intra_rate: The max_intra_rate of this Vp8VideoConfiguration. :type: int """ if max_intra_rate is not None: if not isinstance(max_intra_rate, int): raise TypeError("Invalid type for `max_intra_rate`, type has to be `int`") self._max_intra_rate = max_intra_rate @property def qp_min(self): # type: () -> int """Gets the qp_min of this Vp8VideoConfiguration. Minimum quantization factor. :return: The qp_min of this Vp8VideoConfiguration. :rtype: int """ return self._qp_min @qp_min.setter def qp_min(self, qp_min): # type: (int) -> None """Sets the qp_min of this Vp8VideoConfiguration. Minimum quantization factor. :param qp_min: The qp_min of this Vp8VideoConfiguration. :type: int """ if qp_min is not None: if qp_min is not None and qp_min > 63: raise ValueError("Invalid value for `qp_min`, must be a value less than or equal to `63`") if qp_min is not None and qp_min < 0: raise ValueError("Invalid value for `qp_min`, must be a value greater than or equal to `0`") if not isinstance(qp_min, int): raise TypeError("Invalid type for `qp_min`, type has to be `int`") self._qp_min = qp_min @property def qp_max(self): # type: () -> int """Gets the qp_max of this Vp8VideoConfiguration. Maximum quantization factor. :return: The qp_max of this Vp8VideoConfiguration. :rtype: int """ return self._qp_max @qp_max.setter def qp_max(self, qp_max): # type: (int) -> None """Sets the qp_max of this Vp8VideoConfiguration. Maximum quantization factor. :param qp_max: The qp_max of this Vp8VideoConfiguration. :type: int """ if qp_max is not None: if qp_max is not None and qp_max > 63: raise ValueError("Invalid value for `qp_max`, must be a value less than or equal to `63`") if qp_max is not None and qp_max < 0: raise ValueError("Invalid value for `qp_max`, must be a value greater than or equal to `0`") if not isinstance(qp_max, int): raise TypeError("Invalid type for `qp_max`, type has to be `int`") self._qp_max = qp_max @property def rate_undershoot_pct(self): # type: () -> int """Gets the rate_undershoot_pct of this Vp8VideoConfiguration. Datarate undershoot (min) target (percentage). :return: The rate_undershoot_pct of this Vp8VideoConfiguration. :rtype: int """ return self._rate_undershoot_pct @rate_undershoot_pct.setter def rate_undershoot_pct(self, rate_undershoot_pct): # type: (int) -> None """Sets the rate_undershoot_pct of this Vp8VideoConfiguration. Datarate undershoot (min) target (percentage). :param rate_undershoot_pct: The rate_undershoot_pct of this Vp8VideoConfiguration. :type: int """ if rate_undershoot_pct is not None: if rate_undershoot_pct is not None and rate_undershoot_pct > 100: raise ValueError("Invalid value for `rate_undershoot_pct`, must be a value less than or equal to `100`") if rate_undershoot_pct is not None and rate_undershoot_pct < 0: raise ValueError("Invalid value for `rate_undershoot_pct`, must be a value greater than or equal to `0`") if not isinstance(rate_undershoot_pct, int): raise TypeError("Invalid type for `rate_undershoot_pct`, type has to be `int`") self._rate_undershoot_pct = rate_undershoot_pct @property def rate_overshoot_pct(self): # type: () -> int """Gets the rate_overshoot_pct of this Vp8VideoConfiguration. Datarate overshoot (max) target (percentage). :return: The rate_overshoot_pct of this Vp8VideoConfiguration. :rtype: int """ return self._rate_overshoot_pct @rate_overshoot_pct.setter def rate_overshoot_pct(self, rate_overshoot_pct): # type: (int) -> None """Sets the rate_overshoot_pct of this Vp8VideoConfiguration. Datarate overshoot (max) target (percentage). :param rate_overshoot_pct: The rate_overshoot_pct of this Vp8VideoConfiguration. :type: int """ if rate_overshoot_pct is not None: if rate_overshoot_pct is not None and rate_overshoot_pct > 100: raise ValueError("Invalid value for `rate_overshoot_pct`, must be a value less than or equal to `100`") if rate_overshoot_pct is not None and rate_overshoot_pct < 0: raise ValueError("Invalid value for `rate_overshoot_pct`, must be a value greater than or equal to `0`") if not isinstance(rate_overshoot_pct, int): raise TypeError("Invalid type for `rate_overshoot_pct`, type has to be `int`") self._rate_overshoot_pct = rate_overshoot_pct @property def cpu_used(self): # type: () -> int """Gets the cpu_used of this Vp8VideoConfiguration. :return: The cpu_used of this Vp8VideoConfiguration. :rtype: int """ return self._cpu_used @cpu_used.setter def cpu_used(self, cpu_used): # type: (int) -> None """Sets the cpu_used of this Vp8VideoConfiguration. :param cpu_used: The cpu_used of this Vp8VideoConfiguration. :type: int """ if cpu_used is not None: if not isinstance(cpu_used, int): raise TypeError("Invalid type for `cpu_used`, type has to be `int`") self._cpu_used = cpu_used @property def noise_sensitivity(self): # type: () -> Vp8NoiseSensitivity """Gets the noise_sensitivity of this Vp8VideoConfiguration. :return: The noise_sensitivity of this Vp8VideoConfiguration. :rtype: Vp8NoiseSensitivity """ return self._noise_sensitivity @noise_sensitivity.setter def noise_sensitivity(self, noise_sensitivity): # type: (Vp8NoiseSensitivity) -> None """Sets the noise_sensitivity of this Vp8VideoConfiguration. :param noise_sensitivity: The noise_sensitivity of this Vp8VideoConfiguration. :type: Vp8NoiseSensitivity """ if noise_sensitivity is not None: if not isinstance(noise_sensitivity, Vp8NoiseSensitivity): raise TypeError("Invalid type for `noise_sensitivity`, type has to be `Vp8NoiseSensitivity`") self._noise_sensitivity = noise_sensitivity @property def sharpness(self): # type: () -> int """Gets the sharpness of this Vp8VideoConfiguration. Loop filter sharpness. :return: The sharpness of this Vp8VideoConfiguration. :rtype: int """ return self._sharpness @sharpness.setter def sharpness(self, sharpness): # type: (int) -> None """Sets the sharpness of this Vp8VideoConfiguration. Loop filter sharpness. :param sharpness: The sharpness of this Vp8VideoConfiguration. :type: int """ if sharpness is not None: if sharpness is not None and sharpness > 7: raise ValueError("Invalid value for `sharpness`, must be a value less than or equal to `7`") if sharpness is not None and sharpness < 0: raise ValueError("Invalid value for `sharpness`, must be a value greater than or equal to `0`") if not isinstance(sharpness, int): raise TypeError("Invalid type for `sharpness`, type has to be `int`") self._sharpness = sharpness @property def min_gop(self): # type: () -> int """Gets the min_gop of this Vp8VideoConfiguration. Minimum GOP length, the minimum distance between I-frames. :return: The min_gop of this Vp8VideoConfiguration. :rtype: int """ return self._min_gop @min_gop.setter def min_gop(self, min_gop): # type: (int) -> None """Sets the min_gop of this Vp8VideoConfiguration. Minimum GOP length, the minimum distance between I-frames. :param min_gop: The min_gop of this Vp8VideoConfiguration. :type: int """ if min_gop is not None: if not isinstance(min_gop, int): raise TypeError("Invalid type for `min_gop`, type has to be `int`") self._min_gop = min_gop @property def max_gop(self): # type: () -> int """Gets the max_gop of this Vp8VideoConfiguration. Maximum GOP length, the maximum distance between I-frames :return: The max_gop of this Vp8VideoConfiguration. :rtype: int """ return self._max_gop @max_gop.setter def max_gop(self, max_gop): # type: (int) -> None """Sets the max_gop of this Vp8VideoConfiguration. Maximum GOP length, the maximum distance between I-frames :param max_gop: The max_gop of this Vp8VideoConfiguration. :type: int """ if max_gop is not None: if not isinstance(max_gop, int): raise TypeError("Invalid type for `max_gop`, type has to be `int`") self._max_gop = max_gop @property def min_keyframe_interval(self): # type: () -> float """Gets the min_keyframe_interval of this Vp8VideoConfiguration. Minimum interval in seconds between key frames :return: The min_keyframe_interval of this Vp8VideoConfiguration. :rtype: float """ return self._min_keyframe_interval @min_keyframe_interval.setter def min_keyframe_interval(self, min_keyframe_interval): # type: (float) -> None """Sets the min_keyframe_interval of this Vp8VideoConfiguration. Minimum interval in seconds between key frames :param min_keyframe_interval: The min_keyframe_interval of this Vp8VideoConfiguration. :type: float """ if min_keyframe_interval is not None: if not isinstance(min_keyframe_interval, (float, int)): raise TypeError("Invalid type for `min_keyframe_interval`, type has to be `float`") self._min_keyframe_interval = min_keyframe_interval @property def max_keyframe_interval(self): # type: () -> float """Gets the max_keyframe_interval of this Vp8VideoConfiguration. Maximum interval in seconds between key frames :return: The max_keyframe_interval of this Vp8VideoConfiguration. :rtype: float """ return self._max_keyframe_interval @max_keyframe_interval.setter def max_keyframe_interval(self, max_keyframe_interval): # type: (float) -> None """Sets the max_keyframe_interval of this Vp8VideoConfiguration. Maximum interval in seconds between key frames :param max_keyframe_interval: The max_keyframe_interval of this Vp8VideoConfiguration. :type: float """ if max_keyframe_interval is not None: if not isinstance(max_keyframe_interval, (float, int)): raise TypeError("Invalid type for `max_keyframe_interval`, type has to be `float`") self._max_keyframe_interval = max_keyframe_interval @property def quality(self): # type: () -> Vp8Quality """Gets the quality of this Vp8VideoConfiguration. :return: The quality of this Vp8VideoConfiguration. :rtype: Vp8Quality """ return self._quality @quality.setter def quality(self, quality): # type: (Vp8Quality) -> None """Sets the quality of this Vp8VideoConfiguration. :param quality: The quality of this Vp8VideoConfiguration. :type: Vp8Quality """ if quality is not None: if not isinstance(quality, Vp8Quality): raise TypeError("Invalid type for `quality`, type has to be `Vp8Quality`") self._quality = quality @property def static_thresh(self): # type: () -> int """Gets the static_thresh of this Vp8VideoConfiguration. A change threshold on blocks below which they will be skipped by the encoder. :return: The static_thresh of this Vp8VideoConfiguration. :rtype: int """ return self._static_thresh @static_thresh.setter def static_thresh(self, static_thresh): # type: (int) -> None """Sets the static_thresh of this Vp8VideoConfiguration. A change threshold on blocks below which they will be skipped by the encoder. :param static_thresh: The static_thresh of this Vp8VideoConfiguration. :type: int """ if static_thresh is not None: if static_thresh is not None and static_thresh < 0: raise ValueError("Invalid value for `static_thresh`, must be a value greater than or equal to `0`") if not isinstance(static_thresh, int): raise TypeError("Invalid type for `static_thresh`, type has to be `int`") self._static_thresh = static_thresh @property def arnr_max_frames(self): # type: () -> int """Gets the arnr_max_frames of this Vp8VideoConfiguration. altref noise reduction max frame count. :return: The arnr_max_frames of this Vp8VideoConfiguration. :rtype: int """ return self._arnr_max_frames @arnr_max_frames.setter def arnr_max_frames(self, arnr_max_frames): # type: (int) -> None """Sets the arnr_max_frames of this Vp8VideoConfiguration. altref noise reduction max frame count. :param arnr_max_frames: The arnr_max_frames of this Vp8VideoConfiguration. :type: int """ if arnr_max_frames is not None: if arnr_max_frames is not None and arnr_max_frames > 15: raise ValueError("Invalid value for `arnr_max_frames`, must be a value less than or equal to `15`") if arnr_max_frames is not None and arnr_max_frames < 0: raise ValueError("Invalid value for `arnr_max_frames`, must be a value greater than or equal to `0`") if not isinstance(arnr_max_frames, int): raise TypeError("Invalid type for `arnr_max_frames`, type has to be `int`") self._arnr_max_frames = arnr_max_frames @property def arnr_strength(self): # type: () -> int """Gets the arnr_strength of this Vp8VideoConfiguration. altref noise reduction filter strength. :return: The arnr_strength of this Vp8VideoConfiguration. :rtype: int """ return self._arnr_strength @arnr_strength.setter def arnr_strength(self, arnr_strength): # type: (int) -> None """Sets the arnr_strength of this Vp8VideoConfiguration. altref noise reduction filter strength. :param arnr_strength: The arnr_strength of this Vp8VideoConfiguration. :type: int """ if arnr_strength is not None: if arnr_strength is not None and arnr_strength > 6: raise ValueError("Invalid value for `arnr_strength`, must be a value less than or equal to `6`") if arnr_strength is not None and arnr_strength < 0: raise ValueError("Invalid value for `arnr_strength`, must be a value greater than or equal to `0`") if not isinstance(arnr_strength, int): raise TypeError("Invalid type for `arnr_strength`, type has to be `int`") self._arnr_strength = arnr_strength @property def arnr_type(self): # type: () -> Vp8ArnrType """Gets the arnr_type of this Vp8VideoConfiguration. :return: The arnr_type of this Vp8VideoConfiguration. :rtype: Vp8ArnrType """ return self._arnr_type @arnr_type.setter def arnr_type(self, arnr_type): # type: (Vp8ArnrType) -> None """Sets the arnr_type of this Vp8VideoConfiguration. :param arnr_type: The arnr_type of this Vp8VideoConfiguration. :type: Vp8ArnrType """ if arnr_type is not None: if not isinstance(arnr_type, Vp8ArnrType): raise TypeError("Invalid type for `arnr_type`, type has to be `Vp8ArnrType`") self._arnr_type = arnr_type
[docs] def to_dict(self): """Returns the model properties as a dict""" result = {} if hasattr(super(Vp8VideoConfiguration, self), "to_dict"): result = super(Vp8VideoConfiguration, self).to_dict() for attr, _ in six.iteritems(self.openapi_types): value = getattr(self, attr) if value is None: continue if isinstance(value, list): if len(value) == 0: continue result[self.attribute_map.get(attr)] = [y.value if isinstance(y, Enum) else y for y in [x.to_dict() if hasattr(x, "to_dict") else x for x in value]] elif hasattr(value, "to_dict"): result[self.attribute_map.get(attr)] = value.to_dict() elif isinstance(value, Enum): result[self.attribute_map.get(attr)] = value.value elif isinstance(value, dict): result[self.attribute_map.get(attr)] = {k: (v.to_dict() if hasattr(v, "to_dict") else v) for (k, v) in value.items()} else: result[self.attribute_map.get(attr)] = value return result
[docs] def to_str(self): """Returns the string representation of the model""" return pprint.pformat(self.to_dict())
def __repr__(self): """For `print` and `pprint`""" return self.to_str() def __eq__(self, other): """Returns true if both objects are equal""" if not isinstance(other, Vp8VideoConfiguration): return False return self.__dict__ == other.__dict__ def __ne__(self, other): """Returns true if both objects are not equal""" return not self == other