[svn] / trunk / xvidcore / src / image / interpolate8x8.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/image/interpolate8x8.c

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

revision 677, Tue Nov 26 23:44:11 2002 UTC revision 723, Sun Dec 15 01:21:12 2002 UTC
# Line 51  Line 51 
51   *  exception also makes it possible to release a modified version which   *  exception also makes it possible to release a modified version which
52   *  carries forward this exception.   *  carries forward this exception.
53   *   *
54   * $Id: interpolate8x8.c,v 1.7 2002-11-26 23:44:10 edgomez Exp $   * $Id: interpolate8x8.c,v 1.8 2002-12-15 01:21:12 edgomez Exp $
55   *   *
56   ****************************************************************************/   ****************************************************************************/
57    
# Line 77  Line 77 
77          for (j = 0; j < 8; j++) {          for (j = 0; j < 8; j++) {
78                  for (i = 0; i < 8; i++) {                  for (i = 0; i < 8; i++) {
79    
80                          int16_t tot =                          int32_t tot =
81                                  (int32_t) src[j * stride + i] + (int32_t) src[j * stride + i +                                  (int32_t) src[j * stride + i] + (int32_t) src[j * stride + i + 1];
                                                                                                                           1];  
82    
83                          tot = (int32_t) ((tot + 1 - rounding) >> 1);                          tot = (tot + 1 - rounding) >> 1;
84                          dst[j * stride + i] = (uint8_t) tot;                          dst[j * stride + i] = (uint8_t) tot;
85                  }                  }
86          }          }
# Line 99  Line 98 
98    
99          for (j = 0; j < 8; j++) {          for (j = 0; j < 8; j++) {
100                  for (i = 0; i < 8; i++) {                  for (i = 0; i < 8; i++) {
101                          int16_t tot = src[j * stride + i] + src[j * stride + i + stride];                          int32_t tot =
102                                    (int32_t)src[j * stride + i] + (int32_t)src[j * stride + i + stride];
103    
104                          tot = ((tot + 1 - rounding) >> 1);                          tot = ((tot + 1 - rounding) >> 1);
105                          dst[j * stride + i] = (uint8_t) tot;                          dst[j * stride + i] = (uint8_t) tot;
# Line 118  Line 118 
118    
119          for (j = 0; j < 8; j++) {          for (j = 0; j < 8; j++) {
120                  for (i = 0; i < 8; i++) {                  for (i = 0; i < 8; i++) {
121                          int16_t tot =                          int32_t tot =
122                                  src[j * stride + i] + src[j * stride + i + 1] +                                  (int32_t)src[j * stride + i] + (int32_t)src[j * stride + i + 1] +
123                                  src[j * stride + i + stride] + src[j * stride + i + stride +                                  (int32_t)src[j * stride + i + stride] + (int32_t)src[j * stride + i + stride + 1];
                                                                                                    1];  
124                          tot = ((tot + 2 - rounding) >> 2);                          tot = ((tot + 2 - rounding) >> 2);
125                          dst[j * stride + i] = (uint8_t) tot;                          dst[j * stride + i] = (uint8_t) tot;
126                  }                  }
# Line 142  Line 141 
141          for (j = 0; j < 8; j++) {          for (j = 0; j < 8; j++) {
142                  for (i = 0; i < 8; i++) {                  for (i = 0; i < 8; i++) {
143                          int32_t tot =                          int32_t tot =
144                                  ((src[(y + j) * stride + x + i] +                                  (((int32_t)src[(y + j) * stride + x + i] +
145                                    dst[(y + j) * stride + x + i] + 1) >> 1);                                    (int32_t)dst[(y + j) * stride + x + i] + 1) >> 1);
146                          dst[(y + j) * stride + x + i] = (uint8_t) tot;                          dst[(y + j) * stride + x + i] = (uint8_t) tot;
147                  }                  }
148          }          }
# Line 258  Line 257 
257    
258      for(i = 0; i < 8; i++)      for(i = 0; i < 8; i++)
259      {      {
260          dst[0] = (src1[0] + src2[0] + (1 - rounding)) >> 1;          dst[0] = (uint8_t)((src1[0] + src2[0] + (1 - rounding)) >> 1);
261          dst[1] = (src1[1] + src2[1] + (1 - rounding)) >> 1;          dst[1] = (uint8_t)((src1[1] + src2[1] + (1 - rounding)) >> 1);
262          dst[2] = (src1[2] + src2[2] + (1 - rounding)) >> 1;          dst[2] = (uint8_t)((src1[2] + src2[2] + (1 - rounding)) >> 1);
263          dst[3] = (src1[3] + src2[3] + (1 - rounding)) >> 1;          dst[3] = (uint8_t)((src1[3] + src2[3] + (1 - rounding)) >> 1);
264          dst[4] = (src1[4] + src2[4] + (1 - rounding)) >> 1;          dst[4] = (uint8_t)((src1[4] + src2[4] + (1 - rounding)) >> 1);
265          dst[5] = (src1[5] + src2[5] + (1 - rounding)) >> 1;          dst[5] = (uint8_t)((src1[5] + src2[5] + (1 - rounding)) >> 1);
266          dst[6] = (src1[6] + src2[6] + (1 - rounding)) >> 1;          dst[6] = (uint8_t)((src1[6] + src2[6] + (1 - rounding)) >> 1);
267          dst[7] = (src1[7] + src2[7] + (1 - rounding)) >> 1;          dst[7] = (uint8_t)((src1[7] + src2[7] + (1 - rounding)) >> 1);
268    
269          dst += dst_stride;          dst += dst_stride;
270          src1 += src_stride;          src1 += src_stride;
# Line 279  Line 278 
278    
279      for(i = 0; i < 8; i++)      for(i = 0; i < 8; i++)
280      {      {
281          dst[0] = (src1[0] + src2[0] + src3[0] + src4[0] + (2 - rounding)) >> 2;          dst[0] = (uint8_t)((src1[0] + src2[0] + src3[0] + src4[0] + (2 - rounding)) >> 2);
282          dst[1] = (src1[1] + src2[1] + src3[1] + src4[1] + (2 - rounding)) >> 2;          dst[1] = (uint8_t)((src1[1] + src2[1] + src3[1] + src4[1] + (2 - rounding)) >> 2);
283          dst[2] = (src1[2] + src2[2] + src3[2] + src4[2] + (2 - rounding)) >> 2;          dst[2] = (uint8_t)((src1[2] + src2[2] + src3[2] + src4[2] + (2 - rounding)) >> 2);
284          dst[3] = (src1[3] + src2[3] + src3[3] + src4[3] + (2 - rounding)) >> 2;          dst[3] = (uint8_t)((src1[3] + src2[3] + src3[3] + src4[3] + (2 - rounding)) >> 2);
285          dst[4] = (src1[4] + src2[4] + src3[4] + src4[4] + (2 - rounding)) >> 2;          dst[4] = (uint8_t)((src1[4] + src2[4] + src3[4] + src4[4] + (2 - rounding)) >> 2);
286          dst[5] = (src1[5] + src2[5] + src3[5] + src4[5] + (2 - rounding)) >> 2;          dst[5] = (uint8_t)((src1[5] + src2[5] + src3[5] + src4[5] + (2 - rounding)) >> 2);
287          dst[6] = (src1[6] + src2[6] + src3[6] + src4[6] + (2 - rounding)) >> 2;          dst[6] = (uint8_t)((src1[6] + src2[6] + src3[6] + src4[6] + (2 - rounding)) >> 2);
288          dst[7] = (src1[7] + src2[7] + src3[7] + src4[7] + (2 - rounding)) >> 2;          dst[7] = (uint8_t)((src1[7] + src2[7] + src3[7] + src4[7] + (2 - rounding)) >> 2);
289    
290                  dst += stride;                  dst += stride;
291          src1 += stride;          src1 += stride;

Legend:
Removed from v.677  
changed lines
  Added in v.723

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