[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 1054 - (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 :     * $Id: codec.h,v 1.1.2.4 2003-06-09 13:55:56 edgomez Exp $
23 :     *
24 :     ****************************************************************************/
25 : suxen_drol 889 #ifndef _CODEC_H_
26 :     #define _CODEC_H_
27 :    
28 :     #include <vfw.h>
29 :     #include "config.h"
30 :    
31 : suxen_drol 983 #define XVID_NAME_L L"XVID"
32 :     #define XVID_DESC_L L"XviD MPEG-4 Codec"
33 : suxen_drol 889
34 :     #define FOURCC_XVID mmioFOURCC('X','V','I','D')
35 :     #define FOURCC_DIVX mmioFOURCC('D','I','V','X')
36 :     #define FOURCC_DX50 mmioFOURCC('D','X','5','0')
37 :     /* yuyu 4:2:2 16bit, y-u-y-v, packed*/
38 :     #define FOURCC_YUYV mmioFOURCC('Y','U','Y','V')
39 :     #define FOURCC_YUY2 mmioFOURCC('Y','U','Y','2')
40 :     /* yvyu 4:2:2 16bit, y-v-y-u, packed*/
41 :     #define FOURCC_YVYU mmioFOURCC('Y','V','Y','U')
42 :     /* uyvy 4:2:2 16bit, u-y-v-y, packed */
43 :     #define FOURCC_UYVY mmioFOURCC('U','Y','V','Y')
44 :     /* i420 y-u-v, planar */
45 :     #define FOURCC_I420 mmioFOURCC('I','4','2','0')
46 :     #define FOURCC_IYUV mmioFOURCC('I','Y','U','V')
47 :     /* yv12 y-v-u, planar */
48 :     #define FOURCC_YV12 mmioFOURCC('Y','V','1','2')
49 :    
50 :    
51 :     typedef struct
52 :     {
53 :     CONFIG config;
54 :    
55 : suxen_drol 983 // decoder
56 :     void * dhandle;
57 :    
58 :     // encoder
59 : suxen_drol 889 void * ehandle;
60 :     int fincr;
61 :     int fbase;
62 : suxen_drol 983
63 : edgomez 1053 /* encoder min keyframe internal */
64 : suxen_drol 983 int framenum;
65 : suxen_drol 889 int keyspacing;
66 :    
67 :     } CODEC;
68 :    
69 :    
70 :     int get_colorspace(BITMAPINFOHEADER *);
71 :    
72 :     LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
73 :     LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
74 :     LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *);
75 :     LRESULT compress_frames_info(CODEC *, ICCOMPRESSFRAMES *);
76 :     LRESULT compress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
77 :     LRESULT compress_end(CODEC *);
78 :     LRESULT compress(CODEC *, ICCOMPRESS *);
79 :    
80 :     LRESULT decompress_query(CODEC *, BITMAPINFO *, BITMAPINFO *);
81 :     LRESULT decompress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *);
82 :     LRESULT decompress_begin(CODEC *, BITMAPINFO *, BITMAPINFO *);
83 :     LRESULT decompress_end(CODEC *);
84 :     LRESULT decompress(CODEC *, ICDECOMPRESS *);
85 :    
86 :     #endif /* _CODEC_H_ */

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