Originally committed as revision 5005 to svn://svn.ffmpeg.org/ffmpeg/trunk
#undef NDEBUG
#include <assert.h>
#undef NDEBUG
#include <assert.h>
-/* Allows seeking (MOV_SPLIT_CHUNKS should also be defined) */
-/* 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
/* 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
int idx;
size = 0x0FFFFFFF;
int idx;
size = 0x0FFFFFFF;
if (mov->partial) {
sc = mov->partial;
idx = sc->sample_to_chunk_index;
if (mov->partial) {
sc = mov->partial;
idx = sc->sample_to_chunk_index;
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;
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;
/* split chunks into samples */
if (sc->sample_size == 0 || sc->sample_size > 100) {
if (idx >= 0 && sc->sample_to_chunk[idx].count != 1) {
/* split chunks into samples */
if (sc->sample_size == 0 || sc->sample_size > 100) {
if (idx >= 0 && sc->sample_to_chunk[idx].count != 1) {
}else if(idx + 1 < sc->sample_to_chunk_sz){
sc->current_sample += sc->sample_size * sc->sample_to_chunk[idx].count;
}
}else if(idx + 1 < sc->sample_to_chunk_sz){
sc->current_sample += sc->sample_size * sc->sample_to_chunk[idx].count;
}
readchunk:
dprintf("chunk: %lli -> %lli (%i)\n", offset, offset + size, size);
readchunk:
dprintf("chunk: %lli -> %lli (%i)\n", offset, offset + size, size);
-#if defined(MOV_SPLIT_CHUNKS) && defined(MOV_SEEK)
/**
* Seek method based on the one described in the Appendix C of QTFileFormat.pdf
*/
/**
* Seek method based on the one described in the Appendix C of QTFileFormat.pdf
*/
mov_read_header,
mov_read_packet,
mov_read_close,
mov_read_header,
mov_read_packet,
mov_read_close,
-#if defined(MOV_SPLIT_CHUNKS) && defined(MOV_SEEK)