[svn] / branches / release-1_0-branch / xvidcore / vfw / src / codec.h Repository:
ViewVC logotype

Annotation of /branches/release-1_0-branch/xvidcore/vfw/src/codec.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1396 - (view) (download)

1 : edgomez 1382 /*****************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - VFW codec header -
5 :     *
6 :     * Copyright(C) 2002-2003 Anonymous <xvid-devel@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 : edgomez 1396 * $Id: codec.h,v 1.2.2.1 2004-03-31 19:35:31 edgomez Exp $
23 : edgomez 1382 *
24 :     ****************************************************************************/
25 :     #ifndef _CODEC_H_
26 :     #define _CODEC_H_
27 :    
28 :     #include <vfw.h>
29 :     #include "config.h"
30 :     #include "status.h"
31 :    
32 :     #define XVID_NAME_L L"XVID"
33 :     #define XVID_DESC_L L"XviD MPEG-4 Codec"
34 :    
35 :     #define FOURCC_XVID mmioFOURCC('X','V','I','D')
36 :     #define FOURCC_DIVX mmioFOURCC('D','I','V','X')
37 :     #define FOURCC_DX50 mmioFOURCC('D','X','5','0')
38 :     /* yuyu 4:2:2 16bit, y-u-y-v, packed*/
39 :     #define FOURCC_YUYV mmioFOURCC('Y','U','Y','V')
40 :     #define FOURCC_YUY2 mmioFOURCC('Y','U','Y','2')
41 :     /* yvyu 4:2:2 16bit, y-v-y-u, packed*/
42 :     #define FOURCC_YVYU mmioFOURCC('Y','V','Y','U')
43 :     /* uyvy 4:2:2 16bit, u-y-v-y, packed */
44 :     #define FOURCC_UYVY mmioFOURCC('U','Y','V','Y')
45 :     /* i420 y-u-v, planar */
46 :     #define FOURCC_I420 mmioFOURCC('I','4','2','0')
47 :     #define FOURCC_IYUV mmioFOURCC('I','Y','U','V')
48 :     /* yv12 y-v-u, planar */
49 :     #define FOURCC_YV12 mmioFOURCC('Y','V','1','2')
50 :    
51 :    
52 :     typedef struct
53 :     {
54 :     CONFIG config;
55 :    
56 :     // decoder
57 :     void * dhandle;
58 :    
59 :     // encoder
60 :     void * ehandle;
61 :     unsigned int fincr;
62 :     unsigned int fbase;
63 :     status_t status;
64 :    
65 :     /* encoder min keyframe internal */
66 :     int framenum;
67 :     int keyspacing;
68 :    
69 : edgomez 1396 HINSTANCE m_hdll;
70 :     int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2);
71 :     int (*xvid_encore_func)(void *handle, int opt, void *param1, void *param2);
72 :     int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2);
73 :    
74 :     xvid_plugin_func *xvid_plugin_single_func;
75 :     xvid_plugin_func *xvid_plugin_2pass1_func;
76 :     xvid_plugin_func *xvid_plugin_2pass2_func;
77 :     xvid_plugin_func *xvid_plugin_lumimasking_func;
78 :     xvid_plugin_func *xvid_plugin_psnr_func;
79 :    
80 : edgomez 1382 } CODEC;
81 :    
82 :    
83 :    
84 :     LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
85 :     LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
86 :     LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *);
87 :     LRESULT compress_frames_info(CODEC *, ICCOMPRESSFRAMES *);
88 :     LRESULT compress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
89 :     LRESULT compress_end(CODEC *);
90 :     LRESULT compress(CODEC *, ICCOMPRESS *);
91 :    
92 :     LRESULT decompress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
93 :     LRESULT decompress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
94 :     LRESULT decompress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
95 :     LRESULT decompress_end(CODEC *);
96 :     LRESULT decompress(CODEC *, ICDECOMPRESS *);
97 :    
98 :     extern int pp_dy, pp_duv, pp_dr, pp_fe; /* decoder options */
99 :    
100 :     #endif /* _CODEC_H_ */

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