]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit 'd4c12b8be4bdd2ffddb3bd5e11773de4c4c46f68'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 30 Oct 2013 09:26:00 +0000 (10:26 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 30 Oct 2013 09:26:00 +0000 (10:26 +0100)
* commit 'd4c12b8be4bdd2ffddb3bd5e11773de4c4c46f68':
  oggparsetheora: K&R cosmetics, reformat

Conflicts:
libavformat/oggparsetheora.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/oggparsetheora.c

index 0fd5812e0f966b7e80f6fe49fec947bdc09172e1,f2cfe1bef3c2320d7f7482e33b1e78ce8c5084f4..c0290e6bf40b73b980866ed0162b16ca7856f4b7
@@@ -163,47 -163,10 +164,47 @@@ static uint64_t theora_gptopts(AVFormat
      return iframe + pframe;
  }
  
 +static int theora_packet(AVFormatContext *s, int idx)
 +{
 +    struct ogg *ogg = s->priv_data;
 +    struct ogg_stream *os = ogg->streams + idx;
 +    int duration;
 +
 +    /* first packet handling
 +       here we parse the duration of each packet in the first page and compare
 +       the total duration to the page granule to find the encoder delay and
 +       set the first timestamp */
 +
 +    if ((!os->lastpts || os->lastpts == AV_NOPTS_VALUE) && !(os->flags & OGG_FLAG_EOS)) {
 +        int seg;
 +
 +        duration = 1;
 +        for (seg = os->segp; seg < os->nsegs; seg++) {
 +            if (os->segments[seg] < 255)
 +                duration ++;
 +        }
 +
 +        os->lastpts = os->lastdts   = theora_gptopts(s, idx, os->granule, NULL) - duration;
 +        if(s->streams[idx]->start_time == AV_NOPTS_VALUE) {
 +            s->streams[idx]->start_time = os->lastpts;
 +            if (s->streams[idx]->duration)
 +                s->streams[idx]->duration -= s->streams[idx]->start_time;
 +        }
 +    }
 +
 +    /* parse packet duration */
 +    if (os->psize > 0) {
 +        os->pduration = 1;
 +    }
 +
 +    return 0;
 +}
 +
  const struct ogg_codec ff_theora_codec = {
-     .magic = "\200theora",
+     .magic     = "\200theora",
      .magicsize = 7,
-     .header = theora_header,
-     .packet = theora_packet,
-     .gptopts = theora_gptopts,
+     .header    = theora_header,
++    .packet    = theora_packet,
+     .gptopts   = theora_gptopts,
      .nb_header = 3,
  };