Opened 12 years ago

Last modified 11 years ago

#451 new defect

sig11 on 64bit cpu build of mplayer using -vf screenshot

Reported by: adland123@… Owned by: reimar
Priority: normal Component: vf
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

error occurs when enabling the screenshot filter and attempting to capture a
screen with 64bit build of mplayer

(32 bit chroot build will capture screenshot from same file fine)

1 MB sample file at url above temporarily

./configure --enable-debug=3
make

$ gdb ./mplayer
GNU gdb 6.4-debian
Copyright 2005 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 "x86_64-linux-gnu"...Using host libthread_db library
"/lib/libthread_db.so.1".

(gdb) run -v -vf screenshot k.mkv
Starting program: mplayer -v -vf screenshot k.mkv
[Thread debugging using libthread_db enabled]
[New Thread 46912572196352 (LWP 32413)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-060209-16:07-4.0.3 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 Newcastle; Athlon 64 X2 Manchester 2189
MHz (Family: 15, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

get_path('codecs.conf') -> '/home/un/.mplayer/codecs.conf'
Reading /home/un/.mplayer/codecs.conf: Can't open
'/home/un/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open
'/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine?: '-v' '-vf' 'screenshot' 'k.mkv'
init_freetype
get_path('font/font.desc') -> '/home/un/.mplayer/font/font.desc'
font: can't open file: /home/un/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay?
Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup
scripts.
Using nanosleep() timing
get_path('input.conf') -> '/home/un/.mplayer/input.conf'
Can't open input config file /home/un/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or
directory
Falling back on default (hardcoded) input config
get_path('k.mkv.conf') -> '/home/un/.mplayer/k.mkv.conf'
Playing k.mkv.
get_path('sub/') -> '/home/un/.mplayer/sub/'
[file] File size is 246293099 bytes
STREAM: [file] k.mkv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 0 pre:1677721 eof:0
Cache fill: 0.00% (0 bytes)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo?
Checking for REAL
Checking for SMJPEG
[mkv] Found the head...
[mkv] + a segment...
[mkv] /---- [ parsing seek head ] ---------
[mkv] /---- [ parsing seek head ] ---------
[mkv] \---- [ parsing seek head ] ---------
[mkv] /---- [ parsing cues ] -----------
[mkv] \---- [ parsing cues ] -----------
[mkv] \---- [ parsing seek head ] ---------
[mkv] |+ segment information...
[mkv] | + timecode scale: 1000000
[mkv] | + duration: 1555.261s
[mkv] |+ segment tracks...
[mkv] | + a track...
[mkv] | + Track number: 1
[mkv] | + Track type: Video
[mkv] | + Default flag: 1
[mkv] | + Codec ID: V_MS/VFW/FOURCC
[mkv] | + CodecPrivate?, length 40
[mkv] | + Default duration: 41.708ms ( = 23.976 fps)
[mkv] | + Language: und
[mkv] | + Video track
[mkv] | + Pixel width: 712
[mkv] | + Pixel height: 478
[mkv] | + Display width: 850
[mkv] | + Display height: 478
[mkv] | + a track...
[mkv] | + Track number: 2
[mkv] | + Track type: Audio
[mkv] | + Default flag: 1
[mkv] | + Codec ID: A_VORBIS
[mkv] | + CodecPrivate?, length 4301
[mkv] | + Language: jpn
[mkv] | + Audio track
[mkv] | + Sampling frequency: 48000.000000
[mkv] | + Channels: 2
[mkv] | + a track...
[mkv] | + Track number: 3
[mkv] | + Track type: Subtitle
[mkv] | + Default flag: 1
[mkv] | + Codec ID: S_TEXT/SSA
[mkv] | + CodecPrivate?, length 1582
[mkv] | + Language: eng
[mkv] | + a track...
[mkv] | + Track number: 4
[mkv] | + Track type: Subtitle
[mkv] | + Default flag: 0
[mkv] | + Codec ID: S_TEXT/UTF8
[mkv] | + Language: eng
[mkv] |+ found cluster, headers are parsed completely :)
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_VORBIS), -aid 0, -alang jpn
[mkv] Track ID 3: subtitles (S_TEXT/SSA), -sid 0, -slang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8), -sid 1, -slang eng
==> Found video stream: 1
[mkv] Aspect: 1.778243
[mkv] Will play video track 1
==> Found audio stream: 2
[mkv] Will play audio track 2
[mkv] Will display subtitle track 3
Matroska file format detected.
VIDEO: [XVID] 712x478 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:31 fourcc:0x44495658 size:712x478 fps:23.98 ftime:=0.0417
get_path('sub/') -> '/home/un/.mplayer/sub/'
get_path('default.sub') -> '/home/un/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [libvorbis] Ogg/Vorbis? audio decoder
dec_audio: Allocating 4096 + 65536 = 69632 bytes for output buffer.
ad_vorbis, extradata seems is 4301 bytes long
ad_vorbis, offset: 2, length: 30
ad_vorbis, offset: 3, length: 128
ad_vorbis, header sizes: 30 128 4140
OggVorbisComment?: ENCODED_USING=Made with BeSweet? v1.5b26
OggVorbisComment?: ENCODER_URL=http://DSPguru.doom9.org
OggVorbis?: Bitstream is 2 channels, 48000Hz, 128003bit/s VBR
OggVorbis?: Encoded by: Xiph.Org libVorbis I 20020717
OggVorbis?: Init OK!
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [vorbis] afm: libvorbis (OggVorbis? Audio Decoder)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x00001e).
[xv common] Maximum source image dimensions: 2048x2048
Opening video filter: [screenshot]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: compiled for ALSA-1.0.10
alsa-init: setup for 1/2 channel(s)
alsa-init: 1 soundcard found, using: default
alsa-init: pcm opend in block-mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy@…>
AO: Comment: under developement
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Starting playback...
alsa-space: free space = 65536, prepared --
[ffmpeg] aspect_ratio: 1.489540
VDec: vo config request - 712 x 478 (preferred colorspace: Planar YV12)
Trying filter chain: screenshot vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO Config (712x478->850x478,flags=0,'MPlayer',0x32315659)
SwScaler?: reducing / aligning filtersize 5 -> 4
SwScaler?: reducing / aligning filtersize 5 -> 4
SwScaler?: reducing / aligning filtersize 1 -> 1
SwScaler?: reducing / aligning filtersize 5 -> 4

