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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1728d249c783 missing unistd.h (requires for off_t under freebsd)
arpi
parents: 602
diff changeset
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
5e56ce70b551 wine headers cleanup
arpi
parents: 7127
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 (h->dwFlags&AVIF_HASINDEX)?" HAS_INDEX":"",
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 (h->dwFlags&AVIF_MUSTUSEINDEX)?" MUST_USE_INDEX":"",
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 (h->dwFlags&AVIF_ISINTERLEAVED)?" IS_INTERLEAVED":"",
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 (h->dwFlags&AVIF_TRUSTCKTYPE)?" TRUST_CKTYPE":"",
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 (h->dwFlags&AVIF_WASCAPTUREFILE)?" WAS_CAPTUREFILE":"",
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 (h->dwFlags&AVIF_COPYRIGHTED)?" COPYRIGHTED":""
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
arpi
parents: 5688
diff changeset
65 if(h->wFormatTag==0x55 && h->cbSize>=12){
7127
1e47c2e7aa8e mostly compiler warning fixes, some small bugfix
arpi
parents: 5896
diff changeset
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
ad7d3044bea4 show extended mp3 info
arpi
parents: 2555
diff changeset
72 }
5758
3b836c55666c dumping unknown extradata too
alex
parents: 5711
diff changeset
73 else if (h->cbSize > 0)
3b836c55666c dumping unknown extradata too
alex
parents: 5711
diff changeset
74 {
3b836c55666c dumping unknown extradata too
alex
parents: 5711
diff changeset
75 int i;
5896
242e10c13f89 Fix buggy extra header printing
albeu
parents: 5758
diff changeset
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
3b836c55666c dumping unknown extradata too
alex
parents: 5711
diff changeset
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
3b836c55666c dumping unknown extradata too
alex
parents: 5711
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
115 vprp->dwFrameAspectRatio >> 16, vprp->dwFrameAspectRatio & 0xffff,
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
118 for (i=0; i<vprp->nbFieldPerFrame; i++) {
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
128 vfd->VideoXOffsetInT, vfd->VideoYValidStartLine);
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
131 }
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
1d71e691c059 warnings killed
szabii
parents: 587
diff changeset
142 (char *)&idx[i].ckid,
12036
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
143 (unsigned int)idx[i].dwFlags&0xffff,
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
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
846ed866f86c OpenDML read/write support
ranma
parents: 10484
diff changeset
171 }
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172