⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfix.py

📁 reduced python source for embedded apps
💻 PY
字号:
#! /usr/bin/env python# Copy a video file, fixing the line width to be a multiple of 4# Usage:## Vfix [infile [outfile]]# Options:## infile     : input file (default film.video)# outfile    : output file (default out.video)import sysimport imageopsys.path.append('/ufs/guido/src/video')import VFile# Main program -- mostly command line parsingdef main():	args = sys.argv[1:]	if len(args) < 1:		args.append('film.video')	if len(args) < 2:		args.append('out.video')	if len(args) > 2:		sys.stderr.write('usage: Vfix [infile [outfile]]\n')		sys.exit(2)	sts = process(args[0], args[1])	sys.exit(sts)# Copy one file to anotherdef process(infilename, outfilename):	try:		vin = VFile.BasicVinFile(infilename)	except IOError, msg:		sys.stderr.write(infilename + ': I/O error: ' + `msg` + '\n')		return 1	except VFile.Error, msg:		sys.stderr.write(msg + '\n')		return 1	except EOFError:		sys.stderr.write(infilename + ': EOF in video file\n')		return 1	try:		vout = VFile.BasicVoutFile(outfilename)	except IOError, msg:		sys.stderr.write(outfilename + ': I/O error: ' + `msg` + '\n')		return 1	info = vin.getinfo()	if info[0] <> 'grey':		sys.stderr.write('Vfix: input not in grey format\n')		return 1	vout.setinfo(info)	inwidth, height = vin.getsize()	pf = vin.packfactor	if (inwidth/pf)%4 == 0:		sys.stderr.write('Vfix: fix not necessary\n')		return 1	outwidth = (inwidth/pf/4)*4*pf	print 'inwidth =', inwidth, 'outwidth =', outwidth	vout.setsize(outwidth, height)	vout.writeheader()	n = 0	try:		while 1:			t, data, cdata = vin.getnextframe()			n = n + 1			sys.stderr.write('Frame ' + `n` + '...')			data = imageop.crop(data, 1, inwidth/pf, height/pf, \				0, 0, outwidth/pf-1, height/pf-1)			vout.writeframe(t, data, None)			sys.stderr.write('\n')	except EOFError:		pass	return 0# Don't forget to call the main programmain()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -