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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? createconfigfile.py

?? JMVM MPEG MVC/3DAV 測試平臺 國際通用標(biāo)準(zhǔn)
?? PY
字號:

"""
This module provides the MakeConfigFile and WriteConfigFile functions
which can create a configuration file for the desired test and/or write
it to a file.  Specifically, this module provides routines to make
the configuration files expected by MVCRunner.py.  Note that MVCRunner.py
then uses the configuration file created by this module to create
further configuration files for the JSVM encoder/decoder and view
interpolation.  Therefore the config file created by this module
is basically a master of all other config files created by mv_script.

See comments for MakeConfigFile and WriteConfigFile for details.
"""

import os, os.path


def MakeConfigFile(paramsForMVC, paramsForJSVM, mainMVCDir):
    """
    MakeConfigFile(paramsForMVC, paramsForJSVM, mainMVCDir):

        paramsForMVC:  This is a dictionary of parameters required for the
                       multi-view video coder.

        paramsForJSVM:   This is a dictionary of parameters required by the
                         JSVM software.

        mainMVCDir:    This is the path to the main directory for this module.
                       Among other things, it is used to determine where the
                       JSVM executables are stored.

    This function creates a configuration file by combining the values in
    the various params*** arguments with the defaults.  The body of this
    function contains comments describing the various parameters.  Only
    parameters whose default values are None must be specified by the caller;
    all other parameters will be set to reasonable defaults.
    """
    # Following are parameters that control MVC but don't go in JSVM config file
    configParamsForMVC = {
        #
        'SizeOfGOP' : None, # how big to make each GOP
        #
        # Describes what prediction structure to use.  Can be one of
        # {'SimpleHierarchicalB', }
        'PredictionStructure' : None,
        #
        #
        'NumExtraPViews' : 0, # How many P extra views to put before starting
        #                     # mode named by PredictionStructure, e.g., if
        #                     # NumExtraPViews=1 then a I P B P B ... view
        #                     # structure will be used for SimpleHierarchicalB.
        #
        'SOURCEPATH' : None, # directory containing source sequences
        #
        #
        'MakeLocalCopiesIfNecessary' : 0, # If this is true, then the exe and
        #                                 # input video files are copied to the
        #                                 # working directory.
        #
        # SEQUENCE provides the name of the sequence to code while
        # SEQUENCE_NUMBERS provides a list of numbers for the sequences.
        # For example, if SEQUENCE = 'ballroom_' and SEQUENCE_NUMBERS =[1,2,3]
        # then the sequences ballroom_1, ballroom_2, and ballroom_3 in
        # the directory named by SOURCEPATH will be encoded.
        'SEQUENCE' : None,
        'SEQUENCE_NUMBERS' : None,
        #
        #
        # PREFIX is a prefix label to use for the output files.
        #
        'PREFIX' : 'MV_IBBP',
        #
        #
        'BINPATH' : os.path.join(os.getcwd(),'..','bin') + os.sep,
        #
        # EncoderBinFile and DecoderBinFile are the names of the executables
        # in the BINPATH directory to use for encoding and decoding.
        #
        'EncoderBinFile' : 'H264AVCEncoderLibTestStatic',
        'DecoderBinFile' : 'H264AVCDecoderLibTestStatic',
        #
        'suffix' : '.yuv', # suffix after source files
        #
        'IViewDeltaQP' : 0, # modifier for QP for I views
        #
        #
        # The alreadyEncodedViews entry contains a hash table where
        # the keys are view numbers and the values are YUV files
        # that have already been encoded.  For example, if you had
        # started encoding things for the ballroom sequence and
        # crashed part way through, you might set this to
        # { 0 : '/path/to/ballroom_0_recon.yuv',
        #   1 : '/path/to/ballroom_0_recon.yuv' }
        'alreadyEncodedViews' : {},
        #
        #
        'IViewDeltaQP' : 0 # additional offset for I views
        }


    # Following are parameters that will go in the JM software config file.
    # See the JM software documentation for a description of what these mean.
    configParamsForJSVM = {
        'FramesToBeEncoded' : 100,
        'FrameRate' : 30.0,
        'SourceWidth' : 640,
        'SourceHeight' : 480,
        }

    for paramDictName in ['ParamsForMVC', 'ParamsForJSVM']:
        paramDict = locals()['p'+paramDictName.lstrip('P')]
        resultDict = locals()['config'+paramDictName]
        for paramName in paramDict.keys():
            resultDict[paramName] = paramDict[paramName]
        for paramName in resultDict.keys():
            if (None == resultDict[paramName]):
                raise '\n\nNo value provided for parameter %s\n\t%s.\n\n' % (
                    ('config%s[%s]' % (paramDictName,paramName)),
                    'This is value required')

    return (configParamsForMVC, configParamsForJSVM)

