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

Annotation of /branches/dev-api-4/xvidcore/vfw/src/codec.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1393 - (view) (download)

1 : edgomez 1054 /*****************************************************************************
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 : syskin 1393 * $Id: codec.h,v 1.1.2.10 2004-03-31 11:55:34 syskin Exp $
23 : edgomez 1054 *
24 :     ****************************************************************************/
25 : suxen_drol 889 #ifndef _CODEC_H_
26 :     #define _CODEC_H_
27 :    
28 :     #include <vfw.h>
29 :     #include "config.h"
30 : suxen_drol 1061 #include "status.h"
31 : suxen_drol 889
32 : suxen_drol 983 #define XVID_NAME_L L"XVID"
33 :     #define XVID_DESC_L L"XviD MPEG-4 Codec"
34 : suxen_drol 889
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 : suxen_drol 983 // decoder
57 :     void * dhandle;
58 :    
59 :     // encoder
60 : suxen_drol 889 void * ehandle;
61 : suxen_drol 1061 unsigned int fincr;
62 :     unsigned int fbase;
63 :     status_t status;
64 : suxen_drol 983
65 : edgomez 1053 /* encoder min keyframe internal */
66 : suxen_drol 983 int framenum;
67 : suxen_drol 889 int keyspacing;
68 :    
69 : syskin 1393 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 : suxen_drol 889 } CODEC;
81 :    
82 :    
83 : suxen_drol 1358
84 : suxen_drol 889 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 : syskin 1323 extern int pp_dy, pp_duv, pp_dr, pp_fe; /* decoder options */
99 :    
100 : suxen_drol 889 #endif /* _CODEC_H_ */

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