[svn] / branches / dev-api-3 / xvidcore / src / image / image.c Repository:
ViewVC logotype

Diff of /branches/dev-api-3/xvidcore/src/image/image.c

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

revision 582, Sun Oct 6 07:05:51 2002 UTC revision 586, Wed Oct 9 15:56:16 2002 UTC
# Line 265  Line 265 
265                                    uint32_t quarterpel,                                    uint32_t quarterpel,
266                                    uint32_t rounding)                                    uint32_t rounding)
267  {  {
268          const uint32_t offset = EDGE_SIZE * (edged_width + 1);          const uint32_t offset = EDGE_SIZE2 * (edged_width + 1); // we only interpolate half of the edge area
269          const uint32_t stride_add = 7 * edged_width;          const uint32_t stride_add = 7 * edged_width;
270    /*
271  #ifdef BFRAMES  #ifdef BFRAMES
272          const uint32_t edged_width2 = edged_width / 2;          const uint32_t edged_width2 = edged_width / 2;
273          const uint32_t edged_height2 = edged_height / 2;          const uint32_t edged_height2 = edged_height / 2;
274          const uint32_t offset2 = EDGE_SIZE2 * (edged_width2 + 1);          const uint32_t offset2 = EDGE_SIZE2 * (edged_width2 + 1);
275          const uint32_t stride_add2 = 7 * edged_width2;          const uint32_t stride_add2 = 7 * edged_width2;
276  #endif  #endif
277    */
278          uint8_t *n_ptr, *h_ptr, *v_ptr, *hv_ptr;          uint8_t *n_ptr, *h_ptr, *v_ptr, *hv_ptr;
279          uint32_t x, y;          uint32_t x, y;
280    
# Line 291  Line 291 
291    
292          if(quarterpel) {          if(quarterpel) {
293    
294                  for (y = 0; y < edged_height; y += 8) {                  for (y = 0; y < (edged_height - EDGE_SIZE); y += 8) {
295                          for (x = 0; x < edged_width; x += 8) {                          for (x = 0; x < (edged_width - EDGE_SIZE); x += 8) {
296                                  interpolate8x8_6tap_lowpass_h(h_ptr, n_ptr, edged_width, rounding);                                  interpolate8x8_6tap_lowpass_h(h_ptr, n_ptr, edged_width, rounding);
297                                  interpolate8x8_6tap_lowpass_v(v_ptr, n_ptr, edged_width, rounding);                                  interpolate8x8_6tap_lowpass_v(v_ptr, n_ptr, edged_width, rounding);
298    
# Line 301  Line 301 
301                                  v_ptr += 8;                                  v_ptr += 8;
302                          }                          }
303    
304                            n_ptr += EDGE_SIZE;
305                            h_ptr += EDGE_SIZE;
306                            v_ptr += EDGE_SIZE;
307    
308                          h_ptr += stride_add;                          h_ptr += stride_add;
309                          v_ptr += stride_add;                          v_ptr += stride_add;
310                          n_ptr += stride_add;                          n_ptr += stride_add;
# Line 309  Line 313 
313                  h_ptr = refh->y;                  h_ptr = refh->y;
314                  h_ptr -= offset;                  h_ptr -= offset;
315    
316                  for (y = 0; y < edged_height; y = y + 8) {                  for (y = 0; y < (edged_height - EDGE_SIZE); y = y + 8) {
317                          for (x = 0; x < edged_width; x = x + 8) {                          for (x = 0; x < (edged_width - EDGE_SIZE); x = x + 8) {
318                                  interpolate8x8_6tap_lowpass_v(hv_ptr, h_ptr, edged_width, rounding);                                  interpolate8x8_6tap_lowpass_v(hv_ptr, h_ptr, edged_width, rounding);
319                                  hv_ptr += 8;                                  hv_ptr += 8;
320                                  h_ptr += 8;                                  h_ptr += 8;
321                          }                          }
322    
323                            hv_ptr += EDGE_SIZE2;
324                            h_ptr += EDGE_SIZE2;
325    
326                          hv_ptr += stride_add;                          hv_ptr += stride_add;
327                          h_ptr += stride_add;                          h_ptr += stride_add;
328                  }                  }
329          }          }
330          else {          else {
331    
332                  for (y = 0; y < edged_height; y += 8) {                  for (y = 0; y < (edged_height - EDGE_SIZE); y += 8) {
333                          for (x = 0; x < edged_width; x += 8) {                          for (x = 0; x < (edged_width - EDGE_SIZE); x += 8) {
334                                  interpolate8x8_halfpel_h(h_ptr, n_ptr, edged_width, rounding);                                  interpolate8x8_halfpel_h(h_ptr, n_ptr, edged_width, rounding);
335                                  interpolate8x8_halfpel_v(v_ptr, n_ptr, edged_width, rounding);                                  interpolate8x8_halfpel_v(v_ptr, n_ptr, edged_width, rounding);
336                                  interpolate8x8_halfpel_hv(hv_ptr, n_ptr, edged_width, rounding);                                  interpolate8x8_halfpel_hv(hv_ptr, n_ptr, edged_width, rounding);
# Line 333  Line 341 
341                                  hv_ptr += 8;                                  hv_ptr += 8;
342                          }                          }
343    
344                            h_ptr += EDGE_SIZE;
345                            v_ptr += EDGE_SIZE;
346                            hv_ptr += EDGE_SIZE;
347                            n_ptr += EDGE_SIZE;
348    
349                          h_ptr += stride_add;                          h_ptr += stride_add;
350                          v_ptr += stride_add;                          v_ptr += stride_add;
351                          hv_ptr += stride_add;                          hv_ptr += stride_add;

Legend:
Removed from v.582  
changed lines
  Added in v.586

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