@file README.txt @brief A software HD output device for VDR Copyright (c) 2011, 2012 by Johns. All Rights Reserved. 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. 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 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 o planned: Video decoder VA-API Branch: vaapi-ext/staging o planned: Video output XvBA / Opengl / Xv o planned: VA-API grab image o planned: Improved Software Deinterlacer (yadif or/and ffmpeg filters) o planned: software volume, software channel resample o planned: atmo light support 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= 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 cd softhddevice-* make VDRDIR= LIBDIR=. You can edit Makefile to enable/disable VDPAU / VA-API / Alsa / OSS support. Setup: environment ------ Following is supported: DISPLAY=:0.0 x11 display name 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) only if alsa is configured ALSA_DEVICE=default alsa PCM device name ALSA_AC3_DEVICE= alsa AC3/pass-though device name ALSA_MIXER=default alsa control device name ALSA_MIXER_CHANNEL=PCM alsa control channel name only if oss is configured OSS_AUDIODEV=/dev/dsp oss dsp device name OSS_AC3_AUDIODEV= oss AC3/pass-though device name OSS_MIXERDEV=/dev/mixer oss mixer device name OSS_MIXER_CHANNEL=pcm oss mixer channel name Setup: /etc/vdr/setup.conf ------ Following is supported: softhddevice.MakePrimary = 1 0 = no change, 1 make softhddevice primary at start softhddevice.HideMainMenuEntry = 0 0 = show softhddevice main menu entry, 1 = hide entry of the next parameters is 576i, 720p, 1080i_fake or 1080i. 1080i_fake is 1280x1080 or 1440x1080 1080i is "real" 1920x1080 softhddevice..Scaling = 0 0 = normal, 1 = fast, 2 = HQ, 3 = anamorphic softhddevice..Deinterlace = 0 0 = bob, 1 = weave, 2 = temporal, 3 = temporal_spatial, 4 = software (only 0, 1 supported with vaapi) softhddevice..SkipChromaDeinterlace = 0 0 = disabled, 1 = enabled (for slower cards, poor qualität) softhddevice..InverseTelecine = 0 0 = disabled, 1 = enabled softhddevice..Denoise = 0 0 .. 1000 noise reduction level (0 off, 1000 max) softhddevice..Sharpness = 0 -1000 .. 1000 noise reduction level (0 off, -1000 max blur, 1000 max sharp) softhddevice..CutTopBottom = 0 Cut 'n' pixels at at top and bottom of the video picture. softhddevice..CutLeftRight = 0 Cut 'n' pixels at at left and right of the video picture. softhddevice.AudioDelay = 0 +n or -n ms delay audio or delay video softhddevice.AudioPassthrough = 0 0 = none, 1 = AC-3 for AC-3 the pass-through device is used. softhddevice.AudioDownmix = 0 0 = none, 1 = downmix downmix AC-3 to stero. softhddevice.AudioSoftvol FIXME: softhddevice.AudioNormalize FIXME: softhddevice.AudioMaxNormalize FIXME: softhddevice.AudioCompression FIXME: softhddevice.AudioMaxCompression FIXME: softhddevice.AudioStereoDescent FIXME: softhddevice.AudioBufferTime FIXME: softhddevice.AutoCrop.Interval = 0 0 disables auto-crop n each 'n' frames auto-crop is checked. softhddevice.AutoCrop.Delay = 0 if auto-crop is over 'n' intervals the same, the cropping is used. softhddevice.AutoCrop.Tolerance = 0 if detected crop area is too small, cut max 'n' pixels at top and bottom. softhddevice.Background = 0 32bit RGBA background color (Red * 16777216 + Green * 65536 + Blue * 256 + Alpha) or hex RRGGBBAA 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) softhddevice.StudioLevels = 0 0 use PC levels (0-255) with vdpau. 1 use studio levels (16-235) with vdpau. 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) softhddevice.60HzMode = 0 0 disable 60Hz display mode 1 enable 60Hz display mode softhddevice.SoftStartSync = 0 0 disable soft start of audio/video sync 1 enable soft start of audio/video sync VideoDisplayFormat = ? 0 pan and scan 1 letter box 2 center cut-out 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 Commandline: ------------ Use vdr -h to see the command line arguments supported by the plugin. -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) SVDRP: ------ Use 'svdrpsend.pl plug softhddevice HELP' or 'svdrpsend plug softhddevice HELP' to see the SVDRP commands help and which are supported by the plugin. 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 @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 @softhddevice Blue 2 3 disable auto-crop @softhddevice Blue 2 4 enable auto-crop @softhddevice Blue 2 5 toggle auto-crop @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 Running: -------- Click into video window to toggle fullscreen/window mode, only if you have a window manager running. Warning: -------- libav is not supported, expect many bugs with it. Requires: --------- media-video/ffmpeg (version >=0.7) 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 or kernel support for oss/oss4 or alsa oss emulation 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 or x11-libs/xvba-video XVBA Backend for Video Acceleration (VA) API http://www.freedesktop.org/wiki/Software/vaapi x11-libs/libvdpau VDPAU wrapper and trace libraries http://www.freedesktop.org/wiki/Software/VDPAU 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 Only versions >= 0.3.8 are good supported x11-libs/libX11 X.Org X11 library http://xorg.freedesktop.org GNU Make 3.xx http://www.gnu.org/software/make/make.html Optional: