VDR Plugin 'markad' Revision History
----------------------------------

2024-01-14: Version 3.4.5
- compare channel names case insensitive, thx to Schwabe@vdr-portal.de and wmautner@vdr-portal.de for reporting
- fix heap-use-after-free
- some minor bug fixes and optimizations, see git

2024-01-07: Version 3.4.4
- optimize broadcast logo start and stop mark selection
- fix short broken audio after stop mark cut position
- some minor bug fixes and optimizations, see git

2023-12-31: Version 3.4.3
- optimize broadcast start and end detection
- tune thresholds for black screen, black lower border, silence and scene change optimization
- some minor bug fixes and optimizations, see git

2023-12-24: Version 3.4.2
- fix gcc 13 warning: _FORTIFY_SOURCE redefined
- tune thresholds for black screen, black lower border, silence and scene change optimization
- some minor bug fixes and optimizations, see git

2023-11-30: Version 3.4.1
- optimize broadcast logo start mark selection
- optimize broadcast logo end mark selection
- some minor bug fixes and optimizations, see git

2023-11-11: Version 3.4.0
- new feature: detect black lower border with text (closing credits) as end
- tune thresholds for black screen, silence and scene change optimization
- plugin: remove unnecessary LOCK_SCHEDULES_READ
- plugin: use timeout for locks

2023-10-03: Version 3.3.6
- tune thresholds for black screen, silence and scene change optimization
- some minor bug fixes and optimizations, see git

2023-08-23: Version 3.3.5
- additional compare channelID for VDR VPS events, thx to MarkusE@vdr-portal.de for reporting and testing
- fix broken build with gcc 4.8 (easyVDR3, yavdr0.6)
- tune thresholds for black screen, silence and scene change optimization
- some minor bug fixes and optimizations, see git

2023-08-11: Version 3.3.4
- tune thresholds for black screen, silence and scene change optimization
- replace deprecated AVFrame::interlaced_frame with AV_FRAME_FLAG_INTERLACED for FFmpeg 6
- performance optimization: prevent multiple index scans for same mark position
- some minor bug fixes and optimizations, see git

2023-07-22: Version 3.3.3
- prevent race condition from VPS handler (thx to MarkusE@vdr-portal.de for reporting)
- tune thresholds for black screen, silence and scene change optimization
- some minor bug fixes and optimizations, see git

2023-07-09: Version 3.3.2
- fix calculation of frame rate for H.264 interlaced video

2023-07-06: Version 3.3.1
- redesign mark optimization
- some minor bug fixes and optimizations, see git

2023-06-22: Version 3.3.0
- new feature: detect scene change and use it to optimize marks
- performance improvement by saving unnecessary detection
- fix unsuported DVB subtitel codec id for ffmpeg >= 5.1.1
- some minor bug fixes and optimizations, see git

2023-06-08: Version 3.2.9
- fix accessing array out of bounds
- abort VPS detection after invalid sequence
- some minor bug fixes and optimizations, see git

2023-05-28: Version 3.2.8
- fix change of audio channel layout with libavcodec >= 59.37.100
- log max heap usage and duration
- some minor bug fixes and optimizations, see git

2023-05-17: Version 3.2.7
- use VPS start/stop event as assumed broadcast start/stop
- some minor bug fixes and optimizations, see git

2023-05-03: Version 3.2.6
- fix crash with VPS recordings

2023-05-01: Version 3.2.5
- log statistic infos
- check advertisement quote
- fix crash if no marks are detected, thx nobanzai@vdr-portal.de for reporting
- some minor bug fixes and optimizations, see git

2023-04-22: Version 3.2.4
- change algorithms for adjusting brightness and contrast
- cleanup invalid marks after long black opening credits
- faster detect coloured logo start on bright background
- some minor bug fixes and optimizations, see git

2023-04-16: Version 3.2.3
- declare ffmpeg < 4.2.7 as deprecated
- optimize detection of colored logo on same color background
- optimize frame detection used by search for advertisement in frame with logo
- some minor bug fixes and optimizations, see git

