]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Use imgconv to try to do image type conversion
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 27 Jan 1993 11:40:16 +0000 (11:40 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 27 Jan 1993 11:40:16 +0000 (11:40 +0000)
Demo/sgi/video/rgb2video.py

index 040c1e52ac588aa259316ba7f1500f935342f9f1..c6dd6854b45cc13a22dd0ddd99d1f4790dd6d7f8 100755 (executable)
@@ -3,6 +3,7 @@ import VFile
 import getopt
 import imgfile
 import string
+import imgconv
 
 def main():
        format = None
@@ -31,18 +32,21 @@ def main():
        xsize, ysize, zsize = imgfile.getsizes(args[0])
        nxsize = xsize
        
-       if not format:
-               if zsize == 3:
-                       format = 'rgb'
-               elif zsize == 1:
-                       format = 'grey'
-                       if xsize % 4:
-                               addbytes = 4-(xsize%4)
-                               nxsize = xsize + addbytes
-                               print 'rgb2video: add',addbytes,'pixels per line'
-               else:
-                       print 'rgb2video: incorrect number of planes:',zsize
-                       sys.exit(1)
+       if zsize == 3:
+               oformat = 'rgb'
+       elif zsize == 1:
+               oformat = 'grey'
+               if xsize % 4:
+                       addbytes = 4-(xsize%4)
+                       nxsize = xsize + addbytes
+                       print 'rgb2video: add',addbytes,'pixels per line'
+       else:
+               print 'rgb2video: incorrect number of planes:',zsize
+               sys.exit(1)
+
+       if format == None:
+               format = oformat
+       cfunc = imgconv.getconverter(oformat, format)
 
        vout = VFile.VoutFile().init(outfile)
        vout.format = format
@@ -63,7 +67,7 @@ def main():
                                curline = data[i:i+xsize]
                                ndata = ndata + curline + ('\0'*(nxsize-xsize))
                        data = ndata
-               vout.writeframe(t, data, None)
+               vout.writeframe(t, cfunc(data, nxsize, ysize), None)
                t = t + interval
        sys.stderr.write('\n')
        vout.close()