__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
from libc.stdint cimport uint64_t
from fractions import Fraction
cimport libav as lib
from av.error cimport err_check
# === DICTIONARIES ===
# ====================
cdef _decode(char *s, encoding, errors):
return (<bytes>s).decode(encoding, errors)
cdef bytes _encode(s, encoding, errors):
return s.encode(encoding, errors)
cdef dict avdict_to_dict(lib.AVDictionary *input, str encoding, str errors):
cdef lib.AVDictionaryEntry *element = NULL
cdef dict output = {}
while True:
element = lib.av_dict_get(input, "", element, lib.AV_DICT_IGNORE_SUFFIX)
if element == NULL:
break
output[_decode(element.key, encoding, errors)] = _decode(element.value, encoding, errors)
return output
cdef dict_to_avdict(lib.AVDictionary **dst, dict src, str encoding, str errors):
lib.av_dict_free(dst)
for key, value in src.items():
err_check(
lib.av_dict_set(
dst,
_encode(key, encoding, errors),
_encode(value, encoding, errors),
0
)
)
# === FRACTIONS ===
# =================
cdef object avrational_to_fraction(const lib.AVRational *input):
if input.num and input.den:
return Fraction(input.num, input.den)
cdef void to_avrational(object frac, lib.AVRational *input):
input.num = frac.numerator
input.den = frac.denominator
# === OTHER ===
# =============
cdef check_ndarray(object array, object dtype, int ndim):
"""
Check a numpy array has the expected data type and number of dimensions.
"""
if array.dtype != dtype:
raise ValueError(f"Expected numpy array with dtype `{dtype}` but got `{array.dtype}`")
if array.ndim != ndim:
raise ValueError(f"Expected numpy array with ndim `{ndim}` but got `{array.ndim}`")
cdef flag_in_bitfield(uint64_t bitfield, uint64_t flag):
# Not every flag exists in every version of FFMpeg, so we define them to 0.
if not flag:
return None
return bool(bitfield & flag)
# === BACKWARDS COMPAT ===
from .error import err_check
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| attachments | Folder | 0755 |
|
|
| audio | Folder | 0755 |
|
|
| codec | Folder | 0755 |
|
|
| container | Folder | 0755 |
|
|
| data | Folder | 0755 |
|
|
| filter | Folder | 0755 |
|
|
| sidedata | Folder | 0755 |
|
|
| subtitles | Folder | 0755 |
|
|
| video | Folder | 0755 |
|
|
| __init__.pxd | File | 0 B | 0644 |
|
| __init__.py | File | 2.07 KB | 0644 |
|
| __main__.py | File | 1.53 KB | 0644 |
|
| _core.cpython-313-aarch64-linux-gnu.so | File | 66.98 KB | 0644 |
|
| _core.pyi | File | 251 B | 0644 |
|
| _core.pyx | File | 1.92 KB | 0644 |
|
| about.py | File | 23 B | 0644 |
|
| bitstream.cpython-313-aarch64-linux-gnu.so | File | 69.05 KB | 0644 |
|
| bitstream.pxd | File | 184 B | 0644 |
|
| bitstream.pyi | File | 389 B | 0644 |
|
| bitstream.pyx | File | 2.73 KB | 0644 |
|
| buffer.cpython-313-aarch64-linux-gnu.so | File | 69.18 KB | 0644 |
|
| buffer.pxd | File | 126 B | 0644 |
|
| buffer.pyi | File | 316 B | 0644 |
|
| buffer.pyx | File | 1.6 KB | 0644 |
|
| bytesource.cpython-313-aarch64-linux-gnu.so | File | 68.87 KB | 0644 |
|
| bytesource.pxd | File | 241 B | 0644 |
|
| bytesource.pyx | File | 1.07 KB | 0644 |
|
| datasets.py | File | 3.02 KB | 0644 |
|
| descriptor.cpython-313-aarch64-linux-gnu.so | File | 69.02 KB | 0644 |
|
| descriptor.pxd | File | 519 B | 0644 |
|
| descriptor.pyi | File | 121 B | 0644 |
|
| descriptor.pyx | File | 2.21 KB | 0644 |
|
| dictionary.cpython-313-aarch64-linux-gnu.so | File | 134.56 KB | 0644 |
|
| dictionary.pxd | File | 174 B | 0644 |
|
| dictionary.pyi | File | 388 B | 0644 |
|
| dictionary.pyx | File | 1.52 KB | 0644 |
|
| error.cpython-313-aarch64-linux-gnu.so | File | 262.11 KB | 0644 |
|
| error.pxd | File | 89 B | 0644 |
|
| error.pyi | File | 3.13 KB | 0644 |
|
| error.pyx | File | 12.12 KB | 0644 |
|
| format.cpython-313-aarch64-linux-gnu.so | File | 133.55 KB | 0644 |
|
| format.pxd | File | 234 B | 0644 |
|
| format.pyi | File | 1.37 KB | 0644 |
|
| format.pyx | File | 5.57 KB | 0644 |
|
| frame.cpython-313-aarch64-linux-gnu.so | File | 69.44 KB | 0644 |
|
| frame.pxd | File | 411 B | 0644 |
|
| frame.pyi | File | 507 B | 0644 |
|
| frame.pyx | File | 4.82 KB | 0644 |
|
| logging.cpython-313-aarch64-linux-gnu.so | File | 133.65 KB | 0644 |
|
| logging.pxd | File | 24 B | 0644 |
|
| logging.pyi | File | 885 B | 0644 |
|
| logging.pyx | File | 8.87 KB | 0644 |
|
| opaque.cpython-313-aarch64-linux-gnu.so | File | 68.95 KB | 0644 |
|
| opaque.pxd | File | 237 B | 0644 |
|
| opaque.pyx | File | 833 B | 0644 |
|
| option.cpython-313-aarch64-linux-gnu.so | File | 135.05 KB | 0644 |
|
| option.pxd | File | 366 B | 0644 |
|
| option.pyi | File | 1.28 KB | 0644 |
|
| option.pyx | File | 5.02 KB | 0644 |
|
| packet.cpython-313-aarch64-linux-gnu.so | File | 133.67 KB | 0644 |
|
| packet.pxd | File | 447 B | 0644 |
|
| packet.pyi | File | 559 B | 0644 |
|
| packet.pyx | File | 5.77 KB | 0644 |
|
| plane.cpython-313-aarch64-linux-gnu.so | File | 68.91 KB | 0644 |
|
| plane.pxd | File | 196 B | 0644 |
|
| plane.pyi | File | 169 B | 0644 |
|
| plane.pyx | File | 564 B | 0644 |
|
| py.typed | File | 0 B | 0644 |
|
| stream.cpython-313-aarch64-linux-gnu.so | File | 133.61 KB | 0644 |
|
| stream.pxd | File | 635 B | 0644 |
|
| stream.pyi | File | 1.29 KB | 0644 |
|
| stream.pyx | File | 7.19 KB | 0644 |
|
| utils.cpython-313-aarch64-linux-gnu.so | File | 66.89 KB | 0644 |
|
| utils.pxd | File | 452 B | 0644 |
|
| utils.pyx | File | 2.06 KB | 0644 |
|