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

📄 dct_kc.uc

📁 H.264完整的C语言代码和DCT的代码
💻 UC
📖 第 1 页 / 共 5 页
字号:
    RF:12:IN:0:REG:2 = B:29 STAGE:-1 VAR: uh2_half DATATYPE: UHALF2,
    B:35 = U4:OUT:1 INSTR_LOG:4|tmp#3#||1 VAR: tmp#3 DATATYPE: UHALF2,
    RF:4:IN:0:REG:1 = B:35 STAGE:-1 VAR: tmp#3 DATATYPE: UHALF2,
    // OUT:ADDER_2: ISUB32 => ( tmp#35 == UNITRF_0_2[1] )
    // OUT:MC_0: UC_DATA_IN => ( perm_a == UCRF_0[2] )
    //  IN:COMM_SCHED_0: ( K#5 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x1ccd1ccd == UCRF_0[13] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( K#5 == MULRF_1_1[2] )
    //  IN:ADDER_0: ( uh2_half ) = SHIFT16( tmp#28 == UNITRF_0_2[1], tmp#29 == UNITRF_1_1[4] )
    // OUT:ADDER_0: SHIFT16 => ( uh2_half == UNITRF_0_4[1], uh2_half == UNITRF_CID_0[1], uh2_half == PERMRF_0[1], uh2_half == MULRF_1_0[2] )
    // OUT:MULTIPLIER_1: UMULRND16 => ( tmp#3 == UNITRF_0_3[1] )
    DEAD_REGS: {  };
instr: 17
    MC: OP: UC_DATA_IN LINE:93 IMM:0x10765432 UCRF_RD:12 UCRF_WR:3 STAGES:-1,
    U0: OP: AND LINE:112 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:112
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    U2: OP: SHIFT16 LINE:76 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:76
    U1: OP: SHIFT16 LINE:68 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:68
    U3: OP: UMULRND16 LINE:74 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:74
    B:12 = RF:3:OUT:0:REG:1 VAR: tmp#35 DATATYPE: INT,
    U0:IN:0 = B:12 VAR: tmp#35 DATATYPE: INT,
    B:13 = RF:7:OUT:0:REG:2 VAR: const#7 DATATYPE: ANYINT,
    U0:IN:1 = B:13 VAR: const#7 DATATYPE: ANYINT,
    B:29 = U0:OUT:0 INSTR_LOG:1|idx5#||0 VAR: idx5 DATATYPE: INT,
    RF:4:IN:0:REG:1 = B:29 STAGE:-1 VAR: idx5 DATATYPE: INT,
    RF:17:IN:0:REG:5 = B:29 STAGE:-1 VAR: idx5 DATATYPE: INT,
    RF:16:IN:0:REG:5 = B:29 STAGE:-1 VAR: idx5 DATATYPE: INT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
    B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|K#3#||0 VAR: K#3 DATATYPE: HALF2,
    RF:11:IN:0:REG:2 = B:27 STAGE:-1 VAR: K#3 DATATYPE: HALF2,
    B:16 = RF:5:OUT:0:REG:2 VAR: tmp#15 DATATYPE: UHALF2,
    U2:IN:0 = B:16 VAR: tmp#15 DATATYPE: UHALF2,
    B:17 = RF:9:OUT:0:REG:4 VAR: const#-1 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: const#-1 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:1|quant#4#||0 VAR: quant#4 DATATYPE: HALF2,
    RF:13:IN:0:REG:3 = B:31 STAGE:-1 VAR: quant#4 DATATYPE: HALF2,
    B:14 = RF:4:OUT:0:REG:1 VAR: tmp#3 DATATYPE: UHALF2,
    U1:IN:0 = B:14 VAR: tmp#3 DATATYPE: UHALF2,
    B:15 = RF:8:OUT:0:REG:4 VAR: const#-1 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: const#-1 DATATYPE: ANYINT,
    B:30 = U1:OUT:0 INSTR_LOG:1|quant#0#||0 VAR: quant#0 DATATYPE: HALF2,
    RF:12:IN:0:REG:3 = B:30 STAGE:-1 VAR: quant#0 DATATYPE: HALF2,
    B:23 = IN:1 STAGE:-1 LINE:77 VAR: utmp DATATYPE: UHALF2,
    RF:10:IN:0:REG:1 = B:23 STAGE:-1 VAR: utmp DATATYPE: UHALF2,
    B:19 = RF:12:OUT:0:REG:6 VAR: quant_scale DATATYPE: UHALF2,
    U3:IN:1 = B:19 VAR: quant_scale DATATYPE: UHALF2,
    B:18 = RF:10:OUT:0:REG:1 VAR: utmp DATATYPE: UHALF2,
    U3:IN:0 = B:18 VAR: utmp DATATYPE: UHALF2,
    B:33 = U3:OUT:1 INSTR_LOG:4|tmp#6#||1 VAR: tmp#6 DATATYPE: UHALF2,
    RF:5:IN:0:REG:2 = B:33 STAGE:-1 VAR: tmp#6 DATATYPE: UHALF2,
    //  IN:ADDER_0: ( idx5 ) = AND( tmp#35 == UNITRF_0_2[1], const#7 == UNITRF_1_1[2] )
    // OUT:ADDER_0: AND => ( idx5 == UNITRF_0_3[1], idx5 == SPIDXRF_1[5], idx5 == SPIDXRF_0[5] )
    // OUT:MC_0: UC_DATA_IN => ( perm_b == UCRF_0[3] )
    //  IN:COMM_SCHED_0: ( K#3 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x133e133e == UCRF_0[12] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( K#3 == MULRF_0_1[2] )
    //  IN:ADDER_2: ( quant#4 ) = SHIFT16( tmp#15 == UNITRF_0_4[2], const#-1 == UNITRF_1_3[4] )
    // OUT:ADDER_2: SHIFT16 => ( quant#4 == MULRF_1_1[3] )
    //  IN:ADDER_1: ( quant#0 ) = SHIFT16( tmp#3 == UNITRF_0_3[1], const#-1 == UNITRF_1_2[4] )
    // OUT:ADDER_1: SHIFT16 => ( quant#0 == MULRF_1_0[3] )
    // OUT:INOUT_1: DATA_IN => ( utmp == MULRF_0_0[1] )
    //  IN:MULTIPLIER_0: ( tmp#12, tmp#13 ) = UMULRND16( quant_scale == MULRF_1_0[6], utmp == MULRF_0_0[1] )
    // OUT:MULTIPLIER_0: UMULRND16 => ( tmp#6 == UNITRF_0_4[2] )
    DEAD_REGS: {  };
