Mercurial > mplayer.hg
annotate TOOLS/dump_mp4.c @ 29333:09938ba82991
Do not use MAX_A/V_STREAMS as upper limit for switch_audio/switch_video
They take the stream id as argument, which is not necessarily the same as the as
the index in the streams array and can be larger.
author | reimar |
---|---|
date | Sat, 20 Jun 2009 13:19:24 +0000 |
parents | 5c5fb6af79d1 |
children | b573c7c7173b |
rev | line source |
---|---|
23657 | 1 #include <stdio.h> |
2 | |
23662
5c5fb6af79d1
Mark main() function as a function that takes no parameters.
diego
parents:
23659
diff
changeset
|
3 int main(void){ |
9067 | 4 int c; |
5 unsigned int head=-1; | |
6 int pos=-3; | |
7 | |
8 while((c=getchar())>=0){ | |
9 head<<=8; | |
10 if(head==0x100){ | |
11 int startcode=head|c; | |
12 printf("%08X 1%02X ",pos,c); | |
13 if (startcode<=0x11F) printf("Video Object Start"); | |
14 else if(startcode<=0x12F) printf("Video Object Layer Start"); | |
15 else if(startcode<=0x13F) printf("Reserved"); | |
16 else if(startcode<=0x15F) printf("FGS bp start"); | |
17 else if(startcode<=0x1AF) printf("Reserved"); | |
18 else if(startcode==0x1B0) printf("Visual Object Seq Start"); | |
19 else if(startcode==0x1B1) printf("Visual Object Seq End"); | |
20 else if(startcode==0x1B2) printf("User Data"); | |
21 else if(startcode==0x1B3) printf("Group of VOP start"); | |
22 else if(startcode==0x1B4) printf("Video Session Error"); | |
23 else if(startcode==0x1B5) printf("Visual Object Start"); | |
24 else if(startcode==0x1B6) printf("Video Object Plane start"); | |
25 else if(startcode==0x1B7) printf("slice start"); | |
26 else if(startcode==0x1B8) printf("extension start"); | |
27 else if(startcode==0x1B9) printf("fgs start"); | |
28 else if(startcode==0x1BA) printf("FBA Object start"); | |
29 else if(startcode==0x1BB) printf("FBA Object Plane start"); | |
30 else if(startcode==0x1BC) printf("Mesh Object start"); | |
31 else if(startcode==0x1BD) printf("Mesh Object Plane start"); | |
32 else if(startcode==0x1BE) printf("Still Textutre Object start"); | |
33 else if(startcode==0x1BF) printf("Textutre Spatial Layer start"); | |
34 else if(startcode==0x1C0) printf("Textutre SNR Layer start"); | |
35 else if(startcode==0x1C1) printf("Textutre Tile start"); | |
36 else if(startcode==0x1C2) printf("Textutre Shape Layer start"); | |
37 else if(startcode==0x1C3) printf("stuffing start"); | |
38 else if(startcode<=0x1C5) printf("reserved"); | |
39 else if(startcode<=0x1FF) printf("System start"); | |
40 printf("\n"); | |
41 } | |
42 head|=c; | |
43 ++pos; | |
44 } | |
45 | |
23659
f15f95c2671a
Fix "control reaches end of non-void function" warnings.
diego
parents:
23657
diff
changeset
|
46 return 0; |
9067 | 47 } |