[XviD-devel] 2nd pass "controlled" mode
Dirk Knop
xvid-devel@xvid.org
Wed, 27 Nov 2002 18:22:11 +0100
Hi,
I need the 2nd pass to be an exact copy of the first pass (frame-type
wise), so I looked a bit into encoder.c .
I think that the changes have to be done in encoder_encode_bframes,
right before the "ipvop_loop:".
I just wanted to add a small function:
if (pFrame->intra != -1) { /* dynamic decision means -1 */
switch (pFrame->intra) {
case 0:
framecodep(...);
emms();
return XVID_ERR_OK;
break;
case 1:
framecodei(...);
emms();
return XVID_ERR_OK;
break;
case 2:
framecodeb(...);
emms();
return XVID_ERR_OK;
break;
default:
break;
}
Unfortunately I don't really understand what to pass along with
FrameCodeXYZ, and we need to take care of skipped frames and pad-frames
as well. Also, the resorting of the bframe-.stuff is a bit too much for
my understanding of the code ;)
I hope that someone with more insights / better understanding of that
(dynamic) bframe-stuff (IPB-decision-loop) can correct that and/or
implement this kind of steering.
Thanks again,
best regards,
Koepi