Mercurial > mplayer.hg
annotate TOOLS/dump_mp4.c @ 32505:9677da0cd9b2
Fix dvd:// fill_buffer function to actually write into the specified
buffer and check that the buffer is sufficiently large.
author | reimar |
---|---|
date | Sat, 06 Nov 2010 19:37:13 +0000 |
parents | b573c7c7173b |
children |
rev | line source |
---|---|
30416
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
1 /* |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
2 * This program is free software; you can redistribute it and/or modify |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
3 * it under the terms of the GNU General Public License as published by |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
4 * the Free Software Foundation; either version 2 of the License, or |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
5 * (at your option) any later version. |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
6 * |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
7 * This program is distributed in the hope that it will be useful, |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
10 * GNU General Public License for more details. |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
11 * |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
12 * You should have received a copy of the GNU General Public License along |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
13 * with this program; if not, write to the Free Software Foundation, Inc., |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
14 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
15 */ |
b573c7c7173b
Add standard license header to C tools missing them.
diego
parents:
23662
diff
changeset
|
16 |
23657 | 17 #include <stdio.h> |
18 | |
23662
5c5fb6af79d1
Mark main() function as a function that takes no parameters.
diego
parents:
23659
diff
changeset
|
19 int main(void){ |
9067 | 20 int c; |
21 unsigned int head=-1; | |
22 int pos=-3; | |
23 | |
24 while((c=getchar())>=0){ | |
25 head<<=8; | |
26 if(head==0x100){ | |
27 int startcode=head|c; | |
28 printf("%08X 1%02X ",pos,c); | |
29 if (startcode<=0x11F) printf("Video Object Start"); | |
30 else if(startcode<=0x12F) printf("Video Object Layer Start"); | |
31 else if(startcode<=0x13F) printf("Reserved"); | |
32 else if(startcode<=0x15F) printf("FGS bp start"); | |
33 else if(startcode<=0x1AF) printf("Reserved"); | |
34 else if(startcode==0x1B0) printf("Visual Object Seq Start"); | |
35 else if(startcode==0x1B1) printf("Visual Object Seq End"); | |
36 else if(startcode==0x1B2) printf("User Data"); | |
37 else if(startcode==0x1B3) printf("Group of VOP start"); | |
38 else if(startcode==0x1B4) printf("Video Session Error"); | |
39 else if(startcode==0x1B5) printf("Visual Object Start"); | |
40 else if(startcode==0x1B6) printf("Video Object Plane start"); | |
41 else if(startcode==0x1B7) printf("slice start"); | |
42 else if(startcode==0x1B8) printf("extension start"); | |
43 else if(startcode==0x1B9) printf("fgs start"); | |
44 else if(startcode==0x1BA) printf("FBA Object start"); | |
45 else if(startcode==0x1BB) printf("FBA Object Plane start"); | |
46 else if(startcode==0x1BC) printf("Mesh Object start"); | |
47 else if(startcode==0x1BD) printf("Mesh Object Plane start"); | |
48 else if(startcode==0x1BE) printf("Still Textutre Object start"); | |
49 else if(startcode==0x1BF) printf("Textutre Spatial Layer start"); | |
50 else if(startcode==0x1C0) printf("Textutre SNR Layer start"); | |
51 else if(startcode==0x1C1) printf("Textutre Tile start"); | |
52 else if(startcode==0x1C2) printf("Textutre Shape Layer start"); | |
53 else if(startcode==0x1C3) printf("stuffing start"); | |
54 else if(startcode<=0x1C5) printf("reserved"); | |
55 else if(startcode<=0x1FF) printf("System start"); | |
56 printf("\n"); | |
57 } | |
58 head|=c; | |
59 ++pos; | |
60 } | |
61 | |
23659
f15f95c2671a
Fix "control reaches end of non-void function" warnings.
diego
parents:
23657
diff
changeset
|
62 return 0; |
9067 | 63 } |