Logo Search packages:      
Sourcecode: libtheora version File versions  Download package

ogg_int64_t theora_granule_frame ( theora_state th,
ogg_int64_t  granulepos 
)

Convert a granulepos to an absolute frame number. The granulepos is interpreted in the context of a given theora_state handle.

Parameters:
thA previously initialized theora_state handle (encode or decode)
granuleposThe granulepos to convert.
Returns:
The frame number corresponding to granulepos.
Return values:
-1The given granulepos is undefined (i.e. negative)

Thus function was added in the 1.0alpha4 release.

Definition at line 450 of file toplevel.c.

References theora_granule_frame().

Referenced by theora_granule_frame().

                                                                         {
  CP_INSTANCE *cpi=(CP_INSTANCE *)(th->internal_encode);
  PB_INSTANCE *pbi=(PB_INSTANCE *)(th->internal_decode);

  if(cpi)pbi=&cpi->pb;

  if(granulepos>=0){
    ogg_int64_t iframe=granulepos>>pbi->keyframe_granule_shift;
    ogg_int64_t pframe=granulepos-(iframe<<pbi->keyframe_granule_shift);

    return (iframe+pframe);
  }

  return(-1);
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index