[cvs] / xvidcore / src / image / interpolate8x8.h Repository:
ViewVC logotype

Diff of /xvidcore/src/image/interpolate8x8.h

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

revision 1.5.2.8, Sun Dec 8 05:33:42 2002 UTC revision 1.10.2.2, Mon Jun 9 13:54:07 2003 UTC
# Line 1  Line 1 
1    /*****************************************************************************
2     *
3     *  XVID MPEG-4 VIDEO CODEC
4     *  - Interpolation related header  -
5     *
6     *  Copyright(C) 2001-2003 Peter Ross <pross@xvid.org>
7     *
8     *  This program is free software ; you can redistribute it and/or modify
9     *  it under the terms of the GNU General Public License as published by
10     *  the Free Software Foundation ; either version 2 of the License, or
11     *  (at your option) any later version.
12     *
13     *  This program is distributed in the hope that it will be useful,
14     *  but WITHOUT ANY WARRANTY ; without even the implied warranty of
15     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16     *  GNU General Public License for more details.
17     *
18     *  You should have received a copy of the GNU General Public License
19     *  along with this program ; if not, write to the Free Software
20     *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21     *
22     * $Id$
23     *
24     ****************************************************************************/
25    
26  #ifndef _INTERPOLATE8X8_H_  #ifndef _INTERPOLATE8X8_H_
27  #define _INTERPOLATE8X8_H_  #define _INTERPOLATE8X8_H_
28    
# Line 83  Line 108 
108  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dn;  INTERPOLATE8X8 interpolate8x8_halfpel_v_3dn;
109  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dn;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dn;
110    
111    INTERPOLATE8X8 interpolate8x8_halfpel_h_3dne;
112    INTERPOLATE8X8 interpolate8x8_halfpel_v_3dne;
113    INTERPOLATE8X8 interpolate8x8_halfpel_hv_3dne;
114    
115  INTERPOLATE8X8 interpolate8x8_halfpel_h_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_h_ia64;
116  INTERPOLATE8X8 interpolate8x8_halfpel_v_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_v_ia64;
117  INTERPOLATE8X8 interpolate8x8_halfpel_hv_ia64;  INTERPOLATE8X8 interpolate8x8_halfpel_hv_ia64;
# Line 120  Line 149 
149  {  {
150          int32_t ddx, ddy;          int32_t ddx, ddy;
151    
152          switch (((dx & 1) << 1) + (dy & 1))     // ((dx%2)?2:0)+((dy%2)?1:0)          switch (((dx & 1) << 1) + (dy & 1))     /* ((dx%2)?2:0)+((dy%2)?1:0) */
153          {          {
154          case 0:          case 0:
155                  ddx = dx / 2;                  ddx = dx / 2;
# Line 202  Line 231 
231  {  {
232          int32_t ddx, ddy;          int32_t ddx, ddy;
233    
234          switch (((dx & 1) << 1) + (dy & 1))     // ((dx%2)?2:0)+((dy%2)?1:0)          switch (((dx & 1) << 1) + (dy & 1))     /* ((dx%2)?2:0)+((dy%2)?1:0) */
235          {          {
236          case 0:          case 0:
237                  return (uint8_t *)refn + (int)((y + dy/2) * stride + x + dx/2);                  return (uint8_t *)refn + (int)((y + dy/2) * stride + x + dx/2);
# Line 399  Line 428 
428          switch((y_frac << 2) | (x_frac)) {          switch((y_frac << 2) | (x_frac)) {
429    
430          case 0:          case 0:
431                  transfer8x8_copy(dst, src, stride);                  transfer16x16_copy(dst, src, stride);
                 transfer8x8_copy(dst+8, src+8, stride);  
                 transfer8x8_copy(dst+8*stride, src+8*stride, stride);  
                 transfer8x8_copy(dst+8*stride+8, src+8*stride+8, stride);  
432                  break;                  break;
433    
434          case 1:          case 1:
# Line 540  Line 566 
566                  break;                  break;
567          }          }
568  }  }
569    
570  #endif  #endif

Legend:
Removed from v.1.5.2.8  
changed lines
  Added in v.1.10.2.2

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