[MPlayer-users] Latest SVN - Subtitles broken for VOBs, DTS support removed(?), LIVE555 fails to compile, undefined ENABLE_* functions in libavcodec/dsputil.c

Rick Harris rickharris at mightylegends.zapto.org
Sat Jun 16 13:13:28 CEST 2007


Hi all,

To start with, I'd encountered some problems with subtitles either not being found or able to be displayed when playing a DVD VOB file while using an SVN snapshot from 27/4/2007.
When using the '-sid <X>' argument, only the first subtitle stream is ever displayed, regardless of the sub stream number specified.

Output using above mentioned snapshot:
# mplayer -v -vo null -ao null -frames 0 test.VOB
MPlayer dev-SVN-rUNKNOWN-4.1.1 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) XP 2800+ (Family: 6, Model: 10, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.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.
Configuration: --cc=i686-pc-linux-gnu-gcc --host-cc=i686-pc-linux-gnu-gcc --prefix=/usr --confdir=/etc/mplayer --datadir=/usr/share/mplayer --libdir=/usr/lib --enable-largefiles --enable-menu --enable-network --disable-tv-bsdbt848 --disable-faad-external --disable-libcdio --disable-cdparanoia --disable-enca --disable-ftp --disable-vstream --charset=UTF-8 --disable-lirc --disable-lircc --disable-joystick --disable-dvb --disable-dvbhead --disable-radio-v4l2 --disable-radio-bsdbt848 --disable-pvr --disable-speex --disable-xanim --disable-qtx --realcodecsdir=/opt/RealPlayer/codecs --disable-directfb --disable-ivtv --disable-ggi --disable-md5sum --disable-mga --disable-xmga --disable-vidix-internal --disable-vidix-external --disable-zr --enable-gui --enable-xvmc --with-xvmclib=XvMCW --disable-3dfx --disable-tdfxvid --disable-tdfxfb --disable-arts --disable-esd --disable-jack --disable-nas --disable-openal --disable-sse2 --disable-altivec
CommandLine: '-v' '-vo' 'null' '-ao' 'null' '-frames' '0' 'test.VOB'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/root/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Can't open input config file /etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('test.VOB.conf') -> '/root/.mplayer/test.VOB.conf'

Playing test.VOB.
get_path('sub/') -> '/root/.mplayer/sub/'
[file] File size is 3746406400 bytes
STREAM: [file] test.VOB
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename test.VOB ext: .VOB
Trying demuxer 2 based on filename extension
system stream synced at 0xD (13)!
==> Found video stream: 0
==> Found audio stream: 128
MPEG-PS file format detected.
Searching for sequence header... OK!
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  7000.0 kbps (875.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/root/.mplayer/sub/'
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Trying filter chain: vo
VDec: using Mpeg PES as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (720x576->720x576,flags=0,'MPlayer',0x4D504553)
VO: [null] 720x576 => 720x576 Mpeg PES
VO: Description: Null video output
VO: Author: Aaron Holtzman <aholtzma at ess.engr.uvic.ca>
Selected video codec: [mpegpes] vfm: mpegpes (MPEG-PES output (.mpg or DXR3/IVTV/DVB card))
==========================================================================
==========================================================================
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 SSE optimized IMDCT transform
AC3: 2.0 (stereo)  48000 Hz  384.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0x2
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
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
AO: [null] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: Null audio output
AO: Author: Tobias Diedrich <ranma+mplayer at tdiedrich.de>
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...

Uninit audio filters...
[libaf] Removing filter dummy
Uninit audio: liba52
Uninit video: mpegpes
vo: x11 uninit called but X11 not inited..

Exiting... (End of file)


Rolling back to the latest stable release (MPlayer-1.0rc1 from 23/10/2006) shows that this is a recent breakage as the subtitles show fine with that version.

Output using above mentioned MPlayer-1.0rc1:
# mplayer -v -vo null -ao null -frames 0 test.VOB
MPlayer 1.0rc1-4.1.1 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) XP 2800+ (Family: 6, Model: 10, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
get_path('codecs.conf') -> '/root/.mplayer/codecs.conf'
Reading /root/.mplayer/codecs.conf: Can't open '/root/.mplayer/codecs.conf': No such file or directory
Reading /usr/share/mplayer/codecs.conf: Can't open '/usr/share/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '-vo' 'null' '-ao' 'null' '-frames' '0' 'test.VOB'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using nanosleep() timing
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.mplayer/input.conf: No such file or directory
Parsing input config file /usr/share/mplayer/input.conf
Input config file /usr/share/mplayer/input.conf parsed: 67 binds
get_path('test.VOB.conf') -> '/root/.mplayer/test.VOB.conf'

Playing test.VOB.
get_path('sub/') -> '/root/.mplayer/sub/'
[file] File size is 3746406400 bytes
STREAM: [file] test.VOB
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 376832  pre:6710886  eof:0
Cache fill:  4.49% (376832 bytes)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename test.VOB ext: .VOB
Trying demuxer 2 based on filename extension
system stream synced at 0xD (13)!
==> Found video stream: 0
==> Found subtitle: 2
==> Found subtitle: 1
==> Found subtitle: 0
==> Found audio stream: 128
==> Found subtitle: 6
==> Found subtitle: 5
==> Found subtitle: 4
==> Found subtitle: 3
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG-PS file format detected.
Searching for sequence header... OK!
VIDEO:  MPEG2  720x576  (aspect 3)  25.000 fps  7000.0 kbps (875.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/root/.mplayer/sub/'
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Trying filter chain: vo
VDec: using Mpeg PES as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (720x576->720x576,flags=0,'MPlayer',0x4D504553)
VO: [null] 720x576 => 720x576 Mpeg PES
VO: Description: Null video output
VO: Author: Aaron Holtzman <aholtzma at ess.engr.uvic.ca>
Selected video codec: [mpegpes] vfm: mpegpes (MPEG-PES output (.mpg or DXR3/IVTV/DVB card))
==========================================================================
==========================================================================
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 SSE optimized IMDCT transform
AC3: 2.0 (stereo)  48000 Hz  384.0 kbit/s
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0x2
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
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
AO: [null] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: Null audio output
AO: Author: Tobias Diedrich <ranma+mplayer at tdiedrich.de>
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...

Uninit audio filters...
[libaf] Removing filter dummy
Uninit audio: liba52
Uninit video: mpegpes
vo: x11 uninit called but X11 not inited..

Exiting... (End of file)



Unfortunately, attempting to compile the lastest trunk has opened a whole new can of worms (see below).

Some notes while attempting to compile latest SVN to see if the subtitle problem had been fixed ...

1) Compile fails if LIVE555 support is enabled/auto-detected, problem looks to be a bug in the 'configure' script not getting/setting the include paths:
Checking for LIVE555 Streaming Media libraries ... yes (using )

then later the compile fails due to:
demux_rtp_internal.h:22:24: error: liveMedia.hh: No such file or directory
demux_rtp.cpp:14:36: error: BasicUsageEnvironment.hh: No such file or directory
demux_rtp.cpp:16:30: error: GroupsockHelper.hh: No such file or directory


2) Undefined ENABLE_* functions in libavcodec/dsputil.c cause compile to fail:
dsputil.c: In function ‘dsputil_init’:
dsputil.c:4141: error: ‘ENABLE_MMX’ undeclared (first use in this function)
dsputil.c:4141: error: (Each undeclared identifier is reported only once
dsputil.c:4141: error: for each function it appears in.)
dsputil.c:4142: error: ‘ENABLE_ARMV4L’ undeclared (first use in this function)
dsputil.c:4142: warning: implicit declaration of function ‘dsputil_init_armv4l’
etc...


3) Final linking leads to compile failure due to undefined references, even though all object files have compiled correctly:
cc -o mplayer mplayer.o m_property.o mp_fifo.o mp_msg.o mixer.o parser-mpcmd.o subopt-helper.o command.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o m_config.o m_option.o m_struct.o mpcommon.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o libvo/libvo.a libao2/libao2.a input/libinput.a vidix/libvidix.a gui/libgui.a libmenu/libmenu.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a libvo/libosd.a libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a loader/libloader.a mp3lib/libmp3.a liba52/liba52.a libmpeg2/libmpeg2.a libfaad2/libfaad2.a tremor/libvorbisidec.a dvdread/libdvdread.a libdvdcss/libdvdcss.a libass/libass.a osdep/libosdep.a -lXext -lX11 -lpthread -lXv -lXvMC -lXvMCW -lXinerama -lXxf86vm -lXxf86dga -lGL -ldl -lcaca -lcucul -lvga -lSDL -lpthread -lfaac -lx264 -lpthread -lmp3lame -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lglib-2.0 -L/usr/lib -Wl,-z,noexecstack    -lncurses -lsmbclient -lpng -lz -ljpeg -lgif -lasound -ldl -lpthread -lcdio_cdda -lcdio -lcdio_paranoia  -lfreetype -lz -lfontconfig  -L/usr/lib -lfribidi -lz -llzo2 -lmad  -ltheora -logg   -ldv -lzvbi -lpthread -ldl -rdynamic  -lm
libmpcodecs/libmpcodecs.a(vd_xvid4.o): In function `decode':
vd_xvid4.c:(.text+0x116): undefined reference to `xvid_decore'
libmpcodecs/libmpcodecs.a(vd_xvid4.o): In function `uninit':
vd_xvid4.c:(.text+0x361): undefined reference to `xvid_decore'
libmpcodecs/libmpcodecs.a(vd_xvid4.o): In function `init':
vd_xvid4.c:(.text+0x4a7): undefined reference to `xvid_global'
vd_xvid4.c:(.text+0x513): undefined reference to `xvid_global'
vd_xvid4.c:(.text+0x555): undefined reference to `xvid_decore'
libavcodec/libavcodec.a(utils.o): In function `avcodec_encode_video':
utils.c:(.text+0x159c): undefined reference to `mm_flags'
libavcodec/libavcodec.a(utils.o): In function `avcodec_decode_video':
utils.c:(.text+0x1f7a): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o): In function `dct_quantize_refine':
mpegvideo.c:(.text+0x819e): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o): In function `MPV_frame_end':
mpegvideo.c:(.text+0xb109): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o): In function `DCT_common_init':
mpegvideo.c:(.text+0xb95e): undefined reference to `MPV_common_init_mmx'
libavcodec/libavcodec.a(mpegvideo.o): In function `ff_draw_horiz_band':
mpegvideo.c:(.text+0xcb05): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o): In function `encode_picture':
mpegvideo.c:(.text+0xe67f): undefined reference to `mm_flags'
mpegvideo.c:(.text+0xedcf): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o): In function `MPV_encode_picture':
mpegvideo.c:(.text+0x1052b): undefined reference to `mm_flags'
mpegvideo.c:(.text+0x10bc0): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpegvideo.o):mpegvideo.c:(.text+0x22907): more undefined references to `mm_flags' follow
libavcodec/libavcodec.a(dsputil.o): In function `dsputil_init':
dsputil.c:(.text+0x18b80): undefined reference to `dsputil_init_mmx'
libavcodec/libavcodec.a(mpeg12.o): In function `decode_frame':
mpeg12.c:(.text+0x5836): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpeg12.o): In function `mpeg_decode_frame':
mpeg12.c:(.text+0xb746): undefined reference to `mm_flags'
libavcodec/libavcodec.a(mpeg12.o): In function `slice_decode_thread':
mpeg12.c:(.text+0xd4eb): undefined reference to `mm_flags'
libavcodec/libavcodec.a(ratecontrol.o): In function `ff_rate_control_uninit':
ratecontrol.c:(.text+0x7b6): undefined reference to `mm_flags'
libavcodec/libavcodec.a(ratecontrol.o): In function `ff_rate_control_init':
ratecontrol.c:(.text+0x1434): undefined reference to `mm_flags'
libavcodec/libavcodec.a(ratecontrol.o):ratecontrol.c:(.text+0x273c): more undefined references to `mm_flags' follow
libavcodec/libavcodec.a(fft.o): In function `ff_fft_init':
fft.c:(.text+0x3af): undefined reference to `mm_support'
fft.c:(.text+0x4ec): undefined reference to `ff_imdct_calc_3dn2'
fft.c:(.text+0x4f3): undefined reference to `ff_fft_calc_3dn2'
fft.c:(.text+0x549): undefined reference to `ff_imdct_calc_sse'
fft.c:(.text+0x550): undefined reference to `ff_fft_calc_sse'
fft.c:(.text+0x560): undefined reference to `ff_fft_calc_3dn'
libavcodec/libavcodec.a(cljr.o): In function `decode_frame':
cljr.c:(.text+0x264): undefined reference to `mm_flags'
libavcodec/libavcodec.a(dv.o): In function `dvvideo_decode_frame':
dv.c:(.text+0x31cc): undefined reference to `mm_flags'
libavcodec/libavcodec.a(dv.o): In function `dvvideo_encode_frame':
dv.c:(.text+0x4343): undefined reference to `mm_flags'
libavcodec/libavcodec.a(ffv1.o): In function `decode_frame':
ffv1.c:(.text+0x22c7): undefined reference to `mm_flags'
libavcodec/libavcodec.a(ffv1.o): In function `encode_frame':
ffv1.c:(.text+0x681a): undefined reference to `mm_flags'
libavcodec/libavcodec.a(huffyuv.o):huffyuv.c:(.text+0x3be6): more undefined references to `mm_flags' follow
libavcodec/libavcodec.a(libxvidff.o): In function `ff_xvid_encode_close':
libxvidff.c:(.text+0x41d): undefined reference to `xvid_encore'
libavcodec/libavcodec.a(libxvidff.o): In function `ff_xvid_encode_init':
libxvidff.c:(.text+0x5b4): undefined reference to `xvid_global'
libxvidff.c:(.text+0x680): undefined reference to `xvid_plugin_lumimasking'
libxvidff.c:(.text+0x81b): undefined reference to `xvid_encore'
libxvidff.c:(.text+0x909): undefined reference to `xvid_plugin_2pass2'
libxvidff.c:(.text+0xa62): undefined reference to `xvid_plugin_single'
libavcodec/libavcodec.a(libxvidff.o): In function `ff_xvid_encode_frame':
libxvidff.c:(.text+0xcfe): undefined reference to `xvid_encore'
libavcodec/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_control_uninit':
libxvid_rc.c:(.text+0x29): undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_estimate_qscale':
libxvid_rc.c:(.text+0x137): undefined reference to `xvid_plugin_2pass2'
libxvid_rc.c:(.text+0x257): undefined reference to `xvid_plugin_2pass2'
libavcodec/libavcodec.a(libxvid_rc.o): In function `ff_xvid_rate_control_init':
libxvid_rc.c:(.text+0x4de): undefined reference to `xvid_plugin_2pass2'
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1


So my efforts to get subtitles working again have now turned to getting MPlayer to compile again.
As always, would be much appreciated to see some work being done on this, let me know if you need any further info.

I also notice it's been a long time between stable releases (around 8 months now).
Please, keep those stable releases coming and don't let MPlayer's release schedule go the way of FFmpeg (ie. no releases, just an SVN tree).



Cheers,
Rick


More information about the MPlayer-users mailing list