[cvs] / xvidcore / vfw / src / codec.h Repository:
ViewVC logotype

Diff of /xvidcore/vfw/src/codec.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Sat Feb 22 08:24:01 2003 UTC revision 1.1.2.9, Mon Feb 9 10:14:54 2004 UTC
# Line 0  Line 1 
1    /*****************************************************************************
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     * $Id$
23     *
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    } CODEC;
70    
71    
72    
73    LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
74    LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
75    LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *);
76    LRESULT compress_frames_info(CODEC *, ICCOMPRESSFRAMES *);
77    LRESULT compress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
78    LRESULT compress_end(CODEC *);
79    LRESULT compress(CODEC *, ICCOMPRESS *);
80    
81    LRESULT decompress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
82    LRESULT decompress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
83    LRESULT decompress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
84    LRESULT decompress_end(CODEC *);
85    LRESULT decompress(CODEC *, ICDECOMPRESS *);
86    
87    extern HINSTANCE m_hdll;
88    extern int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2);
89    extern int (*xvid_encore_func)(void *handle, int opt, void *param1, void *param2);
90    extern int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2);
91    
92    extern xvid_plugin_func *xvid_plugin_single_func,
93                                    *xvid_plugin_2pass1_func,
94                                    *xvid_plugin_2pass2_func,
95                                    *xvid_plugin_lumimasking_func,
96                                    *xvid_plugin_psnr_func;
97    
98    extern int pp_dy, pp_duv, pp_dr, pp_fe; /* decoder options */
99    
100    #endif /* _CODEC_H_ */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.2.9

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