Mercurial > mplayer.hg
annotate libmpdemux/aviprint.c @ 22616:09dc129234a0
Matroska seeking fixes
If a relative seek forward went past the last index position the
Matroska demuxer did not seek to any index position. It did however set
the mkv_d->skip_to_timecode variable which meant that the next
fill_buffer() call would read from the current position until the target
position (probably the end of the file). Fix this by changing the code
to seek to the last index position if that is between the current and
target positions.
Also change backwards relative seek to accept an exactly matching index
position (<= vs <) and reorganize the seeking conditionals to allow
making the above change without turning the code into a complete mess.
author | uau |
---|---|
date | Fri, 16 Mar 2007 14:55:41 +0000 |
parents | 4d81dbdf46b9 |
children | 53cc0856f3fe |
rev | line source |
---|---|
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
1 |
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
2 #include <stdio.h> |
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
3 #include <stdlib.h> |
1430 | 4 #include <unistd.h> |
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
5 |
2555
66837325b929
config.h cleanup, few things added to steram/demuxer headers
arpi
parents:
2314
diff
changeset
|
6 #include "config.h" |
66837325b929
config.h cleanup, few things added to steram/demuxer headers
arpi
parents:
2314
diff
changeset
|
7 |
7471 | 8 // for avi_stream_id(): |
22605
4d81dbdf46b9
Add explicit location for headers from the stream/ directory.
diego
parents:
17977
diff
changeset
|
9 #include "stream/stream.h" |
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
10 #include "demuxer.h" |
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
11 |
12036 | 12 #include "aviheader.h" |
12341
0db4a3a5b01d
removed loader/ dependancy, imported some files from g2, also used patches from Dominik Mierzejewski
alex
parents:
12036
diff
changeset
|
13 #include "ms_hdr.h" |
12036 | 14 |
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
15 //#include "codec-cfg.h" |
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
16 //#include "stheader.h" |
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
17 |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
18 void print_avih_flags(MainAVIHeader *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
19 mp_msg(MSGT_HEADER, verbose_level, "MainAVIHeader.dwFlags: (%ld)%s%s%s%s%s%s\n",h->dwFlags, |
1 | 20 (h->dwFlags&AVIF_HASINDEX)?" HAS_INDEX":"", |
21 (h->dwFlags&AVIF_MUSTUSEINDEX)?" MUST_USE_INDEX":"", | |
22 (h->dwFlags&AVIF_ISINTERLEAVED)?" IS_INTERLEAVED":"", | |
23 (h->dwFlags&AVIF_TRUSTCKTYPE)?" TRUST_CKTYPE":"", | |
24 (h->dwFlags&AVIF_WASCAPTUREFILE)?" WAS_CAPTUREFILE":"", | |
25 (h->dwFlags&AVIF_COPYRIGHTED)?" COPYRIGHTED":"" | |
26 ); | |
1456
8c57a5a3c645
printfs cleanup - moved to higher -v level or moved to stderr
arpi
parents:
1430
diff
changeset
|
27 } |
8c57a5a3c645
printfs cleanup - moved to higher -v level or moved to stderr
arpi
parents:
1430
diff
changeset
|
28 |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
29 void print_avih(MainAVIHeader *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
30 mp_msg(MSGT_HEADER, verbose_level, "======= AVI Header =======\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
31 mp_msg(MSGT_HEADER, verbose_level, "us/frame: %ld (fps=%5.3f)\n",h->dwMicroSecPerFrame,1000000.0f/(float)h->dwMicroSecPerFrame); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
32 mp_msg(MSGT_HEADER, verbose_level, "max bytes/sec: %ld\n",h->dwMaxBytesPerSec); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
33 mp_msg(MSGT_HEADER, verbose_level, "padding: %ld\n",h->dwPaddingGranularity); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
34 print_avih_flags(h, verbose_level); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
35 mp_msg(MSGT_HEADER, verbose_level, "frames total: %ld initial: %ld\n",h->dwTotalFrames,h->dwInitialFrames); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
36 mp_msg(MSGT_HEADER, verbose_level, "streams: %ld\n",h->dwStreams); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
37 mp_msg(MSGT_HEADER, verbose_level, "Suggested BufferSize: %ld\n",h->dwSuggestedBufferSize); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
38 mp_msg(MSGT_HEADER, verbose_level, "Size: %ld x %ld\n",h->dwWidth,h->dwHeight); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
39 mp_msg(MSGT_HEADER, verbose_level, "==========================\n"); |
1 | 40 } |
41 | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
42 void print_strh(AVIStreamHeader *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
43 mp_msg(MSGT_HEADER, verbose_level, "====== STREAM Header =====\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
44 mp_msg(MSGT_HEADER, verbose_level, "Type: %.4s FCC: %.4s (%X)\n",(char *)&h->fccType,(char *)&h->fccHandler,(unsigned int)h->fccHandler); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
45 mp_msg(MSGT_HEADER, verbose_level, "Flags: %ld\n",h->dwFlags); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
46 mp_msg(MSGT_HEADER, verbose_level, "Priority: %d Language: %d\n",h->wPriority,h->wLanguage); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
47 mp_msg(MSGT_HEADER, verbose_level, "InitialFrames: %ld\n",h->dwInitialFrames); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
48 mp_msg(MSGT_HEADER, verbose_level, "Rate: %ld/%ld = %5.3f\n",h->dwRate,h->dwScale,(float)h->dwRate/(float)h->dwScale); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
49 mp_msg(MSGT_HEADER, verbose_level, "Start: %ld Len: %ld\n",h->dwStart,h->dwLength); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
50 mp_msg(MSGT_HEADER, verbose_level, "Suggested BufferSize: %ld\n",h->dwSuggestedBufferSize); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
51 mp_msg(MSGT_HEADER, verbose_level, "Quality %ld\n",h->dwQuality); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
52 mp_msg(MSGT_HEADER, verbose_level, "Sample size: %ld\n",h->dwSampleSize); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
53 mp_msg(MSGT_HEADER, verbose_level, "==========================\n"); |
1 | 54 } |
55 | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
56 void print_wave_header(WAVEFORMATEX *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
57 mp_msg(MSGT_HEADER, verbose_level, "======= WAVE Format =======\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
58 mp_msg(MSGT_HEADER, verbose_level, "Format Tag: %d (0x%X)\n",h->wFormatTag,h->wFormatTag); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
59 mp_msg(MSGT_HEADER, verbose_level, "Channels: %d\n",h->nChannels); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
60 mp_msg(MSGT_HEADER, verbose_level, "Samplerate: %ld\n",h->nSamplesPerSec); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
61 mp_msg(MSGT_HEADER, verbose_level, "avg byte/sec: %ld\n",h->nAvgBytesPerSec); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
62 mp_msg(MSGT_HEADER, verbose_level, "Block align: %d\n",h->nBlockAlign); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
63 mp_msg(MSGT_HEADER, verbose_level, "bits/sample: %d\n",h->wBitsPerSample); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
64 mp_msg(MSGT_HEADER, verbose_level, "cbSize: %d\n",h->cbSize); |
5711 | 65 if(h->wFormatTag==0x55 && h->cbSize>=12){ |
7127 | 66 MPEGLAYER3WAVEFORMAT* h2=(MPEGLAYER3WAVEFORMAT *)h; |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
67 mp_msg(MSGT_HEADER, verbose_level, "mp3.wID=%d\n",h2->wID); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
68 mp_msg(MSGT_HEADER, verbose_level, "mp3.fdwFlags=0x%lX\n",h2->fdwFlags); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
69 mp_msg(MSGT_HEADER, verbose_level, "mp3.nBlockSize=%d\n",h2->nBlockSize); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
70 mp_msg(MSGT_HEADER, verbose_level, "mp3.nFramesPerBlock=%d\n",h2->nFramesPerBlock); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
71 mp_msg(MSGT_HEADER, verbose_level, "mp3.nCodecDelay=%d\n",h2->nCodecDelay); |
5688 | 72 } |
5758 | 73 else if (h->cbSize > 0) |
74 { | |
75 int i; | |
5896 | 76 uint8_t* p = ((uint8_t*)h) + sizeof(WAVEFORMATEX); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
77 mp_msg(MSGT_HEADER, verbose_level, "Unknown extra header dump: "); |
5758 | 78 for (i = 0; i < h->cbSize; i++) |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
79 mp_msg(MSGT_HEADER, verbose_level, "[%x] ", p[i]); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
80 mp_msg(MSGT_HEADER, verbose_level, "\n"); |
5758 | 81 } |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
82 mp_msg(MSGT_HEADER, verbose_level, "==========================================================================\n"); |
1 | 83 } |
84 | |
85 | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
86 void print_video_header(BITMAPINFOHEADER *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
87 mp_msg(MSGT_HEADER, verbose_level, "======= VIDEO Format ======\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
88 mp_msg(MSGT_HEADER, verbose_level, " biSize %d\n", h->biSize); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
89 mp_msg(MSGT_HEADER, verbose_level, " biWidth %d\n", h->biWidth); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
90 mp_msg(MSGT_HEADER, verbose_level, " biHeight %d\n", h->biHeight); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
91 mp_msg(MSGT_HEADER, verbose_level, " biPlanes %d\n", h->biPlanes); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
92 mp_msg(MSGT_HEADER, verbose_level, " biBitCount %d\n", h->biBitCount); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
93 mp_msg(MSGT_HEADER, verbose_level, " biCompression %d='%.4s'\n", h->biCompression, (char *)&h->biCompression); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
94 mp_msg(MSGT_HEADER, verbose_level, " biSizeImage %d\n", h->biSizeImage); |
10484
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
95 if (h->biSize > sizeof(BITMAPINFOHEADER)) |
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
96 { |
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
97 int i; |
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
98 uint8_t* p = ((uint8_t*)h) + sizeof(BITMAPINFOHEADER); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
99 mp_msg(MSGT_HEADER, verbose_level, "Unknown extra header dump: "); |
10484
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
100 for (i = 0; i < h->biSize-sizeof(BITMAPINFOHEADER); i++) |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
101 mp_msg(MSGT_HEADER, verbose_level, "[%x] ", *(p+i)); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
102 mp_msg(MSGT_HEADER, verbose_level, "\n"); |
10484
105077598ef3
dump extra bytes of bitmapinfoheader in verbose mode and make outputs consistent
alex
parents:
8123
diff
changeset
|
103 } |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
104 mp_msg(MSGT_HEADER, verbose_level, "===========================\n"); |
1 | 105 } |
106 | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
107 void print_vprp(VideoPropHeader *vprp, int verbose_level){ |
12036 | 108 int i; |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
109 mp_msg(MSGT_HEADER, verbose_level, "======= Video Properties Header =======\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
110 mp_msg(MSGT_HEADER, verbose_level, "Format: %d VideoStandard: %d\n", |
12036 | 111 vprp->VideoFormatToken,vprp->VideoStandard); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
112 mp_msg(MSGT_HEADER, verbose_level, "VRefresh: %d HTotal: %d VTotal: %d\n", |
12036 | 113 vprp->dwVerticalRefreshRate, vprp->dwHTotalInT, vprp->dwVTotalInLines); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
114 mp_msg(MSGT_HEADER, verbose_level, "FrameAspect: %d:%d Framewidth: %d Frameheight: %d\n", |
12036 | 115 vprp->dwFrameAspectRatio >> 16, vprp->dwFrameAspectRatio & 0xffff, |
116 vprp->dwFrameWidthInPixels, vprp->dwFrameHeightInLines); | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
117 mp_msg(MSGT_HEADER, verbose_level, "Fields: %d\n", vprp->nbFieldPerFrame); |
12036 | 118 for (i=0; i<vprp->nbFieldPerFrame; i++) { |
119 VIDEO_FIELD_DESC *vfd = &vprp->FieldInfo[i]; | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
120 mp_msg(MSGT_HEADER, verbose_level, " == Field %d description ==\n", i); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
121 mp_msg(MSGT_HEADER, verbose_level, " CompressedBMHeight: %d CompressedBMWidth: %d\n", |
12036 | 122 vfd->CompressedBMHeight, vfd->CompressedBMWidth); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
123 mp_msg(MSGT_HEADER, verbose_level, " ValidBMHeight: %d ValidBMWidth: %d\n", |
12036 | 124 vfd->ValidBMHeight, vfd->ValidBMWidth); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
125 mp_msg(MSGT_HEADER, verbose_level, " ValidBMXOffset: %d ValidBMYOffset: %d\n", |
12036 | 126 vfd->ValidBMXOffset, vfd->ValidBMYOffset); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
127 mp_msg(MSGT_HEADER, verbose_level, " VideoXOffsetInT: %d VideoYValidStartLine: %d\n", |
12036 | 128 vfd->VideoXOffsetInT, vfd->VideoYValidStartLine); |
129 } | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
130 mp_msg(MSGT_HEADER, verbose_level, "=======================================\n"); |
12036 | 131 } |
1 | 132 |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
133 void print_index(AVIINDEXENTRY *idx, int idx_size, int verbose_level){ |
1 | 134 int i; |
1485
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
135 unsigned int pos[256]; |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
136 unsigned int num[256]; |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
137 for(i=0;i<256;i++) num[i]=pos[i]=0; |
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
138 for(i=0;i<idx_size;i++){ |
1485
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
139 int id=avi_stream_id(idx[i].ckid); |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
140 if(id<0 || id>255) id=255; |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
141 mp_msg(MSGT_HEADER, verbose_level, "%5d: %.4s %4X %016llX len:%6ld pos:%7d->%7.3f %7d->%7.3f\n",i, |
602 | 142 (char *)&idx[i].ckid, |
12036 | 143 (unsigned int)idx[i].dwFlags&0xffff, |
144 (uint64_t)AVI_IDX_OFFSET(&idx[i]), | |
587
8511095c5283
stage#1 completed: c files no more included from mplayer.c
arpi_esp
parents:
353
diff
changeset
|
145 // idx[i].dwChunkOffset+demuxer->movi_start, |
1485
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
146 idx[i].dwChunkLength, |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
147 pos[id],(float)pos[id]/18747.0f, |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
148 num[id],(float)num[id]/23.976f |
1 | 149 ); |
1485
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
150 pos[id]+=idx[i].dwChunkLength; |
b895f95e7657
AVI demuxer cleanups, fileformat-dependent stuff moved to priv_t
arpi
parents:
1456
diff
changeset
|
151 ++num[id]; |
1 | 152 } |
153 } | |
154 | |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
155 void print_avistdindex_chunk(avistdindex_chunk *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
156 mp_msg (MSGT_HEADER, verbose_level, "====== AVI Standard Index Header ========\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
157 mp_msg (MSGT_HEADER, verbose_level, " FCC (%.4s) dwSize (%d) wLongsPerEntry(%d)\n", h->fcc, h->dwSize, h->wLongsPerEntry); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
158 mp_msg (MSGT_HEADER, verbose_level, " bIndexSubType (%d) bIndexType (%d)\n", h->bIndexSubType, h->bIndexType); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
159 mp_msg (MSGT_HEADER, verbose_level, " nEntriesInUse (%d) dwChunkId (%.4s)\n", h->nEntriesInUse, h->dwChunkId); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
160 mp_msg (MSGT_HEADER, verbose_level, " qwBaseOffset (0x%"PRIX64") dwReserved3 (%d)\n", h->qwBaseOffset, h->dwReserved3); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
161 mp_msg (MSGT_HEADER, verbose_level, "===========================\n"); |
12036 | 162 } |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
163 void print_avisuperindex_chunk(avisuperindex_chunk *h, int verbose_level){ |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
164 mp_msg (MSGT_HEADER, verbose_level, "====== AVI Super Index Header ========\n"); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
165 mp_msg (MSGT_HEADER, verbose_level, " FCC (%.4s) dwSize (%d) wLongsPerEntry(%d)\n", h->fcc, h->dwSize, h->wLongsPerEntry); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
166 mp_msg (MSGT_HEADER, verbose_level, " bIndexSubType (%d) bIndexType (%d)\n", h->bIndexSubType, h->bIndexType); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
167 mp_msg (MSGT_HEADER, verbose_level, " nEntriesInUse (%d) dwChunkId (%.4s)\n", h->nEntriesInUse, h->dwChunkId); |
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
168 mp_msg (MSGT_HEADER, verbose_level, " dwReserved[0] (%d) dwReserved[1] (%d) dwReserved[2] (%d)\n", |
12036 | 169 h->dwReserved[0], h->dwReserved[1], h->dwReserved[2]); |
17977
f70772d02eaa
Convert printfs in aviprint.c to mp_msg and give the information printing
diego
parents:
16750
diff
changeset
|
170 mp_msg (MSGT_HEADER, verbose_level, "===========================\n"); |
12036 | 171 } |
1 | 172 |