9 |
#define DEBUG(X) |
#define DEBUG(X) |
10 |
// OutputDebugString(X) |
// OutputDebugString(X) |
11 |
#define DEBUG1(X,A) |
#define DEBUG1(X,A) |
12 |
// { char tmp[100]; wsprintf(tmp, "%s %i", (X), (A)); OutputDebugString(tmp); } |
// { char tmp[120]; wsprintf(tmp, "%s %i", (X), (A)); OutputDebugString(tmp); } |
13 |
#define DEBUG2(X,A,B) |
#define DEBUG2(X,A,B) |
14 |
// { 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); } |
15 |
#define DEBUG3(X,A,B,C) |
#define DEBUG3(X,A,B,C) |
16 |
// { 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); } |
17 |
#define DEBUG4(X,A,B,C,D) |
#define DEBUG4(X,A,B,C,D) |
18 |
// { 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); } |
19 |
#define DEBUG5(X,A,B,C,D,E) |
#define DEBUG5(X,A,B,C,D,E) |
20 |
// { 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); } |
21 |
#define DEBUGFOURCC(X,Y) |
#define DEBUGFOURCC(X,Y) |
22 |
// { 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); } |
23 |
|
#define DEBUGERR(X) OutputDebugString(X) |
24 |
#define DEBUG2P(X) OutputDebugString(X) |
#define DEBUG2P(X) OutputDebugString(X) |
25 |
#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); } |
26 |
#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); } |
27 |
|
|
28 |
|
|
29 |
#define FOURCC_XVID mmioFOURCC('X','V','I','D') |
#define FOURCC_XVID mmioFOURCC('X','V','I','D') |
30 |
#define FOURCC_DIVX mmioFOURCC('D','I','V','X') |
#define FOURCC_DIVX mmioFOURCC('D','I','V','X') |
31 |
|
#define FOURCC_DX50 mmioFOURCC('D','X','5','0') |
32 |
//#define FOURCC_DIV3 mmioFOURCC('D','I','V','3') |
//#define FOURCC_DIV3 mmioFOURCC('D','I','V','3') |
33 |
//#define FOURCC_DIV4 mmioFOURCC('D','I','V','4') |
//#define FOURCC_DIV4 mmioFOURCC('D','I','V','4') |
34 |
|
|
92 |
|
|
93 |
typedef struct |
typedef struct |
94 |
{ |
{ |
95 |
HANDLE * stats1; |
HANDLE stats1; |
96 |
HANDLE * stats2; |
HANDLE stats2; |
97 |
|
|
98 |
int bytes1; |
int bytes1; |
99 |
int bytes2; |
int bytes2; |
105 |
|
|
106 |
double average_frame; |
double average_frame; |
107 |
double curve_comp_scale; |
double curve_comp_scale; |
108 |
|
double curve_bias_bonus; |
109 |
|
double alt_curve_low; |
110 |
|
double alt_curve_high; |
111 |
|
double alt_curve_low_diff; |
112 |
|
double alt_curve_high_diff; |
113 |
|
double alt_curve_mid_qual; |
114 |
|
double alt_curve_qual_dev; |
115 |
int overflow; |
int overflow; |
116 |
|
|
117 |
NNSTATS nns1; |
NNSTATS nns1; |
140 |
} CODEC; |
} CODEC; |
141 |
|
|
142 |
|
|
143 |
|
int get_colorspace(BITMAPINFOHEADER *); |
144 |
|
|
145 |
LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_query(CODEC *, BITMAPINFO *, BITMAPINFO *); |
146 |
LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_get_format(CODEC *, BITMAPINFO *, BITMAPINFO *); |
147 |
LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *); |
LRESULT compress_get_size(CODEC *, BITMAPINFO *, BITMAPINFO *); |