亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mvctestcase.py

?? JMVM MPEG MVC/3DAV 測試平臺 國際通用標準
?? PY
字號:

"""
This module provides the MVCTestCase class, which is useful for
defining a test encoding run that can be spawned on a Beowulf
cluster or just locally on a single machine.  The idea is that
you can write a script that creates an instance of the MVCTestCase
class to define your tests.

See the documentation for the MVCTestCase class for instructions.
"""

import CreateConfigFile, os, time, re

class MVCTestCase:
    """
    class MVCTestCase

    This class creates a test case for multiview video coding.  After
    creating the test case, calling the Run() method will spawn the
    job on a Beowulf cluster machine.  Alternatively, calling the
    RunOnLocalhost() method will start the job on the local machine.
    This is useful if you do not have a Beowulf cluster.
    
    See documentation for the __init__ method for what the initialization
    parameters mean.
    """

    def __init__(self, qp, paramsForMVC={}, paramsForJSVM={},
                 pythonExe='python', 
                 baseWorkingDirectory = os.path.join(
        os.sep,'opt','turing','scratch',os.getenv('USER'),'MVC'),
                 qsubExe='/opt/torque//bin/qsub',mainMVCDir=os.getcwd(),
                 comment='',adminEmail=None, switchedWorkingDir=None):
        """
        __init__(self, qp, paramsForMVC={}, paramsForJSVM={},
                 pythonExe='python', 
                 baseWorkingDirectory = os.path.join(
        os.sep,'opt','turing','scratch',os.getenv('USER'),'MVC')
                 qsubExe='/opt/torque/bin/qsub',mainMVCDir=os.getcwd(),
                 comment='',adminEmail=None, switchedWorkingDir=None):

                 qp:    Quantiation parameter to use.

                 paramsForMVC: A dictionary of parameter overrides to use
                               in the generated config file.

                 paramsForJSVM: A dictionary of parameter overrides to use
                                in the generated config file.

                 pythonExe:   Name of python executable.

                 baseWorkingDirectory: The directory to use for output.
                 
                 qsubExe:     Path to qsub executable to spawn a Beowulf job.

                 mainMVCDir:  Path to directory containing the MVCRunner.py
                              module to call to actually do multiview coding.
                              If you called python from the directory above
                              MVCRunner.py, this will automatically be set.

                 comment:     A simple string comment that will be used in
                              the automatically generated working directory.

                 adminEmail:  Optional email address of someone to send
                              problems to when running test case.

                 switchedWorkingDir:  Optional directory to switch to for
                                      .yuv, .264, and other files.
                              
        """
        for item in ['pythonExe', 'mainMVCDir', 'qsubExe', 'comment',
                     'baseWorkingDirectory','qp']:
            self.__dict__[item] = locals()[item]
        assert (re.match('^[-:.,_+=@a-zA-Z_0-9]*$',self.comment)), (
            'Invalid comment %s; Only simple characters (%s) allowed.' % (
            `self.comment`,'[-:.,_+=@a-zA-Z_0-9]'))

        self.workingDir = os.path.join(
            self.baseWorkingDirectory,
            paramsForMVC['SEQUENCE'].strip('_'),
            self.comment + paramsForMVC['SEQUENCE'] + 
            time.strftime('_%h_%d_%H_%M__qp') + `qp` )
        self.configFileName = os.path.join(self.workingDir,'configFile.py')
        self.paramsForMVC = dict(paramsForMVC)
        self.paramsForJSVM = dict(paramsForJSVM)
        self.adminEmail = adminEmail
        self.switchedWorkingDir = switchedWorkingDir
        self.namePrefix = paramsForMVC['SEQUENCE'].strip('_') + '_MVCScript'

    def Run(self):
        """
        Run(self):

        This is the main method for this class.  After you create an
        instance of the class, calling this spawns the job on turing
        and exits.
        """
        if (not os.path.exists(self.qsubExe)):
            print '\n\n'
            print 'WARNING:  No qsub executable found so jobs will be'
            print '          run on local machine not on parallel cluster.\n\n'
            self.RunOnLocalhost()
            
        self.PrepareDirectoryForJob()
        self.PrepareQsubScript()
        self.ExecuteQsubScript()

    def RunOnLocalhost(self):
        """
        RunOnLocalhost(self):

        This is an alternative to the Run method.  After you create an
        instance of the class, calling this starts the job on the
        local machine instead of on the Beowulf cluster.
        """
        self.PrepareDirectoryForJob()
        self.PrepareQsubScript()
        self.ExecuteQsubScriptOnLocalhost()


    def PrepareDirectoryForJob(self):
        for directory in [os.path.dirname(os.path.dirname(self.workingDir)),
                          os.path.dirname(self.workingDir),self.workingDir]:
            if (not os.path.exists(directory)):
                print '\nCreating directory %s\n' % `directory`
                os.mkdir(directory)   
            
        CreateConfigFile.WriteConfigFile(
            self.paramsForMVC,self.paramsForJSVM,self.configFileName,
            self.mainMVCDir,self.workingDir,self.qp,self.adminEmail,
            self.switchedWorkingDir)

        self.scriptFile = os.path.join(self.workingDir,self.namePrefix+'.csh')
        self.logFile = os.path.join(self.workingDir,self.namePrefix+'.log')
        self.errFile = os.path.join(self.workingDir,self.namePrefix+'.err')


    def PrepareQsubScript(self):

        print '--> Creating temporary execution script ' + `self.scriptFile`

        fd = open(self.scriptFile,'w')
        fd.write('#!/bin/csh\n')
        fd.write('cd ' + self.workingDir + '\n')
        fd.write('%s %s %s |& tee stdout.txt\n' % (
            self.pythonExe,
            os.path.join(self.mainMVCDir,'MVC','tools','MVCRunner.py'),
            self.configFileName))
        fd.close()
        os.chmod(self.scriptFile,0755)

    def ExecuteQsubScript(self):
        print '\n\n'
        print '\t***********************************'
        print '\t*                                 *'
        print '\t*  SPAWNING JOB VIA BEOWULF       *'
        print '\t*                                 *'
        print '\t***********************************'
        print '\n\n'
        os.spawnv(os.P_NOWAIT,self.qsubExe,
                  [self.qsubExe,'-lnodes=1','-m','ae','-o',
                   self.logFile,'-e',self.errFile,self.scriptFile])

    def ExecuteQsubScriptOnLocalhost(self):
        print '\n\n'
        print '\t***********************************'
        print '\t*                                 *'
        print '\t*  STARTING JOB ON LOCAL MACHINE  *'
        print '\t*                                 *'
        print '\t***********************************'
        print '\n\n'
        os.execv(self.scriptFile,[self.scriptFile])


