+static int mov_read_stps(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
+{
+ AVStream *st;
+ MOVStreamContext *sc;
+ unsigned i, entries;
+
+ if (c->fc->nb_streams < 1)
+ return 0;
+ st = c->fc->streams[c->fc->nb_streams-1];
+ sc = st->priv_data;
+
+ get_be32(pb); // version + flags
+
+ entries = get_be32(pb);
+ if (entries >= UINT_MAX / sizeof(*sc->stps_data))
+ return -1;
+ sc->stps_data = av_malloc(entries * sizeof(*sc->stps_data));
+ if (!sc->stps_data)
+ return AVERROR(ENOMEM);
+ sc->stps_count = entries;
+
+ for (i = 0; i < entries; i++) {
+ sc->stps_data[i] = get_be32(pb);
+ //dprintf(c->fc, "stps %d\n", sc->stps_data[i]);
+ }
+
+ return 0;
+}
+