me_fast_jitter1_kc.uc
来自「H.264完整的C语言代码和DCT的代码」· UC 代码 · 共 978 行 · 第 1/5 页
UC
978 行
U3: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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:9 = RF:15:OUT:0:REG:2 VAR: i DATATYPE: INT,
U7:IN:1 = B:9 VAR: i DATATYPE: INT,
B:17 = RF:9:OUT:0:REG:5 VAR: const#3 DATATYPE: ANYINT,
U2:IN:1 = B:17 VAR: const#3 DATATYPE: ANYINT,
B:16 = RF:5:OUT:0:REG:2 VAR: const#4 DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: const#4 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|const#7#||0 VAR: const#7 DATATYPE: ANYINT,
RF:7:IN:0:REG:5 = B:31 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:9:IN:0:REG:5 = B:31 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:3:IN:0:REG:3 = B:31 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
RF:4:IN:0:REG:5 = B:31 STAGE:-1 VAR: const#7 DATATYPE: ANYINT,
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:11 = RF:14:OUT:0:REG:0 VAR: cluster#id DATATYPE: ANYINT,
U5:IN:1 = B:11 VAR: cluster#id DATATYPE: ANYINT,
B:28 = U5:OUT:0 INSTR_LOG:1|cluster#id#||0 VAR: cluster#id DATATYPE: ANYINT,
RF:8:IN:0:REG:7 = B:28 STAGE:-1 VAR: cluster#id DATATYPE: ANYINT,
B:44 = RF:18:OUT:7:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U4:IN:2 = B:44 VAR: hw_const#0 DATATYPE: ANYINT,
B:21 = RF:13:OUT:0:REG:5 VAR: idx DATATYPE: INT,
U4:IN:1 = B:21 VAR: idx DATATYPE: INT,
B:35 = U4:OUT:1 INSTR_LOG:1|idx#||1 VAR: idx DATATYPE: INT,
RF:17:IN:0:REG:2 = B:35 STAGE:-1 VAR: idx DATATYPE: INT,
B:43 = RF:18:OUT:6:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U3:IN:2 = B:43 VAR: hw_const#0 DATATYPE: ANYINT,
B:18 = RF:10:OUT:0:REG:1 VAR: idx DATATYPE: INT,
U3:IN:0 = B:18 VAR: idx DATATYPE: INT,
B:33 = U3:OUT:1 INSTR_LOG:1|idx#||1 VAR: idx DATATYPE: INT,
RF:5:IN:0:REG:4 = B:33 STAGE:-1 VAR: idx DATATYPE: INT,
// IN:COMM_SCHED_0: ( i ) = COMMXUCDATA( hw_const#0 == UNITRF_0_1[0], i == PERMRF_0[2] )
// IN:ADDER_2: ( const#7 ) = OR( const#3 == UNITRF_1_3[5], const#4 == UNITRF_0_4[2] )
// OUT:ADDER_2: OR => ( const#7 == UNITRF_1_1[5], const#7 == UNITRF_1_3[5], const#7 == UNITRF_0_2[3], const#7 == UNITRF_0_3[5] )
// IN:DIVIDER_0: ( cluster#id ) = SELECT( hw_const#0 == CCRF_0[0], cluster#id == UNITRF_CID_0[0] )
// OUT:DIVIDER_0: SELECT => ( cluster#id == UNITRF_1_2[7] )
// IN:MULTIPLIER_1: ( idx ) = SELECT( hw_const#0 == CCRF_0[0], idx == MULRF_1_1[5] )
// OUT:MULTIPLIER_1: SELECT => ( idx == SPIDXRF_1[2] )
// IN:MULTIPLIER_0: ( idx ) = NSELECT( hw_const#0 == CCRF_0[0], idx == MULRF_0_0[1] )
// OUT:MULTIPLIER_0: NSELECT => ( idx == UNITRF_0_4[4] )
DEAD_REGS: { };
instr: 30
MC: OP: NONE LINE:-1 UCRF_RD:4 UCRF_WR:5 STAGES:-1,
U7: OP: COMMUCDATA LINE:48 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:48
U1: OP: SHIFT32 LINE:57 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:57
U4: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U0: OP: SHIFT32 LINE:56 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:56
U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U3: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U2: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
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|mb_width#||0 VAR: mb_width DATATYPE: UINT,
RF:3:IN:0:REG:6 = B:27 STAGE:-1 VAR: mb_width DATATYPE: UINT,
B:14 = RF:4:OUT:0:REG:6 VAR: xoffset DATATYPE: UINT,
U1:IN:0 = B:14 VAR: xoffset DATATYPE: UINT,
B:15 = RF:8:OUT:0:REG:1 VAR: const#-1 DATATYPE: ANYINT,
U1:IN:1 = B:15 VAR: const#-1 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|tmp#126#||0 VAR: tmp#126 DATATYPE: UINT,
RF:9:IN:0:REG:6 = B:30 STAGE:-1 VAR: tmp#126 DATATYPE: UINT,
B:44 = RF:18:OUT:7:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U4:IN:2 = B:44 VAR: hw_const#0 DATATYPE: ANYINT,
B:20 = RF:11:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U4:IN:0 = B:20 VAR: hw_const#0 DATATYPE: ANYINT,
B:35 = U4:OUT:1 INSTR_LOG:1|const#0#||1 VAR: const#0 DATATYPE: ANYINT,
RF:8:IN:0:REG:8 = B:35 STAGE:-1 VAR: const#0 DATATYPE: ANYINT,
B:12 = RF:3:OUT:0:REG:4 VAR: offsets DATATYPE: UINT,
U0:IN:0 = B:12 VAR: offsets DATATYPE: UINT,
B:13 = RF:7:OUT:0:REG:7 VAR: const#-16 DATATYPE: ANYINT,
U0:IN:1 = B:13 VAR: const#-16 DATATYPE: ANYINT,
B:29 = U0:OUT:0 INSTR_LOG:1|yoffset#||0 VAR: yoffset DATATYPE: UINT,
RF:4:IN:0:REG:6 = B:29 STAGE:-1 VAR: yoffset DATATYPE: UINT,
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:11 = RF:14:OUT:0:REG:3 VAR: idx DATATYPE: INT,
U5:IN:1 = B:11 VAR: idx DATATYPE: INT,
B:28 = U5:OUT:0 INSTR_LOG:1|idx#||0 VAR: idx DATATYPE: INT,
RF:17:IN:0:REG:2 = B:28 STAGE:-1 VAR: idx DATATYPE: INT,
B:43 = RF:18:OUT:6:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U3:IN:2 = B:43 VAR: hw_const#0 DATATYPE: ANYINT,
B:18 = RF:10:OUT:0:REG:1 VAR: idx DATATYPE: INT,
U3:IN:0 = B:18 VAR: idx DATATYPE: INT,
B:33 = U3:OUT:1 INSTR_LOG:1|idx#||1 VAR: idx DATATYPE: INT,
RF:5:IN:0:REG:5 = B:33 STAGE:-1 VAR: idx DATATYPE: INT,
B:42 = RF:18:OUT:5:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U2:IN:2 = B:42 VAR: hw_const#0 DATATYPE: ANYINT,
B:17 = RF:9:OUT:0:REG:6 VAR: left_margin DATATYPE: INT,
U2:IN:1 = B:17 VAR: left_margin DATATYPE: INT,
B:31 = U2:OUT:0 INSTR_LOG:1|left_margin#||0 VAR: left_margin DATATYPE: INT,
RF:7:IN:0:REG:7 = B:31 STAGE:-1 VAR: left_margin DATATYPE: INT,
// OUT:COMM_SCHED_0: COMM_WR_UCR => ( loopcnt == UCRF_0[5] )
// IN:COMM_SCHED_0: ( mb_width ) = COMMUCDATA( hw_const#8 == PERMRF_0[0], hw_const#0 == UNITRF_0_1[0], uc_mb_width == UCRF_0[4] )
// OUT:COMM_SCHED_0: COMMUCDATA => ( mb_width == UNITRF_0_2[6] )
// IN:ADDER_1: ( tmp#126 ) = SHIFT32( xoffset == UNITRF_0_3[6], const#-1 == UNITRF_1_2[1] )
// OUT:ADDER_1: SHIFT32 => ( tmp#126 == UNITRF_1_3[6] )
// IN:MULTIPLIER_1: ( const#0 ) = NSELECT( hw_const#0 == CCRF_0[0], hw_const#0 == MULRF_0_1[0] )
// OUT:MULTIPLIER_1: NSELECT => ( const#0 == UNITRF_1_2[8] )
// IN:ADDER_0: ( yoffset ) = SHIFT32( offsets == UNITRF_0_2[4], const#-16 == UNITRF_1_1[7] )
// OUT:ADDER_0: SHIFT32 => ( yoffset == UNITRF_0_3[6] )
// IN:DIVIDER_0: ( idx ) = SELECT( hw_const#0 == CCRF_0[0], idx == UNITRF_CID_0[3] )
// OUT:DIVIDER_0: SELECT => ( idx == SPIDXRF_1[2] )
// IN:MULTIPLIER_0: ( idx ) = NSELECT( hw_const#0 == CCRF_0[0], idx == MULRF_0_0[1] )
// OUT:MULTIPLIER_0: NSELECT => ( idx == UNITRF_0_4[5] )
// IN:ADDER_2: ( left_margin ) = SELECT( hw_const#0 == CCRF_0[0], left_margin == UNITRF_1_3[6] )
// OUT:ADDER_2: SELECT => ( left_margin == UNITRF_1_1[7] )
DEAD_REGS: { };
instr: 31
MC: OP: CHK_UCR LINE:99 UCRF_RD:5 UCONDRF_WR:1 STAGES:-1,
U0: OP: ISUB32 LINE:85 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:85
U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U1: OP: SHIFT32 LINE:58 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:58
U2: OP: OR LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U4: OP: SELECT LINE:83 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:83
U3: OP: NSELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
B:12 = RF:3:OUT:0:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U0:IN:0 = B:12 VAR: hw_const#0 DATATYPE: ANYINT,
B:13 = RF:7:OUT:0:REG:7 VAR: left_margin DATATYPE: INT,
U0:IN:1 = B:13 VAR: left_margin DATATYPE: INT,
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:11 = RF:14:OUT:0:REG:0 VAR: tmp#125 DATATYPE: UINT,
U5:IN:1 = B:11 VAR: tmp#125 DATATYPE: UINT,
B:28 = U5:OUT:0 INSTR_LOG:1|cluster#id#||0 VAR: cluster#id DATATYPE: ANYINT,
RF:5:IN:0:REG:1 = B:28 STAGE:-1 VAR: cluster#id DATATYPE: ANYINT,
B:14 = RF:4:OUT:0:REG:6 VAR: yoffset DATATYPE: UINT,
U1:IN:0 = B:14 VAR: yoffset DATATYPE: UINT,
B:15 = RF:8:OUT:0:REG:1 VAR: const#-1 DATATYPE: ANYINT,
U1:IN:1 = B:15 VAR: const#-1 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|crefy#||0 VAR: crefy DATATYPE: UINT,
RF:3:IN:0:REG:4 = B:30 STAGE:-1 VAR: crefy DATATYPE: UINT,
B:16 = RF:5:OUT:0:REG:1 VAR: const#8 DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: const#8 DATATYPE: ANYINT,
B:17 = RF:9:OUT:0:REG:7 VAR: const#4 DATATYPE: ANYINT,
U2:IN:1 = B:17 VAR: const#4 DATATYPE: ANYINT,
B:31 = U2:OUT:0 INSTR_LOG:1|const#12#||0 VAR: const#12 DATATYPE: ANYINT,
RF:8:IN:0:REG:6 = B:31 STAGE:-1 VAR: const#12 DATATYPE: ANYINT,
B:44 = RF:18:OUT:7:REG:2 VAR: tmp#130 DATATYPE: CC,
U4:IN:2 = B:44 VAR: tmp#130 DATATYPE: CC,
B:20 = RF:11:OUT:0:REG:3 VAR: top_margin DATATYPE: INT,
U4:IN:0 = B:20 VAR: top_margin DATATYPE: INT,
B:21 = RF:13:OUT:0:REG:4 VAR: const#16 DATATYPE: ANYINT,
U4:IN:1 = B:21 VAR: const#16 DATATYPE: ANYINT,
B:35 = U4:OUT:1 INSTR_LOG:1|tmp#131#||1 VAR: tmp#131 DATATYPE: INT,
RF:9:IN:0:REG:7 = B:35 STAGE:-1 VAR: tmp#131 DATATYPE: INT,
B:43 = RF:18:OUT:6:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U3:IN:2 = B:43 VAR: hw_const#0 DATATYPE: ANYINT,
B:18 = RF:10:OUT:0:REG:1 VAR: idx DATATYPE: INT,
U3:IN:0 = B:18 VAR: idx DATATYPE: INT,
B:33 = U3:OUT:1 INSTR_LOG:1|idx#||1 VAR: idx DATATYPE: INT,
RF:17:IN:0:REG:2 = B:33 STAGE:-1 VAR: idx DATATYPE: INT,
// IN:MC_0: ( tmp#143 ) = CHK_UCR( loopcnt == UCRF_0[5] )
// OUT:MC_0: CHK_UCR => ( tmp#143 == UCONDRF_0[1] )
// IN:ADDER_0: ( left_range#173 ) = ISUB32( hw_const#0 == UNITRF_0_2[0], left_margin == UNITRF_1_1[7] )
// IN:DIVIDER_0: ( cluster#id ) = SELECT( hw_const#0 == CCRF_0[0], tmp#125 == UNITRF_CID_0[0] )
// OUT:DIVIDER_0: SELECT => ( cluster#id == UNITRF_0_4[1] )
// IN:ADDER_1: ( crefy ) = SHIFT32( yoffset == UNITRF_0_3[6], const#-1 == UNITRF_1_2[1] )
// OUT:ADDER_1: SHIFT32 => ( crefy == UNITRF_0_2[4] )
// IN:ADDER_2: ( const#12 ) = OR( const#8 == UNITRF_0_4[1], const#4 == UNITRF_1_3[7] )
// OUT:ADDER_2: OR => ( const#12 == UNITRF_1_2[6] )
// IN:MULTIPLIER_1: ( tmp#131 ) = SELECT( tmp#130 == CCRF_0[2], top_margin == MULRF_0_1[3], const#16 == MULRF_1_1[4] )
// OUT:MULTIPLIER_1: SELECT => ( tmp#131 == UNITRF_1_3[7] )
// IN:MULTIPLIER_0: ( idx ) = NSELECT( hw_const#0 == CCRF_0[0], idx == MULRF_0_0[1] )
// OUT:MULTIPLIER_0: NSELECT => ( idx == SPIDXRF_1[2] )
DEAD_REGS: { };
instr: 32
MC: OP: NLOOP LINE:99 UCONDRF_RD:1 BR_OFF:8 LAST_STAGE:2,
U2: OP: IADD32 LINE:57 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:57
U1: OP: NOT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U5: OP: SELECT LINE:-1 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:-1
U3: OP: SELECT LINE:84 STAGE:-1, // D:\working\im_apps\h264\me_fast_jitter1_kc.i:84
B:29 = U0:OUT:0 INSTR_LOG:2|left_range#173#||0 VAR: left_range#173 DATATYPE: INT,
RF:8:IN:0:REG:9 = B:29 STAGE:-1 VAR: left_range#173 DATATYPE: INT,
RF:3:IN:0:REG:7 = B:29 STAGE:-1 VAR: left_range#173 DATATYPE: INT,
RF:15:IN:0:REG:2 = B:29 STAGE:-1 VAR: left_range#173 DATATYPE: INT,
RF:7:IN:0:REG:10 = B:29 STAGE:-1 VAR: left_range#173 DATATYPE: INT,
B:17 = RF:9:OUT:0:REG:6 VAR: tmp#126 DATATYPE: UINT,
U2:IN:1 = B:17 VAR: tmp#126 DATATYPE: UINT,
B:16 = RF:5:OUT:0:REG:1 VAR: cluster#id DATATYPE: ANYINT,
U2:IN:0 = B:16 VAR: cluster#id DATATYPE: ANYINT,
B:14 = RF:4:OUT:0:REG:1 VAR: const#2 DATATYPE: ANYINT,
U1:IN:0 = B:14 VAR: const#2 DATATYPE: ANYINT,
B:30 = U1:OUT:0 INSTR_LOG:1|const#-3#||0 VAR: const#-3 DATATYPE: ANYINT,
RF:9:IN:0:REG:6 = B:30 STAGE:-1 VAR: const#-3 DATATYPE: ANYINT,
RF:10:IN:0:REG:1 = B:30 STAGE:-1 VAR: const#-3 DATATYPE: ANYINT,
B:39 = RF:18:OUT:2:REG:0 VAR: hw_const#0 DATATYPE: ANYINT,
U5:IN:2 = B:39 VAR: hw_const#0 DATATYPE: ANYINT,
B:11 = RF:14:OUT:0:REG:3 VAR: idx DATATYPE: INT,
U5:IN:1 = B:11 VAR: idx DATATYPE: INT,
B:28 = U5:OUT:0 INSTR_LOG:1|idx#||0 VAR: idx DATATYPE: INT,
RF:17:IN:0:REG:2 = B:28 STAGE:-1 VAR: idx DATATYPE: INT,
B:43
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?