summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xDemo/sgi/video/VFile.py23
-rwxr-xr-xDemo/sgi/video/Vrec.py14
2 files changed, 27 insertions, 10 deletions
diff --git a/Demo/sgi/video/VFile.py b/Demo/sgi/video/VFile.py
index e6191ab..53a13b6 100755
--- a/Demo/sgi/video/VFile.py
+++ b/Demo/sgi/video/VFile.py
@@ -190,6 +190,7 @@ class VideoParams:
self.width = 0 # width of frame
self.height = 0 # height of frame
self.packfactor = 1, 1 # expansion using rectzoom
+ # Colormap info
self.c0bits = 8 # bits in first color dimension
self.c1bits = 0 # bits in second color dimension
self.c2bits = 0 # bits in third color dimension
@@ -224,6 +225,22 @@ class VideoParams:
self.realwidth = self.width / self.xpf
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())
def setsize(self, width, height):
@@ -242,9 +259,9 @@ class VideoParams:
def setformat(self, format):
if self.frozen: raise CallError
- if format <> self.format:
- self.format = format
- self.setderived()
+ self.format = format
+ self.setderived()
+ self.setcmapinfo()
# Get the format
diff --git a/Demo/sgi/video/Vrec.py b/Demo/sgi/video/Vrec.py
index 7b95aee..a78490f 100755
--- a/Demo/sgi/video/Vrec.py
+++ b/Demo/sgi/video/Vrec.py
@@ -255,17 +255,17 @@ def record(v, info, filename, audiofilename, mono, grey, greybits, \
if filename:
vout = VFile.VoutFile().init(filename)
if mono:
- vout.format = 'mono'
+ format = 'mono'
elif grey and greybits == 8:
- vout.format = 'grey'
+ format = 'grey'
elif grey:
- vout.format = 'grey'+`abs(greybits)`
+ format = 'grey'+`abs(greybits)`
else:
- vout.format = 'rgb8'
- vout.width = x
- vout.height = y
+ format = 'rgb8'
+ vout.setformat(format)
+ vout.setsize(x, y)
if fields:
- vout.packfactor = (1,-2)
+ vout.setpf(1, -2))
vout.writeheader()
if preallocspace:
print 'Preallocating space...'