>Thank you. Do you know if the first pass data is used for more than
>calculating a bitrate for each set of frames?

Yes, it is--or to be more accurate, it doesn't calculate the final bitrate
at all during the first pass (though it may calculate bitrate hints to use
during the second pass).  The details depend on the particular codec, but
what's usually recorded is complexity information, i.e. a "summary" of each
frame from the encoder's point of view.  The encoder then uses that
information in the second pass to guess at how many bits will be needed by
upcoming frames; thus, for example, if the encoder knows that a lot of
simple frames are coming up, it can allocate more bits to preceding frames
(thus improving their quality) without worrying that it'll hit the bitrate
limit later on.

This, by the way, is why you'll most likely run into problems if you give
different video streams to the two passes.  If the complexity analysis from
the first pass says, for example, that frames 100-150 are fairly simple,
the encoder may choose to use up most of its available bitrate in frames
50-100.  But if you apply a filter that makes frames 100-150 harder to
encode, then the encoder won't have enough bits for those frames, and
you'll end up with poor picture quality in that segment.  Conversely, if
the analysis says that frames 100-150 are complex, the encoder may choose a
lower picture quality in frames 50-100 to compensate; and even if it turns
out that your filter made frames 100-150 easier to encode, the encoder
can't go back and add more bits to the earlier frames, since they're
already encoded.

  --Andrew Church
    [EMAIL PROTECTED]
    http://achurch.org/

Reply via email to