ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvs/xvidcore/src/utils/mbfunctions.h
Revision: 1.21
Committed: Wed Nov 26 01:04:34 2008 UTC (15 years, 10 months ago) by Isibaar
Content type: text/plain
Branch: MAIN
CVS Tags: release-1_3_1, release-1_3_0, rc1_1_3_0, tag-branching-1_3_0, release-1_2_2, release-1_2_0, tag-branching-1_2_0, HEAD
Branch point for: release-1_3-branch, release-1_2-branch
Changes since 1.20: +2 -6 lines
Log Message:
Unified elf64/win64 X86_64 support

File Contents

# Content
1 /*****************************************************************************
2 *
3 * XVID MPEG-4 VIDEO CODEC
4 * - MB related header -
5 *
6 * Copyright(C) 2001 Michael Militzer <isibaar@xvid.org>
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: mbfunctions.h,v 1.20 2005/01/05 23:02:15 edgomez Exp $
23 *
24 ****************************************************************************/
25
26 #ifndef _ENCORE_BLOCK_H
27 #define _ENCORE_BLOCK_H
28
29 #include "../encoder.h"
30 #include "../bitstream/bitstream.h"
31
32
33 /** MBTransQuant.c **/
34
35
36 void MBTransQuantIntra(const MBParam * const pParam,
37 const FRAMEINFO * const frame,
38 MACROBLOCK * const pMB,
39 const uint32_t x_pos, /* <-- The x position of the MB to be searched */
40 const uint32_t y_pos, /* <-- The y position of the MB to be searched */
41 int16_t data[6 * 64], /* <-> the data of the MB to be coded */
42 int16_t qcoeff[6 * 64]); /* <-> the quantized DCT coefficients */
43
44 uint8_t MBTransQuantInter(const MBParam * const pParam,
45 const FRAMEINFO * const frame,
46 MACROBLOCK * const pMB,
47 const uint32_t x_pos,
48 const uint32_t y_pos,
49 int16_t data[6 * 64],
50 int16_t qcoeff[6 * 64]);
51
52 uint8_t MBTransQuantInterBVOP(const MBParam * pParam,
53 FRAMEINFO * frame,
54 MACROBLOCK * pMB,
55 const uint32_t x_pos,
56 const uint32_t y_pos,
57 int16_t data[6 * 64],
58 int16_t qcoeff[6 * 64]);
59
60
61 typedef uint32_t (MBFIELDTEST) (int16_t data[6 * 64]); /* function pointer for field test */
62 typedef MBFIELDTEST *MBFIELDTEST_PTR;
63
64 /* global field test pointer for xvid.c */
65 extern MBFIELDTEST_PTR MBFieldTest;
66
67 /* field test implementations */
68 MBFIELDTEST MBFieldTest_c;
69
70 #if defined(ARCH_IS_IA32) || defined(ARCH_IS_X86_64)
71 MBFIELDTEST MBFieldTest_mmx;
72 #endif
73
74 void MBFrameToField(int16_t data[6 * 64]); /* de-interlace vertical Y blocks */
75
76
77 /** MBCoding.c **/
78
79 void MBCoding(const FRAMEINFO * const frame, /* <-- the parameter for coding of the bitstream */
80 MACROBLOCK * pMB, /* <-- Info of the MB to be coded */
81 int16_t qcoeff[6 * 64], /* <-- the quantized DCT coefficients */
82 Bitstream * bs, /* <-> the bitstream */
83 Statistics * pStat); /* <-> statistical data collected for current frame */
84
85 #endif