[theora-dev] inter-frame vs intra-frame

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Fri Mar 25 05:46:07 PDT 2011


On 03/25/2011 07:34 AM, Jonathan Fabrizio wrote:
> Hi,
>     The specification does not give any indication on when recording
> intra-frame. Obviously the first frame is an intra frame but after what is
> the strategy used in Theora ? I think an intra frame is recorded whenever
> consecutive frames become too different ? Is there any criterion ? What's
> happen in case of periodic changes (*blinking *lights for exemple) ?

The simplest criterion for when to produce an intra frame is when K frames
have passed since the most recent intra, where K is the keyframe interval
specified in the Ogg mapping.  Other than this requirement, encoders are
free to employ any strategy.

The libtheora encoder produces an intra frame whenever doing so would
provide the same quality as inter in fewer bits.  The simplest way to do
this to fully encode the frame both ways and see which one is smaller.
libtheora does something like this, but has heuristics to approximate the
total bit cost using less CPU time.

--Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20110325/9f8fad9a/attachment.pgp 


More information about the theora-dev mailing list