[XviD-devel] [BUG] dev-api-4 -- encoding loop
Edouard Gomez
ed.gomez at free.fr
Tue Apr 29 01:02:49 CEST 2003
Hi pete,
in encoder.c from today's CVS (pseudo code) starting at L1041:
if(type specified in the feeded frame) {
respect this choice and set it in encoder structure
} else {
if((first GOP frame) or (frame distance > max GOP size)) {
force IFrame
} else {
type = perform MEanalysis between ref and current;
if(type == BFrame && (user did not requested dynamic bframes))
type = PFrame;
}
}
if(type != IFrame) {
if(too many bframes in the queue) {
we force type = PFrame; in order to respect max bframe setting
} else {
we force type = bframe;
}
}
next instructions...
So what if we have MEanalysis that return a PFrame and the number of
bframes on the queue is not at its maximum ? I think the encoder will
just force a bframe where MEanalysis did find that a PFrame is a better
choice.
Is my code analysis false of de we have to remove the "else" part of the
"if(too many bframes in the queue)" condition ?
NB: I spoted this bug while looking at the uninitialized reads in
MEanalysis reported by valgrind. I still don't see where those
reads are produced and more important, why ?
--
Edouard Gomez-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://edu.bnhof.de/pipermail/xvid-devel/attachments/20030429/53e65d3d/attachment.bin
More information about the XviD-devel
mailing list