|
|
|
@@ -82,7 +82,11 @@ static uint64_t vp8_gptopts(AVFormatContext *s, int idx, |
|
|
|
struct ogg *ogg = s->priv_data; |
|
|
|
struct ogg_stream *os = ogg->streams + idx; |
|
|
|
|
|
|
|
uint64_t pts = (granule >> 32); |
|
|
|
int invcnt = !((granule >> 30) & 3); |
|
|
|
// If page granule is that of an invisible vp8 frame, its pts will be |
|
|
|
// that of the end of the next visible frame. We substract 1 for those |
|
|
|
// to prevent messing up pts calculations. |
|
|
|
uint64_t pts = (granule >> 32) - invcnt; |
|
|
|
uint32_t dist = (granule >> 3) & 0x07ffffff; |
|
|
|
|
|
|
|
if (!dist) |
|
|
|
|