Hi - > From: Matto Marjanovic <[EMAIL PROTECTED]> > "y4mscaler" is now on-line in case anyone wants to try it out. > Both source code and precompiled binary for x86 are available at: > > http://www.mir.com/DMG/Software/y4mscaler.html
One small patch though is what I needed for getopt() on the systems here. Seems setting optind to 0 isn't the right thing: --- y4mscaler.C.dist Sun Dec 1 20:27:23 2002 +++ y4mscaler.C Tue Dec 24 11:29:15 2002 @@ -79,7 +79,7 @@ int verbosity = 1; int c; - optind = 0; + optind = 1; while ((c = getopt(argc, argv, "I:O:S:v:hV")) != -1) { switch (mode) { > This is an alpha release, v0.1.0, and the code still needs some cleaning, > but for everyday tasks, it should work just fine. I've run into an oddity when trying to use (finally got around to trying y4mscaler out) the program to scale a DV stream. The command sequence has been narrowed down to: smil2yuv bugs8.smil | \ y4mscaler -I active=696x468+12+4 -O sar=1:1 -O size=640x480 -S option=cubic | yuvplay INFO: [y4mscaler] Input Stream Header: INFO: [y4mscaler] <<< frame size: 720x480 pixels (518400 bytes) INFO: [y4mscaler] <<< frame rate: 30000/1001 fps (~29.970030) INFO: [y4mscaler] <<< interlace: bottom-field-first INFO: [y4mscaler] <<< sample aspect ratio: 59:54 INFO: [y4mscaler] Source matte region defaulting to frame size. INFO: [y4mscaler] Target interlacing defaulting to match source. INFO: [y4mscaler] Target chroma subsampling defaulting to match source. INFO: [y4mscaler] Target active region defaulting to target frame size. INFO: [y4mscaler] Deriving ratios from active regions and SARs... INFO: [y4mscaler] ...using scaling ratios which pad target. INFO: [y4mscaler] ...using scaling ratios which are simple. ++ WARN: [y4mscaler] Target active region clipped by projection of source. ++ WARN: [y4mscaler] Source active region clipped by projection of target. ++ WARN: [y4mscaler] Target active region clipped by target frame size. ++ WARN: [y4mscaler] Target active region y1 (29) is not multiple of 4... ++ WARN: [y4mscaler] ...shifted down by 1. INFO: [y4mscaler] === SOURCE parameters: ================= INFO: [y4mscaler] < stream: INFO: [y4mscaler] < 720x480, SAR 59:54, bottom-field-first INFO: [y4mscaler] < chroma subsampling: 420_jpeg INFO: [y4mscaler] < chroma ss ratio x 1:2 y 1:2 INFO: [y4mscaler] < active region: INFO: [y4mscaler] < 647.272727x0.371617 at 36.363636,-13.973186 INFO: [y4mscaler] < matte region: INFO: [y4mscaler] < 720x480 at 0,0 INFO: [y4mscaler] === SCALING parameters: ================ INFO: [y4mscaler] | Scaler: Matto's Generic Scaler INFO: [y4mscaler] === TARGET parameters: ================= INFO: [y4mscaler] > stream: INFO: [y4mscaler] > 640x480, SAR 1:1, bottom-field-first INFO: [y4mscaler] < chroma subsampling: 420_jpeg INFO: [y4mscaler] > active region: INFO: [y4mscaler] > 640x-20 at 0,32 INFO: [y4mscaler] > X ratio: 88/89 INFO: [y4mscaler] > Y ratio: 4752/5251 INFO: [y4mscaler] Output Stream Header: INFO: [y4mscaler] >>> frame size: 640x480 pixels (460800 bytes) INFO: [y4mscaler] >>> frame rate: 30000/1001 fps (~29.970030) INFO: [y4mscaler] >>> interlace: bottom-field-first INFO: [y4mscaler] >>> sample aspect ratio: 1:1 INFO: [yuvplay] Played 0000 frames (0:00:00.00) Abort (core dumped) gdb `which y4mscaler` y4mscaler.core GNU gdb Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-bsdi4.3"... Core was generated by `y4mscaler'. Program terminated with signal 6, Aborted. Reading symbols from /usr/lib/libstdc++.so.1...done. Reading symbols from /shlib/libm.so.0.0...done. Reading symbols from /shlib/libgcc.so.1...done. Reading symbols from /shlib/libc.so.2...done. Reading symbols from /shlib/ld-bsdi.so...done. #0 0x805e278 in kill () at kernels.C:265 265 } (gdb) where #0 0x805e278 in kill () at kernels.C:265 #1 0x480d5c98 in __terminate () from /shlib/libgcc.so.1 #2 0x480d5cb5 in __terminate () from /shlib/libgcc.so.1 #3 0x480d6590 in throw_helper () from /shlib/libgcc.so.1 #4 0x480d6745 in __throw () from /shlib/libgcc.so.1 #5 0x805854c in main (argc=9, argv=0x8047c00) at y4mscaler.C:206 not terribly useful is it? ;( Actually what I was trying was something like smil2yuv | yuvdeinterlace fed into y4mscaler to generate progressive data for feeding into another encoder. What'd I do wrong? Or did I stumble across a gotcha in y4mscaler? Cheers, Steven Schultz [EMAIL PROTECTED] ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Mjpeg-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/mjpeg-users