Mercurial > mplayer.hg
annotate TOOLS/dump_mp4.c @ 29794:df1826dcdb2d
Disable audio when initializing the filter chain fails (can happen e.g. when the hwmpa
decoder is used but the hardware does not support hardware MPEG audio).
Otherwise this will lead to a crash later on when the decode code tries to access
the audio filter chain.
author | reimar |
---|---|
date | Fri, 06 Nov 2009 15:56:30 +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 } |