[MPlayer-dev-eng] new Altivec patches and G3

Tim timwoj at ieee.org
Sun Feb 19 19:50:49 CET 2006


I have a Powerbook G3/500 (Pismo) running MacOS X here, so I went  
ahead and tested this.  Configuring it without --enable-altivec seems  
to work fine.  Mplayer runs like normal with no crashes.  If you do  
pass --enable-altivec, configure shows:

Checking for GCC altivec support ... Darwin-style (-faltivec - 
D__APPLE_ALTIVEC__)
Checking for altivec.h ... yes

After that compiled, I tested it with a clip I grabbed from Google  
Video and it did crash.  Here's a backtrace from GDB.

Playing ./SUBARUSVXREADING6DRI.avi.
AVI file format detected.
VIDEO:  [divx]  480x360  24bpp  15.000 fps  933.5 kbps (114.0 kbyte/s)
======================================================================== 
==
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16be, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
======================================================================== 
==
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
======================================================================== 
==
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
======================================================================== 
==
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
AO: [macosx] 44100Hz 2ch s16be (2 bytes per sample)
Starting playback...
VDec: vo config request - 480 x 360 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
SwScaler: using unscaled Planar YV12 -> Packed YUY2 special converter
VO: [macosx] 480x360 => 480x360 Packed YUY2
Reading symbols for shared libraries . done
A:   0.1 V:   0.0 A-V:  0.093 ct:  0.000   1/  1 ??% ??% ??,?% 0 0
Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/ 
operand.
yv12toyuy2_unscaled_altivec (c=0x27db000, src=0xbfffe2a8,  
srcStride=0xbfffe114, srcSliceY=0, srcSliceH=3739176,  
dstParam=0x14765c0, dstStride_a=0xbfffe108) at  
swscale_altivec_template.c:388
388          int srcSliceH, uint8_t* dstParam[], int dstStride_a[]) {
(gdb) where
#0  yv12toyuy2_unscaled_altivec (c=0x27db000, src=0xbfffe2a8,  
srcStride=0xbfffe114, srcSliceY=0, srcSliceH=3739176,  
dstParam=0x14765c0, dstStride_a=0xbfffe108) at  
swscale_altivec_template.c:388
#1  0x0012952c in sws_scale_ordered (c=0x122a64, src=0xbfffe2a8,  
srcStride=0xbfffe114, srcSliceY=42181648, srcSliceH=42847776,  
dst=0x14765c0, dstStride=0x0) at swscale.c:2313
#2  0x00057ed0 in draw_slice (vf=0x27db000, src=0xbfffe2a8,  
stride=0x0, w=0, h=21456320, x=21456320, y=16) at vf_scale.c:322
#3  0x00056b34 in draw_slice (s=0x27db000, src=0xbfffe2a8,  
offset=0xbfffe114, y=-1073749752, type=16, height=16) at vd_ffmpeg.c:502
#4  0x001b289c in ff_draw_horiz_band (s=0x27db000, y=0,  
h=-1073749740) at mpegvideo.c:4127
#5  0x001ad07c in decode_slice (s=0x283a410) at h263dec.c:242
#6  0x001adeb4 in ff_h263_decode_frame (avctx=0x2836810,  
data=0x145aa90, data_size=0xbfffe498, buf=0x28d7400 "",  
buf_size=10239) at h263dec.c:712
#7  0x0014bddc in avcodec_decode_video (avctx=0x2836810,  
picture=0x145aa90, got_picture_ptr=0xbfffe498, buf=0x28d7400 "",  
buf_size=10239) at utils.c:940
#8  0x00057514 in decode (sh=0x1410b50, data=0x28d7400, len=10239,  
flags=0) at vd_ffmpeg.c:828
#9  0x00055434 in decode_video (sh_video=0x1410b50, start=0x28d7400  
"", in_size=10239, drop_frame=0) at dec_video.c:316
#10 0x000083a4 in main (argc=4456448, argv=0x360000) at mplayer.c:2692

On another, sorta related note, configure gives me this when it tries  
to detect my CPU type:

Checking for CPU type ... ./configure: line 1182: [: : integer  
expression expected
750

Tim

On Feb 19, 2006, at 5:46 AM, Andrea Palmatè wrote:

> Il 19/02/2006  00.09, hai scritto
>> Well, that was interesting. By running a no-altivec kernel, I  
>> didn't find the
>> mplayer bug but I apparently tripped over a Linux kernel bug. It  
>> doesn't send
>> SIGILL like it should when a process triggers an altivec-disabled  
>> exception;
> [..]
>> So I must ask Andrea, or anyone else with a G3, for more  
>> information: where
>> does it crash? before printing "AltiVec not found"? After  
>> initializing the
>> video output device? And if you compile without runtime CPU  
>> detection, does
>> it work then?
> I have no G3. i have a G4 but other users that use mplayer got  
> crash. But if i remember cpu is detected corrected (so AltiVec not  
> found" is shown). The crash happen when our video driver call  
> postproc to rescale the image
>
>
> Andrea Palmatè
> http://www.amigasoft.net
>
>
>
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng




More information about the MPlayer-dev-eng mailing list