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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (view) (download)

1 : edgomez 1.3 /*****************************************************************************
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 : Isibaar 1.4 * $Id: reduced.h,v 1.3 2004/03/22 22:36:24 edgomez Exp $
23 : edgomez 1.3 *
24 :     ****************************************************************************/
25 :    
26 : edgomez 1.2 #ifndef _REDUCED_H_
27 :     #define _REDUCED_H_
28 :    
29 :     #include "../portab.h"
30 :    
31 :     /* decoding */
32 :     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);
34 :    
35 :     /* 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);
37 :     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;
45 :     extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_C;
46 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
47 : edgomez 1.2 extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_mmx;
48 :     extern COPY_UPSAMPLED_8X8_16TO8 xvid_Copy_Upsampled_8x8_16To8_xmm;
49 : edgomez 1.3 #endif
50 : edgomez 1.2
51 :     extern ADD_UPSAMPLED_8X8_16TO8 * add_upsampled_8x8_16to8;
52 :     extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_C;
53 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
54 : edgomez 1.2 extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_mmx;
55 :     extern ADD_UPSAMPLED_8X8_16TO8 xvid_Add_Upsampled_8x8_16To8_xmm;
56 : edgomez 1.3 #endif
57 : edgomez 1.2
58 :     extern VFILTER_31 * vfilter_31;
59 :     extern VFILTER_31 xvid_VFilter_31_C;
60 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
61 : edgomez 1.2 extern VFILTER_31 xvid_VFilter_31_x86;
62 : edgomez 1.3 #endif
63 : edgomez 1.2
64 :     extern HFILTER_31 * hfilter_31;
65 :     extern HFILTER_31 xvid_HFilter_31_C;
66 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
67 : edgomez 1.2 extern HFILTER_31 xvid_HFilter_31_x86;
68 :     extern HFILTER_31 xvid_HFilter_31_mmx;
69 : edgomez 1.3 #endif
70 : edgomez 1.2
71 :     extern FILTER_18X18_TO_8X8 * filter_18x18_to_8x8;
72 :     extern FILTER_18X18_TO_8X8 xvid_Filter_18x18_To_8x8_C;
73 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
74 : edgomez 1.2 extern FILTER_18X18_TO_8X8 xvid_Filter_18x18_To_8x8_mmx;
75 : edgomez 1.3 #endif
76 : edgomez 1.2
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 : Isibaar 1.4 #if defined(ARCH_IS_IA32) || defined(XVID_IS_X86_64)
80 : edgomez 1.2 extern FILTER_DIFF_18X18_TO_8X8 xvid_Filter_Diff_18x18_To_8x8_mmx;
81 : edgomez 1.3 #endif
82 : edgomez 1.2
83 :    
84 :     /* rrv motion vector scale-up */
85 :     #define RRV_MV_SCALEUP(a) ( (a)>0 ? 2*(a)-1 : (a)<0 ? 2*(a)+1 : (a) )
86 :    
87 :     #endif /* _REDUCED_H_ */

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