Commit da86ef2e authored by Guido van Rossum's avatar Guido van Rossum

VFile: fix c0bits etc. after setformat; Vrec.py: use setformat; rm Makefile.

parent ed12467e
...@@ -190,6 +190,7 @@ class VideoParams: ...@@ -190,6 +190,7 @@ class VideoParams:
self.width = 0 # width of frame self.width = 0 # width of frame
self.height = 0 # height of frame self.height = 0 # height of frame
self.packfactor = 1, 1 # expansion using rectzoom self.packfactor = 1, 1 # expansion using rectzoom
# Colormap info
self.c0bits = 8 # bits in first color dimension self.c0bits = 8 # bits in first color dimension
self.c1bits = 0 # bits in second color dimension self.c1bits = 0 # bits in second color dimension
self.c2bits = 0 # bits in third color dimension self.c2bits = 0 # bits in third color dimension
...@@ -224,6 +225,22 @@ class VideoParams: ...@@ -224,6 +225,22 @@ class VideoParams:
self.realwidth = self.width / self.xpf self.realwidth = self.width / self.xpf
self.realheight = self.height / self.ypf self.realheight = self.height / self.ypf
# Set colormap info
def setcmapinfo(self):
stuff = 0, 0, 0, 0, 0
if self.format in ('rgb8', 'grey'):
stuff = 8, 0, 0, 0, 0
if self.format == 'grey4':
stuff = 4, 0, 0, 0, 0
if self.format == 'grey2':
stuff = 2, 0, 0, 0, 0
if self.format == 'mono':
stuff = 1, 0, 0, 0, 0
print 'setcmapinfo:', stuff
self.c0bits, self.c1bits, self.c2bits, \
self.offset, self.chrompack = stuff
# Set the frame width and height (e.g. from gl.getsize()) # Set the frame width and height (e.g. from gl.getsize())
def setsize(self, width, height): def setsize(self, width, height):
...@@ -242,9 +259,9 @@ class VideoParams: ...@@ -242,9 +259,9 @@ class VideoParams:
def setformat(self, format): def setformat(self, format):
if self.frozen: raise CallError if self.frozen: raise CallError
if format <> self.format: self.format = format
self.format = format self.setderived()
self.setderived() self.setcmapinfo()
# Get the format # Get the format
......
...@@ -255,17 +255,17 @@ def record(v, info, filename, audiofilename, mono, grey, greybits, \ ...@@ -255,17 +255,17 @@ def record(v, info, filename, audiofilename, mono, grey, greybits, \
if filename: if filename:
vout = VFile.VoutFile().init(filename) vout = VFile.VoutFile().init(filename)
if mono: if mono:
vout.format = 'mono' format = 'mono'
elif grey and greybits == 8: elif grey and greybits == 8:
vout.format = 'grey' format = 'grey'
elif grey: elif grey:
vout.format = 'grey'+`abs(greybits)` format = 'grey'+`abs(greybits)`
else: else:
vout.format = 'rgb8' format = 'rgb8'
vout.width = x vout.setformat(format)
vout.height = y vout.setsize(x, y)
if fields: if fields:
vout.packfactor = (1,-2) vout.setpf(1, -2))
vout.writeheader() vout.writeheader()
if preallocspace: if preallocspace:
print 'Preallocating space...' print 'Preallocating space...'
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment