Mercurial > libavcodec.hg
comparison motion_est_template.c @ 4253:b2c06cdd6154 libavcodec
remove pretty much useless skiping of some predictors
this has pretty much no quality or speed effect except very small random changes
author | michael |
---|---|
date | Fri, 01 Dec 2006 20:38:54 +0000 |
parents | 507ba4483ffc |
children | f775fd9f3b05 |
comparison
equal
deleted
inserted
replaced
4252:daaebca81d86 | 4253:b2c06cdd6154 |
---|---|
974 CHECK_MV( P_MEDIAN[0] >>shift , P_MEDIAN[1] >>shift) | 974 CHECK_MV( P_MEDIAN[0] >>shift , P_MEDIAN[1] >>shift) |
975 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)-1) | 975 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)-1) |
976 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)+1) | 976 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)+1) |
977 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)-1, (P_MEDIAN[1]>>shift) ) | 977 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)-1, (P_MEDIAN[1]>>shift) ) |
978 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)+1, (P_MEDIAN[1]>>shift) ) | 978 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)+1, (P_MEDIAN[1]>>shift) ) |
979 if(dmin>h*h*2){ | |
980 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, | 979 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, |
981 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 980 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
982 CHECK_MV(P_LEFT[0] >>shift, P_LEFT[1] >>shift) | 981 CHECK_MV(P_LEFT[0] >>shift, P_LEFT[1] >>shift) |
983 CHECK_MV(P_TOP[0] >>shift, P_TOP[1] >>shift) | 982 CHECK_MV(P_TOP[0] >>shift, P_TOP[1] >>shift) |
984 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) | 983 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) |
985 } | |
986 } | 984 } |
987 if(dmin>h*h*4){ | 985 if(dmin>h*h*4){ |
988 if(c->pre_pass){ | 986 if(c->pre_pass){ |
989 CHECK_CLIPED_MV((last_mv[ref_mv_xy-1][0]*ref_mv_scale + (1<<15))>>16, | 987 CHECK_CLIPED_MV((last_mv[ref_mv_xy-1][0]*ref_mv_scale + (1<<15))>>16, |
990 (last_mv[ref_mv_xy-1][1]*ref_mv_scale + (1<<15))>>16) | 988 (last_mv[ref_mv_xy-1][1]*ref_mv_scale + (1<<15))>>16) |
1081 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 1079 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
1082 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) | 1080 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) |
1083 }else{ | 1081 }else{ |
1084 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) | 1082 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) |
1085 //FIXME try some early stop | 1083 //FIXME try some early stop |
1086 if(dmin>64*2){ | |
1087 CHECK_MV(P_MEDIAN[0]>>shift, P_MEDIAN[1]>>shift) | 1084 CHECK_MV(P_MEDIAN[0]>>shift, P_MEDIAN[1]>>shift) |
1088 CHECK_MV(P_LEFT[0]>>shift, P_LEFT[1]>>shift) | 1085 CHECK_MV(P_LEFT[0]>>shift, P_LEFT[1]>>shift) |
1089 CHECK_MV(P_TOP[0]>>shift, P_TOP[1]>>shift) | 1086 CHECK_MV(P_TOP[0]>>shift, P_TOP[1]>>shift) |
1090 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) | 1087 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) |
1091 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, | 1088 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, |
1092 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 1089 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
1093 } | |
1094 } | 1090 } |
1095 if(dmin>64*4){ | 1091 if(dmin>64*4){ |
1096 CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, | 1092 CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, |
1097 (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) | 1093 (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) |
1098 if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line | 1094 if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line |
1143 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 1139 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
1144 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) | 1140 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) |
1145 }else{ | 1141 }else{ |
1146 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) | 1142 CHECK_MV(P_MV1[0]>>shift, P_MV1[1]>>shift) |
1147 //FIXME try some early stop | 1143 //FIXME try some early stop |
1148 if(dmin>64*2){ | |
1149 CHECK_MV(P_MEDIAN[0]>>shift, P_MEDIAN[1]>>shift) | 1144 CHECK_MV(P_MEDIAN[0]>>shift, P_MEDIAN[1]>>shift) |
1150 CHECK_MV(P_LEFT[0]>>shift, P_LEFT[1]>>shift) | 1145 CHECK_MV(P_LEFT[0]>>shift, P_LEFT[1]>>shift) |
1151 CHECK_MV(P_TOP[0]>>shift, P_TOP[1]>>shift) | 1146 CHECK_MV(P_TOP[0]>>shift, P_TOP[1]>>shift) |
1152 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) | 1147 CHECK_MV(P_TOPRIGHT[0]>>shift, P_TOPRIGHT[1]>>shift) |
1153 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, | 1148 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, |
1154 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 1149 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
1155 } | |
1156 } | 1150 } |
1157 if(dmin>64*4){ | 1151 if(dmin>64*4){ |
1158 CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, | 1152 CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, |
1159 (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) | 1153 (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) |
1160 if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line | 1154 if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line |