[MPlayer-dev-eng] [PATCH] SSA/ASS subtitles support NOVIRUS

Dominik 'Rathann' Mierzejewski dominik at rangers.eu.org
Mon Apr 3 22:26:17 CEST 2006


On Monday, 03 April 2006 at 17:33, Evgeniy Stepanov wrote:
> Looks like you don't have an Arial font, and opening ~/.mplayer/subfont.ttf 
> (which is used in such cases) failed. 
> Attached version won't segfault.

Still segfaults.

$ gdb ~/build/pkg/BUILD/MPlayer-20060403/mplayer
GNU gdb Red Hat Linux (6.3.0.0-1.84rh)
Copyright 2004 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-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run -v -vf ass=GITS_SAC_\[1x01\].\[iNOS\].ssa GITS_SAC_\[1x01\].\[iNOS\].avi
Starting program: /mnt/builder/dominik/pkg/BUILD/MPlayer-20060403/mplayer -v -vf ass=GITS_SAC_\[1x01\].\[iNOS\].ssa GITS_SAC_\[1x01\].\[iNOS\].avi
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x901000
[Thread debugging using libthread_db enabled]
[New Thread -1208174912 (LWP 18098)]
MPlayer dev-Fedora-GS-CVS-060403-21:41-4.0.2 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Athlon Thunderbird (Family: 6, Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx



get_path('codecs.conf') -> '/home/dominik/.mplayer/codecs.conf'
Reading /home/dominik/.mplayer/codecs.conf: Can't open '/home/dominik/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '-vf' 'ass=GITS_SAC_[1x01].[iNOS].ssa' 'GITS_SAC_[1x01].[iNOS].avi'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/dominik/.mplayer/input.conf'
Parsing input config file /home/dominik/.mplayer/input.conf
Input config file /home/dominik/.mplayer/input.conf parsed: 62 binds
get_path('menu.conf') -> '/home/dominik/.mplayer/menu.conf'
[MENU] Can't open menu config file: /home/dominik/.mplayer/menu.conf
Menu inited: /etc/mplayer/menu.conf
get_path('GITS_SAC_[1x01].[iNOS].avi.conf') -> '/home/dominik/.mplayer/GITS_SAC_[1x01].[iNOS].avi.conf'
Playing GITS_SAC_[1x01].[iNOS].avi.
get_path('sub/') -> '/home/dominik/.mplayer/sub/'
[file] File size is 367048704 bytes
STREAM: [file] GITS_SAC_[1x01].[iNOS].avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x22CA
======= AVI Header =======
us/frame: 33367  (fps=29.970)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 47130   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  800 x 448
==========================
list_end=0x1138
==> Found video stream: 0
====== STREAM Header =====
Type: vids   FCC: xvid (64697678)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 29970/1000 = 29.970
Start: 0   Len: 47130
Suggested BufferSize: 97827
Quality 10000
Sample size: 0
==========================
Found 'bih', 108 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 800
  biHeight 448
  biPlanes 1
  biBitCount 16
  biCompression 1145656920='XVID'
  biSizeImage 2150400
===========================
Regenerating keyframe table for MPEG4 video
list_end=0x21BE
==> Found audio stream: 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 56000/1 = 56000.000
Start: 0   Len: 88060893
Suggested BufferSize: 28000
Quality -1
Sample size: 1
==========================
Found 'wf', 18 bytes of 18
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 5
Samplerate: 48000
avg byte/sec: 56000
Block align: 1
bits/sample: 0
cbSize: 18
Unknown extra header dump: [0] [0] [74] [6c] [65] [3d] [22] [56] [69] [64] [65] [6f] [22] [0] [28] [0] [0] [0]
==========================================================================
list_end=0x22CA
AVI: dmlh found (size=248) (total_frames=47130)
list_end=0x239E
hdr=Software  size=15
Software  : Nandub v1.0rc2
hdr=Name  size=49
Name      : Ghost.In.The.Shell-Stand.Alone.Complex.EP01_iNOS
hdr=Subject  size=49
Subject   : Ghost.In.The.Shell-Stand.Alone.Complex.EP01_iNOS
hdr=Artist  size=13
Artist    : iNOS-kang29k
hdr=Copyright  size=20
Copyright : It's none of us !!!
hdr=Comments  size=1
Comments  :
list_end=0x15C9AFA6
Found movie at 0x280C - 0x15C9AFA6
Reading INDEX block, 94244 chunks for 47130 frames (fpos=365539246)
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x6D6C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=276664482 (47130) audio size=88060893 (88060893)
VIDEO:  [XVID]  800x448  16bpp  29.970 fps  1407.4 kbps (171.8 kbyte/s)
[V] filefmt:3  fourcc:0x44495658  size:800x448  fps:29.97  ftime:=0.0334
Clip info:
 Software: Nandub v1.0rc2
 Name: Ghost.In.The.Shell-Stand.Alone.Complex.EP01_iNOS
 Subject: Ghost.In.The.Shell-Stand.Alone.Complex.EP01_iNOS
 Artist: iNOS-kang29k
 Copyright: It's none of us !!!
 Comments:
get_path('sub/') -> '/home/dominik/.mplayer/sub/'
[file] File size is 42979 bytes
STREAM: [file] ./GITS_SAC_[1x01].[iNOS].smi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
SUB: Detected subtitle file format: sami
SUB: opened iconv descriptor.
SUB: closed iconv descriptor.
SUB: Read 285 subtitles.
SUB: added subtitle file (1): ./GITS_SAC_[1x01].[iNOS].smi
[file] File size is 36223 bytes
STREAM: [file] ./GITS_SAC_[1x01].[iNOS].ssa
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
SUB: Detected subtitle file format: ssa
SUB: opened iconv descriptor.
SUB: closed iconv descriptor.
SUB: Read 305 subtitles.
SUB: Adjusted 83 subtitle(s).
SUB: added subtitle file (2): ./GITS_SAC_[1x01].[iNOS].ssa
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
Using 3DNowEx optimized IMDCT transform
AC3: 5.1 (3f+2r+lfe)  48000 Hz  448.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0xA
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1152x864 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] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
xscreensaver_disable: xscreensaver wid=10485761.
Detaching after fork from child process 18101.
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x0101fe).
[xv common] Maximum source image dimensions: 2046x2046
Opening video filter: [ass=GITS_SAC_[1x01].[iNOS].ssa]
get_path('subfont.ttf') -> '/home/dominik/.mplayer/subfont.ttf'
get_path('fonts') -> '/home/dominik/.mplayer/fonts'
file size: 36223
[49] Style: Default,Arial,15,16777215,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0
[49] Style: Russian,Arial,15,14772545,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,204
[49] Style: Song,Arial,15,12234746,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0
[49] Style: *Default,Arial,15,16777215,65535,65535,0,-1,0,1,3,0,2,30,30,30,0,0
==========================================================================
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 volnorm
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.10
alsa-init: setup for 1/2 channel(s)
alsa-init: using device hw:0,0
alsa-init: pcm opend in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa-init: got period size 1024
alsa: 44100 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 6144 + 65536 = 71680 bytes for output buffer.
Using 3DNowEx optimized IMDCT transform
AC3: 5.1 (3f+2r+lfe)  48000 Hz  448.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0xA
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1152x864 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] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
xscreensaver_disable: xscreensaver wid=10485761.
Detaching after fork from child process 18101.
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x0101fe).
[xv common] Maximum source image dimensions: 2046x2046
Opening video filter: [ass=GITS_SAC_[1x01].[iNOS].ssa]
get_path('subfont.ttf') -> '/home/dominik/.mplayer/subfont.ttf'
get_path('fonts') -> '/home/dominik/.mplayer/fonts'
file size: 36223
[49] Style: Default,Arial,15,16777215,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0
[49] Style: Russian,Arial,15,14772545,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,204
[49] Style: Song,Arial,15,12234746,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0
[49] Style: *Default,Arial,15,16777215,65535,65535,0,-1,0,1,3,0,2,30,30,30,0,0
==========================================================================
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 volnorm
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.10
alsa-init: setup for 1/2 channel(s)
alsa-init: using device hw:0,0
alsa-init: pcm opend in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=16
alsa-init: got buffersize=65536
alsa-init: got period size 1024
alsa: 44100 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under developement
Building audio filter chain for 48000Hz/2ch/s16le -> 44100Hz/2ch/s16le...
[libaf] Adding filter lavcresample
Starting playback...
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 60212
[ffmpeg] aspect_ratio: 1.785714
VDec: vo config request - 800 x 448 (preferred colorspace: Planar YV12)
Trying filter chain: ass menu vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.79:1 - prescaling to correct movie aspect.
VO Config (800x448->800x448,flags=0,'MPlayer',0x32315659)
REQ: flags=0x437  req=0x400
Unicode font: 656 glyphs.
REQ: flags=0x437  req=0x0
VO: [xv] 800x448 => 800x448 Planar YV12
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 61 for hw scaling
[xv] dx: 0 dy: 0 dw: 800 dh: 448
*** [ass] Allocating mp_image_t, 800x448x12bpp YUV planar, 537600 bytes
*** [vo] Exporting mp_image_t, 800x448x12bpp YUV planar, 537600 bytes
[xv] dx: 0 dy: 0 dw: 800 dh: 448
XXX initial  v_pts=0.000  a_pos=28000 (0.500)  1 ??% ??% ??,?% 0 0
*** [ass] Allocating mp_image_t, 800x448x12bpp YUV planar, 537600 bytes
*** [vo] Allocating mp_image_t, 800x448x12bpp YUV planar, 537600 bytes
*** [menu] Direct Rendering mp_image_t, 800x448x12bpp YUV planar, 537600 bytes
Neither PlayResX nor PlayResY defined. Using screen dimensions.
fontconfig_select: using default font: (Arial) -> /home/dominik/.mplayer/subfont.ttf, 0
Error opening font: /home/dominik/.mplayer/subfont.ttf, 0
normal text width: 740  0.001 ct:  0.012  73/ 73 36% 21%  7.2% 14 0

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208174912 (LWP 18098)]
0x0820125d in ass_render_event (event=0x8bdc134) at ass_render.c:1099
1099                            device_y += (render_context.face->size->metrics.descender >> 6); // descender is negative for 'normal' text
(gdb) bt
#0  0x0820125d in ass_render_event (event=0x8bdc134) at ass_render.c:1099
#1  0x08142b6d in put_image (vf=0x8b8ac48, mpi=0x8d2ca20, pts=-9.2233720368547758e+18) at vf_ass.c:131
#2  0x080ffaed in decode_video (sh_video=0x8b69ed8, start=0x8db3480 "", in_size=403, drop_frame=0,
    pts=-9.2233720368547758e+18) at dec_video.c:339
#3  0x080a33a3 in main (argc=5, argv=0xbfce1fc4) at mplayer.c:3562
(gdb) disp render_context.face
1: render_context.face = 0x0
(gdb) q
The program is running.  Exit anyway? (y or n) y

R.

-- 
MPlayer developer and RPMs maintainer: http://rpm.greysector.net/mplayer/
There should be a science of discontent. People need hard times and oppression
to develop psychic muscles.
	-- from "Collected Sayings of Muad'Dib" by the Princess Irulan




More information about the MPlayer-dev-eng mailing list