SwScaler?: BICUBIC scaler, from Planar YV12 to BGR 24-bit 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 (BGR)
SwScaler?: using MMX2 YV12->BGR24 Converter
SwScaler?: 712x478 -> 850x478
REQ: flags=0x437 req=0x0
VO: [xv] 712x478 => 850x478 Planar YV12
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel@…> and others
Xvideo image format: 0x41424752 (RGBA) packed
Xvideo image format: 0x0 ( ) packed
Xvideo image format: 0x54424752 (RGBT) packed
Xvideo image format: 0x32424752 (RGB2) packed
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 65 for hw scaling
[xv] dx: 0 dy: 0 dw: 850 dh: 510
* [vo] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar, 518400 bytes
* [screenshot] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar,
518400 bytes
[xv] dx: 0 dy: 0 dw: 850 dh: 510
* [vo] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar, 518400 bytes
* [screenshot] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar,
518400 bytes
get_path('subfont.ttf') -> '/home/un/.mplayer/subfont.ttf'
Unicode font: 3803 glyphs.
* [vo] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar, 518400 bytes
* [screenshot] Allocating (slices) mp_image_t, 720x480x12bpp YUV planar,
518400 bytes
sending VFCTRL_SCREENSHOT!098 ct: -0.021 34/ 34 17% 1% 0.8% 10 0 90%

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912572196352 (LWP 32413)]
0x0000000000546344 in swScale_MMX2 (c=0xdf4440, src=dwarf2_read_address:
Corrupted DWARF expression.
) at swscale_template.c:895
895 asm volatile(

(gdb) bt

#0 0x0000000000546344 in swScale_MMX2 (c=0xdf4440, src=dwarf2_read_address:
Corrupted DWARF expression.
)

at swscale_template.c:895

#1 0x000000000053e0f3 in sws_scale_ordered (c=0xdf4440, src=0xdfa820,

