diff --git a/README.txt b/README.txt deleted file mode 100644 index 3d476ab..0000000 --- a/README.txt +++ /dev/null @@ -1,403 +0,0 @@ -@file README.txt @brief A software HD output device for VDR - -Copyright (c) 2011 - 2013 by Johns. All Rights Reserved. -Copyright (c) 2018 by jojo61. All Rights Reserved. - -Contributor(s): - -jojo61 - -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: 5267da021a68b4a727b479417334bfbe67bbba14 $ - -A software and GPU emulated HD output device plugin for VDR. - - o Video decoder CPU / VDPAU - o Video output opengl - o Audio FFMpeg / Alsa / Analog - o Audio FFMpeg / Alsa / Digital - o Audio FFMpeg / OSS / Analog - o HDMI/SPDIF pass-through - o Software volume, compression, normalize and channel resample - o VDR ScaleVideo API - o CUDA deinterlacer - o Autocrop - o Suspend / Dettach - o PIP (Picture-in-Picture) (not working yet) - - -To compile you must have the 'requires' installed. - - -This is a fork of johns original softhddevice work and I reworked ist to support HEVC with CUDA and opengl output. -Currently I have tested it with a GTX 1050 from NVIDIA. HD and UHD ist working, but SD ist instable. - -Current Status NVIDA: -The CUDA driver supports HEVC with 8 Bit and 10 Bit up to UHD resolution. Opengl is able to output also 10 Bit, but NVIDIA does not support to output 10 Bit via HDMI. -Only via DisplayPort you can get 10 Bit output to a ompatible screen. Thias is a restriction from NVIDIA. - - -You have to adapt the Makefile to your needs. I use FFMPEG 4.0 -The Makefile expects the CUDA SDK in /usr/local/cuda. Currently it is tested with CUDA 9.1 - -Unfortunatly FFMEG has a bug with deinterlacing cuda frames. So you have to patch the file in libavcodec/cuviddec.c - -Somewhere near line 860 and 1066 depending on your release: -old: - ctx->frame_queue = av_fifo_alloc(ctx->nb_surfaces * sizeof(CuvidParsedFrame)); - -new: - ctx->frame_queue = av_fifo_alloc((ctx->nb_surfaces + 2 ) * sizeof(CuvidParsedFrame)); - - - - - -Good luck -jojo61 - -Quickstart: ------------ - -Just type make and use. - -Install: --------- - 1a) git - - git clone git://github.com/jojo61/vdr-plugin-softhdcuvid.git - cd vdr-plugin-softhdcuvid - make - make install - - You can edit Makefile to enable/disable Alsa / OSS - support. The default is to autodetect as much as possible. - - You have to start vdr with -P 'softhdcuvid -d :0.0 .... -v cuvid' - - -Setup: environment ------- - Following is supported: - - DISPLAY=:0.0 - x11 display name - - only if alsa is configured - ALSA_DEVICE=default - alsa PCM device name - ALSA_PASSTHROUGH_DEVICE= - alsa pass-though (AC-3,E-AC-3,DTS,...) 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_PASSTHROUGHDEV= - oss pass-though (AC-3,E-AC-3,DTS,...) 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 = 0 - 0 = no change, 1 make softhddevice primary at start - - softhddevice.HideMainMenuEntry = 0 - 0 = show softhddevice main menu entry, 1 = hide entry - - 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 - - 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, 4 supported with VA-API) - - 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 = PCM, 2 = MPA, 4 = AC-3, 8 = EAC-3, -X disable - - for PCM/AC-3/EAC-3 the pass-through device is used and the audio - stream is passed undecoded to the output device. - z.b. 12 = AC-3+EAC-3, 13 = PCM+AC-3+EAC-3 - note: MPA/DTS/TrueHD/... aren't supported yet - negative values disable passthrough - - softhddevice.AudioDownmix = 0 - 0 = none, 1 = downmix - Use ffmpeg/libav downmix of AC-3/EAC-3 audio to stereo. - - softhddevice.AudioSoftvol = 0 - 0 = off, use hardware volume control - 1 = on, use software volume control - - softhddevice.AudioNormalize = 0 - 0 = off, 1 = enable audio normalize - - softhddevice.AudioMaxNormalize = 0 - maximal volume factor/1000 of the normalize filter - - softhddevice.AudioCompression = 0 - 0 = off, 1 = enable audio compression - - softhddevice.AudioMaxCompression = 0 - maximal volume factor/1000 of the compression filter - - softhddevice.AudioStereoDescent = 0 - reduce volume level (/1000) for stereo sources - - softhddevice.AudioBufferTime = 0 - 0 = default (336 ms) - 1 - 1000 = size of the buffer in ms - - 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 - - softhddevice.BlackPicture = 0 - 0 disable black picture during channel switch - 1 enable black picture during channel switch - - softhddevice.ClearOnSwitch = 0 - 0 keep video und audio buffers during channel switch - 1 clear video and audio buffers on channel switch - - softhddevice.Video4to3DisplayFormat = 1 - 0 pan and scan - 1 letter box - 2 center cut-out - - softhddevice.VideoOtherDisplayFormat = 1 - 0 pan and scan - 1 pillar box - 2 center cut-out - - softhddevice.pip.X = 79 - softhddevice.pip.Y = 78 - softhddevice.pip.Width = 18 - softhddevice.pip.Height = 18 - PIP pip window position and size in percent. - - softhddevice.pip.VideoX = 0 - softhddevice.pip.VideoY = 0 - softhddevice.pip.VideoWidth = 0 - softhddevice.pip.VideoHeight = 0 - PIP video window position and size in percent. - - softhddevice.pip.Alt.X = 0 - softhddevice.pip.Alt.Y = 50 - softhddevice.pip.Alt.Width = 0 - softhddevice.pip.Alt.Height = 50 - PIP alternative pip window position and size in percent. - - softhddevice.pip.Alt.VideoX = 0 - softhddevice.pip.Alt.VideoY = 0 - softhddevice.pip.Alt.VideoWidth = 0 - softhddevice.pip.Alt.VideoHeight = 50 - PIP alternative video window position and size in percent. - - -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: - - @softhdcuvid Blue 1 0 disable pass-through - @softhdcuvid Blue 1 1 enable pass-through - @softhdcuvid Blue 1 2 toggle pass-through - @softhdcuvid Blue 1 3 decrease audio delay by 10ms - @softhdcuvid Blue 1 4 increase audio delay by 10ms - @softhdcuvid Blue 1 5 toggle ac3 mixdown - @softhdcuvid Blue 2 0 disable fullscreen - @softhdcuvid Blue 2 1 enable fullscreen - @softhdcuvid Blue 2 2 toggle fullscreen - -Running: --------- - - Click into video window to toggle fullscreen/window mode, only if you - have a window manager running. - - -Known Bugs: ------------ - SD Stream not working very well - RESUME starts wirh black screen (channelswitch needed) - -Requires: ---------- - media-video/vdr (version >=1.7.xx) - Video Disk Recorder - turns a pc into a powerful set top box - for DVB. - http://www.tvdr.de/ - - media-video/ffmpeg (version >=0.7) - Complete solution to record, convert and stream audio and - video. Includes libavcodec and libswresample. - 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 (deprecated) - 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: