xbmc: update FM support patch

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2014-08-24 18:48:23 +02:00
parent 7937d4d0e9
commit 1925b814e3

View File

@ -1,7 +1,7 @@
From 70133bf136174bf3c818968f5375c72840292f6e Mon Sep 17 00:00:00 2001 From ab3ed171e0f2d3539455b8479b72204b0b935145 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:34:39 +0200 Date: Mon, 28 May 2012 10:34:39 +0200
Subject: [PATCH 01/27] videoplayer: adapt lateness detection and dropping to Subject: [PATCH 01/31] videoplayer: adapt lateness detection and dropping to
buffering buffering
--- ---
@ -646,10 +646,10 @@ index 37a37c4..be14832 100644
2.0.4 2.0.4
From 86e4f2c78fc0475d19b5b1fe2825940b0a7f5196 Mon Sep 17 00:00:00 2001 From 487e9680440879f01fe0732325748aa519164419 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Sun, 2 Sep 2012 16:05:21 +0200 Date: Sun, 2 Sep 2012 16:05:21 +0200
Subject: [PATCH 02/27] video player: present correct pts to user for a/v sync Subject: [PATCH 02/31] video player: present correct pts to user for a/v sync
(after buffering in renderer) (after buffering in renderer)
--- ---
@ -701,10 +701,10 @@ index be14832..ad99987 100644
2.0.4 2.0.4
From 5464634530899d3aa6d09896973de14f27803c66 Mon Sep 17 00:00:00 2001 From c5368ddfb731ef967e3dbc635d325285e4368bed Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 1 Jun 2013 11:21:19 +0200 Date: Sat, 1 Jun 2013 11:21:19 +0200
Subject: [PATCH 03/27] renderer: bump buffers to 5 Subject: [PATCH 03/31] renderer: bump buffers to 5
--- ---
xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +- xbmc/cores/VideoRenderers/BaseRenderer.h | 2 +-
@ -727,10 +727,10 @@ index fb41ccf..f5e5677 100644
2.0.4 2.0.4
From 9e1ee4811b9e3b6fd1e3fe2982f6622ee619bb79 Mon Sep 17 00:00:00 2001 From dcba98d63da19d9a620da5a66a90711289344afd Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:41:31 +0200 Date: Mon, 28 May 2012 10:41:31 +0200
Subject: [PATCH 04/27] videoplayer: update frametime, it might change due to Subject: [PATCH 04/31] videoplayer: update frametime, it might change due to
fps detection fps detection
--- ---
@ -754,10 +754,10 @@ index 1e70fca..5761270 100644
2.0.4 2.0.4
From 7bc57e1e4b7a9b50dc2fce152abb5586fe615cb8 Mon Sep 17 00:00:00 2001 From de6543284447f8185c4df494e3e48df71eb16349 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:43:06 +0200 Date: Mon, 28 May 2012 10:43:06 +0200
Subject: [PATCH 05/27] videoplayer: give streams with invalid fps a chance for Subject: [PATCH 05/31] videoplayer: give streams with invalid fps a chance for
fps detection fps detection
--- ---
@ -781,10 +781,10 @@ index 5761270..e8d855f 100644
2.0.4 2.0.4
From 27bf5d17b0bd4890d7f25c8381ff32740b8dffd5 Mon Sep 17 00:00:00 2001 From 0598187613227e589871a06df9a6637df4b8ef59 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Mon, 28 May 2012 10:49:05 +0200 Date: Mon, 28 May 2012 10:49:05 +0200
Subject: [PATCH 06/27] dvdplayer: allow rewinding at end of stream, do a seek Subject: [PATCH 06/31] dvdplayer: allow rewinding at end of stream, do a seek
after rewind after rewind
--- ---
@ -821,10 +821,10 @@ index 8de1e96..19e90f5 100644
2.0.4 2.0.4
From 08fb3a8634c2a644e9059aaf0fc5257ad237f558 Mon Sep 17 00:00:00 2001 From 9b5fcc9f82be2d8a93b3fbedbf8709a72e82ec96 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Mon, 20 Aug 2012 16:06:39 +0200 Date: Mon, 20 Aug 2012 16:06:39 +0200
Subject: [PATCH 07/27] dvdplayer: observe pts counter overflow Subject: [PATCH 07/31] dvdplayer: observe pts counter overflow
--- ---
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++- .../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 197 ++++++++++++++++++++-
@ -1107,10 +1107,10 @@ index 08eb3df..dd89584 100644
2.0.4 2.0.4
From 4169f8e73a7663a1709eb8a7770359e527046d2d Mon Sep 17 00:00:00 2001 From 430589bc82a13e4b457b84862fed5d80c2c9c8e5 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Tue, 2 Oct 2012 13:02:10 +0200 Date: Tue, 2 Oct 2012 13:02:10 +0200
Subject: [PATCH 08/27] dvdplayer: avoid short screen flicker caused by Subject: [PATCH 08/31] dvdplayer: avoid short screen flicker caused by
unnecessary reconfigure of renderer unnecessary reconfigure of renderer
--- ---
@ -1143,10 +1143,10 @@ index e8d855f..5bff37e 100644
2.0.4 2.0.4
From 21d1f62dad833faf01100a31e4ecc2a3eae98488 Mon Sep 17 00:00:00 2001 From df1c231838244764acbf84142261d5f67f6f89b0 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Thu, 11 Oct 2012 12:05:50 +0200 Date: Thu, 11 Oct 2012 12:05:50 +0200
Subject: [PATCH 09/27] vdpau: advanced settings for auto deinterlacing Subject: [PATCH 09/31] vdpau: advanced settings for auto deinterlacing
--- ---
xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++---- xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++----
@ -1212,10 +1212,10 @@ index 7e50a63..980138e 100644
2.0.4 2.0.4
From 63db87d23949258ffebbd75780f62c9b0e93d840 Mon Sep 17 00:00:00 2001 From d320919872492797709fc2226eccddae470d53dc Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Fri, 2 Nov 2012 13:20:03 +0100 Date: Fri, 2 Nov 2012 13:20:03 +0100
Subject: [PATCH 10/27] player: fix rewind Subject: [PATCH 10/31] player: fix rewind
--- ---
xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++- xbmc/cores/dvdplayer/DVDMessage.h | 5 ++++-
@ -1430,10 +1430,10 @@ index ad99987..4d2b2c7 100644
2.0.4 2.0.4
From 2ff037346ebe6fa3e88c9dfc87e86366a1215fe5 Mon Sep 17 00:00:00 2001 From 53c0dbd9f211b6b2d9934a9c4e2a26da265fcc01 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 15:18:53 +0100 Date: Thu, 28 Mar 2013 15:18:53 +0100
Subject: [PATCH 11/27] OMXPlayer: some caching fixes for pvr Subject: [PATCH 11/31] OMXPlayer: some caching fixes for pvr
--- ---
xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++- xbmc/cores/omxplayer/OMXPlayer.cpp | 3 ++-
@ -1457,10 +1457,10 @@ index 53fe37d..182314f 100644
2.0.4 2.0.4
From 0cb3e855ba5bf266800638bff95673ba07d66ce0 Mon Sep 17 00:00:00 2001 From 6b4eb294ef8c3d13736cbdec6093c4d5d6ace4b7 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de> From: xbmc <fernetmenta@online.de>
Date: Thu, 28 Mar 2013 20:50:59 +0100 Date: Thu, 28 Mar 2013 20:50:59 +0100
Subject: [PATCH 12/27] fix incorrect display of fps when dr kicks in Subject: [PATCH 12/31] fix incorrect display of fps when dr kicks in
--- ---
xbmc/Application.cpp | 3 ++- xbmc/Application.cpp | 3 ++-
@ -1487,10 +1487,10 @@ index 479b54a..6ef5bdb 100644
2.0.4 2.0.4
From ca506bac9c8d77fba0bf3baaf819c06510347855 Mon Sep 17 00:00:00 2001 From 51aac4a2916cd7fdd2da52cb71dbbd4e47c0b8db Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Thu, 25 Jul 2013 17:18:13 +0200 Date: Thu, 25 Jul 2013 17:18:13 +0200
Subject: [PATCH 13/27] ActiveAE: slightly reduce buffer size Subject: [PATCH 13/31] ActiveAE: slightly reduce buffer size
--- ---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++-- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 4 ++--
@ -1515,10 +1515,10 @@ index fe5e893..c98c73b 100644
2.0.4 2.0.4
From 443859e498d3d2037d61cd465ae4694406c40350 Mon Sep 17 00:00:00 2001 From 0cec3ff65e750280264d058c3d9e75c6e76a8419 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 4 Aug 2013 10:11:16 +0200 Date: Sun, 4 Aug 2013 10:11:16 +0200
Subject: [PATCH 14/27] Revert "vdpau: comment some features that will be added Subject: [PATCH 14/31] Revert "vdpau: comment some features that will be added
later" later"
This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf. This reverts commit e00b4f65864d623ab4d2e9e5c06db138e661f1cf.
@ -1574,10 +1574,10 @@ index 1845198..2bfea1a 100644
2.0.4 2.0.4
From b50aafc6c1f7e8d6a345cd98a4b5aae527838c1d Mon Sep 17 00:00:00 2001 From f93e7631df21c85ad5c512de3247562115ed9ee2 Mon Sep 17 00:00:00 2001
From: Marcel Groothuis <margro.xbmc@gmail.com> From: Marcel Groothuis <margro.xbmc@gmail.com>
Date: Thu, 5 Dec 2013 22:02:50 +0100 Date: Thu, 5 Dec 2013 22:02:50 +0100
Subject: [PATCH 15/27] ffmpeg demuxer: faster channel change for PVR addons Subject: [PATCH 15/31] ffmpeg demuxer: faster channel change for PVR addons
without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR) without internal demuxing (such as MediaPortal, ArgusTV, MythTV, NextPVR)
Credits: FernetMenta, Davilla, Popcornmix, Whaupt Credits: FernetMenta, Davilla, Popcornmix, Whaupt
@ -1937,10 +1937,10 @@ index ca689d0..f383563 100644
2.0.4 2.0.4
From 4185f173f2510099f3236521ddc473a1b04c3c1b Mon Sep 17 00:00:00 2001 From d6b8a9eaed29fe9e7cc52fcd3e337a374f86187c Mon Sep 17 00:00:00 2001
From: Wolfgang Haupt <w.haupt@at-visions.com> From: Wolfgang Haupt <w.haupt@at-visions.com>
Date: Thu, 5 Dec 2013 22:11:57 +0100 Date: Thu, 5 Dec 2013 22:11:57 +0100
Subject: [PATCH 16/27] DVDFactoryDemuxer: skip streaminfo for udp tcp and Subject: [PATCH 16/31] DVDFactoryDemuxer: skip streaminfo for udp tcp and
pvr-channels pvr-channels
--- ---
@ -2064,10 +2064,10 @@ index 667f6d3..0094709 100644
2.0.4 2.0.4
From 4ca1fb51808a11555862a5fec00b8e133e7c9bd3 Mon Sep 17 00:00:00 2001 From fa733c748a2a9259dc8032614df4182f8ed8125c Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 18 Jul 2014 10:39:07 +0200 Date: Fri, 18 Jul 2014 10:39:07 +0200
Subject: [PATCH 17/27] fast channel switch, make sure extradata is decoded Subject: [PATCH 17/31] fast channel switch, make sure extradata is decoded
--- ---
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++- xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 3 ++-
@ -2091,10 +2091,10 @@ index c01bc11..d38bfab 100644
2.0.4 2.0.4
From 4a55e426e089da56d299bb2b2fd5cc21933856d5 Mon Sep 17 00:00:00 2001 From 5bb5b183f8969475db282ff90a8d5382920f4546 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Wed, 23 Jul 2014 15:07:37 +0200 Date: Wed, 23 Jul 2014 15:07:37 +0200
Subject: [PATCH 18/27] ffmpeg demuxer: allow a stream change if pat/pmt was Subject: [PATCH 18/31] ffmpeg demuxer: allow a stream change if pat/pmt was
not seen on open not seen on open
--- ---
@ -2157,10 +2157,10 @@ index d38bfab..2332b1b 100644
2.0.4 2.0.4
From d1a4921fd94a103872ba36e3b0b5bc8a819d6ba1 Mon Sep 17 00:00:00 2001 From 75f483190ef00aed904023a1dce5c803d228804c Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 22 Dec 2013 14:52:29 +0100 Date: Sun, 22 Dec 2013 14:52:29 +0100
Subject: [PATCH 19/27] linux: add shared lib for sse4 operations Subject: [PATCH 19/31] linux: add shared lib for sse4 operations
--- ---
Makefile.in | 8 ++- Makefile.in | 8 ++-
@ -2455,10 +2455,10 @@ index 0000000..45aa826
2.0.4 2.0.4
From d556061cc85aa4c3b064bcda63346715ddbb4bd5 Mon Sep 17 00:00:00 2001 From 955cd049218bfa250cb4331af4e96cc3e5f647af Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 28 Jan 2014 10:05:26 +0100 Date: Tue, 28 Jan 2014 10:05:26 +0100
Subject: [PATCH 20/27] xbmc pr 3080 Subject: [PATCH 20/31] xbmc pr 3080
--- ---
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++ xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 8 ++++++++
@ -2487,10 +2487,10 @@ index 6920db2..d72e256 100644
2.0.4 2.0.4
From c4052186723660e1d15f5286bc1881bcc033a8d9 Mon Sep 17 00:00:00 2001 From ea66a597e55c5e96aa50e5f6c1ad3e116ea73f94 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Tue, 11 Feb 2014 18:15:06 +0100 Date: Tue, 11 Feb 2014 18:15:06 +0100
Subject: [PATCH 21/27] ActiveAE: add some debug logging Subject: [PATCH 21/31] ActiveAE: add some debug logging
--- ---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp | 6 ++++++
@ -2518,10 +2518,10 @@ index ec10397..3b67fc0 100644
2.0.4 2.0.4
From bec0650784571cace17c909e4e2929c2e65793cd Mon Sep 17 00:00:00 2001 From cb2f5af4e3804880785a5670857541dfce5795a0 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 13 Jun 2014 14:37:16 +0200 Date: Fri, 13 Jun 2014 14:37:16 +0200
Subject: [PATCH 22/27] VAAPI: rewrite with VPP and ffmpeg filter Subject: [PATCH 22/31] VAAPI: rewrite with VPP and ffmpeg filter
--- ---
configure.in | 16 +- configure.in | 16 +-
@ -7287,10 +7287,10 @@ index 760eda5..965f297 100644
2.0.4 2.0.4
From 75b770fe37e7b2423ad538255a76b7cd313912f2 Mon Sep 17 00:00:00 2001 From cb2fc4c71d8582e83bafd036eed14ee8cbc4550a Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 26 Jul 2014 09:54:06 +0200 Date: Sat, 26 Jul 2014 09:54:06 +0200
Subject: [PATCH 23/27] ffmpeg: adapt depreciated attribute Subject: [PATCH 23/31] ffmpeg: adapt depreciated attribute
max_analyze_duration max_analyze_duration
--- ---
@ -7314,10 +7314,10 @@ index 2332b1b..edaa006 100644
2.0.4 2.0.4
From 479b5b0e385754c4a9db77ff2afc57a1efb2abc8 Mon Sep 17 00:00:00 2001 From 98f504310e967283db7b50ae5ca6d77aadfa4091 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 16 Aug 2014 20:45:37 +0200 Date: Sat, 16 Aug 2014 20:45:37 +0200
Subject: [PATCH 24/27] ALSA: remove log spam by adding not ELD listed Subject: [PATCH 24/31] ALSA: remove log spam by adding not ELD listed
passthrough formats after the pcm formats passthrough formats after the pcm formats
--- ---
@ -7378,10 +7378,10 @@ index 8dee4bc..b7411b8 100644
2.0.4 2.0.4
From 380775a77d1de1ec145d98b4fe387b2688de89b2 Mon Sep 17 00:00:00 2001 From be2aee8d283033f876438e1b24b39f1cc1d45a06 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com> From: popcornmix <popcornmix@gmail.com>
Date: Tue, 19 Aug 2014 00:53:17 +0100 Date: Tue, 19 Aug 2014 00:53:17 +0100
Subject: [PATCH 25/27] [dvdplayer] Allow UpdateCorrection to handle audio and Subject: [PATCH 25/31] [dvdplayer] Allow UpdateCorrection to handle audio and
video jumping asynchronously video jumping asynchronously
--- ---
@ -7453,10 +7453,10 @@ index 68d68a1..fdc25af 100644
2.0.4 2.0.4
From 80152007eb8c364d610c32ee51217f69fc97017c Mon Sep 17 00:00:00 2001 From bb47c72dd0ed6aaced0a8980c15835b8737303c7 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de> From: Rainer Hochecker <fernetmenta@online.de>
Date: Wed, 20 Aug 2014 20:33:57 +0200 Date: Wed, 20 Aug 2014 20:33:57 +0200
Subject: [PATCH 27/27] VAAPI: fixes Subject: [PATCH 26/31] VAAPI: fixes
--- ---
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 5 ++++- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 5 ++++-
@ -7488,3 +7488,414 @@ index 9aec0c9..913063c 100644
-- --
2.0.4 2.0.4
From b2723c955373788b3e410fe4cc68d508c54e12a4 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 23 Aug 2014 11:42:31 +0200
Subject: [PATCH 27/31] dvdplayer: rename codec ctrl flags
---
xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h | 14 ++++++++------
.../dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 2 +-
xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp | 8 ++++----
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 4 ++--
4 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h
index 69ff8c9..22b9b99 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h
@@ -136,9 +136,9 @@ struct DVDVideoUserData
#define DVP_FLAG_NOSKIP 0x00000010 // indicate this picture should never be dropped
#define DVP_FLAG_DROPPED 0x00000020 // indicate that this picture has been dropped in decoder stage, will have no data
-#define DVP_FLAG_DROPDEINT 0x00000040 // indicate that this picture was requested to have been dropped in deint stage
-#define DVP_FLAG_NO_POSTPROC 0x00000100 // see GetCodecStats
-#define DVP_FLAG_DRAIN 0x00000200 // see GetCodecStats
+#define DVD_CODEC_CTRL_SKIPDEINT 0x01000000 // indicate that this picture was requested to have been dropped in deint stage
+#define DVD_CODEC_CTRL_NO_POSTPROC 0x02000000 // see GetCodecStats
+#define DVD_CODEC_CTRL_DRAIN 0x04000000 // see GetCodecStats
// DVP_FLAG 0x00000100 - 0x00000f00 is in use by libmpeg2!
@@ -312,10 +312,12 @@ class CDVDVideoCodec
/**
* Codec can be informed by player with the following flags:
*
- * DVP_FLAG_NO_POSTPROC : if speed is not normal the codec can switch off
- * postprocessing and de-interlacing
+ * DVD_CODEC_CTRL_NO_POSTPROC :
+ * if speed is not normal the codec can switch off
+ * postprocessing and de-interlacing
*
- * DVP_FLAG_DRAIN : codecs may do postprocessing and de-interlacing.
+ * DVD_CODEC_CTRL_DRAIN :
+ * codecs may do postprocessing and de-interlacing.
* If video buffers in RenderManager are about to run dry,
* this is signaled to codec. Codec can wait for post-proc
* to be finished instead of returning empty and getting another
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
index a4ebcd8..65edae0 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -682,7 +682,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
if (m_requestSkipDeint)
{
- pDvdVideoPicture->iFlags |= DVP_FLAG_DROPDEINT;
+ pDvdVideoPicture->iFlags |= DVD_CODEC_CTRL_SKIPDEINT;
m_skippedDeint = 1;
}
else
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
index 2bfea1a..165f103 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -1085,7 +1085,7 @@ int CDecoder::Decode(AVCodecContext *avctx, AVFrame *pFrame)
m_bufferStats.IncDecoded();
m_vdpauOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic));
- m_codecControl = pic.DVDPic.iFlags & (DVP_FLAG_DRAIN | DVP_FLAG_NO_POSTPROC);
+ m_codecControl = pic.DVDPic.iFlags & (DVD_CODEC_CTRL_DRAIN | DVD_CODEC_CTRL_NO_POSTPROC);
}
int retval = 0;
@@ -2281,7 +2281,7 @@ void CMixer::InitCycle()
int flags;
uint64_t latency;
m_config.stats->GetParams(latency, flags);
- if (flags & DVP_FLAG_NO_POSTPROC)
+ if (flags & DVD_CODEC_CTRL_NO_POSTPROC)
SetPostProcFeatures(false);
else
SetPostProcFeatures(true);
@@ -2293,7 +2293,7 @@ void CMixer::InitCycle()
bool interlaced = m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_INTERLACED;
m_SeenInterlaceFlag |= interlaced;
- if (!(flags & DVP_FLAG_NO_POSTPROC) &&
+ if (!(flags & DVD_CODEC_CTRL_NO_POSTPROC) &&
(mode == VS_DEINTERLACEMODE_FORCE ||
(mode == VS_DEINTERLACEMODE_AUTO && interlaced)))
{
@@ -2315,7 +2315,7 @@ void CMixer::InitCycle()
m_config.stats->SetCanSkipDeint(true);
}
- if (m_mixerInput[1].DVDPic.iFlags & DVP_FLAG_DROPDEINT)
+ if (m_mixerInput[1].DVDPic.iFlags & DVD_CODEC_CTRL_SKIPDEINT)
{
m_mixersteps = 1;
}
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index f9a45e8..755f0a1 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -524,9 +524,9 @@ void CDVDPlayerVideo::Process()
}
int codecControl = 0;
if (iDropDirective & EOS_BUFFER_LEVEL)
- codecControl |= DVP_FLAG_DRAIN;
+ codecControl |= DVD_CODEC_CTRL_DRAIN;
if (m_speed > DVD_PLAYSPEED_NORMAL)
- codecControl |= DVP_FLAG_NO_POSTPROC;
+ codecControl |= DVD_CODEC_CTRL_NO_POSTPROC;
m_pVideoCodec->SetCodecControl(codecControl);
if (iDropDirective & EOS_DROPPED)
{
--
2.0.4
From 30fd6e3b6c87c4126a05c1e674c38db7c6c8ec61 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sat, 23 Aug 2014 12:21:43 +0200
Subject: [PATCH 28/31] VAAPI: implement codec control flags
---
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
index 913063c..d1e9654 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
@@ -706,7 +706,7 @@ int CDecoder::Decode(AVCodecContext* avctx, AVFrame* pFrame)
m_bufferStats.IncDecoded();
m_vaapiOutput.m_dataPort.SendOutMessage(COutputDataProtocol::NEWFRAME, &pic, sizeof(pic));
-// m_codecControl = pic.DVDPic.iFlags & (DVP_FLAG_DRAIN | DVP_FLAG_NO_POSTPROC);
+ m_codecControl = pic.DVDPic.iFlags & (DVD_CODEC_CTRL_DRAIN | DVD_CODEC_CTRL_NO_POSTPROC);
}
int retval = 0;
@@ -1651,8 +1651,8 @@ bool COutput::HasWork()
void COutput::InitCycle()
{
uint64_t latency;
- int speed;
- m_config.stats->GetParams(latency, speed);
+ int flags;
+ m_config.stats->GetParams(latency, flags);
m_config.stats->SetCanSkipDeint(false);
@@ -1660,7 +1660,8 @@ void COutput::InitCycle()
EINTERLACEMETHOD method = CMediaSettings::Get().GetCurrentVideoSettings().m_InterlaceMethod;
bool interlaced = m_currentPicture.DVDPic.iFlags & DVP_FLAG_INTERLACED;
- if ((mode == VS_DEINTERLACEMODE_FORCE ||
+ if (!(flags & DVD_CODEC_CTRL_NO_POSTPROC) &&
+ (mode == VS_DEINTERLACEMODE_FORCE ||
(mode == VS_DEINTERLACEMODE_AUTO && interlaced)))
{
if((method == VS_INTERLACEMETHOD_AUTO && interlaced)
@@ -2481,6 +2482,7 @@ bool CVppPostproc::AddPicture(CVaapiDecodedPicture &pic)
m_decodedPics.push_front(pic);
m_frameCount++;
m_step = 0;
+ m_config.stats->SetCanSkipDeint(true);
}
bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic)
@@ -2524,6 +2526,13 @@ bool CVppPostproc::Filter(CVaapiProcessedPicture &outPic)
}
outPic.DVDPic = it->DVDPic;
+ // skip deinterlacing cycle if requested
+ if (m_step == 1 && (outPic.DVDPic.iFlags & DVD_CODEC_CTRL_SKIPDEINT))
+ {
+ Advance();
+ return false;
+ }
+
// vpp deinterlacing
VAProcFilterParameterBufferDeinterlacing *filterParams;
VABufferID pipelineBuf;
--
2.0.4
From fea09af18ef403b4656ec1c3b1e0ee088a0d83db Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Fri, 22 Aug 2014 17:12:24 +0200
Subject: [PATCH 29/31] pvr: fix deadlock caused by pollling channel group name
---
xbmc/GUIInfoManager.cpp | 2 +-
xbmc/pvr/PVRGUIInfo.cpp | 7 +++++++
xbmc/pvr/PVRGUIInfo.h | 6 ++++++
xbmc/pvr/PVRManager.cpp | 5 +++++
xbmc/pvr/PVRManager.h | 6 ++++++
5 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp
index 617faa6..c262c1b 100644
--- a/xbmc/GUIInfoManager.cpp
+++ b/xbmc/GUIInfoManager.cpp
@@ -3829,7 +3829,7 @@ CStdString CGUIInfoManager::GetVideoLabel(int item)
case VIDEOPLAYER_CHANNEL_GROUP:
{
if (tag && !tag->IsRadio())
- return g_PVRManager.GetPlayingGroup(false)->GroupName();
+ return g_PVRManager.GetPlayingTVGroupName();
}
}
}
diff --git a/xbmc/pvr/PVRGUIInfo.cpp b/xbmc/pvr/PVRGUIInfo.cpp
index 1487282..4c6cfdb 100644
--- a/xbmc/pvr/PVRGUIInfo.cpp
+++ b/xbmc/pvr/PVRGUIInfo.cpp
@@ -258,6 +258,7 @@ void CPVRGUIInfo::UpdateMisc(void)
bool bIsPlayingEncryptedStream = bStarted && g_PVRClients->IsEncrypted();
bool bHasTVChannels = bStarted && g_PVRChannelGroups->GetGroupAllTV()->HasChannels();
bool bHasRadioChannels = bStarted && g_PVRChannelGroups->GetGroupAllRadio()->HasChannels();
+ std::string strPlayingTVGroup = (bStarted && bIsPlayingTV) ? g_PVRManager.GetPlayingGroup(false)->GroupName() : "";
/* safe to fetch these unlocked, since they're updated from the same thread as this one */
bool bHasNonRecordingTimers = bStarted && m_iTimerAmount - m_iRecordingTimerAmount > 0;
@@ -272,6 +273,7 @@ void CPVRGUIInfo::UpdateMisc(void)
m_bIsPlayingEncryptedStream = bIsPlayingEncryptedStream;
m_bHasTVChannels = bHasTVChannels;
m_bHasRadioChannels = bHasRadioChannels;
+ m_strPlayingTVGroup = strPlayingTVGroup;
}
bool CPVRGUIInfo::TranslateCharInfo(DWORD dwInfo, std::string &strValue) const
@@ -898,3 +900,8 @@ void CPVRGUIInfo::UpdatePlayingTag(void)
m_iDuration = recording.GetDuration() * 1000;
}
}
+
+std::string CPVRGUIInfo::GetPlayingTVGroup()
+{
+ return m_strPlayingTVGroup;
+}
diff --git a/xbmc/pvr/PVRGUIInfo.h b/xbmc/pvr/PVRGUIInfo.h
index 0d1500e..c8f8f43 100644
--- a/xbmc/pvr/PVRGUIInfo.h
+++ b/xbmc/pvr/PVRGUIInfo.h
@@ -77,6 +77,11 @@ namespace PVR
bool GetPlayingTag(EPG::CEpgInfoTag &tag) const;
+ /*!
+ * @brief Get playing TV group.
+ */
+ std::string GetPlayingTVGroup();
+
private:
void ResetProperties(void);
void ClearQualityInfo(PVR_SIGNAL_STATUS &qualityInfo);
@@ -162,6 +167,7 @@ namespace PVR
bool m_bIsPlayingEncryptedStream;
bool m_bHasTVChannels;
bool m_bHasRadioChannels;
+ std::string m_strPlayingTVGroup;
//@}
PVR_SIGNAL_STATUS m_qualityInfo; /*!< stream quality information */
diff --git a/xbmc/pvr/PVRManager.cpp b/xbmc/pvr/PVRManager.cpp
index dc5a85e..ee7770f 100644
--- a/xbmc/pvr/PVRManager.cpp
+++ b/xbmc/pvr/PVRManager.cpp
@@ -1614,3 +1614,8 @@ bool CPVRManager::CreateChannelEpgs(void)
m_bEpgsCreated = m_channelGroups->CreateChannelEpgs();
return m_bEpgsCreated;
}
+
+std::string CPVRManager::GetPlayingTVGroupName()
+{
+ return IsStarted() && m_guiInfo ? m_guiInfo->GetPlayingTVGroup() : "";
+}
diff --git a/xbmc/pvr/PVRManager.h b/xbmc/pvr/PVRManager.h
index 67ff282..652e5e5 100644
--- a/xbmc/pvr/PVRManager.h
+++ b/xbmc/pvr/PVRManager.h
@@ -548,6 +548,12 @@ namespace PVR
*/
bool CreateChannelEpgs(void);
+ /*!
+ * @brief get the name of the channel group of the current playing channel
+ * @return name of channel if tv channel is playing
+ */
+ std::string GetPlayingTVGroupName();
+
protected:
/*!
* @brief PVR update and control thread.
--
2.0.4
From 36718552e55e53199ec1f916a7e3e36d515f2a02 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 24 Aug 2014 14:03:04 +0200
Subject: [PATCH 30/31] X11: fix window placement on multi-monitor setups
---
xbmc/windowing/X11/WinSystemX11.cpp | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/xbmc/windowing/X11/WinSystemX11.cpp b/xbmc/windowing/X11/WinSystemX11.cpp
index 60761ec..281e0d8 100644
--- a/xbmc/windowing/X11/WinSystemX11.cpp
+++ b/xbmc/windowing/X11/WinSystemX11.cpp
@@ -776,8 +776,6 @@ bool CWinSystemX11::SetWindow(int width, int height, bool fullscreen, const std:
bool mouseActive = false;
float mouseX = 0;
float mouseY = 0;
- int x0 = 0;
- int y0 = 0;
if (m_mainWindow && ((m_bFullScreen != fullscreen) || m_currentOutput.compare(output) != 0 || m_windowDirty))
{
@@ -825,6 +823,8 @@ bool CWinSystemX11::SetWindow(int width, int height, bool fullscreen, const std:
Colormap cmap;
XSetWindowAttributes swa;
XVisualInfo *vi;
+ int x0 = 0;
+ int y0 = 0;
XOutput *out = g_xrandr.GetOutput(output);
if (!out)
@@ -942,19 +942,14 @@ bool CWinSystemX11::SetWindow(int width, int height, bool fullscreen, const std:
Atom wmDeleteMessage = XInternAtom(m_dpy, "WM_DELETE_WINDOW", False);
XSetWMProtocols(m_dpy, m_mainWindow, &wmDeleteMessage, 1);
}
- XMapRaised(m_dpy, m_glWindow);
- XMapRaised(m_dpy, m_mainWindow);
- if (fullscreen)
- XMoveWindow(m_dpy, m_mainWindow, x0, y0);
+ // placement of window may follow mouse
+ XWarpPointer(m_dpy, None, m_mainWindow, 0, 0, 0, 0, mouseX*width, mouseY*height);
+ XMapRaised(m_dpy, m_glWindow);
+ XMapRaised(m_dpy, m_mainWindow);
XSync(m_dpy,TRUE);
- if (changeWindow && mouseActive)
- {
- XWarpPointer(m_dpy, None, m_mainWindow, 0, 0, 0, 0, mouseX*width, mouseY*height);
- }
-
CDirtyRegionList dr;
RefreshGlxContext(m_currentOutput.compare(output) != 0);
XSync(m_dpy, FALSE);
--
2.0.4
From b9aebeb781cc718099e8daf87cb4ea365d6a97e7 Mon Sep 17 00:00:00 2001
From: Rainer Hochecker <fernetmenta@online.de>
Date: Sun, 24 Aug 2014 14:40:00 +0200
Subject: [PATCH 31/31] VAAPI: fix buffer handing
---
xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 3 +++
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index 1dcc33e..767e15a 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -1125,7 +1125,10 @@ void CLinuxRendererGL::UnInit()
// YV12 textures
for (int i = 0; i < NUM_BUFFERS; ++i)
+ {
(this->*m_textureDelete)(i);
+ DeleteVAAPITexture(i);
+ }
// cleanup framebuffer object if it was in use
m_fbo.fbo.Cleanup();
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
index d1e9654..2b60f0e 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
@@ -659,7 +659,8 @@ int CDecoder::FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags)
}
pic->buf[0] = buffer;
- pic->reordered_opaque= avctx->reordered_opaque;
+ pic->reordered_opaque = avctx->reordered_opaque;
+ va->Acquire();
return 0;
}
@@ -672,6 +673,8 @@ void CDecoder::FFReleaseBuffer(uint8_t *data)
surf = (VASurfaceID)(uintptr_t)data;
m_videoSurfaces.ClearReference(surf);
+
+ IHardwareDecoder::Release();
}
int CDecoder::Decode(AVCodecContext* avctx, AVFrame* pFrame)
--
2.0.4