[svn] / branches / dev-api-4 / xvidcore / src / utils / mbfunctions.h Repository:
ViewVC logotype

Annotation of /branches/dev-api-4/xvidcore/src/utils/mbfunctions.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1054 - (view) (download)

1 : edgomez 1054 /*****************************************************************************
2 : Isibaar 3 *
3 : edgomez 1054 * XVID MPEG-4 VIDEO CODEC
4 :     * - MB related header -
5 : Isibaar 3 *
6 : edgomez 1054 * Copyright(C) 2001 Michael Militzer <isibaar@videocoding.de>
7 : Isibaar 3 *
8 : edgomez 1054 * 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 3 *
13 : edgomez 1054 * 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: mbfunctions.h,v 1.17.2.4 2003-06-09 13:55:34 edgomez Exp $
23 :     *
24 :     ****************************************************************************/
25 : Isibaar 3
26 : edgomez 851 #ifndef _ENCORE_BLOCK_H
27 :     #define _ENCORE_BLOCK_H
28 : Isibaar 3
29 :     #include "../encoder.h"
30 :     #include "../bitstream/bitstream.h"
31 :    
32 : edgomez 851 /** MotionEstimation **/
33 : Isibaar 3
34 : edgomez 195 bool MotionEstimation(MBParam * const pParam,
35 : edgomez 965 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 : Isibaar 3
42 : edgomez 851 /** MBMotionCompensation **/
43 : edgomez 420
44 : edgomez 851 void
45 :     MBMotionCompensation(MACROBLOCK * const mb,
46 : edgomez 965 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 : Isibaar 3
62 : edgomez 851 /** MBTransQuant.c **/
63 : Isibaar 3
64 :    
65 : edgomez 965 void MBTransQuantIntra(const MBParam * const pParam,
66 : syskin 984 const FRAMEINFO * const frame,
67 : edgomez 965 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 : Isibaar 3
73 : edgomez 965 uint8_t MBTransQuantInter(const MBParam * const pParam,
74 : syskin 984 const FRAMEINFO * const frame,
75 : edgomez 965 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 : Isibaar 3
81 : chl 368 uint8_t MBTransQuantInterBVOP(const MBParam * pParam,
82 : edgomez 851 FRAMEINFO * frame,
83 :     MACROBLOCK * pMB,
84 : edgomez 914 const uint32_t x_pos,
85 :     const uint32_t y_pos,
86 : edgomez 851 int16_t data[6 * 64],
87 :     int16_t qcoeff[6 * 64]);
88 : edgomez 195
89 :    
90 : edgomez 851 typedef uint32_t (MBFIELDTEST) (int16_t data[6 * 64]); /* function pointer for field test */
91 :     typedef MBFIELDTEST *MBFIELDTEST_PTR;
92 : h 69
93 : edgomez 851 /* global field test pointer for xvid.c */
94 :     extern MBFIELDTEST_PTR MBFieldTest;
95 : h 69
96 : edgomez 851 /* field test implementations */
97 :     MBFIELDTEST MBFieldTest_c;
98 :     MBFIELDTEST MBFieldTest_mmx;
99 : Isibaar 3
100 : edgomez 851 void MBFrameToField(int16_t data[6 * 64]); /* de-interlace vertical Y blocks */
101 : chl 347
102 :    
103 : edgomez 851 /** MBCoding.c **/
104 : Isibaar 3
105 : edgomez 851 void MBCoding(const FRAMEINFO * const frame, /* <-- the parameter for coding of the bitstream */
106 : edgomez 965 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 : edgomez 851
111 : Isibaar 3 #endif

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