srcStride=<value optimized out>, srcSliceY=0, srcSliceH=16,
dst=0x7ffffff8a860, dstStride=0x7ffffff8a880) at swscale.c:2294

#2 0x00000000004a123b in draw_slice (vf=0xcd12c0, src=0x7ffffff8a8e0,

stride=0xdb1660, w=712, h=16, x=0, y=0) at vf_screenshot.c:163

#3 0x0000000000475e38 in draw_slice (s=<value optimized out>, src=0xd56318,

offset=<value optimized out>, y=14699632, type=<value optimized out>,
height=4) at vd_ffmpeg.c:502

#4 0x0000000000564351 in ff_draw_horiz_band (s=<value optimized out>,

y=14699632, h=-850) at mpegvideo.c:4157

#5 0x0000000000650bd5 in decode_slice (s=0xcd1990) at h263dec.c:242
#6 0x0000000000651a8b in ff_h263_decode_frame (avctx=0xcd1600, data=0xcd14e0,

data_size=0x7ffffff8aabc, buf=0xda7a00 "", buf_size=2234) at h263dec.c:712

#7 0x0000000000560b51 in avcodec_decode_video (avctx=0xcd1600,

picture=0xcd14e0, got_picture_ptr=0x7ffffff8aabc, buf=0xda7a00 "",
buf_size=2234) at utils.c:940

#8 0x000000000047663b in decode (sh=0xc9bab0, data=0xda7a00, len=2234,

flags=0) at vd_ffmpeg.c:828

#9 0x000000000047286c in decode_video (sh_video=0xc9bab0, start=0xda7a00 "",

in_size=2234, drop_frame=0) at dec_video.c:316

#10 0x0000000000416e4d in main (argc=<value optimized out>,

argv=<value optimized out>) at mplayer.c:2686

(gdb) disass $pc-32 $pc+32

Dump of assembler code from 0x546324 to 0x546364:
0x0000000000546324 <swScale_MMX2+13588>: test %esi,%esi
0x0000000000546326 <swScale_MMX2+13590>: jne 0x546300 <swScale_MMX2+13552>
0x0000000000546328 <swScale_MMX2+13592>: lea 0x58(%rcx),%rdx
0x000000000054632c <swScale_MMX2+13596>: mov (%rdx),%rsi
0x000000000054632f <swScale_MMX2+13599>: movq 0x2060(%rcx),%mm1
0x0000000000546336 <swScale_MMX2+13606>: movq %mm1,%mm7
0x0000000000546339 <swScale_MMX2+13609>: data16
0x000000000054633a <swScale_MMX2+13610>: data16
0x000000000054633b <swScale_MMX2+13611>: data16
0x000000000054633c <swScale_MMX2+13612>: nop
0x000000000054633d <swScale_MMX2+13613>: data16
0x000000000054633e <swScale_MMX2+13614>: data16
0x000000000054633f <swScale_MMX2+13615>: nop
0x0000000000546340 <swScale_MMX2+13616>: movq 0x8(%rdx),%mm0
0x0000000000546344 <swScale_MMX2+13620>: movq (%rsi,%rax,2),%mm2
0x0000000000546348 <swScale_MMX2+13624>: movq 0x8(%rsi,%rax,2),%mm5
0x000000000054634d <swScale_MMX2+13629>: add $0x10,%rdx
0x0000000000546351 <swScale_MMX2+13633>: mov (%rdx),%rsi
0x0000000000546354 <swScale_MMX2+13636>: pmulhw %mm0,%mm2
0x0000000000546357 <swScale_MMX2+13639>: pmulhw %mm0,%mm5
0x000000000054635a <swScale_MMX2+13642>: paddw %mm2,%mm1
0x000000000054635d <swScale_MMX2+13645>: paddw %mm5,%mm7
0x0000000000546360 <swScale_MMX2+13648>: test %rsi,%rsi
0x0000000000546363 <swScale_MMX2+13651>: jne 0x546340 <swScale_MMX2+13616>
End of assembler dump.

