[MPlayer-users] Bugreport: Software Scaler segfaults with -y different to input file

Matthew Stephenson matthew at mainmast.org.uk
Thu Feb 21 22:15:01 CET 2002


Hi, 

	I'm having a problem where mencoder's -sws option causes a segfault if
the specified -y size is not exactly the same as the height of the input
file. This occurs with -sws [0-2], with mencoder latest CVS tarball.
Here is a bugreport as per Appendix C of the FAQ:

Linux Distribution: Linux from Scratch
Kernel Version: 2.4.16
libc version: 2.2.1
X version: 4.2.0
gcc version: 2.95.2.1
ld version: 2.11
binutils version: 2.11

CPU version: Intel Pentium III (Coppermine) 800MHz
Video card: 3dfx Voodoo 3 2000
Video driver type: X built-in driver
Sound card type & driver:  Creative SBLive! Value with OSS drivers of
kernel


gdb output:

(gdb) run -v -o ccs2_512.avi -frames 45015 -sws 0 -x 512 -y 384
-divx4opts br=4096 ccs2_master.avi Starting program: /usr/bin/mencoder
-v -o ccs2_512.avi -frames 45015 -sws 0 -x 512 -y 384 -divx4opts br=4096
ccs2_master.avi(no debugging symbols found)...[New Thread 1024 (LWP
15786)]


MEncoder CVS-020221-05:00-2.95.2.1 (C) 2000-2002 Arpad Gereoffy (see
DOCS!)

