sname = "output.swf";
handle = open(sname, O_BINARY | O_RDWR | O_CREAT | O_TRUNC, 0666);
}
- if (swf_WriteSWF(handle, swf)<0)
- fprintf(stderr, "Unable to write output file: %s\n", sname);
+ if(global.version >= 6) {
+ if (swf_WriteSWC(handle, swf)<0)
+ fprintf(stderr, "Unable to write output file: %s\n", sname);
+ } else {
+ if (swf_WriteSWF(handle, swf)<0)
+ fprintf(stderr, "Unable to write output file: %s\n", sname);
+ }
+
if (handle != so)
close(handle);
t = swf_InsertTag(t, ST_VIDEOFRAME);
swf_SetU16(t, 0xf00d);
quant = 1+(30-(30*quality)/100);
- if(!(frame&127)) {
+ if(!(frame%20)) {
swf_SetVideoStreamIFrame(t, &stream, pic2, quant);
} else {
swf_SetVideoStreamPFrame(t, &stream, pic2, quant);
swf_GetMatrix(NULL, &m);
m.sx = 20 * 0x10000;
m.sy = 20 * 0x10000;
+ m.tx = -10;
+ m.ty = -10;
fs = swf_ShapeAddBitmapFillStyle(s, &m, id, 0);
swf_SetU16(t, id + 1); // id
r.xmin = r.ymin = 0;
swf_ShapeSetLine(t, s, 0, -r.ymax);
swf_ShapeSetEnd(t);
- t = swf_InsertTag(t, ST_REMOVEOBJECT2);
- swf_SetU16(t, 1); // depth
+ if(frame) {
+ t = swf_InsertTag(t, ST_REMOVEOBJECT2);
+ swf_SetU16(t, 1); // depth
+ }
t = swf_InsertTag(t, ST_PLACEOBJECT2);
swf_GetMatrix(NULL, &m);
global.version = 6;
return 0;
+ case 'z':
+ global.version = 6;
+ return 0;
+
case 'Y':
if (val)
global.force_height = atoi(val);
{"m", "mx"},
{"q", "quality"},
{"r", "rate"},
+{"z", "zlib"},
{"X", "width"},
{"Y", "height"},
{"v", "verbose"},
printf("-m , --mx Use Flash MX H.263 compression (use for correlated images)\n");
printf("-q , --quality <quality> Set compression quality (1-100, 1=worst, 100=best)\n");
printf("-r , --rate <framerate> Set movie framerate (frames per second)\n");
+ printf("-z , --zlib <zlib> Enable Flash 6 (MX) Zlib Compression\n");
printf("-X , --width <width> Force movie width to <width> (default: autodetect)\n");
printf("-Y , --height <height> Force movie height to <height> (default: autodetect)\n");
printf("-v , --verbose <level> Set verbose level to <level> (0=quiet, 1=default, 2=debug)\n");