(gdb) info all-registers
rax 0x463f0 287728
rbx 0x2aaab092cbe0 46912595217376
rcx 0xdf7150 14643536
rdx 0xdf71a8 14643624
rsi 0xdfa820 14657568
rdi 0x2aaab085a010 46912594354192
rbp 0xdff1a0 0xdff1a0
rsp 0x7ffffff8a4b0 0x7ffffff8a4b0
r8 0x4 4
r9 0xfffffffffffffcae -850
r10 0xd56318 13984536
r11 0xe04c70 14699632
r12 0xdf4440 14632000
r13 0x0 0
r14 0x1 1
r15 0x0 0
rip 0x546344 0x546344 <swScale_MMX2+13620>
eflags 0x210246 2163270
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 -nan(0xffc0ffc0ffc0ffc) (raw 0xffff0ffc0ffc0ffc0ffc)
st1 -nan(0x4000400040004) (raw 0xffff0004000400040004)
st2 <invalid float value> (raw 0xffff0000000000000000)
st3 -nan(0x400040004015e) (raw 0xffff000400040004015e)
st4 -nan(0x4000400040004) (raw 0xffff0004000400040004)
st5 <invalid float value> (raw 0xffff0000000000000000)
st6 -nan(0x85000085000085) (raw 0xffff0085000085000085)
st7 -nan(0x4000400040004) (raw 0xffff0004000400040004)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xaaaa 43690
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x1, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},

v16_int8 = {0x3d, 0xa9, 0xbe, 0x3f, 0x27, 0xd5, 0xf7, 0x3f, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xa93d, 0x3fbe, 0xd527, 0x3ff7, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x3fbea93d, 0x3ff7d527, 0x0, 0x0}, v2_int64 = {
0x3ff7d5273fbea93d, 0x0}, uint128 = 0x00000000000000003ff7d5273fbea93d}

xmm1 {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x1de, 0x0},

v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x7d, 0x40, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0xe000, 0x407d, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0, 0x407de000, 0x0, 0x0}, v2_int64 = {
0x407de00000000000, 0x0}, uint128 = 0x0000000000000000407de00000000000}

xmm2 {v4_float = {0x1, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x6, 0x81, 0xb5, 0x3f, 0x0 <repeats 12 times>}, v8_int16 = {

0x8106, 0x3fb5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x3fb58106,
0x0, 0x0, 0x0}, v2_int64 = {0x3fb58106, 0x0},

uint128 = 0x0000000000000000000000003fb58106}

xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm4 {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},

v16_int8 = {0x0, 0x0, 0x0, 0xa0, 0xcd, 0x5, 0xf6, 0x3f, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0xa000, 0x5cd, 0x3ff6, 0x0, 0x0,
0x0, 0x0}, v4_int32 = {0xa0000000, 0x3ff605cd, 0x0, 0x0}, v2_int64 = {
0x3ff605cda0000000, 0x0}, uint128 = 0x00000000000000003ff605cda0000000}

xmm5 {v4_float = {0x1, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x1b, 0x2f, 0xa5, 0x3f, 0x0 <repeats 12 times>}, v8_int16 = {

0x2f1b, 0x3fa5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x3fa52f1b,
0x0, 0x0, 0x0}, v2_int64 = {0x3fa52f1b, 0x0},

uint128 = 0x0000000000000000000000003fa52f1b}

xmm6 {v4_float = {0x0, 0xfffffffe, 0x0, 0x0}, v2_double = {

0xfffffffffffffffe, 0x0}, v16_int8 = {0xef, 0x39, 0xfa, 0xfe, 0x42, 0x2e,
0x6, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x39ef,
0xfefa, 0x2e42, 0xc006, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xfefa39ef,
0xc0062e42, 0x0, 0x0}, v2_int64 = {0xc0062e42fefa39ef, 0x0},

uint128 = 0x0000000000000000c0062e42fefa39ef}

xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 0x5e, 0xbd, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x6730, 0x93c7, 0xf357, 0xbd5e, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x93c76730, 0xbd5ef357, 0x0, 0x0}, v2_int64 = {
0xbd5ef35793c76730, 0x0}, uint128 = 0x0000000000000000bd5ef35793c76730}

xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm9 {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},

