--- branches/dev-api-3/vfw/src/codec.h 2002/11/19 13:21:25 659 +++ branches/dev-api-3/vfw/src/codec.h 2002/11/19 13:23:17 660 @@ -27,8 +27,8 @@ #define DEBUGERR(X) OutputDebugString(X) #define DEBUG2P(X) OutputDebugString(X) -#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); } -#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); } +#define DEBUG1ST(A,B,C,D,E,F,G) { char tmp[140]; wsprintf(tmp, "1st-pass: size:%d total-kbytes:%d %s quant:%d %s kblocks:%d mblocks:%d", (A), (B), (C), (D), (E), (F), (G)); OutputDebugString(tmp); } +#define DEBUG2ND(A,B,C,D,E,F,G,H) { char tmp[140]; wsprintf(tmp, "2nd-pass: quant:%d %s %s stats1:%d scaled:%d actual:%d overflow:%d %s", (A), (B), (C), (D), (E), (F), (G), (H) ? "credits" : "movie"); OutputDebugString(tmp); } #define FOURCC_XVID mmioFOURCC('X','V','I','D') @@ -61,6 +61,10 @@ #define NNSTATS_KEYFRAME (1<<31) +#define NNSTATS_BFRAME (1<<30) +#define NNSTATS_SKIPFRAME (1<<29) +#define NNSTATS_PADFRAME (1<<28) +#define NNSTATS_DELAYFRAME (1<<27) typedef struct { @@ -108,12 +112,13 @@ int keyframe_locations[20480]; int max_framesize; - int minpsize, minisize; + int minbsize, minpsize, minisize; double movie_curve; double credits_start_curve; double credits_end_curve; - double average_frame; + double average_pframe; + double average_bframe; double curve_comp_scale; double curve_bias_bonus; double alt_curve_low; @@ -127,6 +132,12 @@ NNSTATS nns1; NNSTATS nns2; + + NNSTATS* nns1_array; + NNSTATS* nns2_array; + int nns_array_size; + int nns_array_length; + int nns_array_pos; } TWOPASS;