Buckets:
MisterAI/LocalAI_Demo_backends / cpu-diffusers.upgrade-tmp /venv /lib /python3.10 /site-packages /av /option.py
| from enum import Enum, Flag | |
| import cython | |
| import cython.cimports.libav as lib | |
| from cython import NULL, bint | |
| from cython.cimports.libc.stdint import uint64_t | |
| _cinit_sentinel = cython.declare(object, object()) | |
| def wrap_option( | |
| choices: tuple, ptr: cython.pointer[cython.const[lib.AVOption]] | |
| ) -> Option: | |
| if ptr == NULL: | |
| return None | |
| obj: Option = Option(_cinit_sentinel) | |
| obj.ptr = ptr | |
| obj.choices = choices | |
| return obj | |
| def flag_in_bitfield(bitfield: uint64_t, flag: uint64_t) -> bool: | |
| return bool(bitfield & flag) | |
| class OptionType(Enum): | |
| FLAGS = lib.AV_OPT_TYPE_FLAGS | |
| INT = lib.AV_OPT_TYPE_INT | |
| INT64 = lib.AV_OPT_TYPE_INT64 | |
| DOUBLE = lib.AV_OPT_TYPE_DOUBLE | |
| FLOAT = lib.AV_OPT_TYPE_FLOAT | |
| STRING = lib.AV_OPT_TYPE_STRING | |
| RATIONAL = lib.AV_OPT_TYPE_RATIONAL | |
| BINARY = lib.AV_OPT_TYPE_BINARY | |
| DICT = lib.AV_OPT_TYPE_DICT | |
| UINT64 = lib.AV_OPT_TYPE_UINT64 | |
| CONST = lib.AV_OPT_TYPE_CONST | |
| IMAGE_SIZE = lib.AV_OPT_TYPE_IMAGE_SIZE | |
| PIXEL_FMT = lib.AV_OPT_TYPE_PIXEL_FMT | |
| SAMPLE_FMT = lib.AV_OPT_TYPE_SAMPLE_FMT | |
| VIDEO_RATE = lib.AV_OPT_TYPE_VIDEO_RATE | |
| DURATION = lib.AV_OPT_TYPE_DURATION | |
| COLOR = lib.AV_OPT_TYPE_COLOR | |
| CHANNEL_LAYOUT = lib.AV_OPT_TYPE_CHLAYOUT | |
| BOOL = lib.AV_OPT_TYPE_BOOL | |
| class OptionFlags(Flag): | |
| ENCODING_PARAM = lib.AV_OPT_FLAG_ENCODING_PARAM | |
| DECODING_PARAM = lib.AV_OPT_FLAG_DECODING_PARAM | |
| AUDIO_PARAM = lib.AV_OPT_FLAG_AUDIO_PARAM | |
| VIDEO_PARAM = lib.AV_OPT_FLAG_VIDEO_PARAM | |
| SUBTITLE_PARAM = lib.AV_OPT_FLAG_SUBTITLE_PARAM | |
| EXPORT = lib.AV_OPT_FLAG_EXPORT | |
| READONLY = lib.AV_OPT_FLAG_READONLY | |
| FILTERING_PARAM = lib.AV_OPT_FLAG_FILTERING_PARAM | |
| _INT_TYPES = cython.declare( | |
| tuple, | |
| ( | |
| lib.AV_OPT_TYPE_FLAGS, | |
| lib.AV_OPT_TYPE_INT, | |
| lib.AV_OPT_TYPE_INT64, | |
| lib.AV_OPT_TYPE_PIXEL_FMT, | |
| lib.AV_OPT_TYPE_SAMPLE_FMT, | |
| lib.AV_OPT_TYPE_DURATION, | |
| lib.AV_OPT_TYPE_CHLAYOUT, | |
| lib.AV_OPT_TYPE_BOOL, | |
| ), | |
| ) | |
| class BaseOption: | |
| def __cinit__(self, sentinel): | |
| if sentinel is not _cinit_sentinel: | |
| raise RuntimeError(f"Cannot construct av.{self.__class__.__name__}") | |
| def name(self): | |
| return self.ptr.name | |
| def help(self): | |
| return self.ptr.help if self.ptr.help != NULL else "" | |
| def flags(self): | |
| return self.ptr.flags | |
| def is_encoding_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_ENCODING_PARAM) | |
| def is_decoding_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_DECODING_PARAM) | |
| def is_audio_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_AUDIO_PARAM) | |
| def is_video_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_VIDEO_PARAM) | |
| def is_subtitle_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_SUBTITLE_PARAM) | |
| def is_export(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_EXPORT) | |
| def is_readonly(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_READONLY) | |
| def is_filtering_param(self): | |
| return flag_in_bitfield(self.ptr.flags, lib.AV_OPT_FLAG_FILTERING_PARAM) | |
| class Option(BaseOption): | |
| def type(self): | |
| return OptionType(self.ptr.type) | |
| def offset(self): | |
| """ | |
| This can be used to find aliases of an option. | |
| Options in a particular descriptor with the same offset are aliases. | |
| """ | |
| return self.ptr.offset | |
| def default(self): | |
| if self.ptr.type in _INT_TYPES: | |
| return self.ptr.default_val.i64 | |
| if self.ptr.type in ( | |
| lib.AV_OPT_TYPE_DOUBLE, | |
| lib.AV_OPT_TYPE_FLOAT, | |
| lib.AV_OPT_TYPE_RATIONAL, | |
| ): | |
| return self.ptr.default_val.dbl | |
| if self.ptr.type in ( | |
| lib.AV_OPT_TYPE_STRING, | |
| lib.AV_OPT_TYPE_BINARY, | |
| lib.AV_OPT_TYPE_IMAGE_SIZE, | |
| lib.AV_OPT_TYPE_VIDEO_RATE, | |
| lib.AV_OPT_TYPE_COLOR, | |
| ): | |
| return self.ptr.default_val.str if self.ptr.default_val.str != NULL else "" | |
| def min(self): | |
| if self.ptr.type in _INT_TYPES: | |
| return int(self.ptr.min) | |
| return self.ptr.min | |
| def max(self): | |
| if self.ptr.type in _INT_TYPES: | |
| return int(self.ptr.max) | |
| return self.ptr.max | |
| def __repr__(self): | |
| return f"<av.{self.__class__.__name__} {self.name} ({self.type} at *0x{self.offset:x}) at 0x{id(self):x}>" | |
| def wrap_option_choice( | |
| ptr: cython.pointer[cython.const[lib.AVOption]], is_default: bint | |
| ) -> OptionChoice | None: | |
| if ptr == NULL: | |
| return None | |
| obj: OptionChoice = OptionChoice(_cinit_sentinel) | |
| obj.ptr = ptr | |
| obj.is_default = is_default | |
| return obj | |
| class OptionChoice(BaseOption): | |
| """ | |
| Represents AV_OPT_TYPE_CONST options which are essentially | |
| choices of non-const option with same unit. | |
| """ | |
| def value(self): | |
| return self.ptr.default_val.i64 | |
| def __repr__(self): | |
| return f"<av.{self.__class__.__name__} {self.name} at 0x{id(self):x}>" | |
Xet Storage Details
- Size:
- 5.49 kB
- Xet hash:
- fbdb59ea08c5da5dc9d52dcac8ac7ef8ff46814e6aa8364c746373a07afc9efe
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.