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

Annotation of /trunk/xvidcore/vfw/src/codec.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1988 - (view) (download)

1 : edgomez 1382 /*****************************************************************************
2 :     *
3 :     * XVID MPEG-4 VIDEO CODEC
4 :     * - VFW codec header -
5 :     *
6 : Isibaar 1910 * Copyright(C) Peter Ross <pross@xvid.org>
7 : edgomez 1382 *
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 : Isibaar 1988 * $Id$
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 : Isibaar 1802 #define XVID_DESC_L L"Xvid MPEG-4 Codec"
34 : edgomez 1382
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 : Isibaar 1952 #define FOURCC_MP4V mmioFOURCC('M','P','4','V')
39 :     #define FOURCC_xvid mmioFOURCC('x','v','i','d')
40 :     #define FOURCC_divx mmioFOURCC('d','i','v','x')
41 :     #define FOURCC_dx50 mmioFOURCC('d','x','5','0')
42 :     #define FOURCC_mp4v mmioFOURCC('m','p','4','v')
43 :    
44 : edgomez 1382 /* yuyu 4:2:2 16bit, y-u-y-v, packed*/
45 :     #define FOURCC_YUYV mmioFOURCC('Y','U','Y','V')
46 :     #define FOURCC_YUY2 mmioFOURCC('Y','U','Y','2')
47 :     /* yvyu 4:2:2 16bit, y-v-y-u, packed*/
48 :     #define FOURCC_YVYU mmioFOURCC('Y','V','Y','U')
49 :     /* uyvy 4:2:2 16bit, u-y-v-y, packed */
50 :     #define FOURCC_UYVY mmioFOURCC('U','Y','V','Y')
51 :     /* i420 y-u-v, planar */
52 :     #define FOURCC_I420 mmioFOURCC('I','4','2','0')
53 :     #define FOURCC_IYUV mmioFOURCC('I','Y','U','V')
54 :     /* yv12 y-v-u, planar */
55 :     #define FOURCC_YV12 mmioFOURCC('Y','V','1','2')
56 :    
57 :    
58 :     typedef struct
59 :     {
60 :     CONFIG config;
61 :    
62 :     // decoder
63 :     void * dhandle;
64 :    
65 :     // encoder
66 :     void * ehandle;
67 :     unsigned int fincr;
68 :     unsigned int fbase;
69 :     status_t status;
70 :    
71 :     /* encoder min keyframe internal */
72 :     int framenum;
73 :     int keyspacing;
74 :    
75 : edgomez 1398 HINSTANCE m_hdll;
76 :     int (*xvid_global_func)(void *handle, int opt, void *param1, void *param2);
77 :     int (*xvid_encore_func)(void *handle, int opt, void *param1, void *param2);
78 :     int (*xvid_decore_func)(void *handle, int opt, void *param1, void *param2);
79 :    
80 :     xvid_plugin_func *xvid_plugin_single_func;
81 :     xvid_plugin_func *xvid_plugin_2pass1_func;
82 :     xvid_plugin_func *xvid_plugin_2pass2_func;
83 :     xvid_plugin_func *xvid_plugin_lumimasking_func;
84 :     xvid_plugin_func *xvid_plugin_psnr_func;
85 :    
86 : edgomez 1382 } CODEC;
87 :    
88 :    
89 :    
90 :     LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
91 :     LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
92 :     LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *);
93 :     LRESULT compress_frames_info(CODEC *, ICCOMPRESSFRAMES *);
94 :     LRESULT compress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
95 :     LRESULT compress_end(CODEC *);
96 :     LRESULT compress(CODEC *, ICCOMPRESS *);
97 :    
98 :     LRESULT decompress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
99 :     LRESULT decompress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
100 :     LRESULT decompress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
101 :     LRESULT decompress_end(CODEC *);
102 :     LRESULT decompress(CODEC *, ICDECOMPRESS *);
103 :    
104 : syskin 1437 extern int pp_brightness, pp_dy, pp_duv, pp_fe, pp_dry, pp_druv; /* decoder options */
105 : edgomez 1382
106 :     #endif /* _CODEC_H_ */

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