No more linting error of mypy in H264.

This commit is contained in:
Frédéric Tronel
2026-08-28 22:19:52 +02:00
parent c32018caae
commit ff20f31e74
2 changed files with 23 additions and 21 deletions
+12 -10
View File
@@ -104,9 +104,11 @@ def read_signed_exp_golomb(buf:bytes, bit_position: int) -> tuple[int, int]:
return bit_position, -(v>>1)
case 1:
return bit_position, (v+1)>>1
case _:
raise AssertionError("unreachable")
@typechecked
def write_bit(buf:bytes, bit_position: int, b) -> int:
def write_bit(buf:bytearray, bit_position: int, b) -> int:
buf_length = len(buf)
byte_position = floor(bit_position/8)
@@ -120,7 +122,7 @@ def write_bit(buf:bytes, bit_position: int, b) -> int:
return bit_position
@typechecked
def write_boolean(buf:bytes, bit_position: int, b: bool) -> int:
def write_boolean(buf:bytearray, bit_position: int, b: bool) -> int:
if b:
bit_position = write_bit(buf, bit_position, 1)
else:
@@ -128,7 +130,7 @@ def write_boolean(buf:bytes, bit_position: int, b: bool) -> int:
return bit_position
@typechecked
def write_bits(buf:bytes, bit_position: int, v, size) -> int:
def write_bits(buf:bytearray, bit_position: int, v, size) -> int:
for i in range(size-1,-1,-1):
b = (v>>i)&1
bit_position = write_bit(buf, bit_position, b)
@@ -136,22 +138,22 @@ def write_bits(buf:bytes, bit_position: int, v, size) -> int:
return bit_position
@typechecked
def write_byte(buf:bytes, bit_position: int, v) -> int:
def write_byte(buf:bytearray, bit_position: int, v) -> int:
bit_position = write_bits(buf, bit_position, v, 8)
return bit_position
@typechecked
def write_word(buf:bytes, bit_position: int, v) -> int:
def write_word(buf:bytearray, bit_position: int, v) -> int:
bit_position = write_bits(buf, bit_position, v, 16)
return bit_position
@typechecked
def write_long(buf:bytes, bit_position: int, v) -> int:
def write_long(buf:bytearray, bit_position: int, v) -> int:
bit_position = write_bits(buf, bit_position, v, 32)
return bit_position
@typechecked
def write_unsigned_exp_golomb(buf:bytes, bit_position: int, v) -> int:
def write_unsigned_exp_golomb(buf:bytearray, bit_position: int, v) -> int:
n = floor(log(v+1)/log(2))+1
# Write zeroes
bit_position = write_bits(buf, bit_position, 0, n-1)
@@ -161,7 +163,7 @@ def write_unsigned_exp_golomb(buf:bytes, bit_position: int, v) -> int:
return bit_position
@typechecked
def write_signed_exp_golomb(buf:bytes, bit_position: int, v) -> int:
def write_signed_exp_golomb(buf:bytearray, bit_position: int, v) -> int:
if v <= 0:
bit_position = write_unsigned_exp_golomb(buf, bit_position, -v*2)
else:
@@ -182,7 +184,7 @@ def parse_rbsp_trailing_bits(buf:bytes, bit_position: int) -> int:
return bit_position
@typechecked
def write_rbsp_trailing_bits(buf:bytes, bit_position: int) -> int:
def write_rbsp_trailing_bits(buf:bytearray, bit_position: int) -> int:
bit_position = write_bit(buf, bit_position, 1)
while bit_position%8 != 0:
bit_position = write_bit(buf, bit_position, 0)
@@ -265,7 +267,7 @@ def parse_scaling_list(buf:bytes, bit_position: int, size) -> tuple[int,list[int
# The ISO/IEC H.264-201602 seems to take into account the case where the end of the deltas list
# is full of zeroes.
@typechecked
def write_scaling_list(buf:bytes, bit_position: int, size, matrix:list[int],
def write_scaling_list(buf:bytearray, bit_position: int, size, matrix:list[int],
optimized: bool = False) -> int:
logger.debug('Dumping matrix: %s of size: %d, size parameter: %d.', matrix, len(matrix), size)