[svn] / branches / dev-api-4 / xvidcore / src / motion / motion_comp.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/motion/motion_comp.c

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

revision 195, Wed Jun 12 20:38:41 2002 UTC revision 373, Thu Aug 15 18:13:02 2002 UTC
# Line 31  Line 31 
31                  ddx = dx / 2;                  ddx = dx / 2;
32                  ddy = dy / 2;                  ddy = dy / 2;
33                  transfer_8to16sub(dct_codes, cur + y * stride + x,                  transfer_8to16sub(dct_codes, cur + y * stride + x,
34                                                    ref + (y + ddy) * stride + x + ddx, stride);                                                    ref + (int) ((y + ddy) * stride + x + ddx), stride);
35                  break;                  break;
36    
37          case 1:          case 1:
38                  ddx = dx / 2;                  ddx = dx / 2;
39                  ddy = (dy - 1) / 2;                  ddy = (dy - 1) / 2;
40                  transfer_8to16sub(dct_codes, cur + y * stride + x,                  transfer_8to16sub(dct_codes, cur + y * stride + x,
41                                                    refv + (y + ddy) * stride + x + ddx, stride);                                                    refv + (int) ((y + ddy) * stride + x + ddx), stride);
42                  break;                  break;
43    
44          case 2:          case 2:
45                  ddx = (dx - 1) / 2;                  ddx = (dx - 1) / 2;
46                  ddy = dy / 2;                  ddy = dy / 2;
47                  transfer_8to16sub(dct_codes, cur + y * stride + x,                  transfer_8to16sub(dct_codes, cur + y * stride + x,
48                                                    refh + (y + ddy) * stride + x + ddx, stride);                                                    refh + (int) ((y + ddy) * stride + x + ddx), stride);
49                  break;                  break;
50    
51          default:                                        // case 3:          default:                                        // case 3:
52                  ddx = (dx - 1) / 2;                  ddx = (dx - 1) / 2;
53                  ddy = (dy - 1) / 2;                  ddy = (dy - 1) / 2;
54                  transfer_8to16sub(dct_codes, cur + y * stride + x,                  transfer_8to16sub(dct_codes, cur + y * stride + x,
55                                                    refhv + (y + ddy) * stride + x + ddx, stride);                                                    refhv + (int) ((y + ddy) * stride + x + ddx), stride);
56                  break;                  break;
57          }          }
58  }  }
# Line 99  Line 99 
99                  dy = (dy & 3) ? (dy >> 1) | 1 : dy / 2;                  dy = (dy & 3) ? (dy >> 1) | 1 : dy / 2;
100    
101                  /* uv-image-based compensation */                  /* uv-image-based compensation */
102  #ifdef BFRAMES  #ifdef BUGGY_BFRAMES
103    /* was #ifdef BFRAMES, but that's not possible because non-halfpel is _allowed_
104       if max_bframes<=0 . We should better check for XVID_HALFPEL flag */
105    
106                  compensate8x8_halfpel(&dct_codes[4 * 64], cur->u, ref->u, refh->u,                  compensate8x8_halfpel(&dct_codes[4 * 64], cur->u, ref->u, refh->u,
107                                                            refv->u, refhv->u, 8 * i, 8 * j, dx, dy,                                                            refv->u, refhv->u, 8 * i, 8 * j, dx, dy,
108                                                            edged_width / 2);                                                            edged_width / 2);
# Line 107  Line 110 
110                                                            refv->v, refhv->v, 8 * i, 8 * j, dx, dy,                                                            refv->v, refhv->v, 8 * i, 8 * j, dx, dy,
111                                                            edged_width / 2);                                                            edged_width / 2);
112  #else  #else
113    
114    
115                  /* uv-block-based compensation */                  /* uv-block-based compensation */
116                  interpolate8x8_switch(refv->u, ref->u, 8 * i, 8 * j, dx, dy,                  interpolate8x8_switch(refv->u, ref->u, 8 * i, 8 * j, dx, dy,
117                                                            edged_width / 2, rounding);                                                            edged_width / 2, rounding);

Legend:
Removed from v.195  
changed lines
  Added in v.373

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