def WriteConfigFile(configParamsForMVC, configParamsForJSVM, outputFile,
                    mainMVCDir, workingDir, qp, adminEmail,switchedWorkingDir):
    """
    WriteConfigFile(configParamsForMVC, configParamsForJSVM, outputFile,
                    mainMVCDir, workingDir, qp, adminEmail,switchedWorkingDir):

    This function calls MakeConfigFile and passes it the
    configParamsForMVC, configParamsForJSVM, and
    mainMVCDir parameters and writes the result to outputFile.
    """
    fd = open(outputFile,'w')

    (configParamsForMVC, configParamsForJSVM) = MakeConfigFile(
        configParamsForMVC, configParamsForJSVM, mainMVCDir)

    for paramDictName in ['configParamsForMVC', 'configParamsForJSVM']:
        fd.write('p%s = {\n' % paramDictName.strip('configP'))
        paramDict = locals()[paramDictName]
        for key in paramDict.keys():
            value = paramDict[key]
            if (str == type(value)):
                value = '"%s"' % value
            else:
                value = `value`
            fd.write('\t%s : %s,\n' % (`key`,value))
        fd.write('}\n\n\n')
    fd.write('workingDir = %s\n\n' % `workingDir`)
    fd.write('qp = %i\n\n' % qp)
    fd.write('adminEmail = "%s"\n\n' % adminEmail)
    fd.write('switchedWorkingDir = "%s"\n\n' % switchedWorkingDir)
    fd.close()

