Mercurial > libavcodec.hg
comparison motion_est_template.c @ 4246:a579dae361e2 libavcodec
1 step diamond search around the median MV predictor
+0.01 PSNR
idea from x264
author | michael |
---|---|
date | Thu, 30 Nov 2006 22:44:22 +0000 |
parents | 34fdffe98bd0 |
children | 4be0e20c0eeb |
comparison
equal
deleted
inserted
replaced
4245:4397b7436222 | 4246:a579dae361e2 |
---|---|
905 *mx_ptr= 0; | 905 *mx_ptr= 0; |
906 *my_ptr= 0; | 906 *my_ptr= 0; |
907 c->skip=1; | 907 c->skip=1; |
908 return dmin; | 908 return dmin; |
909 } | 909 } |
910 CHECK_MV(P_MEDIAN[0]>>shift, P_MEDIAN[1]>>shift) | 910 CHECK_MV( P_MEDIAN[0] >>shift , P_MEDIAN[1] >>shift) |
911 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)-1) | |
912 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift) , (P_MEDIAN[1]>>shift)+1) | |
913 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)-1, (P_MEDIAN[1]>>shift) ) | |
914 CHECK_CLIPED_MV((P_MEDIAN[0]>>shift)+1, (P_MEDIAN[1]>>shift) ) | |
911 if(dmin>h*h*2){ | 915 if(dmin>h*h*2){ |
912 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, | 916 CHECK_CLIPED_MV((last_mv[ref_mv_xy][0]*ref_mv_scale + (1<<15))>>16, |
913 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) | 917 (last_mv[ref_mv_xy][1]*ref_mv_scale + (1<<15))>>16) |
914 CHECK_MV(P_LEFT[0] >>shift, P_LEFT[1] >>shift) | 918 CHECK_MV(P_LEFT[0] >>shift, P_LEFT[1] >>shift) |
915 CHECK_MV(P_TOP[0] >>shift, P_TOP[1] >>shift) | 919 CHECK_MV(P_TOP[0] >>shift, P_TOP[1] >>shift) |