From 828abe942ac4f2ebbac27c9e8339fa42e36870e6 Mon Sep 17 00:00:00 2001 From: jevans Date: Thu, 3 Apr 2014 22:53:52 -0400 Subject: [PATCH] Removed one read statement, using struct.unpack_from. #130 --- glymur/codestream.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/glymur/codestream.py b/glymur/codestream.py index 544b8a2..2a257ed 100644 --- a/glymur/codestream.py +++ b/glymur/codestream.py @@ -380,13 +380,13 @@ class Codestream(object): COD segment instance. """ offset = fptr.tell() - 2 - offset = fptr.tell() - 2 - read_buffer = fptr.read(3) - length, scod = struct.unpack('>HB', read_buffer) + read_buffer = fptr.read(2) + length, = struct.unpack('>H', read_buffer) - numbytes = offset + 2 + length - fptr.tell() - spcod = fptr.read(numbytes) + read_buffer = fptr.read(length - 2) + scod, = struct.unpack_from('>B', read_buffer, offset=0) + spcod = read_buffer[1:] spcod = np.frombuffer(spcod, dtype=np.uint8) if spcod[0] not in [LRCP, RLCP, RPCL, PCRL, CPRL]: msg = "Invalid progression order in COD segment: {0}."