blob: 70e935604b7d5a7565702432cf8646ab8a98168a [file] [log] [blame]
Guido van Rossum843d1531992-08-18 14:16:12 +00001import sys
2import VFile
3import time
4import gl, GL
5from DEVICE import *
6
7def main():
8 if sys.argv[1:]:
9 for filename in sys.argv[1:]:
10 process(filename)
11 else:
12 process('film.video')
13
14def process(filename):
15 vin = VFile.VinFile().init(filename)
16 print 'File: ', filename
17 print 'Version: ', vin.version
18 print 'Size: ', vin.width, 'x', vin.height
19 print 'Pack: ', vin.packfactor, '; chrom:', vin.chrompack
20 print 'Bits: ', vin.c0bits, vin.c1bits, vin.c2bits
21 print 'Format: ', vin.format
22 print 'Offset: ', vin.offset
23
24 gl.foreground()
25 gl.prefsize(vin.width, vin.height)
26 win = gl.winopen(filename)
27 vin.initcolormap()
28
29 gl.qdevice(ESCKEY)
30 gl.qdevice(WINSHUT)
31 gl.qdevice(WINQUIT)
32
33 t0 = time.millitimer()
34 running = 1
35 data = None
36 while 1:
37 if running:
38 try:
39 t, data, chromdata = vin.getnextframe()
40 except EOFError:
41 running = 0
42 gl.wintitle('(done)')
43 if running:
44 dt = t + t0 - time.millitimer()
45 if dt > 0:
46 time.millisleep(dt)
47 vin.showframe(data, chromdata)
48 if not running or gl.qtest():
49 dev, val = gl.qread()
50 if dev in (ESCKEY, WINSHUT, WINQUIT):
51 break
52 if dev == REDRAW:
53 gl.reshapeviewport()
54 if data:
55 vin.showframe(data, chromdata)
56
57main()