[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