instr: 18
    MC: OP: UC_DATA_IN LINE:94 IMM:0x21076543 UCRF_RD:11 UCRF_WR:4 STAGES:-1,
    U1: OP: ISUB32 LINE:113 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:113
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    U2: OP: SHIFT16 LINE:70 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:70
    B:14 = RF:4:OUT:0:REG:1 VAR: idx5 DATATYPE: INT,
    U1:IN:0 = B:14 VAR: idx5 DATATYPE: INT,
    B:15 = RF:8:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: hw_const#1 DATATYPE: ANYINT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
    B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|K#2#||0 VAR: K#2 DATATYPE: HALF2,
    RF:13:IN:0:REG:4 = B:27 STAGE:-1 VAR: K#2 DATATYPE: HALF2,
    B:16 = RF:5:OUT:0:REG:2 VAR: tmp#6 DATATYPE: UHALF2,
    U2:IN:0 = B:16 VAR: tmp#6 DATATYPE: UHALF2,
    B:17 = RF:9:OUT:0:REG:4 VAR: const#-1 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: const#-1 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:1|quant#1#||0 VAR: quant#1 DATATYPE: HALF2,
    RF:12:IN:0:REG:4 = B:31 STAGE:-1 VAR: quant#1 DATATYPE: HALF2,
    B:23 = IN:1 STAGE:-1 LINE:79 VAR: utmp DATATYPE: UHALF2,
    RF:11:IN:0:REG:3 = B:23 STAGE:-1 VAR: utmp DATATYPE: UHALF2,
    //  IN:ADDER_1: ( tmp#36 ) = ISUB32( idx5 == UNITRF_0_3[1], hw_const#1 == UNITRF_1_2[0] )
    // OUT:MC_0: UC_DATA_IN => ( perm_c == UCRF_0[4] )
    //  IN:COMM_SCHED_0: ( K#2 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x11511151 == UCRF_0[11] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( K#2 == MULRF_1_1[4] )
    //  IN:ADDER_2: ( quant#1 ) = SHIFT16( tmp#6 == UNITRF_0_4[2], const#-1 == UNITRF_1_3[4] )
    // OUT:ADDER_2: SHIFT16 => ( quant#1 == MULRF_1_0[4] )
    // OUT:INOUT_1: DATA_IN => ( utmp == MULRF_0_1[3] )
    DEAD_REGS: {  };
instr: 19
    MC: OP: UC_DATA_IN LINE:95 IMM:0x32107654 UCRF_RD:19 UCRF_WR:5 STAGES:-1,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    U4: OP: UMULRND16 LINE:80 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:80
    U3: OP: UMULRND16 LINE:78 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:78
    B:30 = U1:OUT:0 INSTR_LOG:2|tmp#36#||0 VAR: tmp#36 DATATYPE: INT,
    RF:5:IN:0:REG:2 = B:30 STAGE:-1 VAR: tmp#36 DATATYPE: INT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
    B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|K#4#||0 VAR: K#4 DATATYPE: HALF2,
    RF:12:IN:0:REG:5 = B:27 STAGE:-1 VAR: K#4 DATATYPE: HALF2,
    RF:13:IN:0:REG:5 = B:27 STAGE:-1 VAR: K#4 DATATYPE: HALF2,
    B:21 = RF:13:OUT:0:REG:5 VAR: quant_scale DATATYPE: UHALF2,
    U4:IN:1 = B:21 VAR: quant_scale DATATYPE: UHALF2,
    B:20 = RF:11:OUT:0:REG:3 VAR: utmp DATATYPE: UHALF2,
    U4:IN:0 = B:20 VAR: utmp DATATYPE: UHALF2,
    B:19 = RF:12:OUT:0:REG:6 VAR: quant_scale DATATYPE: UHALF2,
    U3:IN:1 = B:19 VAR: quant_scale DATATYPE: UHALF2,
    B:18 = RF:10:OUT:0:REG:1 VAR: utmp DATATYPE: UHALF2,
    U3:IN:0 = B:18 VAR: utmp DATATYPE: UHALF2,
    B:23 = IN:1 STAGE:-1 LINE:81 VAR: utmp DATATYPE: UHALF2,
    RF:10:IN:0:REG:1 = B:23 STAGE:-1 VAR: utmp DATATYPE: UHALF2,
    // OUT:ADDER_1: ISUB32 => ( tmp#36 == UNITRF_0_4[2] )
    // OUT:MC_0: UC_DATA_IN => ( perm_d == UCRF_0[5] )
    //  IN:COMM_SCHED_0: ( K#4 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x16a116a1 == UCRF_0[19] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( K#4 == MULRF_1_0[5], K#4 == MULRF_1_1[5] )
    //  IN:MULTIPLIER_1: ( tmp#21, tmp#22 ) = UMULRND16( quant_scale == MULRF_1_1[5], utmp == MULRF_0_1[3] )
    //  IN:MULTIPLIER_0: ( tmp#18, tmp#19 ) = UMULRND16( quant_scale == MULRF_1_0[6], utmp == MULRF_0_0[1] )
    // OUT:INOUT_1: DATA_IN => ( utmp == MULRF_0_0[1] )
    DEAD_REGS: {  };
instr: 20
    MC: OP: UC_DATA_IN LINE:96 IMM:0x43210765 UCRF_RD:18 UCRF_WR:6 STAGES:-1,
    U2: OP: AND LINE:113 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:113
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    U3: OP: UMULRND16 LINE:82 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:82
    B:16 = RF:5:OUT:0:REG:2 VAR: tmp#36 DATATYPE: INT,
    U2:IN:0 = B:16 VAR: tmp#36 DATATYPE: INT,
    B:17 = RF:9:OUT:0:REG:3 VAR: const#7 DATATYPE: ANYINT,
    U2:IN:1 = B:17 VAR: const#7 DATATYPE: ANYINT,
    B:31 = U2:OUT:0 INSTR_LOG:1|idx6#||0 VAR: idx6 DATATYPE: INT,
    RF:3:IN:0:REG:1 = B:31 STAGE:-1 VAR: idx6 DATATYPE: INT,
    RF:17:IN:0:REG:6 = B:31 STAGE:-1 VAR: idx6 DATATYPE: INT,
    RF:16:IN:0:REG:6 = B:31 STAGE:-1 VAR: idx6 DATATYPE: INT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
    B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|COS_1_minus_COS_3#||0 VAR: COS_1_minus_COS_3 DATATYPE: HALF2,
    RF:12:IN:0:REG:6 = B:27 STAGE:-1 VAR: COS_1_minus_COS_3 DATATYPE: HALF2,
    RF:13:IN:0:REG:6 = B:27 STAGE:-1 VAR: COS_1_minus_COS_3 DATATYPE: HALF2,
    B:19 = RF:12:OUT:0:REG:6 VAR: quant_scale DATATYPE: UHALF2,
    U3:IN:1 = B:19 VAR: quant_scale DATATYPE: UHALF2,
    B:18 = RF:10:OUT:0:REG:1 VAR: utmp DATATYPE: UHALF2,
    U3:IN:0 = B:18 VAR: utmp DATATYPE: UHALF2,
    B:33 = U3:OUT:1 INSTR_LOG:4|tmp#12#||1 VAR: tmp#12 DATATYPE: UHALF2,
    RF:4:IN:0:REG:1 = B:33 STAGE:-1 VAR: tmp#12 DATATYPE: UHALF2,
    //  IN:ADDER_2: ( idx6 ) = AND( tmp#36 == UNITRF_0_4[2], const#7 == UNITRF_1_3[3] )
    // OUT:ADDER_2: AND => ( idx6 == UNITRF_0_2[1], idx6 == SPIDXRF_1[6], idx6 == SPIDXRF_0[6] )
    // OUT:MC_0: UC_DATA_IN => ( perm_e == UCRF_0[6] )
    //  IN:COMM_SCHED_0: ( COS_1_minus_COS_3 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x22a322a3 == UCRF_0[18] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( COS_1_minus_COS_3 == MULRF_1_0[6], COS_1_minus_COS_3 == MULRF_1_1[6] )
    //  IN:MULTIPLIER_0: ( tmp#24, tmp#25 ) = UMULRND16( quant_scale == MULRF_1_0[6], utmp == MULRF_0_0[1] )
    // OUT:MULTIPLIER_0: UMULRND16 => ( tmp#12 == UNITRF_0_3[1] )
    DEAD_REGS: {  };
