[MPlayer-users] deinterlacer performance?

Moritz Bunkus moritz at bunkus.org
Thu Jan 16 13:18:37 CET 2003


Hi.

> it's too much!
> i had around 17% cpu usage for codec and <10% for vo on my old celeron.
> maybe you don't have MTRR set?

Hmm...

01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 04) (prog-if 00 [VGA])
        Subsystem: Matrox Graphics, Inc. Millennium G400 MAX/Dual Head 32Mb
        Flags: bus master, medium devsel, latency 64, IRQ 5
        Memory at f8000000 (32-bit, prefetchable) [size=32M]
        Memory at f6000000 (32-bit, non-prefetchable) [size=16K]
        Memory at f5800000 (32-bit, non-prefetchable) [size=8M]

and cat /proc/mtrr:
reg00: base=0x00000000 (   0MB), size= 256MB: write-back, count=1
reg01: base=0xfc000000 (4032MB), size=  32MB: write-combining, count=2
reg02: base=0xf8000000 (3968MB), size=  32MB: write-combining, count=3

Looks fine to me (automatically set up by X).

> also try -vop pp=0x20000
> i don't know the string params of pp well, but pp=0x20000 will enable ONLY
> the deinterlacer.

The same 100%. Ok here's the -v output:
------------------------------------------------------------------------
mosu at anakin:/data/tmp/dmb$ mplayer -v -dvd 1 -dvd-device /data/tmp/dmb/DMB_COM_PAL/ -chapter 11 
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/share/locale


MPlayer CVS-030116-09:50-2.95.4 (C) 2000-2003 Arpad Gereoffy (see DOCS)

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Stepping: 10)
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled with Runtime CPU Detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection
Reading config file /etc/mplayer/mplayer.conf
Reading config file /home/mosu/.mplayer/config
Reading /home/mosu/.mplayer/codecs.conf: can't open '/home/mosu/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: 49 audio & 130 video codecs
CommandLine: '-v' '-dvd' '1' '-dvd-device' '/data/tmp/dmb/DMB_COM_PAL/' '-chapter' '11'
get_path('font/font.desc') -> '/home/mosu/.mplayer/font/font.desc'
font: can't open file: /home/mosu/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
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 usleep() timing
get_path('input.conf') -> '/home/mosu/.mplayer/input.conf'
Can't open input config file /home/mosu/.mplayer/input.conf : No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed : 50 binds
Setting up LIRC support...
get_path('DVD title 1.conf') -> '/home/mosu/.mplayer/DVD title 1.conf'

Playing DVD title 1
libdvdread: Couldn't find device name.
Reading disc structure, please wait...
There are 6 titles on this DVD.
There are 12 chapters in this DVD title.
There are 1 angles in this DVD title.
DVD successfully opened.
[open] audio stream: 0 audio format: lpcm (stereo) language: en aid: 160
[open] audio stream: 1 audio format: ac3 (5.1) language: en aid: 128
[open] number of audio channels on disk: 2.
[open] subtitle ( sid ): 0 language: en
[open] number of subtitles on disk: 1
DVD start cell: 0  pack: 0x1585F0-0x176631  
DVD start=1410544 end=1533489  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x84a8738  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x84a8738  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x84a8738  
Checking for MOV
DEMUXER: freeing demuxer at 0x84a8738  
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x84a8738  
Checking for REAL
DEMUXER: freeing demuxer at 0x84a8738  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8738  
DEMUXER: freeing demuxer at 0x84a8738  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8738  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8738  
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x84a8738  
DEMUXER: freeing demuxer at 0x84a90d8  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
Checking for PVA
DEMUXER: freeing demuxer at 0x84a90d8  
system stream synced at 0xAC2F800D (0)!
==> Found video stream: 0
MPEG-PS file format detected.
==> Found audio stream: 129
Searching for sequence header... OK!
VIDEO:  MPEG2  720x576  (aspect 2)  25.00 fps  12250.0 kbps (1531.2 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/mosu/.mplayer/sub/'
==========================================================================
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: 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, 16 bit (0x10), ratio: 56000->192000 (448.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFF  (R:F800 G:7E0 B:1F)
vo: X11 running at 1600x1200 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred csp: Mpeg PES)
Could not find matching colorspace - retrying with -vop scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder v2.0
libmpeg2: Using MMXEXT for IDCT transform
libmpeg2: Using MMXEXT for motion compensation
VDec: vo config request - 720 x 576 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (720x576->768x576,flags=0,'MPlayer',0x32315659)
VO: [xmga] 720x576 => 768x576 Planar YV12 
VO: Description: Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)
VO: Author: Zoltan Ponekker <pontscho at makacs.poliod.hu>
[mga] Using 3 buffers.
[xmga] x: 416 y: 312 w: 768 h: 576
[xmga] dcx: 416 dcy: 312 dx: 0 dy: 0 dw: 768 dh: 576
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
ao2: 48000 Hz  2 chans  Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp' dsp device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian))
audio_setup: using 2 channels (requested: 2)
audio_setup: using 48000 Hz samplerate (requested: 48000)
audio_setup: frags:  16/16  (4096 bytes/frag)  free:  65536
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
[libaf] Adding filter dummy 
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000001 and bps = 2
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000001 and bps = 2
Start playing...
==> Found audio stream: 160
*** [vo] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes
[xmga] x: 0 y: 0 w: 768 h: 576
[xmga] dcx: 416 dcy: 312 dx: 0 dy: 0 dw: 768 dh: 576
*** [vo] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes%
*** [vo] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes%
==> Found subtitle: 0: -0.007 ct:  0.411  256/256  48%  4%  3.6% 0 0 0%
Uninit audio filters...-0.006 ct:  0.410  458/458  48%  4%  4.0% 0 0 0%
[libaf] Removing filter dummy 
uninit audio: liba52
uninit video: libmpeg2
DEMUXER: freeing demuxer at 0x84a90d8  
DEMUXER: freeing sh_video at 0x84abad0  
DEMUXER: freeing sh_audio at 0x84c0578  
DEMUXER: freeing sh_audio at 0x84ee088  
vo: uninit!
vo: uninit ...

Exiting... (Quit)
----------------------------------------------------------------------------


And now with deinterlacing:


----------------------------------------------------------------------------
mosu at anakin:/data/tmp/dmb$ mplayer -v -dvd 1 -dvd-device /data/tmp/dmb/DMB_COM_PAL/ -chapter 11 -vop pp=lb
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/share/locale


MPlayer CVS-030116-09:50-2.95.4 (C) 2000-2003 Arpad Gereoffy (see DOCS)

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Stepping: 10)
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled with Runtime CPU Detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection
Reading config file /etc/mplayer/mplayer.conf
Reading config file /home/mosu/.mplayer/config
Reading /home/mosu/.mplayer/codecs.conf: can't open '/home/mosu/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: 49 audio & 130 video codecs
CommandLine: '-v' '-dvd' '1' '-dvd-device' '/data/tmp/dmb/DMB_COM_PAL/' '-chapter' '11' '-vop' 'pp=lb'
get_path('font/font.desc') -> '/home/mosu/.mplayer/font/font.desc'
font: can't open file: /home/mosu/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
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 usleep() timing
get_path('input.conf') -> '/home/mosu/.mplayer/input.conf'
Can't open input config file /home/mosu/.mplayer/input.conf : No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed : 50 binds
Setting up LIRC support...
get_path('DVD title 1.conf') -> '/home/mosu/.mplayer/DVD title 1.conf'

Playing DVD title 1
libdvdread: Couldn't find device name.
Reading disc structure, please wait...
There are 6 titles on this DVD.
There are 12 chapters in this DVD title.
There are 1 angles in this DVD title.
DVD successfully opened.
[open] audio stream: 0 audio format: lpcm (stereo) language: en aid: 160
[open] audio stream: 1 audio format: ac3 (5.1) language: en aid: 128
[open] number of audio channels on disk: 2.
[open] subtitle ( sid ): 0 language: en
[open] number of subtitles on disk: 1
DVD start cell: 0  pack: 0x1585F0-0x176631  
DVD start=1410544 end=1533489  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x84a8798  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x84a8798  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x84a8798  
Checking for MOV
DEMUXER: freeing demuxer at 0x84a8798  
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x84a8798  
Checking for REAL
DEMUXER: freeing demuxer at 0x84a8798  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8798  
DEMUXER: freeing demuxer at 0x84a8798  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8798  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
DEMUXER: freeing demuxer at 0x84a8798  
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x84a8798  
DEMUXER: freeing demuxer at 0x84a9138  
DVD Seek! lba=0x1585F0  cell=0  packs: 0x1585F0-0x176631  
Angle-seek synced by cell/vob IDN search!  
Checking for PVA
DEMUXER: freeing demuxer at 0x84a9138  
system stream synced at 0xAC2F800D (0)!
==> Found video stream: 0
MPEG-PS file format detected.
==> Found audio stream: 129
Searching for sequence header... OK!
VIDEO:  MPEG2  720x576  (aspect 2)  25.00 fps  12250.0 kbps (1531.2 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/mosu/.mplayer/sub/'
==========================================================================
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: 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, 16 bit (0x10), ratio: 56000->192000 (448.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFF  (R:F800 G:7E0 B:1F)
vo: X11 running at 1600x1200 with depth 16 and 16 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
Opening video filter: [pp=lb]
[vo] query(Planar YV12) -> 3
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred csp: Mpeg PES)
[PP] Using external postprocessing filter, max q = 6.
Could not find matching colorspace - retrying with -vop scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder v2.0
libmpeg2: Using MMXEXT for IDCT transform
libmpeg2: Using MMXEXT for motion compensation
VDec: vo config request - 720 x 576 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (720x576->768x576,flags=0,'MPlayer',0x32315659)
REQ: flags=0x437  req=0x0  
VO: [xmga] 720x576 => 768x576 Planar YV12 
VO: Description: Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)
VO: Author: Zoltan Ponekker <pontscho at makacs.poliod.hu>
[mga] Using 3 buffers.
[xmga] x: 416 y: 312 w: 768 h: 576
[xmga] dcx: 416 dcy: 312 dx: 0 dy: 0 dw: 768 dh: 576
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
ao2: 48000 Hz  2 chans  Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp' dsp device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian))
audio_setup: using 2 channels (requested: 2)
audio_setup: using 48000 Hz samplerate (requested: 48000)
audio_setup: frags:  16/16  (4096 bytes/frag)  free:  65536
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
[libaf] Adding filter dummy 
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000001 and bps = 2
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000001 and bps = 2
Start playing...
==> Found audio stream: 160
*** [pp] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes
[xmga] x: 0 y: 0 w: 768 h: 576
[xmga] dcx: 416 dcy: 312 dx: 0 dy: 0 dw: 768 dh: 576
*** [pp] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes%
*** [vo] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes
*** [pp] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes%
==> Found subtitle: 0:  0.176 ct:  1.004  252/252  50% 34%  4.7% 140 0 0%
Uninit audio filters... 0.174 ct:  1.144  287/287  51% 34%  4.6% 173 0 0%
[libaf] Removing filter dummy 
uninit audio: liba52
uninit video: libmpeg2
DEMUXER: freeing demuxer at 0x84a9138  
DEMUXER: freeing sh_video at 0x84abb30  
DEMUXER: freeing sh_audio at 0x84c05d8  
DEMUXER: freeing sh_audio at 0x853ab58  
vo: uninit!
vo: uninit ...

Exiting... (Quit)
-----------------------------------------------------------------------------

System specs:

Software:

Debian Unstable

mosu at anakin:~$ uname -r
2.4.21-pre1
mosu at anakin:~$ ls -l /lib/libc[.-]*
-rwxr-xr-x    1 root     root      1109068 2002-11-19 19:13 /lib/libc-2.3.1.so
lrwxrwxrwx    1 root     root           13 2002-12-18 16:56 /lib/libc.so.6 -> libc-2.3.1.so
mosu at anakin:~$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.4/specs
gcc version 2.95.4 20011002 (Debian prerelease)
mosu at anakin:~$ ld -v
GNU ld version 2.13.90.0.14 20021114 Debian GNU/Linux
mosu at anakin:~$ as --version
GNU assembler 2.13.90.0.14 20021114 Debian GNU/Linux
mosu at anakin:~$ X -version

This is a pre-release version of XFree86, and is not supported in any
way.  Bugs may be reported to XFree86 at XFree86.Org and patches submitted
to fixes at XFree86.Org.  Before reporting bugs in pre-release versions,
please check the latest version in the XFree86 CVS repository
(http://www.XFree86.Org/cvs)

XFree86 Version 4.2.1.1 (Debian 4.2.1-4 20021123003806 branden at debian.org) / X Window System
(protocol Version 11, revision 0, vendor release 6600)
Release Date: 18 October 2002
        If the server is older than 6-12 months, or if your card is
        newer than the above date, look for a newer version before
        reporting problems.  (See http://www.XFree86.Org/)
Build Operating System: Linux 2.4.18 i686 [ELF] 
Module Loader present
mosu at anakin:~$ xdpyinfo  | grep "depth of root"
  depth of root window:    16 planes

using the built-in mga driver. mga and mga_vid kernel modules are
loaded as is agpgart.

Hardware:

mosu at anakin:~$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Celeron (Coppermine)
stepping        : 10
cpu MHz         : 735.019
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1464.72
mosu at anakin:~$ grep Matrox /proc/pci 
    VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 4).

I've also tried with --disable-runtime-cpudetection, but the results
were the same.

And you say that the codec shouldn't need that much CPU time?

-- 
 ==> Ciao, Mosu (Moritz Bunkus)



More information about the MPlayer-users mailing list