2023-04-08: Version 3.2.2
-  rewrite plugins epg handler
   use VPS start from next event to signal VPS stop of running recording
   needed for channels who do not send VPS stop events
   same as VDR self handle this case
   thx to MarkusE@vdr-portal.de for reporting
- some minor bug fixes and optimizations, see git

2023-03-23: Version 3.2.1
- fix encoder for libavcodec >= 59.25.100 (ffmpeg >= 5.1)
- fix memory leaks, out-of-bounds array access and uninitialized value access reported by valgrind
- some minor bug fixes and optimizations, see git

2023-03-14: Version 3.2.0
- end of support for libavcodec < 56.57.100 (ffmpeg 2.4)
- new feature: detect frame in recording to optimize detection of "advertising in frame with logo" before start or after logo stop
- some minor bug fixes and optimizations, see git

2023-01-09: Version 3.1.1
- fix unintentionally deletion of channel stop mark
- some minor bug fixes and optimizations, see git

2023-01-01: Version 3.1.0
- new feature: compilable under Windows with MinGW-w64 (written by wirbel@vdr-portal)
- new feature: optimize channel start mark with near blackscreen
- optimize search for undetected info logo before end mark
- some minor bug fixes and optimizations, see git

2022-12-24: Version 3.0.29
- optimize start and end marks of border recordings

2022-12-04: Version 3.0.28
- optimize vertical border detection
- some minor bug fixes and optimizations, see git

2022-11-07: Version 3.0.27
- fix variable init for getline and sscanf (thx to durchflieger@vdr-portal.de)
- some minor bug fixes and optimizations, see git

2022-09-24: Version 3.0.26
- remove option --saveinfo
- add make option NO_VDR
- fix memory leak (thx to wirbel-at-vdr-portal for reporting)
- remove definition of unused variable (thx to wirbel-at-vdr-portal for reporting)
- fix check for user root (thx to wirbel-at-vdr-portal for reporting)
- some minor bug fixes and optimizations, see git

2022-07-30: Version 3.0.25
- change svdrp default port to 6419
- declare option --saveinfo as depreciated
- some minor bug fixes and optimizations, see git

2022-06-20: Version 3.0.24
- fix segfault in stdlib after vector push_back on arm systems with gcc9
  bug reported here: https://www.vdr-portal.de/forum/index.php?thread/133203-markad-%C3%BCberarbeiteter-decoder/&postID=1351412#post1351412
- pre alloc memory of ptsRing buffer
- some minor bug fixes and optimizations, see git

2022-06-04: Version 3.0.23
- some fixes for the new ffmpeg channel layout API
- adjustments for vdr 2.6 error counter
- declare ffmpeg 3.2.18 from Debian 9 Stretch as deprecated
- some minor bug fixes and optimizations, see git

2022-05-05: Version 3.0.22
- fix encoding of mp2 audio with ffmpeg >= 4.4
- fix some possible null pointer dereference
- some minor bug fixes and optimizations, see git

2022-03-06: Version 3.0.21
- update for the new ffmpeg channel layout API
- fix integer overflow on 32 bit systemsV03
- some minor bug fixes and optimizations, see git

2022-03-06: Version 3.0.20
- add subtitle stream to video cut
- do not use timer locks
- some minor bug fixes and optimizations, see git

2021-12-24: Version 3.0.19
- calculate marks file timestamp for vdr based on sum of duration (thx @vpv for reporting)
- adjust stop mark timestamp for vdr at i-frame before (thx @stschulze for reporting)
- fix crash with 0 byte recording (thx @heifisch for reporting)
- fix crash on writing pre timer mark if markad runs during recording (thx @vpv for reporting)
- fix crash if we could not init encoder (thx @stschulze for reporting)
- StatusMarkAd::Remove(): remove debug log message when exiting vdr (thx @MarkusE and many others for reporting)
- fix crash in encoder with ffmpeg >= 4.3 (thx @cinfo and @stschulze for reporting)
- new feature: markad_videos parameter to configure user and group to run markad (feature request from @stschulze)
- cEncoder: ignore mute audio stream
- cDecoder: fix crash in encoder with libavcodec >= 59.12.100 (thx @stschulze for reporting)
- fix check of ioprio_get return code

2021-11-30: Version 3.0.18
- some minor bug fixes and optimizations, see git

