6 |
#include "config.h" |
#include "config.h" |
7 |
#include "xvid.h" |
#include "xvid.h" |
8 |
|
|
9 |
#define DEBUG(X) |
#define DEBUG(X) OutputDebugString(X) |
10 |
// OutputDebugString(X) |
#define DEBUG1(X,A) { char tmp[120]; wsprintf(tmp, "%s %i", (X), (A)); OutputDebugString(tmp); } |
|
#define DEBUG1(X,A) |
|
|
// { char tmp[100]; wsprintf(tmp, "%s %i", (X), (A)); OutputDebugString(tmp); } |
|
11 |
#define DEBUG2(X,A,B) |
#define DEBUG2(X,A,B) |
12 |
// { char tmp[100]; wsprintf(tmp, "%s %i %i", (X), (A), (B)); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %i %i", (X), (A), (B)); OutputDebugString(tmp); } |
13 |
#define DEBUG3(X,A,B,C) |
#define DEBUG3(X,A,B,C) |
14 |
// { char tmp[100]; wsprintf(tmp, "%s %i %i %i", (X), (A), (B), (C)); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %i %i %i", (X), (A), (B), (C)); OutputDebugString(tmp); } |
15 |
#define DEBUG4(X,A,B,C,D) |
#define DEBUG4(X,A,B,C,D) |
16 |
// { char tmp[100]; wsprintf(tmp, "%s %i %i %i %i", (X), (A), (B), (C), (D)); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %i %i %i %i", (X), (A), (B), (C), (D)); OutputDebugString(tmp); } |
17 |
#define DEBUG5(X,A,B,C,D,E) |
#define DEBUG5(X,A,B,C,D,E) |
18 |
// { char tmp[100]; wsprintf(tmp, "%s %i %i %i %i %i", (X), (A), (B), (C), (D), (E)); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %i %i %i %i %i", (X), (A), (B), (C), (D), (E)); OutputDebugString(tmp); } |
19 |
#define DEBUGFOURCC(X,Y) |
#define DEBUGFOURCC(X,Y) |
20 |
// { char tmp[100]; wsprintf(tmp, "%s %c %c %c %c", (X), (Y)&0xff, ((Y)>>8)&0xff, ((Y)>>16)&0xff, ((Y)>>24)&0xff); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %c %c %c %c", (X), (Y)&0xff, ((Y)>>8)&0xff, ((Y)>>16)&0xff, ((Y)>>24)&0xff); OutputDebugString(tmp); } |
21 |
#define DEBUG2P(X) OutputDebugString(X) |
#define DEBUG2P(X) OutputDebugString(X) |
22 |
#define DEBUG1ST(A,B,C,D,E,F) { char tmp[100]; wsprintf(tmp, "1st-pass: size:%d total-kbytes:%d %s quant:%d kblocks:%d mblocks:%d", (A), (B), (C) ? "intra" : "inter", (D), (E), (F)); OutputDebugString(tmp); } |
#define DEBUG1ST(A,B,C,D,E,F,G) { char tmp[120]; wsprintf(tmp, "1st-pass: size:%d total-kbytes:%d %s quant:%d %s kblocks:%d mblocks:%d", (A), (B), (C) ? "intra" : "inter", (D), (E), (F), (G)); OutputDebugString(tmp); } |
23 |
#define DEBUG2ND(A,B,C,D,E,F,G) { char tmp[100]; wsprintf(tmp, "2nd-pass: quant:%d %s stats1:%d scaled:%d actual:%d overflow:%d %s", (A), (B) ? "intra" : "inter", (C), (D), (E), (F), (G) ? "credits" : "movie"); OutputDebugString(tmp); } |
#define DEBUG2ND(A,B,C,D,E,F,G,H) { char tmp[120]; wsprintf(tmp, "2nd-pass: quant:%d %s %s stats1:%d scaled:%d actual:%d overflow:%d %s", (A), (B), (C) ? "intra" : "inter", (D), (E), (F), (G), (H) ? "credits" : "movie"); OutputDebugString(tmp); } |
24 |
|
|
25 |
|
|
26 |
#define FOURCC_XVID mmioFOURCC('X','V','I','D') |
#define FOURCC_XVID mmioFOURCC('X','V','I','D') |
27 |
#define FOURCC_DIVX mmioFOURCC('D','I','V','X') |
#define FOURCC_DIVX mmioFOURCC('D','I','V','X') |
28 |
|
#define FOURCC_DX50 mmioFOURCC('D','X','5','0') |
29 |
//#define FOURCC_DIV3 mmioFOURCC('D','I','V','3') |
//#define FOURCC_DIV3 mmioFOURCC('D','I','V','3') |
30 |
//#define FOURCC_DIV4 mmioFOURCC('D','I','V','4') |
//#define FOURCC_DIV4 mmioFOURCC('D','I','V','4') |
31 |
|
|
89 |
|
|
90 |
typedef struct |
typedef struct |
91 |
{ |
{ |
92 |
HANDLE * stats1; |
HANDLE stats1; |
93 |
HANDLE * stats2; |
HANDLE stats2; |
94 |
|
|
95 |
int bytes1; |
int bytes1; |
96 |
int bytes2; |
int bytes2; |
130 |
} CODEC; |
} CODEC; |
131 |
|
|
132 |
|
|
133 |
|
int get_colorspace(BITMAPINFOHEADER *); |
134 |
|
|
135 |
LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *); |
136 |
LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *); |
137 |
LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *); |