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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23657
d7ae37864b03 Fix implicit declaration of function warnings.
diego
parents: 9067
diff changeset
1 #include <stdio.h>
d7ae37864b03 Fix implicit declaration of function warnings.
diego
parents: 9067
diff changeset
2
23662
5c5fb6af79d1 Mark main() function as a function that takes no parameters.
diego
parents: 23659
diff changeset
3 int main(void){
9067
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
4 int c;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
5 unsigned int head=-1;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
6 int pos=-3;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
7
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
8 while((c=getchar())>=0){
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
9 head<<=8;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
10 if(head==0x100){
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
11 int startcode=head|c;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
12 printf("%08X 1%02X ",pos,c);
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
13 if (startcode<=0x11F) printf("Video Object Start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
14 else if(startcode<=0x12F) printf("Video Object Layer Start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
15 else if(startcode<=0x13F) printf("Reserved");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
16 else if(startcode<=0x15F) printf("FGS bp start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
17 else if(startcode<=0x1AF) printf("Reserved");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
18 else if(startcode==0x1B0) printf("Visual Object Seq Start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
19 else if(startcode==0x1B1) printf("Visual Object Seq End");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
20 else if(startcode==0x1B2) printf("User Data");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
21 else if(startcode==0x1B3) printf("Group of VOP start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
22 else if(startcode==0x1B4) printf("Video Session Error");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
23 else if(startcode==0x1B5) printf("Visual Object Start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
24 else if(startcode==0x1B6) printf("Video Object Plane start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
25 else if(startcode==0x1B7) printf("slice start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
26 else if(startcode==0x1B8) printf("extension start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
27 else if(startcode==0x1B9) printf("fgs start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
28 else if(startcode==0x1BA) printf("FBA Object start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
29 else if(startcode==0x1BB) printf("FBA Object Plane start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
30 else if(startcode==0x1BC) printf("Mesh Object start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
31 else if(startcode==0x1BD) printf("Mesh Object Plane start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
32 else if(startcode==0x1BE) printf("Still Textutre Object start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
33 else if(startcode==0x1BF) printf("Textutre Spatial Layer start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
34 else if(startcode==0x1C0) printf("Textutre SNR Layer start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
35 else if(startcode==0x1C1) printf("Textutre Tile start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
36 else if(startcode==0x1C2) printf("Textutre Shape Layer start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
37 else if(startcode==0x1C3) printf("stuffing start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
38 else if(startcode<=0x1C5) printf("reserved");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
39 else if(startcode<=0x1FF) printf("System start");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
40 printf("\n");
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
41 }
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
42 head|=c;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
43 ++pos;
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
44 }
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
45
23659
f15f95c2671a Fix "control reaches end of non-void function" warnings.
diego
parents: 23657
diff changeset
46 return 0;
9067
106a6f116776 dump mpeg4-es startcodes
arpi
parents:
diff changeset
47 }