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

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

?? genidct.py

?? 視頻壓縮編解碼標準MPEG4商業級別的VC代碼實現標準
?? PY
字號:
#! /usr/bin/python# generate the linzer-feig multiply-add idct for ia64# (c) 2002 Christian Schwarz <schwarz@ira.uka.de>,#          Haiko Gaisser <haiko@gaisser.de>,#          Sebastian Hack <mail@s-hack.de>import mathpre_shuffle = [ 0, 4, 2, 6, 1, 7, 3, 5 ]post_shuffle = [ 0, 1, 6, 3, 7, 2, 5, 4 ]constants = 16float_scratch = range(32, 32+constants)regbase = max(float_scratch)+1intregbase = 33def print_matrix(matrix,s=''):    if s != '':        print "\n\t// %s" % s    for i in range(0, 8):        print "\t// ",        for j in range(0, 4):            print "%2d" % matrix[i*4+j],        print ""def exchange_elements(list, a, b):    """ Exchange two list elements    """    (list[a], list[b]) = (list[b], list[a])def alloc_regs(matrix, n):    """ get the smallest register not used by the matrix    """        regs = [ ]    for i in range(0, n):        m = regbase        while m in matrix or m in regs:            m = m + 1        regs.append(m)    return regsdef transpose_2x2_submatrix(matrix, i, j):    """ transpose a 2x2 submatrix in the 8x8 matrix    """    a = j    b = i    tmp = matrix[i*8+j]    matrix[i*8+j] = matrix[a*8+b]    matrix[a*8+b] = tmp    tmp = matrix[i*8+j+4]    matrix[i*8+j+4] = matrix[a*8+b+4]    matrix[a*8+b+4] = tmpdef transpose(matrix):    """ register renaming for transpose    """    regs = alloc_regs(matrix, 16)    save_regs = regs[:]    # emit code ...    for i in range(1,8,2):        for j in range(0,4):            r1 = matrix[(i-1)*4+j]            r2 = matrix[i*4+j]            print '\tfmix.r  f%d = f%d, f%d' % (save_regs.pop(0), r1, r2)    print '\t;;'    for i in range(0,8,2):        for j in range(0,4):            r1 = matrix[i*4+j]            r2 = matrix[(i+1)*4+j]            print '\tfmix.l  f%d = f%d, f%d' % (r1, r1, r2)    print '\t;;'    # first stage, transpose the 2x2 matrices    for i in range(1,8,2):        for j in range(0,4):            r = matrix[i*4+j]            matrix[i*4+j] = regs.pop(0)#    print_matrix(matrix)    # exchange the 2x2 matrices by renaming the registers    for i in range(0, 4):        for j in range(i+1, 4):            transpose_2x2_submatrix(matrix, i, j)#    print ''#    print_matrix(matrix)#    print "transpose"#    print_matrix(matrix)# register renaming for 8 regs containing a columndef shuffle_column(matrix, col, permutation):    l = [ ]    for i in range(0,8):        l.append(matrix[i*4+col])    for i in range(0,8):        matrix[i*4+col] = l[permutation[i]]def butterfly(matrix, col, i, j, c1, c2):    """ register renaming for a butterfly operation in a column    """    ri = matrix[i*4+col]    rj = matrix[j*4+col]    regs = alloc_regs(matrix, 1)    print '\t// (f%d, f%d) = (f%d, f%d) $ (%s, %s), (line %d, %d)' % \          (regs[0], rj, ri, rj, c1, c2, i, j)    print '\tfpma    f%d = f%d, %s, f%d' % (regs[0], rj, c1, ri)    print '\tfpnma   f%d = f%d, %s, f%d' % (rj, rj, c2, ri)    print '\t;;'        matrix[i*4+col] = regs[0]def column_idct(matrix, col):    print_matrix(matrix, "before pre shuffle")    shuffle_column(matrix, col, pre_shuffle)    print_matrix(matrix, "after pre shuffle")    butterfly(matrix, col, 0, 1, 'c0', 'c0')    butterfly(matrix, col, 2, 3, 'c1', 'c2')    butterfly(matrix, col, 4, 5, 'c3', 'c4')    butterfly(matrix, col, 6, 7, 'c5', 'c6')    print '\t;;'    butterfly(matrix, col, 0, 3, 'c7', 'c7')    butterfly(matrix, col, 1, 2, 'c8', 'c8')    butterfly(matrix, col, 4, 6, 'c9', 'c9')    butterfly(matrix, col, 5, 7, 'c10', 'c10')    print '\t;;'    butterfly(matrix, col, 5, 6, 'c11', 'c11')    butterfly(matrix, col, 0, 4, 'c12', 'c12')    butterfly(matrix, col, 3, 7, 'c14', 'c14')    print '\t;;'    butterfly(matrix, col, 1, 5, 'c13', 'c13')    butterfly(matrix, col, 2, 6, 'c13', 'c13')        print_matrix(matrix, "before post shuffle")    shuffle_column(matrix, col, post_shuffle)    print_matrix(matrix, "after post shuffle")def gen_idct(matrix):    for j in range(0, 2):        for i in range(0, 4):           print '\tfpma    f%d = f%d, c0, f0' \                 % (2 * (matrix[i],))        print '\t;;'        for i in range(0,4):            column_idct(matrix, i)        print '\t;;'        transpose(matrix)def gen_consts():    print 'addreg1 = r14'    print 'addreg2 = r15'        for i in range(0, constants):        print 'c%d = f%d' % (i, float_scratch.pop(0))    sqrt2 = math.sqrt(2.0)    t = [ ]    s = [ ]    c = [ ]    for i in range(0,5):        t.append(math.tan(i * math.pi / 16))        s.append(math.sin(i * math.pi / 16))        c.append(math.cos(i * math.pi / 16))            consts = [ ]    consts.append(1.0 / (2.0 * sqrt2))    consts.append(-1 / t[2])    consts.append(-t[2])    consts.append(t[1])    consts.append(1 / t[1])    consts.append(t[3])    consts.append(1 / t[3])    consts.append(0.5 * c[2])    consts.append(0.5 * s[2])    consts.append(c[3] / c[1])    consts.append(s[3] / s[1])    consts.append(c[1] / s[1])    consts.append(0.5 * c[1])    consts.append(0.5 * s[1] * c[4])    consts.append(0.5 * s[1])    consts.append(1.0)    print '.sdata'    for i in range(0, constants):        if i % 2 == 0:            print '.align 16'        print '.data_c%d:' % i        print '.single %.30f, %.30f' % (consts[i], consts[i])    print ''def gen_load(matrix):        for i in range(0, 64, 2):        print '\tld2  r%d = [addreg1], 4' % (intregbase+i)        print '\tld2  r%d = [addreg2], 4' % (intregbase+i+1)        print '\t;;'    for i in range(0, 64, 2):        print '\tsxt2  r%d = r%d' % (2*(intregbase+i,))        print '\tsxt2  r%d = r%d' % (2*(intregbase+i+1,))    print '\t;;'            for i in range(0, 64, 2):        print '\tsetf.sig  f%d = r%d' % (regbase+i, intregbase+i)        print '\tsetf.sig  f%d = r%d' % (regbase+i+1, intregbase+i+1)    print '\t;;'    for i in range(0, 64, 2):        print '\tfcvt.xf  f%d = f%d' % (2*(regbase+i,))        print '\tfcvt.xf  f%d = f%d' % (2*(regbase+i+1,))    print '\t;;'    for i in range(0, 32):        print '\tfpack    f%d = f%d, f%d' \              % (regbase+i, regbase+2*i, regbase+2*i+1)        print '\t;;'    """    for i in range(0, len(matrix)):        print '\tld2  r18 = [addreg1], 4'         print '\tld2  r19 = [addreg2], 4'        print '\t;;'        print '\tsxt2 r18 = r18'        print '\tsxt2 r19 = r19'        print '\t;;'        print '\tsetf.sig f18 = r18'        print '\tsetf.sig f19 = r19'        print '\t;;'        print '\tfcvt.xf  f18 = f18'        print '\tfcvt.xf  f19 = f19'        print '\t;;'        print '\tfpack      f%d = f18, f19' % (matrix[i])        print '\t;;'    """        def gen_store(matrix):    print '\tmov   addreg1 = in0'    print '\tadd   addreg2 = 4, in0'    print '\t;;'    for i in range(0, len(matrix)):        print '\tfpcvt.fx f%d = f%d' % (2*(matrix[i],))    print '\t;;'    for i in range(0, len(matrix)):        print '\tgetf.sig r%d = f%d' % (intregbase+i, matrix[i])    print '\t;;'    for i in range(0, len(matrix)):        print '\tshl      r%d = r%d, 7' % (2*(intregbase+i,))    print '\t;;'    for i in range(0, len(matrix)):        print '\tpack4.sss r%d = r%d, r0' % (2*(intregbase+i,))    print '\t;;'    for i in range(0, len(matrix)):        print '\tpshr2    r%d = r%d, 7' % (2*(intregbase+i,))    print '\t;;'    for i in range(0, len(matrix)):        print '\tmux2     r%d = r%d, 0xe1' % (2*(intregbase+i,))    print '\t;;'    for i in range(0, len(matrix), 2):        print '\tst4   [addreg1] = r%d, 8' % (intregbase+i)        print '\tst4   [addreg2] = r%d, 8' % (intregbase+i+1)	print '\t;;'    def main():    gen_consts()    print '.text'    print '.global idct_ia64'    print '.global idct_ia64_init'    print '.align 16'    print '.proc idct_ia64_init'    print 'idct_ia64_init:'    print 'br.ret.sptk.few b0'    print '.endp'    print '.align 16'    print '.proc idct_ia64'    print 'idct_ia64:'    f = open('idct_init.s')    print f.read()    f.close()        matrix = [ ]    for i in range(0,32):        matrix.append(regbase + i)    gen_load(matrix)#    print_matrix(matrix)    gen_idct(matrix)#    transpose(matrix)    print_matrix(matrix)    gen_store(matrix)    f = open('idct_fini.s')    print f.read()    f.close()        print '.endp'if __name__ == "__main__":    main()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国精产品一区一区三区mba桃花| 极品少妇xxxx精品少妇| 国产欧美日产一区| 精品国产乱码久久久久久闺蜜| 精品视频在线看| 一本到三区不卡视频| 日本道色综合久久| 欧美亚洲高清一区| 69堂国产成人免费视频| 日韩亚洲欧美成人一区| 欧美不卡视频一区| 国产欧美精品国产国产专区| 国产精品久久久久四虎| 亚洲女人****多毛耸耸8| 亚洲男同1069视频| 婷婷夜色潮精品综合在线| 青椒成人免费视频| 国产成人a级片| 色哟哟一区二区| 宅男在线国产精品| 国产日产欧美一区二区视频| 亚洲视频综合在线| 日韩电影在线一区| 岛国av在线一区| 91国偷自产一区二区开放时间| 欧美麻豆精品久久久久久| 精品欧美乱码久久久久久1区2区| 国产亚洲精品资源在线26u| 亚洲欧美另类久久久精品| 日本不卡免费在线视频| 不卡一区二区中文字幕| 3d动漫精品啪啪一区二区竹菊| 久久久亚洲综合| 亚洲国产精品麻豆| 国产九色sp调教91| 欧美日韩一区二区三区在线| 国产亚洲人成网站| 日日夜夜一区二区| 成人黄色大片在线观看| 欧美一级艳片视频免费观看| 最新热久久免费视频| 秋霞午夜av一区二区三区| 成人午夜看片网址| 日韩精品影音先锋| 亚洲成人在线免费| 成人av在线一区二区| 精品少妇一区二区三区在线播放 | 欧美一区二区播放| 亚洲另类一区二区| 成人一区在线观看| 欧美成人精品3d动漫h| 亚洲国产综合色| 成人高清av在线| 久久亚洲私人国产精品va媚药| 亚洲自拍另类综合| 成人免费看的视频| 久久久久久久久久美女| 美日韩一区二区| 欧美精品乱码久久久久久按摩| 亚洲欧洲av在线| 懂色av一区二区在线播放| 精品国产凹凸成av人导航| 丝袜美腿高跟呻吟高潮一区| 欧美午夜理伦三级在线观看| 综合精品久久久| 97se亚洲国产综合自在线 | 99re热这里只有精品视频| 26uuu国产一区二区三区| 免费高清不卡av| 欧美一级精品在线| 久久国产三级精品| 精品少妇一区二区三区免费观看| 美女视频一区二区三区| 日韩亚洲欧美成人一区| 精品一区二区三区的国产在线播放| 欧美日韩卡一卡二| 亚洲成人av电影| 69精品人人人人| 日本vs亚洲vs韩国一区三区二区| 欧美日韩极品在线观看一区| 香蕉成人伊视频在线观看| 欧美日本精品一区二区三区| 婷婷综合另类小说色区| 日韩一区二区在线看| 精品一区二区三区免费播放| 国产三级一区二区| 91免费精品国自产拍在线不卡| 国产欧美日韩视频在线观看| 97久久久精品综合88久久| 亚洲另类春色国产| 欧美疯狂性受xxxxx喷水图片| 奇米四色…亚洲| 亚洲精品在线免费播放| 懂色av一区二区夜夜嗨| 亚洲综合在线电影| 日韩一区二区三区观看| 国产美女精品一区二区三区| 中文字幕在线不卡一区二区三区| 欧美中文字幕久久| 久久疯狂做爰流白浆xx| 日韩理论片网站| 欧美电影在哪看比较好| 国产一区二区三区电影在线观看 | 亚洲欧洲另类国产综合| 欧美日韩在线观看一区二区| 久久精品国产亚洲5555| 综合电影一区二区三区| 日韩区在线观看| 成人av网站在线观看免费| 午夜激情综合网| 国产精品视频九色porn| 欧美肥胖老妇做爰| 成人污污视频在线观看| 天天综合天天综合色| 中文字幕电影一区| 在线播放国产精品二区一二区四区| 国产精品一区二区在线观看网站 | 亚洲免费观看高清在线观看| 91精品国产综合久久精品麻豆| 成人激情小说网站| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲精品菠萝久久久久久久| 久久久精品免费观看| 5566中文字幕一区二区电影| av网站免费线看精品| 国内精品嫩模私拍在线| 亚洲成人一二三| 亚洲日穴在线视频| 国产精品午夜春色av| 精品电影一区二区| 制服.丝袜.亚洲.另类.中文| 一本色道久久综合狠狠躁的推荐| 高清av一区二区| 国产成人综合网站| 久久se这里有精品| 免费欧美在线视频| 欧美aa在线视频| 奇米精品一区二区三区四区| 亚洲午夜视频在线观看| 亚洲欧洲精品一区二区三区| 国产亲近乱来精品视频| 日本一区二区在线不卡| 久久久久久久久久久久电影| 精品欧美一区二区三区精品久久| 日韩一区二区三区视频| 欧美一级艳片视频免费观看| 91精品蜜臀在线一区尤物| 欧美一区二区三区视频免费播放 | 不卡在线观看av| 国产精品夜夜嗨| 狠狠色狠狠色合久久伊人| 精品制服美女丁香| 国产在线观看免费一区| 国产福利一区在线| 国产aⅴ精品一区二区三区色成熟| 激情六月婷婷综合| 国产成人免费9x9x人网站视频| 国产传媒日韩欧美成人| 国产传媒日韩欧美成人| www.欧美色图| 91精品福利视频| 欧美三级电影精品| 91精品在线观看入口| 欧美一区二区日韩一区二区| 日韩精品一区二区在线| 国产亚洲综合性久久久影院| 中文字幕在线观看一区| 亚洲一二三级电影| 美国av一区二区| 国产不卡在线视频| 色久综合一二码| 制服丝袜亚洲网站| 久久久精品国产免大香伊| 亚洲同性同志一二三专区| 亚洲一区视频在线| 久久er精品视频| 99视频精品在线| 欧美日韩高清一区二区不卡| 亚洲精品一区二区在线观看| 国产精品久久网站| 日韩不卡一区二区三区| 国产精品亚洲人在线观看| 日本韩国欧美国产| 2023国产精华国产精品| 一级女性全黄久久生活片免费| 日本不卡视频一二三区| av午夜精品一区二区三区| 91精品国模一区二区三区| 国产精品视频yy9299一区| 五月开心婷婷久久| 99re在线精品| 2021国产精品久久精品| 午夜亚洲福利老司机| 国产999精品久久| 欧美一区二区美女| 亚洲精品国产成人久久av盗摄| 看片的网站亚洲| 欧日韩精品视频| 中文字幕精品在线不卡| 免费不卡在线视频|