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

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

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

revision 1.1.2.2, Sun Dec 8 06:43:34 2002 UTC revision 1.4, Wed Nov 26 01:04:34 2008 UTC
# Line 1  Line 1 
1    /*****************************************************************************
2     *
3     *  XVID MPEG-4 VIDEO CODEC
4     *  - Reduced VOP header  -
5     *
6     *  Copyright(C) 2002 Pascal Massimino <skal@planet-d.net>
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 _REDUCED_H_  #ifndef _REDUCED_H_
27  #define _REDUCED_H_  #define _REDUCED_H_
28    
29  #include "../portab.h"  #include "../portab.h"
30    
31  /* decoding prototypes */  /* decoding */
   
32  typedef void (COPY_UPSAMPLED_8X8_16TO8) (uint8_t *Dst, const int16_t *Src, const int BpS);  typedef void (COPY_UPSAMPLED_8X8_16TO8) (uint8_t *Dst, const int16_t *Src, const int BpS);
33  typedef void (ADD_UPSAMPLED_8X8_16TO8) (uint8_t *Dst, const int16_t *Src, const int BpS);  typedef void (ADD_UPSAMPLED_8X8_16TO8) (uint8_t *Dst, const int16_t *Src, const int BpS);
34    
35  /* Note: "Nb"_Blks is the number of 8-pixels blocks to process */  /* deblocking: Note: "Nb"_Blks is the number of 8-pixels blocks to process */
36  typedef void HFILTER_31(uint8_t *Src1, uint8_t *Src2, int Nb_Blks);  typedef void HFILTER_31(uint8_t *Src1, uint8_t *Src2, int Nb_Blks);
37  typedef void VFILTER_31(uint8_t *Src1, uint8_t *Src2, const int BpS, int Nb_Blks);  typedef void VFILTER_31(uint8_t *Src1, uint8_t *Src2, const int BpS, int Nb_Blks);
38    
39    /* encoding: WARNING! These read 1 pixel outside of the input 16x16 block! */
40    typedef void FILTER_18X18_TO_8X8(int16_t *Dst, const uint8_t *Src, const int BpS);
41    typedef void FILTER_DIFF_18X18_TO_8X8(int16_t *Dst, const uint8_t *Src, const int BpS);
42    
43    
44  extern COPY_UPSAMPLED_8X8_16TO8 * copy_upsampled_8x8_16to8;  extern COPY_UPSAMPLED_8X8_16TO8 * copy_upsampled_8x8_16to8;
45  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_C;  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_C;
46    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
47  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_mmx;  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_mmx;
48  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_xmm;  extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_xmm;
49    #endif
50    
51  extern ADD_UPSAMPLED_8X8_16TO8 * add_upsampled_8x8_16to8;  extern ADD_UPSAMPLED_8X8_16TO8 * add_upsampled_8x8_16to8;
52  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_C;  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_C;
53    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
54  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_mmx;  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_mmx;
55  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_xmm;  extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_xmm;
56    #endif
57    
58  extern VFILTER_31 * vfilter_31;  extern VFILTER_31 * vfilter_31;
59  extern VFILTER_31 xvid_VFilter_31_C;  extern VFILTER_31 xvid_VFilter_31_C;
60    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
61  extern VFILTER_31 xvid_VFilter_31_x86;  extern VFILTER_31 xvid_VFilter_31_x86;
62    #endif
63    
64  extern HFILTER_31 * hfilter_31;  extern HFILTER_31 * hfilter_31;
65  extern HFILTER_31 xvid_HFilter_31_C;  extern HFILTER_31 xvid_HFilter_31_C;
66    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
67  extern HFILTER_31 xvid_HFilter_31_x86;  extern HFILTER_31 xvid_HFilter_31_x86;
68  extern HFILTER_31 xvid_HFilter_31_mmx;  extern HFILTER_31 xvid_HFilter_31_mmx;
69    #endif
70    
71    extern FILTER_18X18_TO_8X8 * filter_18x18_to_8x8;
72    extern FILTER_18X18_TO_8X8 xvid_Filter_18x18_To_8x8_C;
73    #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
74    extern FILTER_18X18_TO_8X8 xvid_Filter_18x18_To_8x8_mmx;
75    #endif
76    
77    extern FILTER_DIFF_18X18_TO_8X8 * filter_diff_18x18_to_8x8;
78    extern FILTER_DIFF_18X18_TO_8X8 xvid_Filter_Diff_18x18_To_8x8_C;
79    #if defined(ARCH_IS_IA32) || defined(XVID_IS_X86_64)
80    extern FILTER_DIFF_18X18_TO_8X8 xvid_Filter_Diff_18x18_To_8x8_mmx;
81    #endif
82    
83    
84    /* rrv motion vector scale-up */
85    /* encoding prototypes */  #define RRV_MV_SCALEUP(a)       ( (a)>0 ? 2*(a)-1 : (a)<0 ? 2*(a)+1 : (a) )
   /* WARNING! These read 1 pixel outside of the input 16x16 block! */  
 extern void xvid_Filter_18x18_To_8x8_C(int16_t *Dst, const uint8_t *Src, const int BpS);  
 extern void xvid_Filter_Diff_18x18_To_8x8_C(int16_t *Dst, const uint8_t *Src, const int BpS);  
   
   /* MMX version */  
 extern void xvid_Filter_18x18_To_8x8_mmx(int16_t *Dst, const uint8_t *Src, const int BpS);  
 extern void xvid_Filter_Diff_18x18_To_8x8_mmx(int16_t *Dst, const uint8_t *Src, const int BpS);  
   
86    
87  #endif /* _REDUCED_H_ */  #endif /* _REDUCED_H_ */

Legend:
Removed from v.1.1.2.2  
changed lines
  Added in v.1.4

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