2021-11-04: Version 3.0.17
- optimize detection of advertising in frame with logo
- optimize detection of overlaps before and after advertising
- some minor bug fixes and optimizations, see git

2021-10-22: Version 3.0.16
- fix border detection during info overlay
- some minor bug fixes and optimizations, see git

2021-10-08: Version 3.0.15
- declare libavcodec 56.60.100 (ffmpeg 2.8.17) as deprecated
- CheckStart: fix crash if fallback to hborder stop mark as start mark
- CheckStart: optimize detection of short clips with border in documentary films
- some minor bug fixes and optimizations, see git

2021-10-01: Version 3.0.14
- optimize logo size check for new channels and new logos
- some minor bug fixes and optimizations, see git

2021-09-23: Version 3.0.13
- fix timestamps in marks file for HD videos with missing frames
- some minor bug fixes and optimizations, see git

2021-09-11: Version 3.0.12
- fix audio channel change marks
- fix crash if VDR info file is missing

2021-09-01: Version 3.0.11
- redesign introduction logo detection
- some minor bug fixes and optimizations, see git

2021-08-17: Version 3.0.10
- optimize detection of short logo interruption
- optimize preview detection
- some minor bug fixes and optimizations, see git

2021-07-31: Version 3.0.9
- update Finnish translation (author: Ville-Pekka Vainio)
- MarkadCut: fix crash if last ts file is not used
- fix compile error with libavcodec 59.3.102
- some minor bug fixes and optimizations, see git

2021-07-22: Version 3.0.8
- ignore change of real frame rate after first TS file
  got invalid real frame rate from libav in second TS file in some Finnish recordings
- some minor bug fixes and optimizations, see git

2021-07-14: Version 3.0.7
- optimize start and end mark selection
- some minor bug fixes and optimizations, see git

2021-06-30: Version 3.0.6
- fix duplicate running markad after recording interruption
- fix detecting running recordings
- fix crash if audio channels changes with TS file change
- some minor bug fixes and optimizations, see git

2021-06-16: Version 3.0.5
- fix compiler warnings on 32 bit systems
- fix crash on encode malformed audio frame
- ClosingCredits: detect also still image
- some minor bug fixes and optimizations, see git

2021-06-03: Version 3.0.4
- remove parameter autologo=1, use autolog=2 instead
- remove support of info.vdr file
- fix compile error with ffmpeg 4.5
- do not save marks if aborted

2021-05-15: Version 3.0.3
- some optimation in logo extraction (especially for HD and UHD recordings)
- reduced memory and cpu usage when searching for logo in recording
- declare parameter --autologo=1 as deprecated, use --autologo=2
- add some code documentation
- some minor bug fixes and optimizations, see git

2021-05-08: Version 3.0.2
- make svdr port configurable from vdr menue
- markad Makefile: use bindir, mandir and locdir from vdr.pc as prefix
- fix H.264 1440x1080 PAR 4:3 -> DAR 16:9
- add some code documentation
- rename some variables
- some minor bug fixes and optimizations, see git

2021-05-01: Version 3.0.1
- fix compiler warnings with ffmpeg 4.4
- make full decoding configurable through vdr menu
- declare libavcodec-56 (FFmpeg 2) as deprecated
- some minor bug fixes and optimizations, see git

2021-04-24: Version 3.0.0
- new additional build requirements libswresample-dev
- new feature: optional decode all video frames not only iFrames to get better mark positions
- new feature: full re-encode video cut
- new feature: detect and ignore info logo section

2021-04-22: Version 2.6.8
- some minor bug fixes and optimizations, see git

2021-03-27: Version 2.6.7
- fix AC3 encoding bitrate
- some fine tuning mark positions
- some minor bug fixes and optimizations, see git

2021-03-12: Version 2.6.6
- fix missing deletion from recording list
- optimze mark positions for interlaced video
- change --autologo default to 2
- some minor bug fixes and optimizations, see git

2021-03-06: Version 2.6.5
- fix crash in encoder using ffmpeg 4.3.x
- some code cleanup

2021-03-03: Version 2.6.4
- optimize new features introduced in 2.6.0
- detect introduction logo
- some minor bug fixes and optimizations, see git

