fixed clean target (again), added support for $(EXEEXT).
[swftools.git] / src / swfdump.c
index 157c18c..2a4b6e3 100644 (file)
@@ -56,7 +56,6 @@ struct options_t options[] =
  {"e","html"},
  {"p","placements"},
  {"u","used"},
- {"v","verbose"},
  {"V","version"},
  {"d","hex"},
  {0,0}
@@ -398,7 +397,7 @@ void handleVideoFrame(TAG*tag, char*prefix)
     U16 id = swf_GetU16(tag);
     U16 frame = swf_GetU16(tag);
     U8 deblock,flags, tmp, bit;
-    U32 quantizer, extrainfo;
+    U32 quantizer;
     char*types[] = {"I-frame", "P-frame", "disposable P-frame", "<reserved>"};
     printf(" (frame %d) ", frame);
 
@@ -410,7 +409,7 @@ void handleVideoFrame(TAG*tag, char*prefix)
     sizeflags = swf_GetBits(tag, 3);
     switch(sizeflags)
     {
-       case 0: width = swf_GetU8(tag); height = swf_GetU8(tag); break;
+       case 0: width = swf_GetBits(tag, 8); height = swf_GetBits(tag, 8); break;
        case 1: width = swf_GetBits(tag, 16); height = swf_GetBits(tag, 16); break;
        case 2: width = 352; height = 288; break;
        case 3: width = 176; height = 144; break;
@@ -423,6 +422,11 @@ void handleVideoFrame(TAG*tag, char*prefix)
     type = swf_GetBits(tag, 2);
     printf("%s", types[type]);
 
+    deblock = swf_GetBits(tag, 1);
+    if(deblock)
+       printf(" deblock ", deblock);
+    quantizer = swf_GetBits(tag, 5);
+    printf(" quant: %d ", quantizer);
 }
 
 void handlePlaceObject2(TAG*tag, char*prefix)
@@ -617,7 +621,7 @@ int main (int argc,char ** argv)
         return 1;
     }
 
-    f = open(filename,O_RDONLY);
+    f = open(filename,O_RDONLY|O_BINARY);
 
     if (f<0)
     { 
@@ -873,6 +877,11 @@ int main (int argc,char ** argv)
            handleEditText(tag);
            printf("\n");
        }
+       else if(tag->id == ST_DEFINEMOVIE) {
+           U16 id = swf_GetU16(tag);
+           char*s = swf_GetString(tag);
+           printf(" URL: %s\n", s);
+       }
        else if(tag->id == ST_DEFINETEXT || tag->id == ST_DEFINETEXT2) {
            if(showtext)
                handleText(tag);