[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 578, Sat Oct 5 21:31:40 2002 UTC revision 579, Sat Oct 5 21:37:44 2002 UTC
# Line 32  Line 32 
32   *   *
33   *      History:   *      History:
34   *   *
35     *  05.10.2002  support for interpolated images in qpel mode - Isibaar
36   *      01.05.2002      BFRAME image-based u,v interpolation   *      01.05.2002      BFRAME image-based u,v interpolation
37   *  22.04.2002  added some B-frame support   *  22.04.2002  added some B-frame support
38   *      14.04.2002      added image_dump_yuvpgm(), added image_mad()   *      14.04.2002      added image_dump_yuvpgm(), added image_mad()
39   *              XVID_CSP_USER input support   *              XVID_CSP_USER input support
40   *  09.04.2002  PSNR calculations   *  09.04.2002  PSNR calculations - Isibaar
41   *      06.04.2002      removed interlaced edging from U,V blocks (as per spec)   *      06.04.2002      removed interlaced edging from U,V blocks (as per spec)
42   *  26.03.2002  interlacing support (field-based edging in set_edges)   *  26.03.2002  interlacing support (field-based edging in set_edges)
43   *      26.01.2002      rgb555, rgb565   *      26.01.2002      rgb555, rgb565
# Line 261  Line 262 
262                                    IMAGE * refhv,                                    IMAGE * refhv,
263                                    uint32_t edged_width,                                    uint32_t edged_width,
264                                    uint32_t edged_height,                                    uint32_t edged_height,
265                                      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_SIZE * (edged_width + 1);
# Line 287  Line 289 
289          v_ptr -= offset;          v_ptr -= offset;
290          hv_ptr -= offset;          hv_ptr -= offset;
291    
292            if(quarterpel) {
293    
294                    for (y = 0; y < edged_height; y += 8) {
295                            for (x = 0; x < edged_width; x += 8) {
296                                    interpolate8x8_6tap_lowpass_h(h_ptr, n_ptr, edged_width, rounding);
297                                    interpolate8x8_6tap_lowpass_v(v_ptr, n_ptr, edged_width, rounding);
298    
299                                    n_ptr += 8;
300                                    h_ptr += 8;
301                                    v_ptr += 8;
302                            }
303    
304                            h_ptr += stride_add;
305                            v_ptr += stride_add;
306                            n_ptr += stride_add;
307                    }
308    
309                    h_ptr = refh->y;
310                    h_ptr -= offset;
311    
312                    for (y = 0; y < edged_height; y = y + 8) {
313                            for (x = 0; x < edged_width; x = x + 8) {
314                                    interpolate8x8_6tap_lowpass_v(hv_ptr, h_ptr, edged_width, rounding);
315                                    hv_ptr += 8;
316                                    h_ptr += 8;
317                            }
318                            hv_ptr += stride_add;
319                            h_ptr += stride_add;
320                    }
321            }
322            else {
323    
324          for (y = 0; y < edged_height; y += 8) {          for (y = 0; y < edged_height; y += 8) {
325                  for (x = 0; x < edged_width; x += 8) {                  for (x = 0; x < edged_width; x += 8) {
326                          interpolate8x8_halfpel_h(h_ptr, n_ptr, edged_width, rounding);                          interpolate8x8_halfpel_h(h_ptr, n_ptr, edged_width, rounding);
# Line 298  Line 332 
332                          v_ptr += 8;                          v_ptr += 8;
333                          hv_ptr += 8;                          hv_ptr += 8;
334                  }                  }
335    
336                  h_ptr += stride_add;                  h_ptr += stride_add;
337                  v_ptr += stride_add;                  v_ptr += stride_add;
338                  hv_ptr += stride_add;                  hv_ptr += stride_add;
339                  n_ptr += stride_add;                  n_ptr += stride_add;
340          }          }
341            }
342  /*  /*
343  #ifdef BFRAMES  #ifdef BFRAMES
344          n_ptr = refn->u;          n_ptr = refn->u;

Legend:
Removed from v.578  
changed lines
  Added in v.579

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