static int mov_read_mdhd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
{
- int version;
+ AVStream *st = c->fc->streams[c->fc->nb_streams-1];
+ MOVStreamContext *sc = (MOVStreamContext *)st->priv_data;
+ int version = get_byte(pb);
int lang;
- version = get_byte(pb); /* version */
if (version > 1)
return 1; /* unsupported */
get_byte(pb); get_byte(pb);
get_byte(pb); /* flags */
- (version==1)?get_be64(pb):get_be32(pb); /* creation time */
- (version==1)?get_be64(pb):get_be32(pb); /* modification time */
+ if (version == 1) {
+ get_be64(pb);
+ get_be64(pb);
+ } else {
+ get_be32(pb); /* creation time */
+ get_be32(pb); /* modification time */
+ }
- c->streams[c->fc->nb_streams-1]->time_scale = get_be32(pb);
- c->fc->streams[c->fc->nb_streams-1]->duration = (version==1)?get_be64(pb):get_be32(pb); /* duration */
+ sc->time_scale = get_be32(pb);
+ st->duration = (version == 1) ? get_be64(pb) : get_be32(pb); /* duration */
lang = get_be16(pb); /* language */
- ff_mov_lang_to_iso639(lang, c->fc->streams[c->fc->nb_streams-1]->language);
+ ff_mov_lang_to_iso639(lang, st->language);
get_be16(pb); /* quality */
return 0;
static int mov_read_tkhd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
{
- AVStream *st;
- int version;
-
- st = c->fc->streams[c->fc->nb_streams-1];
-
- version = get_byte(pb); /* version */
+ AVStream *st = c->fc->streams[c->fc->nb_streams-1];
+ int version = get_byte(pb);
get_byte(pb); get_byte(pb);
get_byte(pb); /* flags */