2021-02-26: Version 2.6.3
- check return code of subdir makes
- optimze coloured logo detection in bright area
- some minor bug fixes and optimizations, see git

2021-02-15: Version 2.6.2
- optimize new features introduced in 2.6.0
- some fine tuning of mark positions
- some minor bug fixes and optimizations, see git

2021-02-06: Version 2.6.1
- write assumed start mark when started by vdr during recording
- add svdrpsend command STATUS
- many bug fixes and optimizations, see git

2021-01-30: Version 2.6.0
- new feature: recognize logo changes and keep this part
- new feature: recognize closing credits and move stop mark afterwards
- new feature: recognize logos with colour change and coloured separation images
- new feature: move logo marks before/after black screen marks
- new feature: detect advertising in frame with logo before logo stop mark
- cleanup no longer supported classic decoder code
- declare parameter --cDecoder as depreciated
- remove depreciated recreate index from menu
- some minor bug fixes and optimizations, see git

2021-01-29: Version 2.5.6
- logo search: fix crash if no similar logo found at all

2021-01-29: Version 2.5.5
- logo search: accept any hits on last try

2021-01-25: Version 2.5.4
- some minor bug fixes and optimizations, see git

2021-01-17: Version 2.5.3
- fix endless loop when silent detection over file boundaries
- some minor bug fixes and optimizations, see git

2021-01-08: Version 2.5.2
- optimize silence detection
- optimize detection of rotating logos
- some minor bug fixes and optimizations, see git

2021-01-01: Version 2.5.1
- fix missing flush decoder buffer before seek
- add parameter --logfile
- fix overlap detection after scenes without movement
- cut out text above logo
- some minor bug fixes and optimizations, see git

2020-12-24: Version 2.5.0
- add new feature: detect audio silence to optimize logo marks
- detect empty picture as separation picture for a logo stop mark
- some minor bug fixes and optimizations, see git

2020-12-17: Version 2.4.4
- add support of VPS controlled timer
- some minor bug fixes and optimizations, see git

2020-11-30: Version 2.4.3
- optimize rotating logo extraction
- detect transparent or colour change logo
- some minor bug fixes and optimizations, see git

2020-10-09: Version 2.4.2
- reduce brightness of too bright frames to optimze logo detection
- fix compiler errors under Ubuntu 16.04
- some minor bug fixes and optimizations, see git

2020-09-25: Version 2.4.1
- support rotating logos
- some minor bug fixes and optimizations, see git

2020-09-06: Version 2.4.0
- new feature: detect text next/under logo and cut it out
- add support of H.264 1280x1080 PAR 2:3 (e.g. ANIXE+)
- reduced memory and cpu usage when searching for logo in recording
- some minor bug fixes and optimizations, see git

2020-08-28: Version 2.3.6
- fix time calculation if there is more than one ts file

2020-08-28: Version 2.3.5
- check if logo size is valid
- a lot of minor bug fixes and optimizations, see git

2020-07-22: Version 2.3.4
- optimize find previews in the advertisement
- some minor bug fixes and optimizations, see git

2020-07-12: Version 2.3.3
- reduce the shortest possible advertising to 38s
- optimize detect logo in bright areas
- some minor bug fixes and optimizations, see git

2020-07-08: Version 2.3.2
- detect faster if logo is invisible
- get correct eventID for VPS feature
- remove support of libavcodec version 51.x.x
- some minor bug fixes and optimizations, see git

2020-07-01: Version 2.3.1
- add support for video codec H.265
- optimize overlap detection
- some minor bug fixes and optimizations, see git

2020-06-06: Version 2.3.0
- add feature VPS start and stop marks

2020-06-22: Version 2.2.0
- remove classic decoder per compiler option (see Makefile)
- remove genindex function
- some minor bug fixes and optimizations, see git

2020-06-18: Version 2.1.4
- improved logo search function with --autolog > 0
- fix cut function for recording with missing subtitle decoder or encoder
- some minor bug fixes and optimizations, see git

