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

Reply via email to