Reading /home/matthew/.mplayer/codecs.conf: can't open
'/home/matthew/.mplayer/codecs.conf': No such file or directory Reading
/usr/share/mplayer/codecs.conf: 29 audio & 79 video codecs CPU vendor
name: GenuineIntel  max cpuid level: 2 CPU: Intel Celeron 2/Pentium III
Coppermine,Geyserville (Type: 6, Stepping: 6) Testing OS support for
SSE... yes. Testing OS support for SSE unmasked exceptions... yes.
Tests of OS support for SSE passed.
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Not an URL!
File not found: 'frameno.avi'
Not an URL!
File size is 801617952 bytes
success: format: 0  data: 0x0 - 0x2FC7B820
Detected AVI file format!
list_end=0x146
======= AVI Header =======
us/frame: 33366  (fps=29.971)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames  total: 53699   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  720 x 480
list_end=0xD4
==> Found video stream: 0
======= STREAM Header =======
Type: vids   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 299699/10000 = 29.970
Start: 0   Len: 74677
Suggested BufferSize: 960
Quality 0
Sample size: 0
found 'wf', 30 bytes of 20
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 21237
Block align: 1152
bits/sample: 0
cbSize: 12
Broken chunk?  chunksize=1714  (id=JUNK)
list_end=0x2FA86098
Found movie at 0x80C - 0x2FA86098
Reading INDEX block, 128376 chunks for 53699 frames
Broken chunk?  chunksize=0  (id=idx1)
Reading INDEX block, 128376 chunks for 53699 frames
AVI index offset: 0x808 (movi=0x80C idx0=0x4 idx1=0x24C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video length=798460191
VIDEO:  [divx]  720x480  24bpp  29.97 fps  3565.0 kbps (435.2 kbyte/s)
[V] filefmt:3  fourcc:0x78766964  size:720x480  fps:29.97  ftime:=0.0334
Detected video codec: [odivx] drv:3 prio:0 (OpenDivX (MPEG-4 v2))
OpenDivX video codec
INFO: OpenDivX video codec init OK!
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Type: 6,
Stepping: 6) Testing OS support for SSE... yes.
Testing OS support for SSE unmasked exceptions... yes.
Tests of OS support for SSE passed.
mp3lib: made decode tables with MMX optimization 
init layer2&3 finished, tables done
mp3lib: using MMX optimized decore! 
MPEG 1.0, Layer III, 48000 Hz 192 kbit Stereo, BPF: 576
Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0
AUDIO: srate=48000  chans=2  bps=2  sfmt=0x10  ratio: 24000->192000
MP3 audio selected
Writing AVI header...
LAME version 3.89 (beta 1, Oct 25 2001) (http://www.mp3dev.org/)
Using polyphase lowpass  filter, transition band: 19548 Hz - 20129 Hz
         
misc:
           
        scaling: 0.000000
        filter type: 0
        quantization: xr^3/4
        huffman search: best (outside loop)
        experimental X=0 Y=0 Z=0
        ...

stream format:

        MPEG-1 Layer 3
        2 channel - stereo
        padding: auto
        variable bitrate - VBR rh (default)
        ...

psychoacoustic:

        tonality estimation limit: 8871.700195 Hz
        force channels to have same block types: no
        adjust masking: -1.000000 dB
        psymodel: 1
        noise shaping: 1
         ^ amplification: 1
         ^ stopping: 1
        ATH: using
         ^ type: 4
         ^ adjust type: 3
         ^ adapt threshold type: 2
        using temporal masking effect: no
        ...

XXX initial  v_pts=0.000  a_pos=3624 (0.171)
SwScaler: reducing / aligning filtersize 2 -> 4 
SwScaler: reducing / aligning filtersize 2 -> 4 
SwScaler: reducing / aligning filtersize 2 -> 2

SwScaler: FAST_BILINEAR scaler, from Planar YV12 to Planar YV12 using
MMX2 SwScaler: using 4-tap MMX scaler for horizontal luminance scaling 
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like)
SwScaler: 720x480 -> 512x384

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 15786)]
0x080cb790 in dct64 ()
(gdb) bt
#0  0x080cb790 in dct64 ()
#1  0x080ce9d5 in dct64 ()
#2  0x0804b713 in png_read_end ()
#3  0x08052d8c in png_read_end ()
#4  0x0804df94 in png_read_end ()
#5  0x4021b0ea in __libc_start_main (main=0x804b994 <png_read_end+1632>,
argc=15, ubp_av=0xbffff6c4, init=0x804a7ac <_init>,    fini=0x80dbc20
<_fini>, rtld_fini=0x4000da44 <_dl_fini>, stack_end=0xbffff6bc) at
../sysdeps/generic/libc-start.c:129(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x80cb770 to 0x80cb7b0:
0x80cb770 <dct64+379556>:       lea    (%edx,%ecx,4),%edx
0x80cb773 <dct64+379559>:       mov    %edx,0xfffffd8c(%ebp)
0x80cb779 <dct64+379565>:       lea    (%eax,%ecx,8),%eax
0x80cb77c <dct64+379568>:       mov    %eax,0xfffffca0(%ebp)
0x80cb782 <dct64+379574>:       mov    %ebx,0xffffffc8(%ebp)
0x80cb785 <dct64+379577>:       xor    %eax,%eax
0x80cb787 <dct64+379579>:       pxor   %mm3,%mm3
0x80cb78a <dct64+379582>:       pxor   %mm4,%mm4
0x80cb78d <dct64+379585>:       mov    0xffffffcc(%ebp),%edx
0x80cb790 <dct64+379588>:       mov    (%edx,%edx,4),%esi
0x80cb793 <dct64+379591>:       movq   (%eax,%edx,8),%mm0
0x80cb797 <dct64+379595>:       movq   0x0(%esi,%eax,2),%mm2
0x80cb79c <dct64+379600>:       movq   0x8(%esi,%eax,2),%mm5
0x80cb7a1 <dct64+379605>:       pmulhw %mm0,%mm2
0x80cb7a4 <dct64+379608>:       pmulhw %mm0,%mm5
0x80cb7a7 <dct64+379611>:       paddw  %mm2,%mm3
0x80cb7aa <dct64+379614>:       paddw  %mm5,%mm4
0x80cb7ad <dct64+379617>:       add    $0x1,%edx
End of assembler dump.
(gdb)




More information about the MPlayer-users mailing list