2021-04-16 23:21:06 +08:00
|
|
|
"""Wrapper for include/libswscale/swscale.h
|
|
|
|
"""
|
2022-04-08 23:07:41 +08:00
|
|
|
from ctypes import POINTER, Structure
|
|
|
|
from ctypes import c_int
|
|
|
|
from ctypes import c_uint8, c_double
|
2021-04-16 23:21:06 +08:00
|
|
|
|
|
|
|
import pyglet.lib
|
2022-04-08 23:07:41 +08:00
|
|
|
from pyglet.util import debug_print
|
|
|
|
from . import compat
|
2021-04-16 23:21:06 +08:00
|
|
|
|
2022-04-08 23:07:41 +08:00
|
|
|
_debug = debug_print('debug_media')
|
|
|
|
|
|
|
|
|
2022-04-09 13:08:14 +08:00
|
|
|
swscale = pyglet.lib.load_library(
|
|
|
|
'swscale',
|
2023-05-18 21:15:27 +08:00
|
|
|
win32=('swscale-7', 'swscale-6', 'swscale-5'),
|
|
|
|
darwin=('swscale.7', 'swscale.6', 'swscale.5')
|
2022-04-09 13:08:14 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
swscale.swscale_version.restype = c_int
|
|
|
|
|
|
|
|
compat.set_version('swscale', swscale.swscale_version() >> 16)
|
2022-04-08 23:07:41 +08:00
|
|
|
|
2021-04-16 23:21:06 +08:00
|
|
|
|
|
|
|
SWS_FAST_BILINEAR = 1
|
|
|
|
|
|
|
|
|
|
|
|
class SwsContext(Structure):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class SwsFilter(Structure):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
swscale.sws_getCachedContext.restype = POINTER(SwsContext)
|
|
|
|
swscale.sws_getCachedContext.argtypes = [POINTER(SwsContext),
|
|
|
|
c_int, c_int, c_int, c_int,
|
|
|
|
c_int, c_int, c_int,
|
|
|
|
POINTER(SwsFilter), POINTER(SwsFilter),
|
|
|
|
POINTER(c_double)]
|
|
|
|
swscale.sws_freeContext.argtypes = [POINTER(SwsContext)]
|
|
|
|
swscale.sws_scale.restype = c_int
|
|
|
|
swscale.sws_scale.argtypes = [POINTER(SwsContext),
|
|
|
|
POINTER(POINTER(c_uint8)),
|
|
|
|
POINTER(c_int),
|
|
|
|
c_int, c_int,
|
|
|
|
POINTER(POINTER(c_uint8)),
|
|
|
|
POINTER(c_int)]
|
|
|
|
|
|
|
|
__all__ = [
|
|
|
|
'swscale',
|
|
|
|
'SWS_FAST_BILINEAR',
|
|
|
|
'SwsContext',
|
|
|
|
'SwsFilter'
|
|
|
|
]
|