instr: 21
    MC: OP: UC_DATA_IN LINE:97 IMM:0x54321076 UCRF_RD:17 UCRF_WR:7 STAGES:-1,
    U0: OP: ISUB32 LINE:114 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:114
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    U1: OP: SHIFT16 LINE:74 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:74
    U2: OP: ISUB16 LINE:104 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:104
    B:12 = RF:3:OUT:0:REG:1 VAR: idx6 DATATYPE: INT,
    U0:IN:0 = B:12 VAR: idx6 DATATYPE: INT,
    B:13 = RF:7:OUT:0:REG:0 VAR: hw_const#1 DATATYPE: ANYINT,
    U0:IN:1 = B:13 VAR: hw_const#1 DATATYPE: ANYINT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,
    B:8 = RF:2:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
    U7:IN:0 = B:8 VAR: hw_const#0 DATATYPE: ANYINT,
    B:27 = U7:OUT:0 INSTR_LOG:1|COS_1_plus_COS_3#||0 VAR: COS_1_plus_COS_3 DATATYPE: HALF2,
    RF:13:IN:0:REG:7 = B:27 STAGE:-1 VAR: COS_1_plus_COS_3 DATATYPE: HALF2,
    B:14 = RF:4:OUT:0:REG:1 VAR: tmp#12 DATATYPE: UHALF2,
    U1:IN:0 = B:14 VAR: tmp#12 DATATYPE: UHALF2,
    B:15 = RF:8:OUT:0:REG:4 VAR: const#-1 DATATYPE: ANYINT,
    U1:IN:1 = B:15 VAR: const#-1 DATATYPE: ANYINT,
    B:30 = U1:OUT:0 INSTR_LOG:1|quant#3#||0 VAR: quant#3 DATATYPE: HALF2,
    RF:12:IN:0:REG:7 = B:30 STAGE:-1 VAR: quant#3 DATATYPE: HALF2,
    B:16 = RF:5:OUT:0:REG:1 VAR: uh2_half DATATYPE: UHALF2,
    U2:IN:0 = B:16 VAR: uh2_half DATATYPE: UHALF2,
    B:17 = RF:9:OUT:0:REG:2 VAR: tmp#30 DATATYPE: UHALF2,
    U2:IN:1 = B:17 VAR: tmp#30 DATATYPE: UHALF2,
    //  IN:ADDER_0: ( tmp#37 ) = ISUB32( idx6 == UNITRF_0_2[1], hw_const#1 == UNITRF_1_1[0] )
    // OUT:MC_0: UC_DATA_IN => ( perm_f == UCRF_0[7] )
    //  IN:COMM_SCHED_0: ( COS_1_plus_COS_3 ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_const#0x539f539f == UCRF_0[17] )
    // OUT:COMM_SCHED_0: COMMUCDATA => ( COS_1_plus_COS_3 == MULRF_1_1[7] )
    //  IN:ADDER_1: ( quant#3 ) = SHIFT16( tmp#12 == UNITRF_0_3[1], const#-1 == UNITRF_1_2[4] )
    // OUT:ADDER_1: SHIFT16 => ( quant#3 == MULRF_1_0[7] )
    //  IN:ADDER_2: ( uh2_almost_half ) = ISUB16( uh2_half == UNITRF_0_4[1], tmp#30 == UNITRF_1_3[2] )
    DEAD_REGS: {  };
instr: 22
    MC: OP: NLOOP LINE:116 UCRF_RD:16 UCONDRF_RD:1 BR_OFF:41 LAST_STAGE:4,
    U7: OP: COMMUCDATA LINE:-1 STAGE:-1, // D:\working\im_apps\h264\dct_kc.i:-1
    B:29 = U0:OUT:0 INSTR_LOG:2|tmp#37#||0 VAR: tmp#37 DATATYPE: INT,
    RF:4:IN:0:REG:1 = B:29 STAGE:-1 VAR: tmp#37 DATATYPE: INT,
    B:9 = RF:15:OUT:0:REG:0 VAR: hw_const#8 DATATYPE: ANYINT,
    U7:IN:1 = B:9 VAR: hw_const#8 DATATYPE: ANYINT,

⌨️ 快捷键说明

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