def __init__(self, method): if not isinstance(method, str): raise ValueError(f'Invalid method type "{type(method)}"') from compressai import available_entropy_coders if method not in available_entropy_coders(): methods = ", ".join(available_entropy_coders()) raise ValueError(f'Unknown entropy coder "{method}"' f" (available: {methods})") if method == "ans": from compressai import ans encoder = ans.RansEncoder() decoder = ans.RansDecoder() elif method == "rangecoder": import range_coder encoder = range_coder.RangeEncoder() decoder = range_coder.RangeDecoder() self.name = method self._encoder = encoder self._decoder = decoder
def __init__(self, method): if not isinstance(method, str): raise ValueError(f'Invalid method type "{type(method)}"') from compressai import available_entropy_coders if method not in available_entropy_coders(): methods = ', '.join(available_entropy_coders()) raise ValueError(f'Unknown entropy coder "{method}"' f' (available: {methods})') if method == 'ans': from compressai import ans # pylint: disable=E0611 encoder = ans.RansEncoder() decoder = ans.RansDecoder() elif method == 'rangecoder': import range_coder # pylint: disable=E0401 encoder = range_coder.RangeEncoder() decoder = range_coder.RangeDecoder() self._encoder = encoder self._decoder = decoder