118 lines
3.4 KiB
Python
118 lines
3.4 KiB
Python
from enum import Flag, IntEnum
|
|
from fractions import Fraction
|
|
from typing import ClassVar, Literal, cast, overload
|
|
|
|
from av.audio import _AudioCodecName
|
|
from av.audio.codeccontext import AudioCodecContext
|
|
from av.packet import Packet
|
|
from av.video import _VideoCodecName
|
|
from av.video.codeccontext import VideoCodecContext
|
|
|
|
from .codec import Codec
|
|
from .hwaccel import HWAccel
|
|
|
|
class ThreadType(Flag):
|
|
NONE = cast(ClassVar[ThreadType], ...)
|
|
FRAME = cast(ClassVar[ThreadType], ...)
|
|
SLICE = cast(ClassVar[ThreadType], ...)
|
|
AUTO = cast(ClassVar[ThreadType], ...)
|
|
def __get__(self, i: object | None, owner: type | None = None) -> ThreadType: ...
|
|
def __set__(self, instance: object, value: int | str | ThreadType) -> None: ...
|
|
|
|
class Flags(IntEnum):
|
|
unaligned = cast(int, ...)
|
|
qscale = cast(int, ...)
|
|
four_mv = cast(int, ...)
|
|
output_corrupt = cast(int, ...)
|
|
qpel = cast(int, ...)
|
|
recon_frame = cast(int, ...)
|
|
copy_opaque = cast(int, ...)
|
|
frame_duration = cast(int, ...)
|
|
pass1 = cast(int, ...)
|
|
pass2 = cast(int, ...)
|
|
loop_filter = cast(int, ...)
|
|
gray = cast(int, ...)
|
|
psnr = cast(int, ...)
|
|
interlaced_dct = cast(int, ...)
|
|
low_delay = cast(int, ...)
|
|
global_header = cast(int, ...)
|
|
bitexact = cast(int, ...)
|
|
ac_pred = cast(int, ...)
|
|
interlaced_me = cast(int, ...)
|
|
closed_gop = cast(int, ...)
|
|
|
|
class Flags2(IntEnum):
|
|
fast = cast(int, ...)
|
|
no_output = cast(int, ...)
|
|
local_header = cast(int, ...)
|
|
chunks = cast(int, ...)
|
|
ignore_crop = cast(int, ...)
|
|
show_all = cast(int, ...)
|
|
export_mvs = cast(int, ...)
|
|
skip_manual = cast(int, ...)
|
|
ro_flush_noop = cast(int, ...)
|
|
|
|
class CodecContext:
|
|
name: str
|
|
type: Literal["video", "audio", "data", "subtitle", "attachment"]
|
|
options: dict[str, str]
|
|
profile: str | None
|
|
@property
|
|
def profiles(self) -> list[str]: ...
|
|
extradata: bytes | None
|
|
time_base: Fraction
|
|
codec_tag: str
|
|
bit_rate: int | None
|
|
bit_rate_tolerance: int
|
|
thread_count: int
|
|
thread_type: ThreadType
|
|
skip_frame: Literal[
|
|
"NONE", "DEFAULT", "NONREF", "BIDIR", "NONINTRA", "NONKEY", "ALL"
|
|
]
|
|
flags: int
|
|
qscale: bool
|
|
copy_opaque: bool
|
|
flags2: int
|
|
@property
|
|
def is_open(self) -> bool: ...
|
|
@property
|
|
def is_encoder(self) -> bool: ...
|
|
@property
|
|
def is_decoder(self) -> bool: ...
|
|
@property
|
|
def codec(self) -> Codec: ...
|
|
@property
|
|
def max_bit_rate(self) -> int | None: ...
|
|
@property
|
|
def delay(self) -> bool: ...
|
|
@property
|
|
def extradata_size(self) -> int: ...
|
|
@property
|
|
def is_hwaccel(self) -> bool: ...
|
|
def open(self, strict: bool = True) -> None: ...
|
|
@overload
|
|
@staticmethod
|
|
def create(
|
|
codec: _AudioCodecName,
|
|
mode: Literal["r", "w"] | None = None,
|
|
hwaccel: HWAccel | None = None,
|
|
) -> AudioCodecContext: ...
|
|
@overload
|
|
@staticmethod
|
|
def create(
|
|
codec: _VideoCodecName,
|
|
mode: Literal["r", "w"] | None = None,
|
|
hwaccel: HWAccel | None = None,
|
|
) -> VideoCodecContext: ...
|
|
@overload
|
|
@staticmethod
|
|
def create(
|
|
codec: str | Codec,
|
|
mode: Literal["r", "w"] | None = None,
|
|
hwaccel: HWAccel | None = None,
|
|
) -> CodecContext: ...
|
|
def parse(
|
|
self, raw_input: bytes | bytearray | memoryview | None = None
|
|
) -> list[Packet]: ...
|
|
def flush_buffers(self) -> None: ...
|