def ValidateConfig(config):
    """
    ValidateConfig(config):

    config:  A module representing a config file as generated by the
             WriteConfigFile function.

    This function does some simple sanity checking on the config
    module and raises an exception if there is something wrong.
    """

    for viewNum in config.paramsForMVC['alreadyEncodedViews'].keys():
        reconFile = config.paramsForMVC['alreadyEncodedViews'][viewNum]
        if (not os.path.exists(reconFile)):
            raise 'File named by paramsForMVC["alreadyEncodedViews"][%i]\n%s'%(
                viewNum, 'does not exist.')
        reconFileLength = os.stat(reconFile)[6]
        expectedLength = 3 * ( ( (config.paramsForJSVM['SourceHeight'] *
                                  config.paramsForJSVM['SourceWidth']) / 2 ) *
                               config.paramsForJSVM['FramesToBeEncoded'] )
        if (reconFileLength != expectedLength):
            msg = ('File ' + paramsForMVC["alreadyEncodedViews"][i] + ' '
                   'named by paramsForMVC["alreadyEncodedViews"][' + `i` +']'+
                   (' has length %i instead of expected length %i.\n' %
                    (reconFileLength, expectedLength)))
            raise msg
                

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩中文播放| 久久久久久久久岛国免费| 亚洲综合视频在线| 在线观看av不卡| 偷拍一区二区三区| 精品少妇一区二区| 国产在线国偷精品免费看| 久久久精品免费观看| 成人免费毛片app| 一区二区三区自拍| 日韩午夜激情视频| 国产91精品久久久久久久网曝门| 中文字幕中文字幕在线一区| 欧日韩精品视频| 美女一区二区视频| 久久久久国产免费免费| 色哟哟亚洲精品| 毛片不卡一区二区| 中文字幕一区av| 91精品欧美久久久久久动漫| 国产精品影视在线| 亚洲一区二区三区三| 日韩欧美亚洲另类制服综合在线| 国产精品一区二区三区99| 亚洲特黄一级片| 日韩一区二区在线免费观看| 国产成人精品一区二区三区四区| 亚洲精品自拍动漫在线| 欧美成人激情免费网| av一二三不卡影片| 免费在线观看精品| 亚洲美女区一区| 欧美精品一区二区三区很污很色的 | 国产一区二区三区四| 一区二区三区精品在线| 欧美成人伊人久久综合网| 99久久er热在这里只有精品15| 香蕉久久夜色精品国产使用方法 | 亚洲精选一二三| 2024国产精品| voyeur盗摄精品| 久久99精品国产麻豆婷婷洗澡| 亚洲欧洲国产日本综合| 欧美成人免费网站| 欧美日韩免费电影| 成人v精品蜜桃久久一区| 免费看黄色91| 亚洲综合免费观看高清在线观看| 国产日韩欧美不卡| 欧美成人一区二区三区在线观看 | 欧美日韩国产综合草草| 粉嫩欧美一区二区三区高清影视| 天天综合色天天综合| 亚洲精品视频免费看| 国产精品丝袜91| 久久综合色之久久综合| 日韩视频一区在线观看| 欧美日产在线观看| 欧美在线观看你懂的| 99热在这里有精品免费| 国产精品伊人色| 国产乱人伦偷精品视频不卡 | 亚洲美女精品一区| 国产精品美女视频| 亚洲国产成人在线| 欧美高清在线精品一区| 久久看人人爽人人| 国产三级精品三级在线专区| 337p日本欧洲亚洲大胆精品| 日韩色在线观看| 日韩欧美的一区| 精品国产三级电影在线观看| 日韩一区二区在线看| 日韩女优av电影| 欧美大白屁股肥臀xxxxxx| 日韩欧美一区在线| 日韩欧美国产一二三区| 欧美电影免费观看高清完整版在| 777亚洲妇女| 欧美mv和日韩mv的网站| 精品国产乱码久久久久久闺蜜 | 国产欧美一区二区三区鸳鸯浴 | 亚洲制服欧美中文字幕中文字幕| 亚洲激情自拍视频| 亚洲国产精品天堂| 水蜜桃久久夜色精品一区的特点| 日韩国产欧美在线视频| 日本一道高清亚洲日美韩| 婷婷综合另类小说色区| 蜜乳av一区二区三区| 极品少妇xxxx偷拍精品少妇| 国产盗摄女厕一区二区三区| 国产suv精品一区二区6| 99精品黄色片免费大全| 欧洲一区二区av| 91精品国产免费| 国产午夜久久久久| 亚洲人成网站在线| 日韩黄色小视频| 国产一区二区美女诱惑| 成人免费视频一区二区| 日本韩国视频一区二区| 欧美一区二区在线视频| 久久精品人人做人人爽97| 中文字幕制服丝袜一区二区三区 | 色综合久久久久网| 欧美挠脚心视频网站| 亚洲精品在线电影| 亚洲精品成人精品456| 奇米精品一区二区三区在线观看 | 国产日韩欧美精品在线| 亚洲最新视频在线观看| 麻豆精品一区二区| 成人免费av资源| 6080日韩午夜伦伦午夜伦| 久久久综合九色合综国产精品| 一区视频在线播放| 久久精品国产亚洲高清剧情介绍| 丰满少妇久久久久久久| 欧美色涩在线第一页| 亚洲日本va午夜在线影院| 视频精品一区二区| 99久久99久久久精品齐齐| 日韩视频免费直播| 一区二区三区日韩精品视频| 久久国产精品免费| 欧美视频日韩视频在线观看| 久久综合九色综合97婷婷女人| 亚洲综合色成人| 国产成人免费av在线| 欧美一区二区三区精品| 亚洲伦在线观看| 国产原创一区二区| 69堂国产成人免费视频| 亚洲欧洲国产日韩| 国产高清不卡一区| 日韩一级视频免费观看在线| 一区二区三区欧美| 成人免费视频播放| 久久综合色综合88| 欧美aaaaa成人免费观看视频| 99久久国产综合精品色伊| 久久先锋影音av鲁色资源网| 亚洲图片欧美色图| 99精品欧美一区| 中文字幕第一区二区| 国产又黄又大久久| 日韩精品专区在线| 日本v片在线高清不卡在线观看| 91蜜桃网址入口| 中文字幕佐山爱一区二区免费| 国内成+人亚洲+欧美+综合在线 | 国产老妇另类xxxxx| 欧美一级一区二区| 亚洲午夜久久久久久久久电影网 | 欧美性猛交xxxx乱大交退制版| 成人欧美一区二区三区1314 | 在线观看亚洲精品视频| 亚洲精品日产精品乱码不卡| 不卡一区二区在线| 亚洲图片另类小说| 92精品国产成人观看免费| 国产精品日日摸夜夜摸av| 国产成人综合视频| 国产欧美精品国产国产专区 | 国产精品一色哟哟哟| 精品久久久久久久久久久久久久久| 日韩精品一级二级 | 国产精品卡一卡二| 成人av资源在线观看| 日韩一区中文字幕| 91成人免费网站| 亚洲高清视频的网址| 91精品欧美久久久久久动漫| 免费的成人av| 欧美精品一区二区三区在线播放| 国产一区二区女| 国产精品看片你懂得| 日本韩国欧美一区二区三区| 亚洲一区二区三区视频在线 | 在线一区二区观看| 亚洲一区二区视频在线观看| 欧美日韩成人一区二区| 美女在线观看视频一区二区| 精品蜜桃在线看| 成人精品免费视频| 夜夜嗨av一区二区三区中文字幕| 欧美视频精品在线观看| 激情久久久久久久久久久久久久久久| 精品少妇一区二区三区日产乱码 | 136国产福利精品导航| 国产成人在线视频网址| 国产精品毛片a∨一区二区三区| av日韩在线网站| 亚洲超丰满肉感bbw| 精品国产污污免费网站入口| av资源站一区| 亚洲成国产人片在线观看| 制服丝袜激情欧洲亚洲| 欧美三区在线观看|