summaryrefslogtreecommitdiffstats
path: root/TOOLS/movinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'TOOLS/movinfo.c')
-rw-r--r--TOOLS/movinfo.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/TOOLS/movinfo.c b/TOOLS/movinfo.c
index a021dc78bb..3f840bfea3 100644
--- a/TOOLS/movinfo.c
+++ b/TOOLS/movinfo.c
@@ -8,9 +8,9 @@
By older files, mdat is at the beginning, and moov follows it later,
by newer files, moov is at the begininng.
-
+
Fontosabb typeok:
-
+
trak: track: ezeken belul van egy-egy stream (video/audio)
tkhd: track header: fps (video esten picture size is itt van)
vmhd: video media handler (video stream informaciok)
@@ -113,7 +113,7 @@ static void userdata_info(FILE *f, int len, int pos, int level)
{
atom_size=read_dword(f);// if(fread(&atom_size_b,4,1,f)<=0) break;
if(fread(&atom_type,4,1,f)<=0) break;
-
+
if(atom_size<8) break; // error
// printf("%08X: %*s %.4s (%08X) %05d (begin: %08X)\n",pos,level*2,"",
@@ -124,7 +124,7 @@ static void userdata_info(FILE *f, int len, int pos, int level)
case 0x797063A9: /* cpy (copyright) */
{
char *data = malloc(atom_size-8);
-
+
fseek(f, pos+6, SEEK_SET);
fread(data, atom_size-8, 1, f);
printf(" Copyright: %s\n", data);
@@ -134,7 +134,7 @@ static void userdata_info(FILE *f, int len, int pos, int level)
case 0x666E69A9: /* inf (information) */
{
char data[atom_size-8];
-
+
fread(&data, 1, atom_size-8, f);
printf(" Owner: %s\n", &data);
}
@@ -142,7 +142,7 @@ static void userdata_info(FILE *f, int len, int pos, int level)
case 0x6D616EA9: /* nam (name) */
{
char data[atom_size-8];
-
+
fread(&data, 1, atom_size-8, f);
printf(" Name: %s\n", &data);
}
@@ -164,9 +164,9 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
pos=ftell(f);
atom_size=read_dword(f);// if(fread(&atom_size_b,4,1,f)<=0) break;
if(fread(&atom_type,4,1,f)<=0) break;
-
+
if(atom_size<8) break; // error
-
+
printf("%08X: %*s %.4s (%08X) %05d [%s] (begin: %08X)\n",pos,level*2,"",&atom_type,atom_type,atom_size,
atom2human_type(atom_type), pos+8); // 8: atom_size fields (4) + atom_type fields (4)
@@ -177,7 +177,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
if (atom_type == 0x6468646D)
{
char data[4];
-
+
fread(&data, 1, 1, f); // char
printf("mdhd version %d\n", data[0]);
fread(&data, 3, 1, f); // int24
@@ -196,7 +196,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
stream = S_VIDEO;
printf(" Found VIDEO Stream #%d\n", v_stream++);
}
-
+
if (atom_type == 0x64686D73)
{
stream = S_AUDIO;
@@ -219,7 +219,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
if (x == 0 && y == 0)
printf(" Possible audio stream!\n");
}
-
+
if(atom_type==0x64737473) { // stsd
unsigned int tmp;
unsigned int count;
@@ -240,7 +240,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
fseek(f,len-8,SEEK_CUR);
}
}
-
+
if(atom_type==0x6F637473) { // stco
int len,i;
read_dword(f);
@@ -292,7 +292,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
}
}
#endif
-
+
#if 1
switch(atom_type){
case 0x7461646D: // mdat Movie data
@@ -326,7 +326,7 @@ static void lschunks(FILE *f,int level,unsigned int endpos){
int main(int argc,char* argv[])
{
FILE *f;
-
+
if ((f = fopen(argc>1?argv[1]:"Akira.mov","rb")) == NULL)
return 1;