47 |
#define ARG_FRAMERATE 25 |
#define ARG_FRAMERATE 25 |
48 |
#define ARG_BITRATE 900 |
#define ARG_BITRATE 900 |
49 |
|
|
|
int QUALITY =5; |
|
|
|
|
50 |
int XDIM=0; |
int XDIM=0; |
51 |
int YDIM=0; // will be set when reading first image |
int YDIM=0; // will be set when reading first image |
52 |
int filenr = 0; |
int filenr = 0; |
132 |
xparam.fincr = FRAMERATE_INCR; |
xparam.fincr = FRAMERATE_INCR; |
133 |
xparam.fbase = (int)(FRAMERATE_INCR * ARG_FRAMERATE); |
xparam.fbase = (int)(FRAMERATE_INCR * ARG_FRAMERATE); |
134 |
} |
} |
135 |
xparam.bitrate = ARG_BITRATE*1000; |
xparam.rc_bitrate = ARG_BITRATE*1000; |
136 |
xparam.rc_period = 2000; |
xparam.rc_reaction_delay_factor = 16; |
137 |
xparam.rc_reaction_period = 10; |
xparam.rc_averaging_period = 100; |
138 |
xparam.rc_reaction_ratio = 20; |
xparam.rc_buffer = 100; |
139 |
xparam.min_quantizer = 1; |
xparam.min_quantizer = 2; |
140 |
xparam.max_quantizer = 31; |
xparam.max_quantizer = 31; |
141 |
xparam.max_key_interval = (int)ARG_FRAMERATE*10; |
xparam.max_key_interval = (int)ARG_FRAMERATE*10; |
|
xparam.motion_search = QUALITY; |
|
|
xparam.lum_masking = 0; // Luminance Masking is still under development |
|
|
xparam.quant_type = 0; // 0=h.263, 1=mpeg4 |
|
142 |
|
|
143 |
xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xparam, NULL); |
xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xparam, NULL); |
144 |
enchandle=xparam.handle; |
enchandle=xparam.handle; |
159 |
XVID_ENC_FRAME xframe; |
XVID_ENC_FRAME xframe; |
160 |
XVID_ENC_STATS xstats; |
XVID_ENC_STATS xstats; |
161 |
|
|
162 |
|
// general features |
163 |
|
xframe.general = XVID_H263QUANT; // we use h.263 quantisation |
164 |
|
// xframe.general = XVID_MPEGQUANT; // MPEG quantization |
165 |
|
|
166 |
|
xframe.general |= XVID_HALFPEL; // halfpel precision |
167 |
|
xframe.general |= XVID_INTER4V; // four motion vector mode |
168 |
|
|
169 |
|
// motion estimation (pmvfast) settings |
170 |
|
xframe.motion = PMV_HALFPELREFINE16 | PMV_EARLYSTOP16 | |
171 |
|
PMV_HALFPELDIAMOND8 | PMV_EARLYSTOP8; |
172 |
|
|
173 |
xframe.bitstream = bitstream; |
xframe.bitstream = bitstream; |
174 |
xframe.length = -1; // this is written by the routine |
xframe.length = -1; // this is written by the routine |
175 |
|
|
231 |
xframe.bitstream = m4v_buffer; |
xframe.bitstream = m4v_buffer; |
232 |
xframe.length = m4v_size; |
xframe.length = m4v_size; |
233 |
xframe.image = rgb_buffer; |
xframe.image = rgb_buffer; |
234 |
xframe.stride = XDIM; |
xframe.stride = XDIM*3; |
235 |
xframe.colorspace = XVID_CSP_RGB24; // XVID_CSP_USER is fastest (no memcopy involved) |
xframe.colorspace = XVID_CSP_RGB24; // XVID_CSP_USER is fastest (no memcopy involved) |
236 |
|
|
237 |
/* |
/* |