VDR Plugin 'rpihddevice' Revision History ----------------------------------------- 2018-07-16: Version 1.0.4 ------------------------- - new: - updated Hungarian translations (thanks to Füley István) - make use of advanced deinterlacer configurable - add debug option to log number of executed OpenVG commands and flushes - set OMX clock pre-roll to 250ms for live TV (transfer mode) - fixed: - reset video format settings on pixel aspect ratio change - always resample audio with less than 2 and more than 6 channels - fixed compilation with GCC-6 - implement proper handling of display and pixel aspect ratios - fixed vertical text position 2016-04-23: Version 1.0.3 ------------------------- - new: - re-enable advanced deinterlacer for SD streams, requires recent firmware - fixed: - don't ignore audio frames for slow trick speeds to keep clock in sync 2016-04-04: Version 1.0.2 ------------------------- - fixed: - send proper end of sequence packet after playing single video frame 2016-03-29: Version 1.0.1 ------------------------- - new: - set device name - add option for dual display usage, see README - experimental support for AAC-LATM, use "make ENABLE_AAC_LATM=1" to enable - fixed: - fixed HDMI channel mapping and stream type (reported by Rüdiger Follmann) - fixed drawing of cached images with high level OSD - only cache images in GPU when high level OSD is active - added proper GPL header to every source file (suggested by Tobias Grimm) - wait until dispmanx element is removed after OSD reset - proper release default surface after OSD reset - don't ignore anti alias option for scaled bitmap drawing - ignore pts from erroneous packets to avoid pts jumps on broken streams - use omxplayer's parameters for deinterlacer 2015-10-18: Version 1.0.0 ------------------------- - new: - updated Hungarian translations (thanks to Füley István) - updated Finnish translations (thanks to Rolf Ahrenberg) - added Italian translations (thanks to Gerlando Falauto) - added French translations (thanks to Cyril Jaquier) - added plugin options to specify video and OSD layers - fixed: - don't crop OSD images to pixmap size to allow scaled drawing - treat zero as valid PTS value - perform save / restore region direct on pixmaps for accelerated OSDs - wait for the OVG thread to be ready when creating an accelerated OSD - set field sync when output interlaced material at interlaced display mode 2015-04-29: Version 0.1.0 ------------------------- - new: - reworked clock stretching in live mode based on buffer usage - added command line argument to disable OSD - combined digital audio format options to one single setup option - added font kerning - support for GPU accelerated pixmaps - fixed: - skip audio packets when replaying non-radio recordings in trick modes - fixed displaying of current position when changing replay speed - fixed PTS wrap around (reported by Klaus Schmidinger) - increased audio decoder thread priority - don't depend on multi channel PCM support for digital audio pass-through - improved video frame rate detection to be more tolerant to inaccurate values - adapted cOvgRawOsd::Flush() to new cOsd::RenderPixmaps() of vdr-2.1.10 - fixed calculation of string height (reported by Klaus Schmidinger) - additionally set number of in/out channels when setting up audio resampler - don't clear audio PTS when parser shrinks the packet buffer 2015-01-21: Version 0.0.11 -------------------------- - new: - reworked audio decoder, increase buffering of audio samples - reworked omxdevice and improved clock stretching for transfer mode - added Hungarian translations (thanks to Füley István) - updated Finnish translations and fixed tr() usage (thanks to Rolf Ahrenberg) - use fast deinterlacer for HD streams - added high level OSD with GPU support - fixed: - start H.264 video with valid frame only, requires firmware from 2015/01/18 or newer 2014-11-02: Version 0.0.10 -------------------------- - new: - added DTS audio codec support - add setup options to control video mode and its behaviour on stream changes - set HDMI speaker layout to fix channel mapping for multi channel PCM output - support building against external ffmpeg/libav by setting EXT_LIBAV - support for >=ffmpeg-1.2 and >=libav-0.8 with resampling - setup option for video framing mode in case of incompatible aspect ratio - redirect ffmpeg messages to plugin/VDR logs - added cppcheck as Makefile target (suggested by Rolf Ahrenberg) - reworked setup parameter handling - implemented proper command queue for OVG-OSD - fixed: - increased latency target for live mode to 500ms - reworked OVG image processing for low level OSD - upmix mono audio channels to stereo when using PCM output on HDMI - skip non-video packets in StillPicture(), fixes artifacts in PES recordings - skip audio substream header for PES recordings with AC3 audio track - reworked audio decoding loop and set correct dstSize before resampling - avoid flushing OMX video chain twice when calling SetPlayMode(pmNone) - skip packets with invalid payload offset in PlayVideo() and PlayAudio() - play multiple video PES packets sequentially in StillPicture() - updated parameter when setting clock latency target according omxplayer - code clean up based on cppcheck's results (thanks to Rolf Ahrenberg) - known issues: - direct switching from fast forward to fast rewind will freeze replay 2014-04-24: Version 0.0.9 ------------------------- - new: - added Finnish translations (thanks to Rolf Ahrenberg) - setup option to ignore HDMI audio EDID - fixed: - add prefix to plugin specific class names (suggested by Rolf Ahrenberg) - move cAudioParser to avoid duplicate class name (reported by Patrick Maier) - maintain list of rejected OMX buffers - thread-safe container for OMX events - report valid VideoAspect if video is stopped (reported by Rolf Ahrenberg) - fixed buffer stall after StillPicture() - increased latency target for transfer mode to 200ms - reworked clock handling for normal play back and trick modes - simplified OMX buffer polling - added proper buffering at audio parser and reduced OMX audio buffers - OMX shutdown when no stream has been played (reported by Klaus Schmidinger) - displaying subtitles when OSD is active (fix by Klaus Schmidinger) - default quality when grabbing jpeg image (reported by Klaus Schmidinger) - suppress buffer stall when clock is halted - set clock latency target according omxplayer - known issues: - direct switching from fast forward to fast rewind will freeze replay - artifacts with StillImage() and PES recordings - missing: - plugin specific option for video mode adaption 2014-02-10: Version 0.0.8 ------------------------- - new: - image grabbing - implemented proper handling in case of buffer stall - reporting video size - support letter box and center cut out set by VDR - support video scaling - fixed: - increased number of audio buffer to fix replay issues with PES recordings - return correct number of audio bytes written from PlayAudio() - fixed start up in audio only mode - fixed still image with deinterlacer - fixed crash during deinitialization - fixed crash when copying 5.1 PCM audio - use cThread::mutex for locking - implement cOvgOsd::SetAreas() and cOvgOsd::SetActive() - audio codec clean up, drop AAC-LATM and rename ADTS to AAC - audio decoding thread clean up - known issues - StillImage() will cause buffer stall - artifacts with StillImage() and PES recordings - speed to fast when fast replaying audio only recordings 2013-12-30: Version 0.0.7 ------------------------- - new: - support audio sampling rates other than 48kHz - changed setting of trick speed with APIVERSNUM >= 20103 - added deinterlacer - fixed: - improved audio parser - fixed still image for H264 video - mute audio render if volume is set to zero - missing: - image grabbing - video format/output options 2013-12-16: Version 0.0.6a -------------------------- - fixed: - removed OMX mutex 2013-12-15: Version 0.0.6 ------------------------- - new: - still picture - trick speeds - fixed: - reworked audio detection and decoding, fixed several issues - reworked stream starting behavior, fixed audio-/video-only play back - fixed several issues with unsupported video codec (e.g. without MPEG2 key) - improved fast forward/reverse mode - several minor bugfixes - missing: - deinterlacer - image grabbing - video format/output options 2013-11-17: Version 0.0.5 ------------------------- - new: - improved audio format detection (taken from softhddevice) - separate thread for audio decoding - fixed: - jump forward/backward in recordings - several minor bugfixes - missing: - still picture - trick modes - deinterlacer - video format/output options 2013-10-14: Version 0.0.4 ------------------------- - new: - changed to libav for audio decoding - added support multi-channel audio codecs - added audio format/output options - fixed: - removed drawing of black box in front of console which lead to malfunction due to memory bandwidth problem. console blank out will be handled with video format/output options in future versions. - missing: - trick modes - deinterlacer - video format/output options - much more... 2013-10-02: Version 0.0.3 ------------------------- - new: - tracking number of free buffers and provide Poll() method - fixed: - audio only mode - replay start/stop/pause - improved H264 detection - blank out console - missing: - trick modes - other audio formats - much more... 2013-09-29: Version 0.0.2 ------------------------- - new: - volume control - H264 support - fixed: - added missing includes to Makefile - PTS/OMX_TICKS conversion - missing: - audio only play mode - buffer handling for proper replay support - other audio formats - much more... 2013-09-27: Version 0.0.1 ------------------------- initial prototype - limitations: - video codec hard coded to MPEG2, output on HDMI - audio codec hard coded to MP3, output on phone jack - tested: - OSD - SDTV live view and replay - missing: - dynamic switching between MPEG2 and H264 video codec - trick speeds - much more...