File tree Expand file tree Collapse file tree 1 file changed +10
-7
lines changed
Expand file tree Collapse file tree 1 file changed +10
-7
lines changed Original file line number Diff line number Diff line change 1414#
1515from __future__ import annotations
1616
17+ from io import BytesIO
18+
1719from . import Image , ImageFile
1820from ._binary import i8
1921
2224
2325
2426class BitStream :
25- def __init__ (self , fp ) :
27+ def __init__ (self , fp : BytesIO ) -> None :
2628 self .fp = fp
2729 self .bits = 0
2830 self .bitbuffer = 0
2931
30- def next (self ):
32+ def next (self ) -> int :
3133 return i8 (self .fp .read (1 ))
3234
33- def peek (self , bits ) :
35+ def peek (self , bits : int ) -> int :
3436 while self .bits < bits :
3537 c = self .next ()
3638 if c < 0 :
@@ -40,13 +42,13 @@ def peek(self, bits):
4042 self .bits += 8
4143 return self .bitbuffer >> (self .bits - bits ) & (1 << bits ) - 1
4244
43- def skip (self , bits ) :
45+ def skip (self , bits : int ) -> None :
4446 while self .bits < bits :
4547 self .bitbuffer = (self .bitbuffer << 8 ) + i8 (self .fp .read (1 ))
4648 self .bits += 8
4749 self .bits = self .bits - bits
4850
49- def read (self , bits ) :
51+ def read (self , bits : int ) -> int :
5052 v = self .peek (bits )
5153 self .bits = self .bits - bits
5254 return v
@@ -61,9 +63,10 @@ class MpegImageFile(ImageFile.ImageFile):
6163 format = "MPEG"
6264 format_description = "MPEG"
6365
64- def _open (self ):
65- s = BitStream ( self .fp )
66+ def _open (self ) -> None :
67+ assert self .fp is not None
6668
69+ s = BitStream (self .fp )
6770 if s .read (32 ) != 0x1B3 :
6871 msg = "not an MPEG file"
6972 raise SyntaxError (msg )
You can’t perform that action at this time.
0 commit comments