[svn] / trunk / xvidcore / src / motion / gmc.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/motion/gmc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1382, Mon Mar 22 22:36:25 2004 UTC revision 1398, Fri Apr 2 21:29:21 2004 UTC
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: gmc.c,v 1.2 2004-03-22 22:36:24 edgomez Exp $   * $Id: gmc.c,v 1.3 2004-04-02 21:29:21 edgomez Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 341  Line 341 
341          gmc->num_wp = nb_pts;          gmc->num_wp = nb_pts;
342    
343          /* reduce the number of points, if possible */          /* reduce the number of points, if possible */
344          if (nb_pts<3 || (pts->duv[2].x==-pts->duv[1].y && pts->duv[2].y==pts->duv[1].x)) {          if (nb_pts<2 || (pts->duv[2].x==0 && pts->duv[2].y==0 && pts->duv[1].x==0 && pts->duv[1].y==0 )) {
345          if (nb_pts<2 || (pts->duv[1].x==0 && pts->duv[1].y==0)) {          if (nb_pts<2 || (pts->duv[1].x==0 && pts->duv[1].y==0)) {
346                  if (nb_pts<1 || (pts->duv[0].x==0 && pts->duv[0].y==0)) {                  if (nb_pts<1 || (pts->duv[0].x==0 && pts->duv[0].y==0)) {
347                  nb_pts = 0;                  nb_pts = 0;
# Line 350  Line 350 
350          }          }
351          else nb_pts = 2;          else nb_pts = 2;
352          }          }
         else nb_pts = 3;  
353    
354          /* now, nb_pts stores the actual number of points required for interpolation */          /* now, nb_pts stores the actual number of points required for interpolation */
355    
# Line 380  Line 379 
379          gmc->dU[0] = 16*Ws + RDIV( 8*Ws*pts->duv[1].x, width );  /* dU/dx */          gmc->dU[0] = 16*Ws + RDIV( 8*Ws*pts->duv[1].x, width );  /* dU/dx */
380          gmc->dV[0] =             RDIV( 8*Ws*pts->duv[1].y, width );      /* dV/dx */          gmc->dV[0] =             RDIV( 8*Ws*pts->duv[1].y, width );      /* dV/dx */
381    
 /*       disabled, because possibly buggy? */  
   
 #if 0  
382          if (nb_pts==2) {          if (nb_pts==2) {
383                  gmc->dU[1] = -gmc->dV[0];       /* -Sin */                  gmc->dU[1] = -gmc->dV[0];       /* -Sin */
384                  gmc->dV[1] =    gmc->dU[0] ;    /* Cos */                  gmc->dV[1] =    gmc->dU[0] ;    /* Cos */
385          }          }
386          else          else
 #endif  
387          {          {
388                  const int Beta = log2bin(height-1);                  const int Beta = log2bin(height-1);
389                  const int Hs = 1<<Beta;                  const int Hs = 1<<Beta;

Legend:
Removed from v.1382  
changed lines
  Added in v.1398

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4