def MyDefaultEmail():
    """
    MyDefaultEmail():

    Create an email address for me by looking at the USER and HOST
    environment variables.
    """
    (user, host) = map(os.getenv, ['USER','HOST'])
    if ('' == user.strip() or '' == user.strip()):
        print '\n'
        print 'WARNING:   Could not determine default email address.\n'
        print '           Setting default email to None.\n\n'
        return None
    else:
        splitHost = host.split('.')
        N = len(splitHost)
        if ('turing' == host.strip() or
            re.compile('.*merl.com').search(host.strip())):
            print '\n'
            print 'WARNING:  Using mail.merl.com for host on MERL system.'
            return '%s@mail.merl.com' % user
        elif (N >= 2):
            return '%s@%s.%s' % (user, splitHost[N-2], splitHost[N-1])
        else:
            print 'WARNING:  Could not figure out hostname from %s.' %host
            print '           Setting default email to None.\n\n'
            return None
    
            
            

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清一级片| 久久午夜电影网| 色噜噜久久综合| 一本到一区二区三区| av成人免费在线| 一本到不卡免费一区二区| 91极品美女在线| 欧美片在线播放| 精品处破学生在线二十三| 精品国产一区a| 日本一区二区三区电影| 亚洲欧美一区二区在线观看| 亚洲欧美激情插| 亚洲国产成人tv| 精品一区二区三区免费播放| 国产伦精一区二区三区| 成人高清视频在线观看| 欧美日韩精品一区视频| 亚洲精品一线二线三线| 日韩伦理电影网| 美脚の诱脚舐め脚责91| 91浏览器入口在线观看| 日韩欧美精品三级| 亚洲免费在线观看| 麻豆国产欧美一区二区三区| 91麻豆视频网站| 国产欧美一区二区在线| 日韩电影在线一区二区三区| 91成人在线精品| 5月丁香婷婷综合| 色香蕉成人二区免费| 欧美日韩高清一区二区不卡| 欧美人动与zoxxxx乱| 欧美日韩国产影片| 欧美成人综合网站| 欧美国产日韩亚洲一区| 精品国产污污免费网站入口| 日韩 欧美一区二区三区| 国产亚洲人成网站| 91精品国产色综合久久ai换脸 | 99国产精品一区| 日韩av电影一区| 亚洲午夜精品久久久久久久久| 精品福利视频一区二区三区| 欧美日韩你懂得| 99久久精品免费| 国产99久久久国产精品| 久久99久久精品欧美| 亚洲综合自拍偷拍| 亚洲婷婷综合色高清在线| 久久久精品免费网站| 欧美成人r级一区二区三区| 欧美视频在线不卡| 欧美日韩视频不卡| 欧美性一二三区| 欧美日韩免费观看一区三区| 欧洲国内综合视频| 欧美亚洲另类激情小说| 欧美视频一区二区三区| 欧美日韩精品一区二区三区四区| 91国偷自产一区二区三区成为亚洲经典| 成人一级黄色片| 91女人视频在线观看| 成人禁用看黄a在线| 成人福利视频在线| 色综合久久66| 日韩欧美在线一区二区三区| 精品久久久三级丝袜| 欧美国产禁国产网站cc| 亚洲精品中文字幕在线观看| 一个色综合av| 日本强好片久久久久久aaa| 精品无人区卡一卡二卡三乱码免费卡| 青娱乐精品在线视频| 国产伦理精品不卡| 在线免费观看视频一区| 久久久久综合网| 亚洲一级在线观看| 国产精品一二三四区| 91成人在线观看喷潮| 久久综合久久综合亚洲| 亚洲色图欧美在线| 久久精品国产久精国产爱| eeuss鲁一区二区三区| 日韩三级免费观看| 亚洲国产日韩精品| 99精品视频中文字幕| 日韩欧美国产午夜精品| 亚洲一区在线免费观看| 成人av高清在线| 久久午夜羞羞影院免费观看| 亚洲国产va精品久久久不卡综合| 国产成人8x视频一区二区| 91精品国产一区二区三区| 亚洲精品欧美专区| 成人黄页毛片网站| 精品久久一区二区三区| 日韩激情一二三区| 欧美一区二区三区四区在线观看 | 日韩va亚洲va欧美va久久| 粉嫩欧美一区二区三区高清影视| 欧美岛国在线观看| 奇米四色…亚洲| 日韩欧美一区二区在线视频| 午夜成人在线视频| 欧美日韩一区二区欧美激情| 亚洲人快播电影网| 欧美三级日韩三级| 亚洲高清免费在线| 欧美一区日本一区韩国一区| 日韩在线a电影| 久久久五月婷婷| 99精品热视频| 亚洲一区二区三区美女| 欧美一区二区观看视频| 免费成人在线观看| 久久精品视频网| 欧美在线制服丝袜| 精品一区二区三区免费观看| 国产欧美一区二区精品性色| 91国产免费看| 九九精品一区二区| 亚洲黄色性网站| 精品国产一区二区三区忘忧草| 成人午夜av电影| 日韩精品亚洲一区| 久久青草国产手机看片福利盒子| 91最新地址在线播放| 日韩激情中文字幕| 中文字幕字幕中文在线中不卡视频| 欧美日韩高清一区二区| 国产精品原创巨作av| 香蕉久久夜色精品国产使用方法 | 免费欧美高清视频| 亚洲精品免费在线播放| 久久在线观看免费| 欧美日韩亚洲综合| 色一区在线观看| 国产成人免费视频一区| 日韩电影在线免费看| 中文字幕日韩欧美一区二区三区| 欧美成人乱码一区二区三区| 在线中文字幕一区二区| 99久久久久免费精品国产| 国产v日产∨综合v精品视频| 久久成人18免费观看| 免费在线欧美视频| 奇米影视7777精品一区二区| 亚洲成人资源在线| 亚洲五月六月丁香激情| 亚洲永久精品大片| 一个色在线综合| 亚洲高清免费视频| 亚洲h在线观看| 久久精品国产一区二区三区免费看| 亚洲国产精品欧美一二99| 亚洲 欧美综合在线网络| 亚洲一区在线免费观看| 日韩成人免费电影| 狠狠久久亚洲欧美| 成人精品国产免费网站| 99v久久综合狠狠综合久久| 97国产一区二区| 欧美日韩视频在线观看一区二区三区 | 亚洲一区二区在线免费看| 亚洲一区视频在线观看视频| 亚洲一二三四区| 韩国欧美一区二区| 91丝袜高跟美女视频| 91.com在线观看| 久久亚洲精精品中文字幕早川悠里| 欧美高清在线视频| 亚洲国产日韩精品| 成人一区二区三区| 欧美伦理电影网| 1区2区3区欧美| 久久91精品国产91久久小草| 99在线精品一区二区三区| 制服丝袜亚洲网站| 国产精品电影一区二区三区| 三级成人在线视频| 99久久99久久精品免费看蜜桃| 日韩免费在线观看| 一区二区欧美在线观看| 国产成人精品亚洲午夜麻豆| 在线影视一区二区三区| 中文子幕无线码一区tr| 秋霞成人午夜伦在线观看| 欧美视频一区在线观看| 亚洲欧洲精品天堂一级| 国产成人精品在线看| 日韩欧美国产麻豆| 欧美a级理论片| 欧美一级视频精品观看| 亚洲a一区二区| 欧美在线观看视频在线| 五月婷婷久久丁香| 欧美酷刑日本凌虐凌虐| 亚洲国产精品一区二区久久恐怖片 | 日本强好片久久久久久aaa|