Mercurial > mplayer.hg
annotate TOOLS/dump_mp4.c @ 24787:02535b3216c5
Avoid text deformation and subtitles moving outside the screen in pan-and-scan
mode.
For this, crop amounts are passed from vo_gl as negative margins sizes. They
are used to calculate aspect ratio. They are ignored when calculating subtitle
positions, so subtitles will stay on screen most of the time.
Based on a patch by Jindrich Makovicka [makovick gmail com].
author | eugeni |
---|---|
date | Fri, 19 Oct 2007 18:16:23 +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 } |