Browse Source

mov split chunks removal patch by (Baptiste COUDURIER / baptiste.coudurier smartjog com>

Originally committed as revision 5005 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Baptiste Coudurier Michael Niedermayer 19 years ago
parent
commit
232d8a1fba
1 changed files with 3 additions and 11 deletions
  1. +3
    -11
      libavformat/mov.c

+ 3
- 11
libavformat/mov.c View File

@@ -63,13 +63,9 @@
#undef NDEBUG
#include <assert.h>

/* Allows seeking (MOV_SPLIT_CHUNKS should also be defined) */
/* Allows seeking */
#define MOV_SEEK

/* allows chunk splitting - should work now... */
/* in case you can't read a file, try commenting */
#define MOV_SPLIT_CHUNKS

/* Special handling for movies created with Minolta Dimaxe Xi*/
/* this fix should not interfere with other .mov files, but just in case*/
#define MOV_MINOLTA_FIX
@@ -1750,7 +1746,6 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
int idx;
size = 0x0FFFFFFF;

#ifdef MOV_SPLIT_CHUNKS
if (mov->partial) {
sc = mov->partial;
idx = sc->sample_to_chunk_index;
@@ -1772,7 +1767,6 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)

goto readchunk;
}
#endif

again:
sc = 0;
@@ -1869,7 +1863,6 @@ again:
if (idx + 1 < sc->sample_to_chunk_sz && sc->next_chunk >= sc->sample_to_chunk[idx + 1].first)
idx++;
sc->sample_to_chunk_index = idx;
#ifdef MOV_SPLIT_CHUNKS
/* split chunks into samples */
if (sc->sample_size == 0 || sc->sample_size > 100) {
if (idx >= 0 && sc->sample_to_chunk[idx].count != 1) {
@@ -1883,7 +1876,6 @@ again:
}else if(idx + 1 < sc->sample_to_chunk_sz){
sc->current_sample += sc->sample_size * sc->sample_to_chunk[idx].count;
}
#endif

readchunk:
dprintf("chunk: %lli -> %lli (%i)\n", offset, offset + size, size);
@@ -1967,7 +1959,7 @@ readchunk:
return 0;
}

#if defined(MOV_SPLIT_CHUNKS) && defined(MOV_SEEK)
#if defined(MOV_SEEK)
/**
* Seek method based on the one described in the Appendix C of QTFileFormat.pdf
*/
@@ -2186,7 +2178,7 @@ static AVInputFormat mov_iformat = {
mov_read_header,
mov_read_packet,
mov_read_close,
#if defined(MOV_SPLIT_CHUNKS) && defined(MOV_SEEK)
#if defined(MOV_SEEK)
mov_read_seek,
#endif
};


Loading…
Cancel
Save