Made it work for more cases.
diff --git a/Demo/sgi/video/vinfo.py b/Demo/sgi/video/vinfo.py
index 98b29fa..196a0da 100755
--- a/Demo/sgi/video/vinfo.py
+++ b/Demo/sgi/video/vinfo.py
@@ -1,4 +1,3 @@
-#!/ufs/guido/bin/sgi/python3.3
 from gl import *
 from GL import *
 from DEVICE import *
@@ -10,36 +9,52 @@
 EndOfFile = 'End of file'
 bye = 'bye'
 
-def openvideo(name):
-    f = open(name, 'r')
-    w, h = eval(f.readline()[:-1])
-    return f, w, h
-def loadframe(f, w, h):
-    tijd = f.readline()
-    if tijd = '':
+def openvideo(filename):
+    f = open(filename, 'r')
+    line = f.readline()
+    if not line: raise EndOfFile
+    if line[:4] = 'CMIF': line = f.readline()
+    x = eval(line[:-1])
+    if len(x) = 3: w, h, pf = x
+    else: w, h = x; pf = 2
+    return f, w, h, pf
+
+def loadframe(f, w, h, pf):
+    line = f.readline()
+    if line = '':
 	raise EndOfFile
-    tijd = eval(tijd[:-1])
-    f.seek(w*h*4,1)
+    x = eval(line[:-1])
+    if type(x) = type(0) or type(x) = type(0.0):
+    	tijd = x
+    	if pf = 0:
+    		size = w*h*4
+    	else:
+    		size = (w/pf) * (h/pf)
+    else:
+    	tijd, size = x
+    f.seek(size, 1)
     return tijd
+
 def saveframe(name, w, h, tijd, data):
     f = open(name, 'w')
     f.write(`w,h` + '\n')
     f.write(`tijd` + '\n')
     f.write(data)
     f.close()
+
 def main():
 	if len(sys.argv) > 1:
 		names = sys.argv[1:]
 	else:
 		names = ['film.video']
 	for name in names:
-	    f, w, h = openvideo(name)
-	    print name+': '+`w`+'x'+`h`
+	    f, w, h, pf = openvideo(name)
+	    print name, ':', w, 'x', h, '; pf =', pf
 	    num = 0
 	    try:
 		while 1:
 		    try:
-			tijd = loadframe(f, w, h)
+			tijd = loadframe(f, w, h, pf)
 			print '\t', tijd,
 			num = num + 1
 			if num % 8 = 0: