46 xvid_plg_create_t xvid_plg_create = { 0 };
47 xvid_plugin_2pass2_t xvid_2pass2 = { 0 };
56 static const char frame_types[] =
" ipbs";
62 snprintf(tmp,
sizeof(tmp),
"%c %d %d %d %d %d %d\n",
70 if (write(fd, tmp, strlen(tmp)) < 0) {
80 xvid_2pass2.version = XVID_MAKE_VERSION(1, 1, 0);
81 xvid_2pass2.filename = tmp_name;
87 xvid_plg_create.version = XVID_MAKE_VERSION(1, 1, 0);
90 xvid_plg_create.param = &xvid_2pass2;
92 if (xvid_plugin_2pass2(NULL, XVID_PLG_CREATE, &xvid_plg_create,
102 xvid_plg_data_t xvid_plg_data = { 0 };
104 xvid_plg_data.version = XVID_MAKE_VERSION(1, 1, 0);
105 xvid_plg_data.width = s->
width;
106 xvid_plg_data.height = s->
height;
107 xvid_plg_data.mb_width = s->
mb_width;
111 xvid_plg_data.min_quant[0] = s->
avctx->
qmin;
112 xvid_plg_data.min_quant[1] = s->
avctx->
qmin;
113 xvid_plg_data.min_quant[2] = s->
avctx->
qmin;
114 xvid_plg_data.max_quant[0] = s->
avctx->
qmax;
115 xvid_plg_data.max_quant[1] = s->
avctx->
qmax;
116 xvid_plg_data.max_quant[2] = s->
avctx->
qmax;
117 xvid_plg_data.bquant_offset = 0;
118 xvid_plg_data.bquant_ratio = 100;
122 xvid_plg_data.length =
123 xvid_plg_data.stats.length = (s->
frame_bits + 7) / 8;
125 xvid_plg_data.quant = s->
qscale;
128 XVID_PLG_AFTER, &xvid_plg_data, NULL)) {
130 "xvid_plugin_2pass2(handle, XVID_PLG_AFTER, ...) FAILED\n");
136 xvid_plg_data.quant = 0;
138 XVID_PLG_BEFORE, &xvid_plg_data, NULL)) {
140 "xvid_plugin_2pass2(handle, XVID_PLG_BEFORE, ...) FAILED\n");
159 xvid_plg_destroy_t xvid_plg_destroy;
162 &xvid_plg_destroy, NULL);