v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0, 0x3ff00000, 0x0, 0x0}, v2_int64 = {
0x3ff0000000000000, 0x0}, uint128 = 0x00000000000000003ff0000000000000}

xmm10 {v4_float = {0x0, 0xfffffffe, 0x0, 0x0}, v2_double = {

0xfffffffffffffffb, 0x0}, v16_int8 = {0x0, 0x38, 0xfa, 0xfe, 0x42, 0x2e,
0x16, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x3800,
0xfefa, 0x2e42, 0xc016, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xfefa3800,
0xc0162e42, 0x0, 0x0}, v2_int64 = {0xc0162e42fefa3800, 0x0},

uint128 = 0x0000000000000000c0162e42fefa3800}

xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x30, 0x67, 0xc7, 0x93, 0x57, 0xf3, 0x5e, 0xbd, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x6730, 0x93c7, 0xf357, 0xbd5e, 0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x93c76730, 0xbd5ef357, 0x0, 0x0}, v2_int64 = {
0xbd5ef35793c76730, 0x0}, uint128 = 0x0000000000000000bd5ef35793c76730}

xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},

v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm15 {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},

v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0, 0x3ff00000, 0x0, 0x0}, v2_int64 = {
0x3ff0000000000000, 0x0}, uint128 = 0x00000000000000003ff0000000000000}

mxcsr 0x1fa0 8096
(gdb)

Change History (5)

comment:1 Changed 12 years ago by adland123@…

#0 0x0000000000546344 in swScale_MMX2 (c=0xdf4440, src=dwarf2_read_address:
Corrupted DWARF expression.
)

at swscale_template.c:895

code is the inline assembly below which has comments of needing work

{

asm volatile(

YSCALEYUV2RGBX
"lea (%%"REG_a", %%"REG_a", 2), %%"REG_b"\n\t"

FIXME optimize

"add %4, %%"REG_b" \n\t"
WRITEBGR24(%%REGb, %5, %%REGa)

"r" (&c->redDither), "m" (dummy), "m" (dummy), "m" (dummy), "r" (dest), "m" (dstW) : "%"REG_a, "%"REG_b, "%"REG_d, "%"REG_S FIXME ebx ); } break;

comment:2 Changed 12 years ago by reimar

There was a serious 64bit bug in the scaler code, please try again with latest CVS.

comment:3 Changed 12 years ago by adland123@…

tested
mplayer -vf screenshot k.mkv
MPlayer dev-CVS-060516-15:09-4.0.3 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Athlon 64 Newcastle; Athlon 64 X2 Manchester
(Family: 15, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup
scripts.

Playing k.mkv.
Cache fill: 12.50% (1048576 bytes)
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_VORBIS), -aid 0, -alang jpn
[mkv] Track ID 3: subtitles (S_TEXT/SSA), -sid 0, -slang eng
[mkv] Track ID 4: subtitles (S_TEXT/UTF8), -sid 1, -slang eng
[mkv] Will play video track 1
[mkv] Will play audio track 2
[mkv] Will display subtitle track 3
Matroska file format detected.
VIDEO: [XVID] 712x478 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening audio decoder: [libvorbis] Ogg/Vorbis? audio decoder
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [vorbis] afm: libvorbis (OggVorbis? Audio Decoder)
==========================================================================
Opening video filter: [screenshot]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 712 x 478 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.

SwScaler?: BICUBIC scaler, from Planar YV12 to BGR 24-bit using MMX2
VO: [xv] 712x478 => 850x478 Planar YV12
sending VFCTRL_SCREENSHOT!028 ct: 0.004 28/ 28 26% 0% 1.0% 2 0 3%

MPlayer interrupted by signal 11 in module: decode_video

  • MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
  • MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and won't help unless you provide this information when reporting a possible bug.

comment:4 Changed 11 years ago by reimar

  • Owner changed from alex@… to Reimar.Doeffinger@…

I still can't reproduce it, but another 64 bit bug in the scaler code was fixed.
If you have some time to spare, try again (and provide a gdb backtrace and/or
valgrind log again, just in case it isn't the same bug anymore).

comment:5 Changed 11 years ago by reimar

Anyone had a chance to check again?

Note: See TracTickets for help on using tickets.