[cvs] / xvidcore / src / utils / mbfunctions.h Repository:
ViewVC logotype

Annotation of /xvidcore/src/utils/mbfunctions.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.17.2.4 - (view) (download)

1 : edgomez 1.17.2.4 /*****************************************************************************
2 : Isibaar 1.1 *
3 : edgomez 1.17.2.4 * XVID MPEG-4 VIDEO CODEC
4 :     * - MB related header -
5 : Isibaar 1.1 *
6 : edgomez 1.17.2.4 * Copyright(C) 2001 Michael Militzer <isibaar@videocoding.de>
7 : Isibaar 1.1 *
8 : edgomez 1.17.2.4 * 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 : Isibaar 1.1 *
13 : edgomez 1.17.2.4 * 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 : Isibaar 1.1
26 : edgomez 1.17 #ifndef _ENCORE_BLOCK_H
27 :     #define _ENCORE_BLOCK_H
28 : Isibaar 1.1
29 :     #include "../encoder.h"
30 :     #include "../bitstream/bitstream.h"
31 :    
32 : edgomez 1.17 /** MotionEstimation **/
33 : Isibaar 1.1
34 : edgomez 1.6 bool MotionEstimation(MBParam * const pParam,
35 : edgomez 1.17.2.2 FRAMEINFO * const current,
36 :     FRAMEINFO * const reference,
37 :     const IMAGE * const pRefH,
38 :     const IMAGE * const pRefV,
39 :     const IMAGE * const pRefHV,
40 :     const uint32_t iLimit);
41 : chl 1.7
42 : edgomez 1.17 /** MBMotionCompensation **/
43 :    
44 :     void
45 :     MBMotionCompensation(MACROBLOCK * const mb,
46 : edgomez 1.17.2.2 const uint32_t i,
47 :     const uint32_t j,
48 :     const IMAGE * const ref,
49 :     const IMAGE * const refh,
50 :     const IMAGE * const refv,
51 :     const IMAGE * const refhv,
52 :     const IMAGE * const refGMC,
53 :     IMAGE * const cur,
54 :     int16_t * dct_codes,
55 :     const uint32_t width,
56 :     const uint32_t height,
57 :     const uint32_t edged_width,
58 :     const int32_t quarterpel,
59 :     const int reduced_resolution,
60 :     const int32_t rounding);
61 : chl 1.7
62 : edgomez 1.17 /** MBTransQuant.c **/
63 : Isibaar 1.1
64 :    
65 : edgomez 1.17.2.2 void MBTransQuantIntra(const MBParam * const pParam,
66 : syskin 1.17.2.3 const FRAMEINFO * const frame,
67 : edgomez 1.17.2.2 MACROBLOCK * const pMB,
68 :     const uint32_t x_pos, /* <-- The x position of the MB to be searched */
69 :     const uint32_t y_pos, /* <-- The y position of the MB to be searched */
70 :     int16_t data[6 * 64], /* <-> the data of the MB to be coded */
71 :     int16_t qcoeff[6 * 64]); /* <-> the quantized DCT coefficients */
72 :    
73 :     uint8_t MBTransQuantInter(const MBParam * const pParam,
74 : syskin 1.17.2.3 const FRAMEINFO * const frame,
75 : edgomez 1.17.2.2 MACROBLOCK * const pMB,
76 :     const uint32_t x_pos,
77 :     const uint32_t y_pos,
78 :     int16_t data[6 * 64],
79 :     int16_t qcoeff[6 * 64]);
80 : chl 1.9
81 :     uint8_t MBTransQuantInterBVOP(const MBParam * pParam,
82 : edgomez 1.17 FRAMEINFO * frame,
83 :     MACROBLOCK * pMB,
84 : edgomez 1.17.2.1 const uint32_t x_pos,
85 :     const uint32_t y_pos,
86 : edgomez 1.17 int16_t data[6 * 64],
87 :     int16_t qcoeff[6 * 64]);
88 : edgomez 1.6
89 : edgomez 1.17
90 :     typedef uint32_t (MBFIELDTEST) (int16_t data[6 * 64]); /* function pointer for field test */
91 :     typedef MBFIELDTEST *MBFIELDTEST_PTR;
92 : h 1.2
93 : edgomez 1.17 /* global field test pointer for xvid.c */
94 :     extern MBFIELDTEST_PTR MBFieldTest;
95 : h 1.2
96 : edgomez 1.17 /* field test implementations */
97 :     MBFIELDTEST MBFieldTest_c;
98 :     MBFIELDTEST MBFieldTest_mmx;
99 : h 1.2
100 : edgomez 1.17 void MBFrameToField(int16_t data[6 * 64]); /* de-interlace vertical Y blocks */
101 : Isibaar 1.1
102 :    
103 : edgomez 1.17 /** MBCoding.c **/
104 : Isibaar 1.1
105 : edgomez 1.17 void MBCoding(const FRAMEINFO * const frame, /* <-- the parameter for coding of the bitstream */
106 : edgomez 1.17.2.2 MACROBLOCK * pMB, /* <-- Info of the MB to be coded */
107 :     int16_t qcoeff[6 * 64], /* <-- the quantized DCT coefficients */
108 :     Bitstream * bs, /* <-> the bitstream */
109 :     Statistics * pStat); /* <-> statistical data collected for current frame */
110 : Isibaar 1.1
111 :     #endif

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