# HG changeset patch # User bcoudurier # Date 1204050441 0 # Node ID d9af71ae906485a36a2bbe6b4a971e2544f9f3bd # Parent bae59276377fb02d69e5dbc15e6f81aa431fc1e4 support keyframes indexes starting at 0, broken files created by omneon, fix ref.mov seeking diff -r bae59276377f -r d9af71ae9064 mov.c --- a/mov.c Tue Feb 26 18:21:58 2008 +0000 +++ b/mov.c Tue Feb 26 18:27:21 2008 +0000 @@ -1389,6 +1389,7 @@ unsigned int stts_sample = 0; unsigned int keyframe, sample_size; unsigned int distance = 0; + int key_off = sc->keyframes && sc->keyframes[0] == 1; st->nb_frames = sc->sample_count; for (i = 0; i < sc->chunk_count; i++) { @@ -1401,7 +1402,7 @@ av_log(mov->fc, AV_LOG_ERROR, "wrong sample count\n"); goto out; } - keyframe = !sc->keyframe_count || current_sample + 1 == sc->keyframes[stss_index]; + keyframe = !sc->keyframe_count || current_sample+key_off == sc->keyframes[stss_index]; if (keyframe) { distance = 0; if (stss_index + 1 < sc->keyframe_count)