Merge branch 'issue218' into devel
This commit is contained in:
commit
afb61d28e6
2 changed files with 19 additions and 4 deletions
|
|
@ -990,14 +990,18 @@ class ContiguousCodestreamBox(Jp2kBox):
|
||||||
offset of the box from the start of the file.
|
offset of the box from the start of the file.
|
||||||
longname : str
|
longname : str
|
||||||
more verbose description of the box.
|
more verbose description of the box.
|
||||||
main_header : list
|
main_header : Codestream object
|
||||||
List of segments in the codestream header.
|
contains list of main header marker/segments
|
||||||
|
main_header_offset : int
|
||||||
|
offset of main header from start of file
|
||||||
"""
|
"""
|
||||||
def __init__(self, main_header=None, length=0, offset=-1):
|
def __init__(self, main_header=None, main_header_offset=None, length=0,
|
||||||
|
offset=-1):
|
||||||
Jp2kBox.__init__(self, box_id='jp2c', longname='Contiguous Codestream')
|
Jp2kBox.__init__(self, box_id='jp2c', longname='Contiguous Codestream')
|
||||||
self._main_header = main_header
|
self._main_header = main_header
|
||||||
self.length = length
|
self.length = length
|
||||||
self.offset = offset
|
self.offset = offset
|
||||||
|
self.main_header_offset = main_header_offset
|
||||||
|
|
||||||
# The filename can be set if lazy loading is desired.
|
# The filename can be set if lazy loading is desired.
|
||||||
self._filename = None
|
self._filename = None
|
||||||
|
|
@ -1046,11 +1050,13 @@ class ContiguousCodestreamBox(Jp2kBox):
|
||||||
-------
|
-------
|
||||||
ContiguousCodestreamBox instance
|
ContiguousCodestreamBox instance
|
||||||
"""
|
"""
|
||||||
|
main_header_offset = fptr.tell()
|
||||||
if _parseoptions['codestream'] is True:
|
if _parseoptions['codestream'] is True:
|
||||||
main_header = Codestream(fptr, length, header_only=True)
|
main_header = Codestream(fptr, length, header_only=True)
|
||||||
else:
|
else:
|
||||||
main_header = None
|
main_header = None
|
||||||
box = cls(main_header, length=length, offset=offset)
|
box = cls(main_header, main_header_offset=main_header_offset,
|
||||||
|
length=length, offset=offset)
|
||||||
box._filename = fptr.name
|
box._filename = fptr.name
|
||||||
box._length = length
|
box._length = length
|
||||||
box._offset = offset
|
box._offset = offset
|
||||||
|
|
|
||||||
|
|
@ -935,6 +935,9 @@ class TestWrap(unittest.TestCase):
|
||||||
class TestJp2Boxes(unittest.TestCase):
|
class TestJp2Boxes(unittest.TestCase):
|
||||||
"""Tests for canonical JP2 boxes."""
|
"""Tests for canonical JP2 boxes."""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.jpxfile = glymur.data.jpxfile()
|
||||||
|
|
||||||
def test_default_jp2k(self):
|
def test_default_jp2k(self):
|
||||||
"""Should be able to instantiate a JPEG2000SignatureBox"""
|
"""Should be able to instantiate a JPEG2000SignatureBox"""
|
||||||
jp2k = glymur.jp2box.JPEG2000SignatureBox()
|
jp2k = glymur.jp2box.JPEG2000SignatureBox()
|
||||||
|
|
@ -971,6 +974,12 @@ class TestJp2Boxes(unittest.TestCase):
|
||||||
self.assertEqual(box.box_id, 'jp2c')
|
self.assertEqual(box.box_id, 'jp2c')
|
||||||
self.assertIsNone(box.main_header)
|
self.assertIsNone(box.main_header)
|
||||||
|
|
||||||
|
def test_codestream_main_header_offset(self):
|
||||||
|
"""main_header_offset is an attribute of the CCS box"""
|
||||||
|
j = Jp2k(self.jpxfile);
|
||||||
|
self.assertEqual(j.box[5].main_header_offset,
|
||||||
|
j.box[5].offset + 8)
|
||||||
|
|
||||||
|
|
||||||
class TestRepr(unittest.TestCase):
|
class TestRepr(unittest.TestCase):
|
||||||
"""Tests for __repr__ methods."""
|
"""Tests for __repr__ methods."""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue