2011-12-06 18:36:57 +01:00
|
|
|
|
@file README.txt @brief A software HD output device for VDR
|
|
|
|
|
|
2012-01-02 15:27:03 +01:00
|
|
|
|
Copyright (c) 2011, 2012 by Johns. All Rights Reserved.
|
2011-12-06 18:36:57 +01:00
|
|
|
|
|
|
|
|
|
Contributor(s):
|
|
|
|
|
|
|
|
|
|
License: AGPLv3
|
|
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU Affero General Public License as
|
|
|
|
|
published by the Free Software Foundation, either version 3 of the
|
|
|
|
|
License.
|
|
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU Affero General Public License for more details.
|
|
|
|
|
|
|
|
|
|
$Id$
|
|
|
|
|
|
|
|
|
|
A software and GPU emulated HD output device plugin for VDR.
|
|
|
|
|
|
2012-04-05 15:42:48 +02:00
|
|
|
|
o Video decoder CPU / VA-API / VDPAU
|
|
|
|
|
o Video output VA-API / VDPAU
|
|
|
|
|
o Audio FFMpeg / Alsa / Analog
|
|
|
|
|
o Audio FFMpeg / Alsa / Digital
|
|
|
|
|
o Audio FFMpeg / OSS / Analog
|
|
|
|
|
o HDMI/SPDIF pass-through
|
2012-06-08 15:27:42 +02:00
|
|
|
|
o Software volume, compression, normalize and channel resample
|
2012-04-05 15:42:48 +02:00
|
|
|
|
o YaepgHD support
|
|
|
|
|
o Software deinterlacer Bob (VA-API only)
|
|
|
|
|
o Autocrop
|
|
|
|
|
o Grab image (VDPAU only)
|
|
|
|
|
o Suspend
|
|
|
|
|
o Letterbox, Stretch and Center cut-out video display modes
|
2012-06-08 15:27:42 +02:00
|
|
|
|
o atmo light support with plugin http://github.com/durchflieger/DFAtmo
|
2012-04-05 15:42:48 +02:00
|
|
|
|
|
|
|
|
|
o planned: Video decoder VA-API Branch: vaapi-ext/staging
|
|
|
|
|
o planned: Video output XvBA / Opengl / Xv
|
|
|
|
|
o planned: VA-API grab image
|
2012-01-20 15:33:37 +01:00
|
|
|
|
o planned: Improved Software Deinterlacer (yadif or/and ffmpeg filters)
|
2011-12-06 18:36:57 +01:00
|
|
|
|
|
|
|
|
|
To compile you must have the 'requires' installed.
|
|
|
|
|
|
|
|
|
|
Good luck
|
|
|
|
|
johns
|
|
|
|
|
|
|
|
|
|
Quickstart:
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
Just type make and use.
|
|
|
|
|
|
|
|
|
|
Install:
|
|
|
|
|
--------
|
|
|
|
|
1a) git
|
|
|
|
|
|
|
|
|
|
git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git
|
|
|
|
|
cd vdr-plugin-softhddevice
|
|
|
|
|
make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
|
|
|
|
|
gentoo: make VDRDIR=/usr/include/vdr LIBDIR=.
|
|
|
|
|
|
|
|
|
|
2a) tarball
|
|
|
|
|
|
|
|
|
|
Download latest version from:
|
|
|
|
|
http://projects.vdr-developer.org/projects/plg-softhddevice/files
|
|
|
|
|
|
|
|
|
|
tar vxf vdr-softhddevice-*.tar.bz2
|
2012-01-19 00:16:15 +01:00
|
|
|
|
cd softhddevice-*
|
2011-12-06 18:36:57 +01:00
|
|
|
|
make VDRDIR=<path-to-your-vdr-files> LIBDIR=.
|
|
|
|
|
|
2012-01-03 21:31:03 +01:00
|
|
|
|
You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS
|
|
|
|
|
support.
|
|
|
|
|
|
2011-12-25 15:36:04 +01:00
|
|
|
|
Setup: environment
|
2012-01-02 15:27:03 +01:00
|
|
|
|
------
|
2011-12-25 15:36:04 +01:00
|
|
|
|
Following is supported:
|
|
|
|
|
|
|
|
|
|
DISPLAY=:0.0
|
|
|
|
|
x11 display name
|
2012-02-13 14:25:38 +01:00
|
|
|
|
NO_HW=1
|
|
|
|
|
if set don't use the hardware decoders
|
|
|
|
|
NO_MPEG_HW=1
|
|
|
|
|
if set don't use the hardware decoder for mpeg1/2
|
|
|
|
|
STUDIO_LEVELS=1
|
|
|
|
|
if set use studio levels with vdpau (deprecated use setup)
|
|
|
|
|
|
2012-01-02 15:27:03 +01:00
|
|
|
|
only if alsa is configured
|
2011-12-25 15:36:04 +01:00
|
|
|
|
ALSA_DEVICE=default
|
|
|
|
|
alsa PCM device name
|
2012-01-22 16:54:22 +01:00
|
|
|
|
ALSA_AC3_DEVICE=
|
|
|
|
|
alsa AC3/pass-though device name
|
2011-12-25 15:36:04 +01:00
|
|
|
|
ALSA_MIXER=default
|
|
|
|
|
alsa control device name
|
|
|
|
|
ALSA_MIXER_CHANNEL=PCM
|
|
|
|
|
alsa control channel name
|
2012-02-13 14:25:38 +01:00
|
|
|
|
|
2012-01-02 15:27:03 +01:00
|
|
|
|
only if oss is configured
|
|
|
|
|
OSS_AUDIODEV=/dev/dsp
|
|
|
|
|
oss dsp device name
|
2012-01-23 20:23:05 +01:00
|
|
|
|
OSS_AC3_AUDIODEV=
|
|
|
|
|
oss AC3/pass-though device name
|
2012-01-02 15:27:03 +01:00
|
|
|
|
OSS_MIXERDEV=/dev/mixer
|
|
|
|
|
oss mixer device name
|
2012-01-04 16:59:48 +01:00
|
|
|
|
OSS_MIXER_CHANNEL=pcm
|
|
|
|
|
oss mixer channel name
|
2011-12-25 15:36:04 +01:00
|
|
|
|
|
2011-12-16 22:34:54 +01:00
|
|
|
|
Setup: /etc/vdr/setup.conf
|
2012-01-02 15:27:03 +01:00
|
|
|
|
------
|
2011-12-16 22:34:54 +01:00
|
|
|
|
Following is supported:
|
|
|
|
|
|
2012-05-21 15:34:33 +02:00
|
|
|
|
softhddevice.MakePrimary = 0
|
2012-01-05 17:20:44 +01:00
|
|
|
|
0 = no change, 1 make softhddevice primary at start
|
|
|
|
|
|
2012-01-10 15:52:07 +01:00
|
|
|
|
softhddevice.HideMainMenuEntry = 0
|
|
|
|
|
0 = show softhddevice main menu entry, 1 = hide entry
|
|
|
|
|
|
2012-05-21 15:34:33 +02:00
|
|
|
|
softhddevice.Osd.Width = 0
|
|
|
|
|
0 = auto (=display, unscaled) n = fixed osd size scaled for display
|
|
|
|
|
softhddevice.Osd.Height = 0
|
|
|
|
|
0 = auto (=display, unscaled) n = fixed osd size scaled for display
|
|
|
|
|
|
2012-02-06 20:54:20 +01:00
|
|
|
|
<res> of the next parameters is 576i, 720p, 1080i_fake or 1080i.
|
2012-01-09 17:03:04 +01:00
|
|
|
|
1080i_fake is 1280x1080 or 1440x1080
|
|
|
|
|
1080i is "real" 1920x1080
|
|
|
|
|
|
|
|
|
|
softhddevice.<res>.Scaling = 0
|
|
|
|
|
0 = normal, 1 = fast, 2 = HQ, 3 = anamorphic
|
|
|
|
|
|
|
|
|
|
softhddevice.<res>.Deinterlace = 0
|
2011-12-16 22:34:54 +01:00
|
|
|
|
0 = bob, 1 = weave, 2 = temporal, 3 = temporal_spatial, 4 = software
|
2012-01-02 15:27:03 +01:00
|
|
|
|
(only 0, 1 supported with vaapi)
|
2011-12-16 22:34:54 +01:00
|
|
|
|
|
2012-01-09 17:03:04 +01:00
|
|
|
|
softhddevice.<res>.SkipChromaDeinterlace = 0
|
2012-01-05 17:20:44 +01:00
|
|
|
|
0 = disabled, 1 = enabled (for slower cards, poor qualit<69>t)
|
|
|
|
|
|
2012-02-14 22:29:17 +01:00
|
|
|
|
softhddevice.<res>.InverseTelecine = 0
|
|
|
|
|
0 = disabled, 1 = enabled
|
|
|
|
|
|
2012-01-09 17:03:04 +01:00
|
|
|
|
softhddevice.<res>.Denoise = 0
|
2012-01-05 17:20:44 +01:00
|
|
|
|
0 .. 1000 noise reduction level (0 off, 1000 max)
|
|
|
|
|
|
2012-01-09 17:03:04 +01:00
|
|
|
|
softhddevice.<res>.Sharpness = 0
|
2012-01-05 17:20:44 +01:00
|
|
|
|
-1000 .. 1000 noise reduction level (0 off, -1000 max blur,
|
|
|
|
|
1000 max sharp)
|
2011-12-16 22:34:54 +01:00
|
|
|
|
|
2012-04-05 22:51:20 +02:00
|
|
|
|
softhddevice.<res>.CutTopBottom = 0
|
|
|
|
|
Cut 'n' pixels at at top and bottom of the video picture.
|
|
|
|
|
|
|
|
|
|
softhddevice.<res>.CutLeftRight = 0
|
|
|
|
|
Cut 'n' pixels at at left and right of the video picture.
|
|
|
|
|
|
2011-12-19 17:03:40 +01:00
|
|
|
|
softhddevice.AudioDelay = 0
|
|
|
|
|
+n or -n ms
|
2012-02-21 22:24:28 +01:00
|
|
|
|
delay audio or delay video
|
2011-12-19 17:03:40 +01:00
|
|
|
|
|
2012-01-07 03:05:43 +01:00
|
|
|
|
softhddevice.AudioPassthrough = 0
|
|
|
|
|
0 = none, 1 = AC-3
|
|
|
|
|
|
2012-01-22 16:54:22 +01:00
|
|
|
|
for AC-3 the pass-through device is used.
|
|
|
|
|
|
2012-02-21 22:24:28 +01:00
|
|
|
|
softhddevice.AudioDownmix = 0
|
|
|
|
|
0 = none, 1 = downmix
|
2012-12-24 11:53:16 +01:00
|
|
|
|
Use ffmpeg/libav downmix AC-3 to stereo.
|
2012-02-21 22:24:28 +01:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioSoftvol = 0
|
|
|
|
|
0 = off, use hardware volume control
|
|
|
|
|
1 = on, use software volume control
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioNormalize = 0
|
|
|
|
|
0 = off, 1 = enable audio normalize
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioMaxNormalize = 0
|
|
|
|
|
maximal volume factor/1000 of the normalize filter
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioCompression = 0
|
|
|
|
|
0 = off, 1 = enable audio compression
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioMaxCompression = 0
|
|
|
|
|
maximal volume factor/1000 of the compression filter
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioStereoDescent = 0
|
|
|
|
|
reduce volume level (/1000) for stereo sources
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-04-19 16:01:20 +02:00
|
|
|
|
softhddevice.AudioBufferTime = 0
|
|
|
|
|
0 = default (336 ms)
|
|
|
|
|
1 - 1000 = size of the buffer in ms
|
2012-04-17 16:45:27 +02:00
|
|
|
|
|
2012-01-20 15:33:37 +01:00
|
|
|
|
softhddevice.AutoCrop.Interval = 0
|
|
|
|
|
0 disables auto-crop
|
|
|
|
|
n each 'n' frames auto-crop is checked.
|
|
|
|
|
|
|
|
|
|
softhddevice.AutoCrop.Delay = 0
|
2012-01-28 01:44:50 +01:00
|
|
|
|
if auto-crop is over 'n' intervals the same, the cropping is
|
2012-01-20 15:33:37 +01:00
|
|
|
|
used.
|
|
|
|
|
|
2012-01-28 01:44:50 +01:00
|
|
|
|
softhddevice.AutoCrop.Tolerance = 0
|
|
|
|
|
if detected crop area is too small, cut max 'n' pixels at top and
|
|
|
|
|
bottom.
|
|
|
|
|
|
2012-02-24 15:42:32 +01:00
|
|
|
|
softhddevice.Background = 0
|
|
|
|
|
32bit RGBA background color
|
|
|
|
|
(Red * 16777216 + Green * 65536 + Blue * 256 + Alpha)
|
|
|
|
|
or hex RRGGBBAA
|
2012-03-12 17:58:19 +01:00
|
|
|
|
grey 127 * 16777216 + 127 * 65536 + 127 * 256 => 2139062016
|
|
|
|
|
in the setup menu this is entered as (24bit RGB and 8bit Alpha)
|
|
|
|
|
(Red * 65536 + Green * 256 + Blue)
|
2012-02-24 15:42:32 +01:00
|
|
|
|
|
2012-02-13 14:25:38 +01:00
|
|
|
|
softhddevice.StudioLevels = 0
|
|
|
|
|
0 use PC levels (0-255) with vdpau.
|
|
|
|
|
1 use studio levels (16-235) with vdpau.
|
|
|
|
|
|
2012-01-22 20:49:43 +01:00
|
|
|
|
softhddevice.Suspend.Close = 0
|
|
|
|
|
1 suspend closes x11 window, connection and audio device.
|
|
|
|
|
(use svdrpsend plug softhddevice RESU to resume, if you have no lirc)
|
|
|
|
|
|
|
|
|
|
softhddevice.Suspend.X11 = 0
|
|
|
|
|
1 suspend stops X11 server (not working yet)
|
|
|
|
|
|
2012-02-22 15:06:05 +01:00
|
|
|
|
softhddevice.60HzMode = 0
|
|
|
|
|
0 disable 60Hz display mode
|
|
|
|
|
1 enable 60Hz display mode
|
|
|
|
|
|
2012-03-06 12:16:47 +01:00
|
|
|
|
softhddevice.SoftStartSync = 0
|
|
|
|
|
0 disable soft start of audio/video sync
|
|
|
|
|
1 enable soft start of audio/video sync
|
|
|
|
|
|
2012-04-20 15:40:14 +02:00
|
|
|
|
softhddevice.BlackPicture = 0
|
|
|
|
|
0 disable black picture during channel switch
|
|
|
|
|
1 enable black picture during channel switch
|
|
|
|
|
|
2012-02-11 18:22:48 +01:00
|
|
|
|
VideoDisplayFormat = ?
|
|
|
|
|
0 pan and scan
|
|
|
|
|
1 letter box
|
|
|
|
|
2 center cut-out
|
|
|
|
|
|
2012-01-10 15:52:07 +01:00
|
|
|
|
Setup: /etc/vdr/remote.conf
|
|
|
|
|
------
|
|
|
|
|
|
|
|
|
|
Add "XKeySym." definitions to /etc/vdr/remote.conf to control
|
|
|
|
|
the vdr and plugin with the connected input device.
|
|
|
|
|
|
|
|
|
|
fe.
|
|
|
|
|
XKeySym.Up Up
|
|
|
|
|
XKeySym.Down Down
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
Additional to the x11 input sends the window close button "Close".
|
|
|
|
|
|
|
|
|
|
fe.
|
|
|
|
|
XKeySym.Power Close
|
2012-01-07 03:05:43 +01:00
|
|
|
|
|
2012-01-03 21:31:03 +01:00
|
|
|
|
Commandline:
|
|
|
|
|
------------
|
|
|
|
|
|
2012-01-22 20:49:43 +01:00
|
|
|
|
Use vdr -h to see the command line arguments supported by the plugin.
|
2012-01-03 21:31:03 +01:00
|
|
|
|
|
2012-01-19 00:16:15 +01:00
|
|
|
|
-a audio_device
|
|
|
|
|
|
|
|
|
|
Selects audio output module and device.
|
|
|
|
|
"" to disable audio output
|
|
|
|
|
/... to use oss audio module (if compiled with oss
|
|
|
|
|
support)
|
|
|
|
|
other to use alsa audio module (if compiled with alsa
|
|
|
|
|
support)
|
|
|
|
|
|
2012-01-22 20:49:43 +01:00
|
|
|
|
SVDRP:
|
|
|
|
|
------
|
|
|
|
|
|
2012-03-01 22:12:22 +01:00
|
|
|
|
Use 'svdrpsend.pl plug softhddevice HELP'
|
|
|
|
|
or 'svdrpsend plug softhddevice HELP' to see the SVDRP commands help
|
|
|
|
|
and which are supported by the plugin.
|
2012-01-22 20:49:43 +01:00
|
|
|
|
|
2012-02-19 19:22:03 +01:00
|
|
|
|
Keymacros:
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
|
See keymacros.conf how to setup the macros.
|
|
|
|
|
|
|
|
|
|
This are the supported key sequences:
|
|
|
|
|
|
|
|
|
|
@softhddevice Blue 1 0 disable pass-through
|
|
|
|
|
@softhddevice Blue 1 1 enable pass-through
|
|
|
|
|
@softhddevice Blue 1 2 toggle pass-through
|
2012-04-11 12:15:12 +02:00
|
|
|
|
@softhddevice Blue 1 3 decrease audio delay by 10ms
|
|
|
|
|
@softhddevice Blue 1 4 increase audio delay by 10ms
|
|
|
|
|
@softhddevice Blue 2 0 disable fullscreen
|
|
|
|
|
@softhddevice Blue 2 1 enable fullscreen
|
|
|
|
|
@softhddevice Blue 2 2 toggle fullscreen
|
2012-04-17 16:45:27 +02:00
|
|
|
|
@softhddevice Blue 2 3 disable auto-crop
|
|
|
|
|
@softhddevice Blue 2 4 enable auto-crop
|
|
|
|
|
@softhddevice Blue 2 5 toggle auto-crop
|
2012-04-11 12:15:12 +02:00
|
|
|
|
@softhddevice Blue 3 0 stretch 4:3 to 16:9
|
|
|
|
|
@softhddevice Blue 3 1 letter box 4:3 in 16:9
|
|
|
|
|
@softhddevice Blue 3 2 center cut-out 4:3 to 16:9
|
|
|
|
|
@softhddevice Blue 3 9 rotate 4:3 to 16:9 zoom mode
|
2012-02-19 19:22:03 +01:00
|
|
|
|
|
2012-01-10 15:52:07 +01:00
|
|
|
|
Running:
|
|
|
|
|
--------
|
|
|
|
|
|
2012-01-13 16:31:29 +01:00
|
|
|
|
Click into video window to toggle fullscreen/window mode, only if you
|
|
|
|
|
have a window manager running.
|
|
|
|
|
|
2012-01-02 15:27:03 +01:00
|
|
|
|
Warning:
|
|
|
|
|
--------
|
|
|
|
|
libav is not supported, expect many bugs with it.
|
|
|
|
|
|
2012-06-08 15:27:42 +02:00
|
|
|
|
Known Bugs:
|
|
|
|
|
-----------
|
|
|
|
|
VA-API doesn't v-sync 1080i streams
|
|
|
|
|
vdr-image not working
|
|
|
|
|
|
2011-12-06 18:36:57 +01:00
|
|
|
|
Requires:
|
|
|
|
|
---------
|
2012-01-02 15:27:03 +01:00
|
|
|
|
media-video/ffmpeg (version >=0.7)
|
2011-12-06 18:36:57 +01:00
|
|
|
|
Complete solution to record, convert and stream audio and
|
|
|
|
|
video. Includes libavcodec.
|
|
|
|
|
http://ffmpeg.org
|
|
|
|
|
media-libs/alsa-lib
|
|
|
|
|
Advanced Linux Sound Architecture Library
|
|
|
|
|
http://www.alsa-project.org
|
2012-01-03 21:31:03 +01:00
|
|
|
|
or
|
|
|
|
|
kernel support for oss/oss4 or alsa oss emulation
|
|
|
|
|
|
2011-12-06 18:36:57 +01:00
|
|
|
|
x11-libs/libva
|
|
|
|
|
Video Acceleration (VA) API for Linux
|
|
|
|
|
http://www.freedesktop.org/wiki/Software/vaapi
|
|
|
|
|
x11-libs/libva-intel-driver
|
|
|
|
|
HW video decode support for Intel integrated graphics
|
|
|
|
|
http://www.freedesktop.org/wiki/Software/vaapi
|
|
|
|
|
or
|
|
|
|
|
x11-libs/vdpau-video
|
|
|
|
|
VDPAU Backend for Video Acceleration (VA) API
|
|
|
|
|
http://www.freedesktop.org/wiki/Software/vaapi
|
2012-01-02 15:27:03 +01:00
|
|
|
|
or
|
2011-12-06 18:36:57 +01:00
|
|
|
|
x11-libs/xvba-video
|
|
|
|
|
XVBA Backend for Video Acceleration (VA) API
|
|
|
|
|
http://www.freedesktop.org/wiki/Software/vaapi
|
2012-03-19 17:15:21 +01:00
|
|
|
|
|
|
|
|
|
x11-libs/libvdpau
|
|
|
|
|
VDPAU wrapper and trace libraries
|
|
|
|
|
http://www.freedesktop.org/wiki/Software/VDPAU
|
|
|
|
|
|
2011-12-06 18:36:57 +01:00
|
|
|
|
x11-libs/libxcb,
|
|
|
|
|
X C-language Bindings library
|
|
|
|
|
http://xcb.freedesktop.org
|
|
|
|
|
x11-libs/xcb-util,
|
|
|
|
|
x11-libs/xcb-util-wm,
|
|
|
|
|
x11-libs/xcb-util-keysyms
|
|
|
|
|
X C-language Bindings library
|
|
|
|
|
http://xcb.freedesktop.org
|
2012-01-02 15:27:03 +01:00
|
|
|
|
Only versions >= 0.3.8 are good supported
|
2011-12-06 18:36:57 +01:00
|
|
|
|
|
|
|
|
|
x11-libs/libX11
|
|
|
|
|
X.Org X11 library
|
|
|
|
|
http://xorg.freedesktop.org
|
|
|
|
|
|
|
|
|
|
GNU Make 3.xx
|
|
|
|
|
http://www.gnu.org/software/make/make.html
|
|
|
|
|
|
|
|
|
|
Optional:
|