2020-06-12: Version 2.1.3
- remove support of VDR version 1.x
- fix memory leak 14 bytes per recording
- add function to debug heap memory consumption of the plugin
  uncomment DEBUGMEMPLUGIN=1 in plugin/Makefile
  show memory usage with svdrpsend PLUG markad DEBUGMEM
- code optimizations based on ccpcheck output
- some minor bug fixes and optimizations, see git

2020-06-04: Version 2.1.2
- fix marks for channels who always send AC3 with 6 channels
  change of value Cx to Dx in logo file for channels that continuously transmit 6 audio channels is no longer necessary
- move classic decoder code into compiler directive (default is compile with this code)
- some minor bug fixes and optimizations, see git

2020-05-28: Version 2.1.1
- fix load logo plane > 0 from logo cache directory
- declare --genindex as depreciated
- remove some parameter without function
- some minor bug fixes and optimizations, see git

2020-05-23: Version 2.1.0
- increase AC3 volume +3dB on --ac3reencode (need libavfilter-dev to build)
- some minor bug fixes and optimizations, see git

2020-05-01: Version 2.0.4
- consider pixel aspect ratio for MPEG-4 PAL
- add script to run markad on video directory
- some minor bug fixes and optimizations, see git

2020-05-01: Version 2.0.3
- some minor bug fixes and optimizations, see git

2020-04-25: Version 2.0.2
- make option "extract logos" available in the VDR menue
- pay attention of --threads in cDecoder
- fix bug for recordings with more than one AC3 stream
- some minor bug fixes and optimizations, see git

2020-04-18: Version 2.0.1
- some minor bug fixes and optimizations, see git

2020-04-12: Version 2.0.0
- beta version of the new features:
- add feature cut video based on marks
- add feature AC3 reencode
- add feature auto logo extraction

2020-04-18: Version 1.0.5
- some minor bug fixes and optimizations, see git

2020-04-12: Version 1.0.4
- some minor bug fixes and optimizations, see git

2020-04-07: Version 1.0.3
- some minor bug fixes, see git

2020-03-21: Version 1.0.2
- fix audio channel detection for Ubuntu 20.04
- some minor bug fixes, see git

2020-03-16: Version 1.0.1
- fix Debian and Rasbian compile problems
- some minor bug fixes, see git

2020-02-20: Version 1.0.0
- introduce alternative decoder

2012-09-14: Version 0.1.4
- Improved PATPMT seeker
- ReelVDR support (info.txt)
- Added manual page (contributed by marco)
- Fixed "internal structures" bug

2012-03-01: Version 0.1.3
- Changed H264 stream frame/field processing
- Added support for ffmpeg >= 0.8
- Disabled pre-/post timer on live recordings
- Fixed a bug in the PAT/PMT seekder

2011-04-03: Version 0.1.2
- Fixed another bug in handling ts files ("demux error")
- Limited logo extraction to 1000 frames
- Added more finnish logos
- Added czech translation

2011-03-20: Version 0.1.1
- Fixed bug in handling ts files ("demux error")
- Fixed output of marks on channels without logos
- Added finnish logos and translation from Rolf Ahrensberg
- Added spanish translation from Javier Bradineras
- Added more informations in markad logfile

2011-02-23: Version 0.1.0
- New demuxer
- New mark handling
- Removed "Backupmarks" option
- Added more logos
- Fixed some bugs reported from users

2011-02-13: Version 0.0.9
- Removed "scan AC3 always" option, added "correct info file"
- New default options: repair index=off, correct info file=off
- markad now rely to the F framerate parameter (no internal correction)
- Improved overlap handling
- Added some logos

2011-01-23: Version 0.0.8
- Improved HD handling

2010-05-22: Version 0.0.7
- Various bugfixes
- First official release

2010-03-16: Version 0.0.6
- Added creation of mark files

2010-03-06: Version 0.0.5
- Updated H264 handling

2009-09-27: Version 0.0.4
- Change marks upon priority

2009-09-17: Version 0.0.3
- Changed name to markad
- Added H264 SPS processor from femon
- Ignore duplicate TS-packets
- Added standalone version (still not working)

2009-09-11: Version 0.0.2
- Fixed H264 decoding
- Added mp2 decoder
- Added ac3 decoder

2009-08-26: Version 0.0.1
- Initial revision.
