[svn] / trunk / xvidcore / src / utils / mem_transfer.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/utils/mem_transfer.c

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

revision 850, Sat Feb 15 08:39:17 2003 UTC revision 851, Sat Feb 15 15:22:19 2003 UTC
# Line 3  Line 3 
3   *  XVID MPEG-4 VIDEO CODEC   *  XVID MPEG-4 VIDEO CODEC
4   *  - 8bit<->16bit transfer -   *  - 8bit<->16bit transfer -
5   *   *
6   *  Copyright(C) 2001-2002 Peter Ross <pross@xvid.org>   *  This program is free software ; you can redistribute it and/or modify
7   *   *  it under the terms of the GNU General Public License as published by
  *  This file is part of XviD, a free MPEG-4 video encoder/decoder  
  *  
  *  XviD is free software; you can redistribute it and/or modify it  
  *  under the terms of the GNU General Public License as published by  
8   *  the Free Software Foundation; either version 2 of the License, or   *  the Free Software Foundation; either version 2 of the License, or
9   *  (at your option) any later version.   *  (at your option) any later version.
10   *   *
# Line 21  Line 17 
17   *  along with this program; if not, write to the Free Software   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19   *   *
20   *  Under section 8 of the GNU General Public License, the copyright   ****************************************************************************/
21   *  holders of XVID explicitly forbid distribution in the following  /*****************************************************************************
22   *  countries:   *
23   *   *  History
24   *    - Japan   *
25   *    - United States of America   *  - 14.06.2002 Changed legal header with the new FSF address
26   *   *      - 14.04.2002 added transfer_8to16sub2
27   *  Linking XviD statically or dynamically with other modules is making a   *      - 07.01.2002 merge functions from compensate; rename functions
28   *  combined work based on XviD.  Thus, the terms and conditions of the   *      - 22.12.2001 transfer_8to8add16 limit fix
29   *  GNU General Public License cover the whole combination.   *      - 07.11.2001 initial version; (c)2001 peter ross <pross@cs.rmit.edu.au>
  *  
  *  As a special exception, the copyright holders of XviD give you  
  *  permission to link XviD with independent modules that communicate with  
  *  XviD solely through the VFW1.1 and DShow interfaces, regardless of the  
  *  license terms of these independent modules, and to copy and distribute  
  *  the resulting combined work under terms of your choice, provided that  
  *  every copy of the combined work is accompanied by a complete copy of  
  *  the source code of XviD (the version of XviD used to produce the  
  *  combined work), being distributed under the terms of the GNU General  
  *  Public License plus this exception.  An independent module is a module  
  *  which is not derived from or based on XviD.  
  *  
  *  Note that people who make modified versions of XviD are not obligated  
  *  to grant this special exception for their modified versions; it is  
  *  their choice whether to do so.  The GNU General Public License gives  
  *  permission to release a modified version without this exception; this  
  *  exception also makes it possible to release a modified version which  
  *  carries forward this exception.  
30   *   *
31   * $Id: mem_transfer.c,v 1.8 2002-11-26 23:44:11 edgomez Exp $   *  $Id: mem_transfer.c,v 1.9 2003-02-15 15:22:19 edgomez Exp $
32   *   *
33   ****************************************************************************/   ****************************************************************************/
34    
# Line 63  Line 41 
41  TRANSFER_16TO8COPY_PTR transfer_16to8copy;  TRANSFER_16TO8COPY_PTR transfer_16to8copy;
42    
43  TRANSFER_8TO16SUB_PTR  transfer_8to16sub;  TRANSFER_8TO16SUB_PTR  transfer_8to16sub;
44    TRANSFER_8TO16SUBRO_PTR  transfer_8to16subro;
45  TRANSFER_8TO16SUB2_PTR transfer_8to16sub2;  TRANSFER_8TO16SUB2_PTR transfer_8to16sub2;
46  TRANSFER_16TO8ADD_PTR  transfer_16to8add;  TRANSFER_16TO8ADD_PTR  transfer_16to8add;
47    
# Line 167  Line 146 
146  }  }
147    
148    
149    void
150    transfer_8to16subro_c(int16_t * const dct,
151                                            const uint8_t * const cur,
152                                            const uint8_t * ref,
153                                            const uint32_t stride)
154    {
155            uint32_t i, j;
156    
157            for (j = 0; j < 8; j++) {
158                    for (i = 0; i < 8; i++) {
159                            uint8_t c = cur[j * stride + i];
160                            uint8_t r = ref[j * stride + i];
161                            dct[j * 8 + i] = (int16_t) c - (int16_t) r;
162                    }
163            }
164    }
165    
166    
167    
168  /*  /*
169   * C   - the current buffer   * C   - the current buffer
170   * R1  - the 1st reference buffer   * R1  - the 1st reference buffer
# Line 197  Line 195 
195                          if (r > 255) {                          if (r > 255) {
196                                  r = 255;                                  r = 255;
197                          }                          }
198                          /*cur[j * stride + i] = r; */                          //cur[j * stride + i] = r;
199                          dct[j * 8 + i] = (int16_t) c - (int16_t) r;                          dct[j * 8 + i] = (int16_t) c - (int16_t) r;
200                  }                  }
201          }          }

Legend:
Removed from v.850  
changed lines
  Added in v.851

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