diff --git a/projects/RPi/patches/kodi/kodi-001-backport.patch b/projects/RPi/patches/kodi/kodi-001-backport.patch index baba26d40c..ba7a822daf 100644 --- a/projects/RPi/patches/kodi/kodi-001-backport.patch +++ b/projects/RPi/patches/kodi/kodi-001-backport.patch @@ -1,7 +1,7 @@ -From 864954f03895aa990ca985273fef53d962ec0cbf Mon Sep 17 00:00:00 2001 +From 4d1fbbaeba1a6ff1d77df125f9415160c8922380 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 17:27:39 +0100 -Subject: [PATCH 01/61] build: Allow installed links to be overwritten +Subject: [PATCH 01/65] build: Allow installed links to be overwritten --- tools/depends/target/Makefile | 72 +++++++++++++++++++-------------------- @@ -9,7 +9,7 @@ Subject: [PATCH 01/61] build: Allow installed links to be overwritten 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile -index 2f0c83141034374ec5742a96a282391405ec8125..89f24641fd341336545fbdc6024e88eaacc805e7 100644 +index 16c82d3cb06e20adf27e7f429eebda6b7efbdf8c..8dcfe26cbc29ebe47cdb212712ae64745f8a009e 100644 --- a/tools/depends/target/Makefile +++ b/tools/depends/target/Makefile @@ -129,41 +129,41 @@ distclean:: @@ -137,10 +137,10 @@ index e5cb842d9f61578efe5df95dfa3a938cf5346663..3ddba3cefb1ca785f7a17c72f42aacbb + [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf /usr/lib/$(HOST)/libm.so $(ADDON_DEPS_DIR)/lib/ -From fd2ced63da994a66ab5c060880009f5e9bab652d Mon Sep 17 00:00:00 2001 +From 205dfaa46a1cfab63ed27111be95b9760f70d21f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 02/61] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 02/65] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -164,10 +164,10 @@ index 8ea5161637b4e66ddd222859f058521dbc8922b9..811019a39a10acc21b83f0b0c70d5500 dialog->ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -From c8caccf7ae230790e5b81b496d664a331c7fbead Mon Sep 17 00:00:00 2001 +From a20bc025b57d5452fd8ab7cb377f5eb6ec0da65b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/61] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 03/65] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -190,10 +190,10 @@ index 6a9066b2dbe8d505d636b3638c1d35c7c8a698ed..9c6ac5d4cc9bf21b2d48619cc6fb5d27 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From bf2fbaf79191cbfd18b2b6eff7749d1d28cfdc83 Mon Sep 17 00:00:00 2001 +From 2ca2c495ca734baef60d1e47b0653b72dac024f7 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/61] Improved file buffering in CArchive +Subject: [PATCH 04/65] Improved file buffering in CArchive Even though memcpy is typically inlined by the compiler into byte/word loads and stores (at least for release builds), the frequency with which 1, 2 and 4 @@ -253,10 +253,10 @@ index 23cac2759fb10d532da56fa75c5528c5589e9010..89d31d4db1afa7340ed8cd51a7a9fa7a } -From ccdbbe94567517e4cb3bc3904d99893affa5132d Mon Sep 17 00:00:00 2001 +From 99e26b48a0e18ac68c48112ff46675300c00473e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 05/61] filesystem: Make support of browsing into archives +Subject: [PATCH 05/65] filesystem: Make support of browsing into archives optional The ability to browse, scan and play content in archives can cause problems on low powered/low memory devices. @@ -275,10 +275,10 @@ We'll let people who don't use archives disable it manually 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 26915cb15fdd589d54c11b1582ef18dc71f38bb2..62bd967a284b0b93820ef75bf8d76c3e78ee889d 100644 +index c89e91bdb0a275cf804df799c2d0a261cf086785..f5ca2397d9169c7dcd28a9f9bc882dc3d8490571 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19173,6 +19173,15 @@ msgstr "" +@@ -19276,6 +19276,15 @@ msgstr "" #: system/settings/rbp.xml msgctxt "#38010" msgid "GPU accelerated" @@ -295,10 +295,10 @@ index 26915cb15fdd589d54c11b1582ef18dc71f38bb2..62bd967a284b0b93820ef75bf8d76c3e #. Setting #38011 "Show All Items entry" diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index 265f3982ceee40ece6e3c5073a0e92902f482212..cf15fcbdb860608b2658b310614e1cd78cc94a18 100644 +index 62e9c8ed2199f8c57a640b06b0216ee4c8f0ca1e..e8b0d3d472b02fd161a4b51e957b9129e3cb9792 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml -@@ -99,4 +99,15 @@ +@@ -102,4 +102,15 @@ @@ -315,10 +315,10 @@ index 265f3982ceee40ece6e3c5073a0e92902f482212..cf15fcbdb860608b2658b310614e1cd7 + diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp -index f1754ef7343daebd51e6bc892b49fd5c1773cd73..b73ecebb203b11e2e7f1bdc8731fafbaf7f070fa 100644 +index 618e7dc98b0f474f93684f6aec266a9033feee9c..22a61d0177d4165a37ddef1ca2dd9fe972a3b47b 100644 --- a/xbmc/Util.cpp +++ b/xbmc/Util.cpp -@@ -1778,7 +1778,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, +@@ -1855,7 +1855,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, URIUtils::RemoveExtension(strCandidate); if (StringUtils::StartsWithNoCase(strCandidate, videoName)) { @@ -327,7 +327,7 @@ index f1754ef7343daebd51e6bc892b49fd5c1773cd73..b73ecebb203b11e2e7f1bdc8731fafba CUtil::ScanArchiveForAssociatedItems(pItem->GetPath(), "", item_exts, associatedFiles); else { -@@ -1788,7 +1788,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, +@@ -1865,7 +1865,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, } else { @@ -366,10 +366,10 @@ index a0fd0a9011e71f4af1535110c696b6ea5c4b37db..688b71a297c7c617c6764bfe6be157d7 { CURL xbtUrl = URIUtils::CreateArchivePath("xbt", url); -From d6eca1347e4e38394f6016def44d98a8fcb0fe61 Mon Sep 17 00:00:00 2001 +From f7bedecdb5bc79b6f082c925eaa305b682ac218b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 06/61] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 06/65] [rbp] Make cachemembuffersize default depend on memory size --- @@ -471,10 +471,10 @@ index 6beebe0c9c11b0bab63e5abbd4aea2d62bb05f0c..03f566d3ee4eab690d2236b773908026 } -From 76c3457a5abf0177d379ed4054938bb73379cc4d Mon Sep 17 00:00:00 2001 +From 85725ac945cbdc5a8e970d54ea6beda5b7bc9641 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 07/61] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 07/65] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -496,10 +496,10 @@ index c1cca7efdd5d119b07308b947c569911f2a9bdc9..e03f3c8ef21ba824c0d707042e5a735a StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From 645bd37c7f9472f391282c5bee72b4d3378dd979 Mon Sep 17 00:00:00 2001 +From 58d65ba07bc8254b433b1eec4f3ecf2aac895bd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 08/61] [audio] Add settings option to boost centre channel +Subject: [PATCH 08/65] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -517,10 +517,10 @@ Should work with Pi Sink (dvdplayer/paplayer) and omxplayer 5 files changed, 46 insertions(+) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 62bd967a284b0b93820ef75bf8d76c3e78ee889d..dd36abb9f58c1ea2c6e5591c1b43f138434aad1c 100644 +index f5ca2397d9169c7dcd28a9f9bc882dc3d8490571..4ff4c60c7a867e9d0a40adc0711287c8be324b8e 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19347,6 +19347,21 @@ msgstr "" +@@ -19450,6 +19450,21 @@ msgstr "" #empty strings from id 38043 to 38099 @@ -543,10 +543,10 @@ index 62bd967a284b0b93820ef75bf8d76c3e78ee889d..dd36abb9f58c1ea2c6e5591c1b43f138 #: system/settings/settings.xml msgctxt "#38100" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 3ab531e9d4fa6c1305a833ba58aaf2a6c44ce310..f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75 100644 +index ca912cd996d3236161ba7934da32d22df6b065ab..4197841131914f98cd29f5fd7b9ec3cedd2d01da 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -2268,6 +2268,18 @@ +@@ -2366,6 +2366,18 @@ @@ -625,10 +625,10 @@ index f16b822ed7b4aebe18b5d339b3f71ee66e97c23f..993d4b33a294e88c2c004b7943895ba5 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From c092967c5512c2632533991f6cc25778ad2cb0af Mon Sep 17 00:00:00 2001 +From b3ec4c120398f86571ca6539a0b46911e3e03849 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 09/61] [rbp] Default extract thumbnails to false +Subject: [PATCH 09/65] [rbp] Default extract thumbnails to false It can take 80 seconds for a single file on a Pi. It can cause crashes with out-of-memory errors. It genereates a lot of support issues. Best to default to disabled and let users enable it if they must @@ -637,7 +637,7 @@ It genereates a lot of support issues. Best to default to disabled and let users 1 file changed, 6 insertions(+) diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index cf15fcbdb860608b2658b310614e1cd78cc94a18..770c628a15304856504676af82d46d57c97b86b8 100644 +index e8b0d3d472b02fd161a4b51e957b9129e3cb9792..289dc55ec41aa44848519a05f8ee1ccc72740085 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml @@ -43,6 +43,12 @@ @@ -654,10 +654,10 @@ index cf15fcbdb860608b2658b310614e1cd78cc94a18..770c628a15304856504676af82d46d57 -From 880e3ee7b784c9deddb66df4d80927699059c199 Mon Sep 17 00:00:00 2001 +From bdb8c0811d58ebe6de69db82e9003456a677a059 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 10/61] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 10/65] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -680,10 +680,10 @@ index fcdd0633f30cd9595ae6cc4ed293677cdcb1f422..16f0c8916b5e0a9e90973d194cf2ebd1 } -From de8e9ca53ad455e535526f9973fb775fbc349d6e Mon Sep 17 00:00:00 2001 +From eec3216e64389a02e22180a626d8291db2b949ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 11/61] logging: Add microsecond timer to log messages +Subject: [PATCH 11/65] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 15 +++++++++++++-- @@ -734,10 +734,10 @@ index 3443f1293d86018830269ed992c90a4e69c0430c..d330320842243df6f5ff256e608dddfa levelNames[logLevel]) + strData; -From 9ca4200de7da40564dd08b6e1d955df3045f27d3 Mon Sep 17 00:00:00 2001 +From 7c900d5144d7a912db7360b92eff90702fa3f366 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 12/61] [rbp] hack: wait for splash to complete before changing +Subject: [PATCH 12/65] [rbp] hack: wait for splash to complete before changing hdmi mode --- @@ -821,22 +821,22 @@ index ee297700f8583dbb15cbe53baf8c887b36bd2ea0..bbe501d40c5e101f1d0d64b8b59b1928 RENDER_STEREO_MODE stereo_mode = g_graphicsContext.GetStereoMode(); -From c86a562cac08f054425e46f2c814b4f2f0d25a3a Mon Sep 17 00:00:00 2001 +From b3107b218150f1923a0b973cc85b589182ac8df7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 13/61] Fix for UI not showing both extractflags and +Subject: [PATCH 13/65] Fix for UI not showing both extractflags and extractthumb --- - addons/resource.language.en_gb/resources/strings.po | 9 ++++++--- - system/settings/settings.xml | 4 ++-- - 2 files changed, 8 insertions(+), 5 deletions(-) + addons/resource.language.en_gb/resources/strings.po | 10 +++++++--- + system/settings/settings.xml | 4 ++-- + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a42ffd21f 100644 +index 4ff4c60c7a867e9d0a40adc0711287c8be324b8e..f4abad73fa75574576383fca3956f9f4ecb4c94c 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -12385,7 +12385,7 @@ msgstr "" +@@ -12430,7 +12430,7 @@ msgstr "" #: system/settings/settings.xml msgctxt "#20433" @@ -845,7 +845,7 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #: xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp -@@ -16821,7 +16821,7 @@ msgstr "" +@@ -16912,7 +16912,7 @@ msgstr "" #. Description of setting with label #20433 "Extract thumbnails and video information" #: system/settings/settings.xml msgctxt "#36178" @@ -854,7 +854,7 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #. Description of setting with label #20419 "Replace file names with library titles" -@@ -16833,7 +16833,7 @@ msgstr "" +@@ -16924,7 +16924,7 @@ msgstr "" #. Description of setting with label #20433 "Extract thumbnails and video information" #: system/settings/settings.xml msgctxt "#36180" @@ -863,18 +863,19 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #: system/settings/settings.xml -@@ -19480,3 +19480,6 @@ msgctxt "#39007" +@@ -19582,3 +19582,7 @@ msgstr "" + msgctxt "#39007" msgid "This provides access to where picture sources can be added and otherwise managed." msgstr "" - ++ +msgctxt "#38190" +msgid "Extract thumbnails from video files" +msgstr "" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75..88b67c1869246037e81fb3efbe293f9fee37d25e 100644 +index 4197841131914f98cd29f5fd7b9ec3cedd2d01da..dc7144ac8756fb1af9d7f3bb56c0b471f0ae3f9b 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -972,8 +972,8 @@ +@@ -977,8 +977,8 @@ true @@ -886,10 +887,10 @@ index f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75..88b67c1869246037e81fb3efbe293f9f -From 589e105736d4d65fea6812e1346317ed7afe518d Mon Sep 17 00:00:00 2001 +From a7bb3ad02267746ae24fdcedcc29ccae4620cfb2 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 14/61] Disable autoscrolling while on screensaver and while +Subject: [PATCH 14/65] Disable autoscrolling while on screensaver and while opening streams. --- @@ -902,10 +903,10 @@ Subject: [PATCH 14/61] Disable autoscrolling while on screensaver and while 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index def6ed703b25087c4f61f71acb3fbb5257b8c44b..4fffdfad5296775161989468cb8197f892c204e1 100644 +index b3d5c77bb51c6a67964a695ce81efb42ea76a7bf..9b29a8cdb796db3bb6a3419c493aadb914f60956 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -5188,3 +5188,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const +@@ -5200,3 +5200,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const return false; } @@ -1020,10 +1021,10 @@ index d7bc1c5ba6067af9a460589920367288c640a915..ac766293f1c47c7f145cb46f6b152144 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From 6dfdde4dd31580ab361d73b46342ca78c2f1abce Mon Sep 17 00:00:00 2001 +From 3ced3be4ca859b1b236c9c1fae2098751b95a18e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 15/61] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 15/65] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -1034,10 +1035,10 @@ high bitrate videos can be significant. 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561963726de 100644 +index c99916652866bfd4cc60271507a43444492f8eb8..1069710e3702aa6fc39e5fb550d0cabcf525ada6 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -851,7 +851,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -854,7 +854,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { if(m_pkt.pkt.stream_index == (int)m_pFormatContext->programs[m_program]->stream_index[i]) { @@ -1046,7 +1047,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 break; } } -@@ -860,7 +860,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -863,7 +863,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() bReturnEmpty = true; } else @@ -1055,7 +1056,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 } else bReturnEmpty = true; -@@ -890,9 +890,13 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -893,9 +893,13 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() // copy contents into our own packet pPacket->iSize = m_pkt.pkt.size; @@ -1071,7 +1072,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 pPacket->pts = ConvertTimestamp(m_pkt.pkt.pts, stream->time_base.den, stream->time_base.num); pPacket->dts = ConvertTimestamp(m_pkt.pkt.dts, stream->time_base.den, stream->time_base.num); -@@ -946,7 +950,10 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -949,7 +953,10 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() pPacket->iStreamId = m_pkt.pkt.stream_index; } m_pkt.result = -1; @@ -1123,10 +1124,10 @@ index df0f35bd49c65b302de4ccd110d859e8b881ea5f..b4b591ae4c4dd4fb0b36d4d00fedca96 } catch(...) { -From 83e6d7254eb884e2aaf47445f58b1e96223c93d2 Mon Sep 17 00:00:00 2001 +From 5fa52de0fa29ad2bed6c5dcd2faf129a8a61729c Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 16/61] Load OSD dialogs on startup. +Subject: [PATCH 16/65] Load OSD dialogs on startup. Fixes skipped frames the first time they're loaded in memory on less powered devices, like a Raspberry Pi, when using DVDPlayer. @@ -1141,7 +1142,7 @@ See http://forum.kodi.tv/showthread.php?tid=211501&pid=1938811#pid1938811 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -index 65071639e216a37d7b3cec119f1fe573718f44b6..52966fce668bbd1c58aa7e76feb5a2dbf93b1ab7 100644 +index 1beb8560a1030f6198b22f5d9c082a27dd85d8a8..ca7c90b0c4a7fc34a31fe6dcf787b8980d28df71 100644 --- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp +++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp @@ -49,6 +49,7 @@ using namespace KODI::MESSAGING; @@ -1206,7 +1207,7 @@ index e498e1fd476d9ab5300bb00bc39946a22cfd93cb..a6648d016b07e2eb3e52f8d927697cc5 CGUIDialogVideoOSD::~CGUIDialogVideoOSD(void) diff --git a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp -index f9bc12da1aea3ea0926fefff93856cdd4328cb2f..ee6984c469023878b1fad18a29056b114d04fdcc 100644 +index 5adebf41429241be1224167e9b52262e0a446889..fa9772a45da94208b9ece407966a898fc5013a0f 100644 --- a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp @@ -65,7 +65,9 @@ @@ -1221,10 +1222,10 @@ index f9bc12da1aea3ea0926fefff93856cdd4328cb2f..ee6984c469023878b1fad18a29056b11 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From b4180c7279375d6ef4c38535c6fa0b09b9cea66d Mon Sep 17 00:00:00 2001 +From 74963aa37bbea2fad5a631bbca4bb4bf7bc410dd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 17/61] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 17/65] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -1232,10 +1233,10 @@ Subject: [PATCH 17/61] [gui] Also limit GUI updates when in non full-screen 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991d1bf0bdc 100644 +index 9b29a8cdb796db3bb6a3419c493aadb914f60956..d39017434d819ca3190161c34a5dc70bb6a2022b 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2743,7 +2743,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2756,7 +2756,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) #if defined(TARGET_RASPBERRY_PI) || defined(HAS_IMXVPU) // This code reduces rendering fps of the GUI layer when playing videos in fullscreen mode // it makes only sense on architectures with multiple layers @@ -1244,7 +1245,7 @@ index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991 fps = CSettings::GetInstance().GetInt(CSettings::SETTING_VIDEOPLAYER_LIMITGUIUPDATE); #endif -@@ -2756,6 +2756,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2769,6 +2769,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) { if (!m_skipGuiRender) g_windowManager.Process(CTimeUtils::GetFrameTime()); @@ -1254,10 +1255,10 @@ index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991 g_windowManager.FrameMove(); } -From 7a8d7fb1bc28289af5f658441709c03bec33d092 Mon Sep 17 00:00:00 2001 +From 10844c301cea6e5f07a55bf91599b9c094d318f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 18/61] [screensaver] Leave GUI contents available for +Subject: [PATCH 18/65] [screensaver] Leave GUI contents available for screensaver --- @@ -1265,10 +1266,10 @@ Subject: [PATCH 18/61] [screensaver] Leave GUI contents available for 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp -index 82b8b32eee8ab95555bbee462b36bfbf819f39b8..14b51568a959afa5648b844a2a87efbb57b5249a 100644 +index 227f323083b0fb9cee3b576bfcc7b51d5e27ac10..6994f16290ca3ec9da124fbf1cfa21716333855d 100644 --- a/xbmc/guilib/GUIWindowManager.cpp +++ b/xbmc/guilib/GUIWindowManager.cpp -@@ -792,7 +792,16 @@ void CGUIWindowManager::ActivateWindow_Internal(int iWindowID, const std::vector +@@ -795,7 +795,16 @@ void CGUIWindowManager::ActivateWindow_Internal(int iWindowID, const std::vector int currentWindow = GetActiveWindow(); CGUIWindow *pWindow = GetWindow(currentWindow); if (pWindow) @@ -1287,10 +1288,10 @@ index 82b8b32eee8ab95555bbee462b36bfbf819f39b8..14b51568a959afa5648b844a2a87efbb // Add window to the history list (we must do this before we activate it, -From 3baa1a6cc514b6ceeed4c10fe72d725395b28a06 Mon Sep 17 00:00:00 2001 +From cca5e7cfe42db8cdb67457a41b7ef3dcd7b721ae Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 19/61] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 19/65] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -1439,10 +1440,10 @@ index 03fdf6efa072219d55cac21b7f7923ffc6c00e17..e3a32aebfe59016b43cd7c2b304921b5 class CDemuxStreamAudio : public CDemuxStream diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index bfdec6ffdb882465bb7a4b9db9bd6561963726de..c8ba4f869e844550e47ab9084aad1c59ba10f53a 100644 +index 1069710e3702aa6fc39e5fb550d0cabcf525ada6..87674a3e45b0991447c817499524c09a3b595ca4 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1323,7 +1323,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1326,7 +1326,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (!stereoMode.empty()) st->stereo_mode = stereoMode; @@ -1518,10 +1519,10 @@ index f135d423c0ca76fd70e79ae5b7d035f0cb79fc75..d9b576bc46055fdab1c134e5f2c63cd4 else if ((hint.codec == AV_CODEC_ID_VC1 || hint.codec == AV_CODEC_ID_WMV3) && g_RBP.GetCodecWvc1()) supported = true; -From 43dc7e2beea8ce8abebc3ae26ac7ac31263949ee Mon Sep 17 00:00:00 2001 +From 3d13e28a7a009dae14e1ed72d94c4192e7bee0fe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 10 Mar 2016 17:56:11 +0000 -Subject: [PATCH 20/61] [rbp] HW mouse pointer +Subject: [PATCH 20/65] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -1536,7 +1537,7 @@ Render the mouse with an overlay to avoid redrawing the normal gui. 5 files changed, 282 insertions(+) diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp -index 14b51568a959afa5648b844a2a87efbb57b5249a..5384f5686578ee455263b0ee636b2adc332e0264 100644 +index 6994f16290ca3ec9da124fbf1cfa21716333855d..97a693ad29a54a53acbdc9abe7f83c103e5e1dac 100644 --- a/xbmc/guilib/GUIWindowManager.cpp +++ b/xbmc/guilib/GUIWindowManager.cpp @@ -199,7 +199,9 @@ void CGUIWindowManager::CreateWindows() @@ -1954,10 +1955,10 @@ index 1b1d2f2e60334ed0f3a9964d106957f58e69f1b3..c82ba84625fe3556ff49764d40ceb3ec #endif -From a3fffaef5c155d74ff051a7bbb2c1b56449ece13 Mon Sep 17 00:00:00 2001 +From e09807bed7411203a4c032e46a839cb215194ac7 Mon Sep 17 00:00:00 2001 From: Claudio-Sjo Date: Mon, 16 Feb 2015 14:51:26 +0100 -Subject: [PATCH 21/61] - allow reads < CDIO_CD_FRAMESIZE_RAW by using a buffer +Subject: [PATCH 21/65] - allow reads < CDIO_CD_FRAMESIZE_RAW by using a buffer - fixes #15794 --- @@ -2149,10 +2150,10 @@ index 0427af4534bfe59a343f0518c7f4242d93299836..e99236294fa8b9b613e465a8ecaf3ad3 lsn_t m_lsnCurrent; // Position inside the track in logical sector number lsn_t m_lsnEnd; // End of m_iTrack in logical sector number -From 60a1b2ccb05742807a0fcbceaf5da47c8c13a66f Mon Sep 17 00:00:00 2001 +From 23eb36012a54590dc75e2b0a9a2304092272d483 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jun 2016 19:38:13 +0100 -Subject: [PATCH 22/61] codecoverlay: Include codec name in overlay +Subject: [PATCH 22/65] codecoverlay: Include codec name in overlay --- xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp | 4 ++++ @@ -2163,7 +2164,7 @@ Subject: [PATCH 22/61] codecoverlay: Include codec name in overlay 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp -index 24228154ecf99911f74407d73d280778e6f98fcd..188b85b12b86f887324cdcfda3c3aa4cd90d3a11 100644 +index a0cae3e603a3d0bcd954c75c9796f1afa995a9a1..5eee488a59a689e66325e8f8a9467ad2bb394a54 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp @@ -210,6 +210,10 @@ void CVideoPlayerAudio::UpdatePlayerInfo() @@ -2178,10 +2179,10 @@ index 24228154ecf99911f74407d73d280778e6f98fcd..188b85b12b86f887324cdcfda3c3aa4c //print the inverse of the resample ratio, since that makes more sense //if the resample ratio is 0.5, then we're playing twice as fast diff --git a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -index fee65c3bd9ccdb3b7fc6e677c0473dfdd3d131bc..11ffffb23b435b1ea77fc756cf321013393f9f4a 100644 +index 06305e13c0687ba6899a6ab1f364345a3115c0f1..7f090615d5696e538fdd7ab376b76ef8212927cf 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -@@ -909,10 +909,13 @@ int CVideoPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts) +@@ -915,10 +915,13 @@ int CVideoPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts) std::string CVideoPlayerVideo::GetPlayerInfo() { @@ -2246,10 +2247,10 @@ index 0df7e72cc9d1947173c2bac5e72eb09976b51aa5..b5050081c360d29b1b478c27e6b88291 double m_iSubtitleDelay; bool m_bRenderSubs; -From 34b921907166a74b1f941cb54e6437bbddc50e1e Mon Sep 17 00:00:00 2001 +From d0279647e6ebd58b37bb61385942e912f1d7cc73 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 8 Mar 2016 21:20:58 +0300 -Subject: [PATCH 23/61] [DebugInfo] Add cpu usage info. +Subject: [PATCH 23/65] [DebugInfo] Add cpu usage info. --- .../VideoPlayer/VideoRenderers/DebugRenderer.cpp | 56 ++++++++-------------- @@ -2258,10 +2259,10 @@ Subject: [PATCH 23/61] [DebugInfo] Add cpu usage info. 3 files changed, 30 insertions(+), 42 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp -index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d88495a55950 100644 +index 539a560f9554478ad25a5631121dc74e667d9b40..08721e153e5f3232585eb776d1d1b44396f63de4 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp -@@ -27,7 +27,7 @@ using namespace OVERLAY; +@@ -28,7 +28,7 @@ using namespace OVERLAY; CDebugRenderer::CDebugRenderer() { @@ -2270,7 +2271,7 @@ index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d884 { m_overlay[i] = nullptr; m_strDebug[i] = " "; -@@ -36,54 +36,36 @@ CDebugRenderer::CDebugRenderer() +@@ -37,54 +37,36 @@ CDebugRenderer::CDebugRenderer() CDebugRenderer::~CDebugRenderer() { @@ -2342,15 +2343,15 @@ index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d884 } void CDebugRenderer::Render(CRect &src, CRect &dst, CRect &view) -@@ -120,7 +102,7 @@ void CDebugRenderer::CRenderer::Render(int idx) +@@ -121,7 +103,7 @@ void CDebugRenderer::CRenderer::Render(int idx) COverlayText *text = dynamic_cast(o); if (text) - text->PrepareRender("arial.ttf", 1, 16, 0, m_font, m_fontBorder); + text->PrepareRender("arial.ttf", 1, 12, 0, m_font, m_fontBorder); - o->m_pos = COverlay::POSITION_ABSOLUTE; - o->m_align = COverlay::ALIGN_SCREEN; + RESOLUTION_INFO res = g_graphicsContext.GetResInfo(g_graphicsContext.GetVideoResolution()); + diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h index 85aefaace73994730f7d2bdff9de85c79e99b2a2..8005a13bc220be0c5c596d276197c11ed938ffb0 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h @@ -2386,7 +2387,7 @@ index 85aefaace73994730f7d2bdff9de85c79e99b2a2..8005a13bc220be0c5c596d276197c11e }; \ No newline at end of file diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6da090aa8c 100644 +index f96be370c6ff7e19aa22b47b559f7a2bee192069..4d5b9f740d08b95b1780caf6da0200583d9c6318 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp @@ -24,6 +24,7 @@ @@ -2397,7 +2398,7 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d #include "utils/log.h" #include "utils/StringUtils.h" #include "windowing/WindowingFactory.h" -@@ -922,7 +923,7 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) +@@ -925,7 +926,7 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) if (m_renderDebug) { @@ -2406,9 +2407,9 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d m_playerPort->GetDebugInfo(audio, video, player); -@@ -936,8 +937,10 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) +@@ -939,8 +940,10 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) missedvblanks, - clockspeed - 100.0); + clockspeed * 100); } + cpu = g_cpuInfo.GetCoresUsageString(); @@ -2419,10 +2420,10 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d m_debugTimer.Set(1000); -From 5732950f2b9b5c9488bf669fc1dabfe773098900 Mon Sep 17 00:00:00 2001 +From 5a5fb07850e90081f355f308f3f785cdd68d3148 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 22 May 2015 13:56:29 +0100 -Subject: [PATCH 24/61] ffmpeg: Allow neon to be enabled in unified builds +Subject: [PATCH 24/65] ffmpeg: Allow neon to be enabled in unified builds --- tools/depends/target/ffmpeg/Makefile | 4 ++++ @@ -2445,10 +2446,10 @@ index dffe2da1dfd09e06c5f15c362f7cbe3cf2a26f75..4081dddb6bc2db53559d35506cad6af4 ifeq ($(OS), linux) ffmpg_config += --target-os=$(OS) --cpu=$(CPU) -From 2bdca30180c30357bf1ad3f2266622acc44605a9 Mon Sep 17 00:00:00 2001 +From 0daa9854de558357b37bfd9755fdf7d9094ed692 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Feb 2015 14:37:27 +0000 -Subject: [PATCH 25/61] ffmpeg: Add some upstream HEVC optimisations +Subject: [PATCH 25/65] ffmpeg: Add some upstream HEVC optimisations --- tools/depends/target/ffmpeg/Makefile | 6 +- @@ -6246,10 +6247,10 @@ index 0000000000000000000000000000000000000000..5e8e07d407f045fc99554f0f061d1e81 +2.5.0 + -From 68dcdd8420309caf7e4f7896b5c27df98705590c Mon Sep 17 00:00:00 2001 +From 6d71c6a31c4adfee8f95156360ddae12e821db21 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:04:18 +0100 -Subject: [PATCH 26/61] [ffmpeg] Add GPU acceleration to hevc +Subject: [PATCH 26/65] [ffmpeg] Add GPU acceleration to hevc --- tools/depends/target/ffmpeg/Makefile | 4 +- @@ -44435,10 +44436,10 @@ index 0000000000000000000000000000000000000000..e172ebf157aebffe1ae50b4a2b25fd71 +2.7.4 + -From 8d0b79d79bc31d6f84ee57e9b40b45dbe92be56d Mon Sep 17 00:00:00 2001 +From dd2ed73dfc759d5afd988e4e544aee0cfa6b1e37 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:06:56 +0100 -Subject: [PATCH 27/61] [dvdmessage] Increase timeout on +Subject: [PATCH 27/65] [dvdmessage] Increase timeout on CDVDMsgGeneralSynchronize --- @@ -44459,10 +44460,10 @@ index 0dcc664fd862706c60659f3664c7d964597c94d5..7614c831af9dfc821121a4111546fd4d long CDVDMsgGeneralSynchronize::Release() -From 3ccd3f7c40d9211b26df3479d89e931eb4ff3a95 Mon Sep 17 00:00:00 2001 +From d3f5e306acd46cc7b8173c2e96a78a993764222d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Sep 2015 19:05:12 +0100 -Subject: [PATCH 28/61] [3d] Make MVC a valid 3D filename tag +Subject: [PATCH 28/65] [3d] Make MVC a valid 3D filename tag --- xbmc/guilib/StereoscopicsManager.cpp | 9 +++++++++ @@ -44523,20 +44524,20 @@ index 1727580c0c8de2b6fda19a741f90721a570b96b8..4fa973515df6e677418a6bf7f9d0b4a3 bool m_useDisplayControlHWStereo; -From 55dd622a6608b801350e62955c891a6a78a3e8e9 Mon Sep 17 00:00:00 2001 +From 6c07d703eda3708c2a3f95ac4217003d9935b5ba Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 5 Oct 2015 14:58:05 +0100 -Subject: [PATCH 29/61] [3d] Swap top/bottom sides of GUI +Subject: [PATCH 29/65] [3d] Swap top/bottom sides of GUI --- xbmc/guilib/GraphicContext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/guilib/GraphicContext.cpp b/xbmc/guilib/GraphicContext.cpp -index 9caa43113f63139d277bd71242a858a581736845..3ace73527a7c359ac21c87bf38b5d648a0f4d9c2 100644 +index e9d8e18445bcd82b09d5ed9f86e85a5a6fef8472..324852946dfc4e06d66915f35f8f37376795e041 100644 --- a/xbmc/guilib/GraphicContext.cpp +++ b/xbmc/guilib/GraphicContext.cpp -@@ -265,7 +265,7 @@ CPoint CGraphicContext::StereoCorrection(const CPoint &point) const +@@ -267,7 +267,7 @@ CPoint CGraphicContext::StereoCorrection(const CPoint &point) const { const RESOLUTION_INFO info = GetResInfo(); @@ -44546,10 +44547,10 @@ index 9caa43113f63139d277bd71242a858a581736845..3ace73527a7c359ac21c87bf38b5d648 } if(m_stereoMode == RENDER_STEREO_MODE_SPLIT_VERTICAL) -From 79e39f5976fccbf9e9699b60b4f45a5f59d19bb5 Mon Sep 17 00:00:00 2001 +From 6e570a0f04536712cc7cb8dd0ff64bb05461fa72 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 11 Oct 2015 20:51:37 +0100 -Subject: [PATCH 30/61] Revert "Revert "Disable extra logging by default"" +Subject: [PATCH 30/65] Revert "Revert "Disable extra logging by default"" This reverts commit a880554325be187b877cd8f0e2b338e7267da636. --- @@ -44557,10 +44558,10 @@ This reverts commit a880554325be187b877cd8f0e2b338e7267da636. 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 88b67c1869246037e81fb3efbe293f9fee37d25e..df60cf2d052f5a1570bd445468b156211a870007 100644 +index dc7144ac8756fb1af9d7f3bb56c0b471f0ae3f9b..8f62f7ca494ea5b3322653f0a2b9431ebd54c7ea 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -2672,12 +2672,12 @@ +@@ -2820,12 +2820,12 @@ 1 @@ -44576,32 +44577,32 @@ index 88b67c1869246037e81fb3efbe293f9fee37d25e..df60cf2d052f5a1570bd445468b15621 loggingcomponents , -From e18e8f939792d196c85b36c1e65a0ec4bb00bfc3 Mon Sep 17 00:00:00 2001 +From 36d0fe8ab502919d2fe8fb63e11f1380532cb0e7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 26 Nov 2015 17:14:49 +0000 -Subject: [PATCH 31/61] [ae] Add debug logging showing resamplerate +Subject: [PATCH 31/65] [ae] Add debug logging showing resamplerate --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 5196c62cd005d6c52cd741fc523eb5b7cd4b625b..dc9a34059f0eca5287bf42a7a8f89910c35e84e3 100644 +index 432c8a97ff1882c7f8c2e72b417f5c8f63237a1a..8a1fbade6b6a91bae4fc33d19759959d6ee34290 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -2451,6 +2451,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) +@@ -2449,6 +2449,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) if (stream->m_processingBuffers) { - stream->m_processingBuffers->SetRR(stream->CalcResampleRatio(error)); -+ CLog::Log(LOGDEBUG, "CDVDPlayerAudio::%s rr:%.5f error:%.6f", __FUNCTION__, stream->m_processingBuffers->GetRR(), error); + stream->m_processingBuffers->SetRR(stream->CalcResampleRatio(error), m_settings.atempoThreshold); ++ CLog::Log(LOGDEBUG, "CDVDPlayerAudio::%s rr:%.5f threshold:%.3f error:%.6f", __FUNCTION__, stream->m_processingBuffers->GetRR(), m_settings.atempoThreshold, error); } } else if (stream->m_processingBuffers) -From 83909d8961c984556768c161a0d2db8ff88e271b Mon Sep 17 00:00:00 2001 +From 1c4077d7ab06f9bc9aed4ccb62fd676e08ad8115 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Dec 2015 22:17:25 +0000 -Subject: [PATCH 32/61] [omximage] Fall back to arm jpeg encode/decode when gpu +Subject: [PATCH 32/65] [omximage] Fall back to arm jpeg encode/decode when gpu is busy --- @@ -44844,10 +44845,10 @@ index a93aa82663903fb1bf712058c2e259290ee742e6..6f38dbc7e5cc721c59a3633935f08218 extern COMXImage g_OMXImage; -From 4eada6619f36a9cd27209354d2f771458a166dd4 Mon Sep 17 00:00:00 2001 +From 502899c2fb94a59efd204a765ef897c2792a9d7f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Dec 2015 13:31:14 +0000 -Subject: [PATCH 33/61] [mmalcodec] Fail to open when width is invalid. Can +Subject: [PATCH 33/65] [mmalcodec] Fail to open when width is invalid. Can happen with mpegts files --- @@ -44869,10 +44870,10 @@ index c6f98ded45062617d88571cd70fc6336cfdc32c9..283b2626731c25c67e4c065dac7725a4 if (!CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEMMAL) || hints.software) return false; -From cad95d3b4d889687eab0da4da40549cbed5df09e Mon Sep 17 00:00:00 2001 +From ea3c304d6927e3a0da428ec064aa11845c2e01db Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Jan 2016 16:29:57 +0000 -Subject: [PATCH 34/61] ffmpeg: Add cabac opimisations for hevc +Subject: [PATCH 34/65] ffmpeg: Add cabac opimisations for hevc --- .../0001-Squashed-commit-of-the-following.patch | 2179 ++++++++++++++++++++ @@ -47109,10 +47110,10 @@ index e2641093d15e5b465fae7e5f87c3ea18573dd6ee..7022b5fadef58ad27b61725d77131bd7 CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ ./configure --prefix=$FFMPEG_PREFIX \ -From ee0055a7424b344357a0a8dbcfc3524f841f31ff Mon Sep 17 00:00:00 2001 +From 2a35e99417f02eccc12026eae38d6b2fca3c96d1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 35/61] [videoplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 35/65] [videoplayer/rbp] Add pi specific option to maintain vsync with pll adjustment New A/V sync option in settings/video/playback to do "Adjust PLL". @@ -47134,10 +47135,10 @@ or drop/dupe audio packets which is normally required. 12 files changed, 122 insertions(+), 19 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 3208dad8988fba4bce7687861037274a42ffd21f..b5ae4dc1a6b21ba96fd3498baff1b63004fa6902 100644 +index f4abad73fa75574576383fca3956f9f4ecb4c94c..bdd03649780dc6ba0a4d16c32d6bec8891727019 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19483,3 +19483,35 @@ msgstr "" +@@ -19586,3 +19586,35 @@ msgstr "" msgctxt "#38190" msgid "Extract thumbnails from video files" msgstr "" @@ -47174,12 +47175,12 @@ index 3208dad8988fba4bce7687861037274a42ffd21f..b5ae4dc1a6b21ba96fd3498baff1b630 +msgid "Max" +msgstr "" diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index 770c628a15304856504676af82d46d57c97b86b8..b7770ebc1b9568f9fe141d90a118b87106c86735 100644 +index 289dc55ec41aa44848519a05f8ee1ccc72740085..2572e25753712186f69390965ee1448bff3fadd5 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml -@@ -98,6 +98,20 @@ - - 101 +@@ -101,6 +101,20 @@ + + 100 + + 3 @@ -47199,7 +47200,7 @@ index 770c628a15304856504676af82d46d57c97b86b8..b7770ebc1b9568f9fe141d90a118b871 diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e78a6219d 100644 +index 8a1fbade6b6a91bae4fc33d19759959d6ee34290..e980eba1fba19de6f49b479e0bca0afefc830795 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp @@ -34,6 +34,10 @@ using namespace ActiveAE; @@ -47213,7 +47214,7 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e #define MAX_CACHE_LEVEL 0.4 // total cache time of stream in seconds #define MAX_WATER_LEVEL 0.2 // buffered time after stream stages in seconds #define MAX_BUFFER_TIME 0.1 // max time of a buffer in seconds -@@ -365,11 +369,12 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) +@@ -363,11 +367,12 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) m_sink.m_controlPort.SendOutMessage(CSinkControlProtocol::APPFOCUSED, msg->data, sizeof(bool)); return; case CActiveAEControlProtocol::STREAMRESAMPLEMODE: @@ -47229,7 +47230,7 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e par->stream->m_resampleIntegral = 0.0; } return; -@@ -2446,7 +2451,16 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) +@@ -2444,7 +2449,16 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) if (!newerror || stream->m_syncState != CAESyncInfo::AESyncState::SYNC_INSYNC) return ret; @@ -47267,10 +47268,10 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e void CActiveAE::SetStreamFFmpegInfo(CActiveAEStream *stream, int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962beeae286a2 100644 +index 502ee4ea0367a4f4423f3c2bf4bcfcb7df8e111e..14249e13ce294b70ce4df19ed170c8596cf5a535 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -@@ -174,6 +174,13 @@ struct MsgStreamFFmpegInfo +@@ -175,6 +175,13 @@ struct MsgStreamFFmpegInfo enum AVAudioServiceType audio_service_type; }; @@ -47284,7 +47285,7 @@ index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962be class CEngineStats { public: -@@ -290,7 +297,7 @@ protected: +@@ -291,7 +298,7 @@ protected: void SetStreamReplaygain(CActiveAEStream *stream, float rgain); void SetStreamVolume(CActiveAEStream *stream, float volume); void SetStreamResampleRatio(CActiveAEStream *stream, double ratio); @@ -47294,7 +47295,7 @@ index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962be void SetStreamFade(CActiveAEStream *stream, float from, float target, unsigned int millis); diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -index 430bbf65d5cd68927018d8d7d01c144185fcd7fb..f9a9825bfe3b037047bbb63e9aefd379c2cf40e9 100644 +index 246d7e6c05242f1d64bbc3983b7342e24423ba8c..394459ab0581c2eef9c5e59b83c209d239c6b66a 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp @@ -509,11 +509,12 @@ void CActiveAEStream::SetResampleRatio(double ratio) @@ -47314,7 +47315,7 @@ index 430bbf65d5cd68927018d8d7d01c144185fcd7fb..f9a9825bfe3b037047bbb63e9aefd379 void CActiveAEStream::SetFFmpegInfo(int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h -index b44227aca644e6af5cf8f33ca92ee1028d180413..65a6c38d1040647ca86deca4193572d283de6868 100644 +index 531dedc71f8b342d1556518e1fb7cb051f334e88..927f93ed09d1b9dbc4a6a7dc6a8e2dceaa4ae7dc 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h @@ -169,7 +169,7 @@ public: @@ -47343,7 +47344,7 @@ index b44227aca644e6af5cf8f33ca92ee1028d180413..65a6c38d1040647ca86deca4193572d2 double m_clockSpeed; enum AVMatrixEncoding m_matrixEncoding; diff --git a/xbmc/cores/AudioEngine/Interfaces/AEStream.h b/xbmc/cores/AudioEngine/Interfaces/AEStream.h -index 7416685ef766492b13bbbde9001f868f28907d34..e3dbc5f2ddd6269f5e80086d2fd04e1ae68ac828 100644 +index 533f6715d4e39215942d9ddd59f1242336daf32d..9e33493fd1a9f252162b8aa982609f161532d8ac 100644 --- a/xbmc/cores/AudioEngine/Interfaces/AEStream.h +++ b/xbmc/cores/AudioEngine/Interfaces/AEStream.h @@ -41,6 +41,14 @@ public: @@ -47371,10 +47372,10 @@ index 7416685ef766492b13bbbde9001f868f28907d34..e3dbc5f2ddd6269f5e80086d2fd04e1a /** * Registers the audio callback to call with each block of data, this is used by Audio Visualizations diff --git a/xbmc/cores/VideoPlayer/DVDAudio.cpp b/xbmc/cores/VideoPlayer/DVDAudio.cpp -index 2674fb381aa42a3575ae85ad54be5f9891cafe2a..48894c6cea7ba54e37855963cf2caf76e1d1ab36 100644 +index 2dd9b3689a37874a8199ff6edf64ba0b26d8c69f..8a7c2a7d86422bf7573d00a1f9d3084367ff19aa 100644 --- a/xbmc/cores/VideoPlayer/DVDAudio.cpp +++ b/xbmc/cores/VideoPlayer/DVDAudio.cpp -@@ -321,12 +321,12 @@ double CDVDAudio::GetResampleRatio() +@@ -313,12 +313,12 @@ double CDVDAudio::GetResampleRatio() return m_resampleRatio; } @@ -47390,7 +47391,7 @@ index 2674fb381aa42a3575ae85ad54be5f9891cafe2a..48894c6cea7ba54e37855963cf2caf76 } diff --git a/xbmc/cores/VideoPlayer/DVDAudio.h b/xbmc/cores/VideoPlayer/DVDAudio.h -index 48b5c42d2998a25901c31a9ad762d81f89eb430b..70559f9570041a11693d21d2de890f81b07fe2ab 100644 +index 81882a1a3828e3f95df26c1bd88c061d3b994b44..ed6974b1155a7272f3ef5bfed3f749674b831b93 100644 --- a/xbmc/cores/VideoPlayer/DVDAudio.h +++ b/xbmc/cores/VideoPlayer/DVDAudio.h @@ -61,7 +61,7 @@ public: @@ -47403,7 +47404,7 @@ index 48b5c42d2998a25901c31a9ad762d81f89eb430b..70559f9570041a11693d21d2de890f81 void Drain(); void AbortAddPackets(); diff --git a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp -index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa2018e9d684 100644 +index 5eee488a59a689e66325e8f8a9467ad2bb394a54..77c5170235b675f58b4e4a85cb1c2e645640a283 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp @@ -96,6 +96,7 @@ bool CVideoPlayerAudio::OpenStream(CDVDStreamInfo &hints) @@ -47427,7 +47428,7 @@ index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa20 s << ", att:" << std::fixed << std::setprecision(1) << log(GetCurrentAttenuation()) * 20.0f << " dB"; -@@ -545,10 +550,12 @@ void CVideoPlayerAudio::SetSyncType(bool passthrough) +@@ -538,10 +543,12 @@ void CVideoPlayerAudio::SetSyncType(bool passthrough) int synctype = (m_synctype >= 0 && m_synctype <= 1) ? m_synctype : 2; CLog::Log(LOGDEBUG, "CVideoPlayerAudio:: synctype set to %i: %s", m_synctype, synctypes[synctype]); m_prevsynctype = m_synctype; @@ -47442,7 +47443,7 @@ index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa20 } } -@@ -606,6 +613,7 @@ bool CVideoPlayerAudio::SwitchCodecIfNeeded() +@@ -599,6 +606,7 @@ bool CVideoPlayerAudio::SwitchCodecIfNeeded() bool allowpassthrough = !CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK); if (m_streaminfo.realtime) allowpassthrough = false; @@ -47508,10 +47509,10 @@ index 90b04db5405058be2ff20aeaa6af2d2ac651586f..084fba87f49f4c3b33a8dd4a20a626a3 void init_cursor(); void set_cursor(const void *pixels, int width, int height, int hotspot_x, int hotspot_y); -From dafa8df17474794163e7783cafecc1b9d5615e16 Mon Sep 17 00:00:00 2001 +From 096224708de6b380a7623b78c6d0980dcfee4547 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 15:35:43 +0100 -Subject: [PATCH 36/61] rbp: Support zero copy interface with hevc acceleration +Subject: [PATCH 36/65] rbp: Support zero copy interface with hevc acceleration --- xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 9 +++++++++ @@ -47519,10 +47520,10 @@ Subject: [PATCH 36/61] rbp: Support zero copy interface with hevc acceleration 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index 3ccf4b8cd92d9907653adda291d1124244963e1b..9216a91527478eb7f8a9062177596e9bb6319e52 100644 +index 37254c779a4574a34de8f2b0326ea8ca8ceab53d..c9e683e6c0771276217152558aabbdaf171302e3 100644 --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -308,6 +308,15 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options +@@ -364,6 +364,15 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options if (tryhw && m_decoderState == STATE_NONE) { m_decoderState = STATE_HW_SINGLE; @@ -47555,10 +47556,10 @@ index ad0f65cc64f545b32d1812c9e218c57ec6866b00..a5597c1386c5afdc6ec8f6840355557e if (g_advancedSettings.CanLogComponent(LOGVIDEO)) CLog::Log(LOGDEBUG, "%s::%s - mmal:%p dts:%.3f pts:%.3f buf:%p gpu:%p", CLASSNAME, __FUNCTION__, picture->MMALBuffer->mmal_buffer, 1e-6*picture->dts, 1e-6*picture->pts, picture->MMALBuffer, gmem); -From 340049d662e9165d55def43f8d09bee5376752a4 Mon Sep 17 00:00:00 2001 +From 2c3a832280fbf22c1d09c6a7db1e8c2ee78c6699 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 16 May 2015 18:26:04 +0100 -Subject: [PATCH 37/61] ffmpeg: use upstream mvc patches +Subject: [PATCH 37/65] ffmpeg: use upstream mvc patches --- ...vcodec-add-h264_mvc-codec-id-and-profiles.patch | 68 ++++++++++++ @@ -47868,10 +47869,10 @@ index 0000000000000000000000000000000000000000..b39480ad098b9cd0882fcf75b96afb1b +2.7.4 + -From 56c71f3a8e771ca8c61c4111b8622614f0f41bdb Mon Sep 17 00:00:00 2001 +From 7693ec1c01a125048da9b0c708260461f91f5a9c Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Wed, 20 Jan 2016 17:02:16 +0300 -Subject: [PATCH 38/61] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc +Subject: [PATCH 38/65] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc streams. --- @@ -47879,7 +47880,7 @@ Subject: [PATCH 38/61] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a229a9a777a 100644 +index 87674a3e45b0991447c817499524c09a3b595ca4..429d6943ee2eb3dd5adedac5cf5bb81fe6ff192e 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -25,6 +25,7 @@ @@ -47890,7 +47891,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 #include "DVDClock.h" // for DVD_TIME_BASE #include "DVDDemuxUtils.h" #include "DVDInputStreams/DVDInputStream.h" -@@ -1262,6 +1263,15 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1265,6 +1266,15 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) } case AVMEDIA_TYPE_VIDEO: { @@ -47906,7 +47907,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 CDemuxStreamVideoFFmpeg* st = new CDemuxStreamVideoFFmpeg(this, pStream); stream = st; if(strcmp(m_pFormatContext->iformat->name, "flv") == 0) -@@ -1270,7 +1280,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1273,7 +1283,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) st->bVFR = false; // never trust pts in avi files with h264. @@ -47915,7 +47916,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 st->bPTSInvalid = true; #if defined(AVFORMAT_HAS_STREAM_GET_R_FRAME_RATE) -@@ -1341,6 +1351,17 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1344,6 +1354,17 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (av_dict_get(pStream->metadata, "title", NULL, 0)) st->m_description = av_dict_get(pStream->metadata, "title", NULL, 0)->value; @@ -47934,10 +47935,10 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 } case AVMEDIA_TYPE_DATA: -From 1cf1661ac0d3a7a9a8c29e695370f5f4b038cd9f Mon Sep 17 00:00:00 2001 +From 05f6d9958acf833440b50a5044257c71eb91a479 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Thu, 25 Feb 2016 11:21:25 +0300 -Subject: [PATCH 39/61] [Stereo3D] Added mvc modes. +Subject: [PATCH 39/65] [Stereo3D] Added mvc modes. --- xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp | 4 ++++ @@ -47991,17 +47992,17 @@ index 1443acaf0f25df458ae49766e13dd0323454f2eb..6eb0752994bc5f8c47efbbf211120af0 i++; } -From f64eab2d4da72fcf95e002dc26f3139e9550f690 Mon Sep 17 00:00:00 2001 +From 2b56aadf7f5b3d2adec40ea591c67959ca8e005b Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Sat, 23 Jan 2016 10:21:32 +0300 -Subject: [PATCH 40/61] [VideoPlayer] Fix possible wrong aspect. +Subject: [PATCH 40/65] [VideoPlayer] Fix possible wrong aspect. --- xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -index 11ffffb23b435b1ea77fc756cf321013393f9f4a..63454775e1b8460afc2df1ab93633ec49156efd3 100644 +index 7f090615d5696e538fdd7ab376b76ef8212927cf..3ad458cac7373a7574253ae23aab5812e330c968 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp @@ -182,7 +182,7 @@ void CVideoPlayerVideo::OpenStream(CDVDStreamInfo &hint, CDVDVideoCodec* codec) @@ -48014,14 +48015,12 @@ index 11ffffb23b435b1ea77fc756cf321013393f9f4a..63454775e1b8460afc2df1ab93633ec4 else m_fForcedAspectRatio = 0.0; -From e0dbe5d847499befef2382ee01f7f13438e4356e Mon Sep 17 00:00:00 2001 +From df603ab3e9d455937d8595d34b0bda7301340dc2 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Fri, 22 Jan 2016 18:18:33 +0300 -Subject: [PATCH 41/61] [VideoPlayer] DemuxFFmpeg: ssif remux +Subject: [PATCH 41/65] [VideoPlayer] DemuxFFmpeg: ssif remux --- - project/VS2010Express/XBMC.vcxproj | 2 + - project/VS2010Express/XBMC.vcxproj.filters | 6 + xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt | 2 + .../VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 47 ++++++- .../cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h | 2 + @@ -48029,54 +48028,10 @@ Subject: [PATCH 41/61] [VideoPlayer] DemuxFFmpeg: ssif remux .../VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.h | 49 +++++++ xbmc/cores/VideoPlayer/DVDDemuxers/Makefile.in | 1 + xbmc/settings/AdvancedSettings.cpp | 2 +- - 9 files changed, 259 insertions(+), 8 deletions(-) + 7 files changed, 251 insertions(+), 8 deletions(-) create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.cpp create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.h -diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj -index fc546b1efa6a8daf521a3bc44da62782603be5d8..1b5c0643fe18f61df6829a4eb33c9a82fd8468a4 100644 ---- a/project/VS2010Express/XBMC.vcxproj -+++ b/project/VS2010Express/XBMC.vcxproj -@@ -296,6 +296,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -@@ -1072,6 +1073,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters -index ef911b1ce3b7d00674c332078584485de2dc49ae..0524f95c8549be034a3592b2c1909d688f0c9b17 100644 ---- a/project/VS2010Express/XBMC.vcxproj.filters -+++ b/project/VS2010Express/XBMC.vcxproj.filters -@@ -3455,6 +3455,9 @@ - - dialogs - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - -@@ -6722,6 +6725,9 @@ - - cores\AudioEngine\Engines\ActiveAE - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt b/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt index 63776b1333bb66483303e44d6ebe60f3cd7e14d7..0da129ff99f57dc38ca8a854854d9fe658651e1f 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt @@ -48098,7 +48053,7 @@ index 63776b1333bb66483303e44d6ebe60f3cd7e14d7..0da129ff99f57dc38ca8a854854d9fe6 DVDDemuxUtils.h DVDDemuxVobsub.h diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c07ef9f9c 100644 +index 429d6943ee2eb3dd5adedac5cf5bb81fe6ff192e..84ecc81a439d0ce82957324fc18c5ba84c60e046 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -164,6 +164,7 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux() @@ -48109,7 +48064,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c m_speed = DVD_PLAYSPEED_NORMAL; m_program = UINT_MAX; m_pkt.result = -1; -@@ -537,6 +538,8 @@ void CDVDDemuxFFmpeg::Dispose() +@@ -534,6 +535,8 @@ void CDVDDemuxFFmpeg::Dispose() m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48118,7 +48073,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c if (m_pFormatContext) { for (unsigned int i = 0; i < m_pFormatContext->nb_streams; i++) -@@ -587,6 +590,9 @@ void CDVDDemuxFFmpeg::Flush() +@@ -584,6 +587,9 @@ void CDVDDemuxFFmpeg::Flush() m_displayTime = 0; m_dtsAtDisplayTime = DVD_NOPTS_VALUE; @@ -48128,7 +48083,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } void CDVDDemuxFFmpeg::Abort() -@@ -808,7 +814,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -811,7 +817,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { Flush(); } @@ -48139,7 +48094,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c { // update streams CreateStreams(m_program); -@@ -836,6 +844,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -839,6 +847,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48149,7 +48104,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } else { -@@ -845,7 +856,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -848,7 +859,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() if (IsVideoReady()) { @@ -48160,7 +48115,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c { /* check so packet belongs to selected program */ for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++) -@@ -994,6 +1007,15 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -997,6 +1010,15 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() stream = AddStream(pPacket->iStreamId); } } @@ -48176,7 +48131,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c if (!stream) { CLog::Log(LOGERROR, "CDVDDemuxFFmpeg::AddStream - internal error, stream is null"); -@@ -1023,6 +1045,9 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) +@@ -1026,6 +1048,9 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48186,7 +48141,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c CDVDInputStream::IPosTime* ist = m_pInput->GetIPosTime(); if (ist) { -@@ -1098,6 +1123,9 @@ bool CDVDDemuxFFmpeg::SeekByte(int64_t pos) +@@ -1101,6 +1126,9 @@ bool CDVDDemuxFFmpeg::SeekByte(int64_t pos) m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48196,7 +48151,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c return (ret >= 0); } -@@ -1265,11 +1293,12 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1268,11 +1296,12 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { if (pStream->codec->codec_id == AV_CODEC_ID_H264_MVC) { @@ -48212,7 +48167,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c break; } CDemuxStreamVideoFFmpeg* st = new CDemuxStreamVideoFFmpeg(this, pStream); -@@ -1355,7 +1384,11 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1358,7 +1387,11 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { if (CDVDCodecUtils::IsH264AnnexB(m_pFormatContext->iformat->name, pStream)) { @@ -48225,7 +48180,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } else if (CDVDCodecUtils::ProcessH264MVCExtradata(pStream->codec->extradata, pStream->codec->extradata_size)) { -@@ -1448,7 +1481,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1451,7 +1484,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (langTag) strncpy(stream->language, langTag->value, 3); @@ -48235,7 +48190,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c stream->ExtraSize = pStream->codec->extradata_size; stream->ExtraData = new uint8_t[pStream->codec->extradata_size]; diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h -index 60cfc6fe48df93210d6bb5a12f85af571dfa1f72..dae871cff339e085cf2aa6d8d921d20b0db03132 100644 +index 26cb1b91f6a08c1016210b98f75681d878afb9a1..49128bf011e2a802501cc8b3def5720a19248669 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h @@ -21,6 +21,7 @@ @@ -48497,17 +48452,17 @@ index 60e5652f69e96a559d8080e01dc214a56fb19343..cdaf53585a89a0da3a4038178806ee93 m_discStubExtensions = ".disc"; // internal music extensions -From e2b43c6da9e7cdaba0c6f7d7bd59b36f3b6dc32f Mon Sep 17 00:00:00 2001 +From e67a8be040f0a6d3994060f447b353c7c62cebd4 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 23 Feb 2016 16:01:08 +0300 -Subject: [PATCH 42/61] [libbluray] bump libbluray to 0.9.2-mvc. +Subject: [PATCH 42/65] [libbluray] bump libbluray to 0.9.2-mvc. --- project/BuildDependencies/scripts/0_package.list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list -index 2b6840102cdcaa464428694d16ac8d58e7c2d03f..4f3bddf0ef2e985986efffb97b9aeae5fa36d3e1 100644 +index 4d1be9c2cb2bb0c9531413c7300342444df023e1..bc4913a3d0c1fcb7e27106a2ddd6988f7749b571 100644 --- a/project/BuildDependencies/scripts/0_package.list +++ b/project/BuildDependencies/scripts/0_package.list @@ -17,7 +17,7 @@ freetype-2.6.3-win32-vc140.7z @@ -48520,15 +48475,13 @@ index 2b6840102cdcaa464428694d16ac8d58e7c2d03f..4f3bddf0ef2e985986efffb97b9aeae5 libcec-3.1.0-win32-vc140.7z libfribidi-0.19.2-win32.7z -From 25d2b378d13a6472ff7fe16dd98289b75cac352e Mon Sep 17 00:00:00 2001 +From 17c471649453534b7eb2103f4b3eddb11d6aa0be Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 23 Feb 2016 16:02:46 +0300 -Subject: [PATCH 43/61] [3DBD] Added support of 3D-BluRay playback. +Subject: [PATCH 43/65] [3DBD] Added support of 3D-BluRay playback. --- lib/DllLibbluray.h | 8 + - project/VS2010Express/XBMC.vcxproj | 2 + - project/VS2010Express/XBMC.vcxproj.filters | 6 + xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt | 2 + .../VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 57 ++++- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.cpp | 262 +++++++++++++++++++++ @@ -48538,7 +48491,7 @@ Subject: [PATCH 43/61] [3DBD] Added support of 3D-BluRay playback. xbmc/cores/VideoPlayer/DVDDemuxers/Makefile.in | 1 + .../DVDInputStreams/DVDInputStreamBluray.cpp | 159 +++++++++++-- .../DVDInputStreams/DVDInputStreamBluray.h | 20 ++ - 12 files changed, 591 insertions(+), 35 deletions(-) + 10 files changed, 583 insertions(+), 35 deletions(-) create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.cpp create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.h @@ -48582,50 +48535,6 @@ index f5a337fe19beff472557c97ff7a203ad30a912b2..03f93391265e164837c2a17a8fe6d7da END_METHOD_RESOLVE() public: -diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj -index 1b5c0643fe18f61df6829a4eb33c9a82fd8468a4..fdb0abb808fed44ec3d7896289defe94ee9d52b1 100644 ---- a/project/VS2010Express/XBMC.vcxproj -+++ b/project/VS2010Express/XBMC.vcxproj -@@ -296,6 +296,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -@@ -1073,6 +1074,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters -index 0524f95c8549be034a3592b2c1909d688f0c9b17..049aa3e93113bbaaa144dc9292be7832e8f5f696 100644 ---- a/project/VS2010Express/XBMC.vcxproj.filters -+++ b/project/VS2010Express/XBMC.vcxproj.filters -@@ -3458,6 +3458,9 @@ - - cores\VideoPlayer\DVDDemuxers - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - -@@ -6728,6 +6731,9 @@ - - cores\VideoPlayer\DVDDemuxers - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt b/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt index 0da129ff99f57dc38ca8a854854d9fe658651e1f..82d4b499245afda1a51ca281584cc47fc76173d1 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt @@ -48647,7 +48556,7 @@ index 0da129ff99f57dc38ca8a854854d9fe658651e1f..82d4b499245afda1a51ca281584cc47f DVDDemuxPacket.h DVDDemuxUtils.h diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c9a06d498 100644 +index 84ecc81a439d0ce82957324fc18c5ba84c60e046..cfa691835cda0b2cf986adbb9aa4db47dcf4f75d 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -27,6 +27,7 @@ @@ -48658,7 +48567,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c #include "DVDDemuxUtils.h" #include "DVDInputStreams/DVDInputStream.h" #include "DVDInputStreams/DVDInputStreamFFmpeg.h" -@@ -497,6 +498,16 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo, bool filein +@@ -494,6 +495,16 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo, bool filein UpdateCurrentPTS(); @@ -48675,7 +48584,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c // in case of mpegts and we have not seen pat/pmt, defer creation of streams if (!skipCreateStreams || m_pFormatContext->nb_programs > 0) { -@@ -814,9 +825,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -817,9 +828,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { Flush(); } @@ -48686,7 +48595,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c { // update streams CreateStreams(m_program); -@@ -857,8 +866,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -860,8 +869,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() if (IsVideoReady()) { // libavformat is confused by the interleaved SSIF. @@ -48696,7 +48605,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c { /* check so packet belongs to selected program */ for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++) -@@ -1009,10 +1017,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -1012,10 +1020,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() } if (stream && m_pSSIF) { @@ -48708,7 +48617,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c if (stream->type == STREAM_DATA && stream->codec == AV_CODEC_ID_H264_MVC && pPacket->iSize) stream = GetStream(pPacket->iStreamId); } -@@ -1388,6 +1393,29 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1391,6 +1396,29 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { m_pSSIF->SetH264StreamId(streamIdx); pStream->codec->codec_tag = MKTAG('A', 'M', 'V', 'C'); @@ -48738,7 +48647,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c } } else if (CDVDCodecUtils::ProcessH264MVCExtradata(pStream->codec->extradata, pStream->codec->extradata_size)) -@@ -1648,6 +1676,12 @@ bool CDVDDemuxFFmpeg::SeekChapter(int chapter, double* startpts) +@@ -1651,6 +1679,12 @@ bool CDVDDemuxFFmpeg::SeekChapter(int chapter, double* startpts) } Flush(); @@ -48751,7 +48660,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c return true; } -@@ -1717,6 +1751,11 @@ std::string CDVDDemuxFFmpeg::GetStreamCodecName(int iStreamId) +@@ -1720,6 +1754,11 @@ std::string CDVDDemuxFFmpeg::GetStreamCodecName(int iStreamId) bool CDVDDemuxFFmpeg::IsProgramChange() { @@ -49568,10 +49477,10 @@ index b967a85e6557e42a7f1235cdd804d5a0263b866f..561fb5cd4f971bc9ee4f41218a60bb3d typedef std::shared_ptr SOverlay; typedef std::list SOverlays; -From fab0e4608dd6560b9c001eb1189cd000e90439f9 Mon Sep 17 00:00:00 2001 +From 3f48b5cdb2fd9028069471aca90fe05632da35a0 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Wed, 2 Mar 2016 23:31:50 +0300 -Subject: [PATCH 44/61] [BaseRenderer] Fix aspect for TAB/SBS (need more +Subject: [PATCH 44/65] [BaseRenderer] Fix aspect for TAB/SBS (need more testing) --- @@ -49615,10 +49524,10 @@ index f18c671d90c85eed1ca4bd52028d7e5074a1312a..5c6f7453c2b3fd1155c18af8d37cb3d4 void CBaseRenderer::ManageRenderArea() -From 4e661a9b6bafbcfcafdcc33acdbebaa778c947f7 Mon Sep 17 00:00:00 2001 +From c8a24aab46add8caafa0fdc78b1616fdc1028fe2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 29 Feb 2016 17:00:50 +0000 -Subject: [PATCH 45/61] libbluray: Bump to Nevcairie's v0.9.2 +Subject: [PATCH 45/65] libbluray: Bump to Nevcairie's v0.9.2 This includes 3D support --- @@ -51275,10 +51184,10 @@ index 0000000000000000000000000000000000000000..5ef0124e35c9d81143921a328e272220 + + return fp; -From b1af1a3caed688d7690a40b24f3db8480c415382 Mon Sep 17 00:00:00 2001 +From f2489f8f090d4f743f31718b922d6a5a7ec3a9f9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 2 Mar 2016 19:40:47 +0000 -Subject: [PATCH 46/61] [VideoPlayer] Added new msdk-mvc decoder. +Subject: [PATCH 46/65] [VideoPlayer] Added new msdk-mvc decoder. --- xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecUtils.cpp | 61 ++++++++++++++++++++++ @@ -51394,10 +51303,10 @@ index eb76a6fe73f6c884540807cfb93c7a3ecc4eea90..7e24c2364e8d2efa9b8351afc041aa14 static int PixfmtFromEFormat(ERenderFormat format); }; -From 411ae88ce803806ae1581960ba2c2f4a7474164a Mon Sep 17 00:00:00 2001 +From 10e05fac4ef5439243c0b5394e29ce6092f514f1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 6 Mar 2016 12:54:59 +0000 -Subject: [PATCH 47/61] mvc: Automatically enable stereo mode +Subject: [PATCH 47/65] mvc: Automatically enable stereo mode --- xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp | 6 +++++- @@ -51455,10 +51364,10 @@ index 311dd6689236d660919c4c4483c51dca2752514a..536332c43e22ccb229e72b88518e54dd break; case AV_CODEC_ID_MPEG4: -From b8c71a30f6d8625f52099abcb71d24fe60a5e250 Mon Sep 17 00:00:00 2001 +From 3430bbcffb78d47d03e189a54a322d4edd4b6009 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 24 Mar 2016 13:02:58 +0000 -Subject: [PATCH 48/61] ffmpeg: mvc: fix for pixelation from packets with no +Subject: [PATCH 48/65] ffmpeg: mvc: fix for pixelation from packets with no pts/dts --- @@ -51520,10 +51429,10 @@ index 92d9437b36eaa4e655990f7e68634e0bbf4d9605..99f375ba5d5b40eecdd423ac5787276e cd $(PLATFORM);\ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \ -From e6e26007a7508bb472e8da389a0718a8c33515b3 Mon Sep 17 00:00:00 2001 +From 88e9d53808a21926aabc88b6fc84cec5d09d99ef Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Mar 2016 13:08:44 +0000 -Subject: [PATCH 49/61] stereoscopicmanager: remove hardwarebased for rbp +Subject: [PATCH 49/65] stereoscopicmanager: remove hardwarebased for rbp --- xbmc/guilib/StereoscopicsManager.cpp | 2 ++ @@ -51545,10 +51454,10 @@ index 6eb0752994bc5f8c47efbbf211120af0a0720d0c..9426604f6460651f54cc035476e69530 { "mvc_rl", RENDER_STEREO_MODE_SPLIT_HORIZONTAL }, // fallback {} -From 6a0689238dba27ebab5eb725bc1347e0cf54f653 Mon Sep 17 00:00:00 2001 +From e1ed72556f5f41eb7197cffb1df699ead16b0e5c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 17 May 2016 19:24:08 +0100 -Subject: [PATCH 50/61] stereoscopics: Switch to using block_lr for mvc to +Subject: [PATCH 50/65] stereoscopics: Switch to using block_lr for mvc to match makemkv See: http://forum.kodi.tv/showthread.php?tid=221407&pid=2339656#pid2339656 @@ -51574,10 +51483,10 @@ index a253b7fe8c591ba318958ea133355febb24ab328..1bab467cee97cad4a05fec71f29ca72d break; case AV_CODEC_ID_H263: diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 65d998f65493c1b463a4d1cabf36a16c9a06d498..815dc7589fed03a5d448297df5ebddd24daef80d 100644 +index cfa691835cda0b2cf986adbb9aa4db47dcf4f75d..3e271f12e1862552467ee7f905fb992b77d92178 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1400,7 +1400,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1403,7 +1403,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) CDVDInputStreamBluray *bluRay = static_cast(m_pInput); if (bluRay->HasMVC()) { @@ -51654,10 +51563,10 @@ index 9426604f6460651f54cc035476e69530b2ea8493..cc929b599125a44ac128713fd4331782 }; -From e687fbce1615c87f03cb02f73482e4eda9a0f669 Mon Sep 17 00:00:00 2001 +From c3496c7ec02f261166a07fccda875aad538aaed8 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Thu, 10 Mar 2016 18:11:33 +0300 -Subject: [PATCH 51/61] fixup! Revert supporting crappy tab/sbs subtitles. this +Subject: [PATCH 51/65] fixup! Revert supporting crappy tab/sbs subtitles. this fixes regular subtitles. --- @@ -51702,10 +51611,10 @@ index 3a080d06c90b0762482816928642e6de7810b539..7c0b70777556ac7694e7fc511cd4bb18 } -From 677c4dc68110455444a13ab76dae151fc4f0fc85 Mon Sep 17 00:00:00 2001 +From 015e4471d62799cd8e534469406cfc9270a0f0b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 52/61] [libcec] Add repeating keypress patch from popcornmix' +Subject: [PATCH 52/65] [libcec] Add repeating keypress patch from popcornmix' repo --- @@ -52592,10 +52501,10 @@ index 0000000000000000000000000000000000000000..8366a696562a934144cc9a21ea6f2cab +1.9.1 + -From 75ca9806598f9ea98b1e872f68cd8dc899e9ec74 Mon Sep 17 00:00:00 2001 +From 84de446856b479d43ac2df0fbbc0ee917d6d962a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 19 Mar 2016 17:15:29 +0000 -Subject: [PATCH 53/61] cec: hack: pretend bump to 3.1.0 +Subject: [PATCH 53/65] cec: hack: pretend bump to 3.1.0 --- tools/depends/target/libcec/Makefile | 1 + @@ -52643,10 +52552,10 @@ index 0000000000000000000000000000000000000000..9e55e51068e7befd9d4ff003156ce1ff + # cec-client + add_subdirectory(src/cec-client) -From 1ca2f1145a8b3baeaee694ce8bd83e76be117cc7 Mon Sep 17 00:00:00 2001 +From 06d3df42fba59facd2ae8ba3d1ec1fbbf193ece1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 54/61] [cec] Add settings for configuring button repeats +Subject: [PATCH 54/65] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -52655,10 +52564,10 @@ Subject: [PATCH 54/61] [cec] Add settings for configuring button repeats 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index b5ae4dc1a6b21ba96fd3498baff1b63004fa6902..cb886deeceb95df1706a1176619944911d5bb64a 100644 +index bdd03649780dc6ba0a4d16c32d6bec8891727019..3d20c523cbf6666099f3210c86330078fcc46e21 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19480,6 +19480,21 @@ msgctxt "#39007" +@@ -19583,6 +19583,21 @@ msgctxt "#39007" msgid "This provides access to where picture sources can be added and otherwise managed." msgstr "" @@ -52681,7 +52590,7 @@ index b5ae4dc1a6b21ba96fd3498baff1b63004fa6902..cb886deeceb95df1706a117661994491 msgid "Extract thumbnails from video files" msgstr "" diff --git a/system/peripherals.xml b/system/peripherals.xml -index b9c8e9d658cca961a4970ab33aa4d221f2435dda..43397c44833c1068c3586eb05039bbd644c93c9b 100644 +index 012b14a14e1fff7fe8a2d2b052efc7c563066d01..a070fb9a433601f7800ff82a382728b5ba759bd4 100644 --- a/system/peripherals.xml +++ b/system/peripherals.xml @@ -31,7 +31,9 @@ @@ -52730,10 +52639,10 @@ index e6bcbce6911a1714e129ecd5aceead94769231f4..19b3c37bc18fcab30920b12902e8c339 if (GetSettingBool("pause_playback_on_deactivate")) { -From 0ad79428d9636283d7dd952363050fac2e55898e Mon Sep 17 00:00:00 2001 +From 0fb45720cbbba03f9812699c0916e9e00cc6d6c6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 55/61] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 55/65] [cec] Don't discard buttons when repeat mode is enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -52756,10 +52665,10 @@ index 19b3c37bc18fcab30920b12902e8c3397a69dccc..f859f44f6d5379154317b5760d7df720 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 93c60a7a5fd00d2672b098dbad4a6eab8d2fc8be Mon Sep 17 00:00:00 2001 +From b1597077c627544df137a2e094ace55a9d11adcb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 56/61] [cec] Temp - more logging +Subject: [PATCH 56/65] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -52811,10 +52720,10 @@ index f859f44f6d5379154317b5760d7df720f0894e0d..f1c3a6d242183507c4ce9ebf4651b0c0 } -From 8bc97ca506489e1f77baf7a4b978971caac9d42c Mon Sep 17 00:00:00 2001 +From 461405a907d5043ce25d089b2b527029eddd3695 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 22 Jan 2016 12:29:41 +0000 -Subject: [PATCH 57/61] [cec] Update for libcec 3.1.0 +Subject: [PATCH 57/65] [cec] Update for libcec 3.1.0 --- configure.ac | 4 ++-- @@ -52822,10 +52731,10 @@ Subject: [PATCH 57/61] [cec] Update for libcec 3.1.0 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 5b8c04b246ac91b0a9cf7d11659ac9726c1a80ed..5c99e8288d925c6f7499ea969783c2d6f1d3aba5 100644 +index 5a449f75c92ec10d30d4c977239aa17988b2c976..9b15fbe8eb54ba38fd970cd4ec149df990716566 100644 --- a/configure.ac +++ b/configure.ac -@@ -1433,9 +1433,9 @@ if test "x$use_libcec" != "xno"; then +@@ -1421,9 +1421,9 @@ if test "x$use_libcec" != "xno"; then # libcec is dyloaded, so we need to check for its headers and link any depends. if test "x$use_libcec" != "xno"; then if test "x$use_libcec" != "xauto"; then @@ -52860,10 +52769,10 @@ index f1c3a6d242183507c4ce9ebf4651b0c0f7e9c5c9..28a6a8148810da940f977976a627018c // device name 'XBMC' snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); -From 333e05a9c5e21d95f09b32858a6c5587e2d9beed Mon Sep 17 00:00:00 2001 +From 7e4c3b823097ec0851a4065462ff0bb34c6f8f25 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 19 Mar 2016 14:46:41 +0000 -Subject: [PATCH 58/61] libcec: use system audio mode request instead of power +Subject: [PATCH 58/65] libcec: use system audio mode request instead of power on to start AVR reliable --- @@ -52929,39 +52838,37 @@ index 39ba882d0c7e270b4d1d1d566027cbaffb76b587..4565dc9f6fc0b3e6b49133443c19e107 $(LIBDYLIB): $(PLATFORM) -From a9f40d9bf8aae676de620b2cd934ddbc1d202974 Mon Sep 17 00:00:00 2001 +From 196902cfd8f081ff6595b66259c5d055a67182da Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 22 Mar 2016 09:51:52 +0100 -Subject: [PATCH 59/61] python: use kodi provided cert if available +Subject: [PATCH 59/65] python: use kodi provided cert if available --- - xbmc/interfaces/python/XBPython.cpp | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) + xbmc/interfaces/python/XBPython.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/xbmc/interfaces/python/XBPython.cpp b/xbmc/interfaces/python/XBPython.cpp -index d762bf4f8fdca2a1081026089977ae8987c88b66..ff4ed7db26845905108ea0ae504e4f589f9c7d0f 100644 +index bc84af9411ef55eaf5ba71a320b5cbfec5f49548..ff4ed7db26845905108ea0ae504e4f589f9c7d0f 100644 --- a/xbmc/interfaces/python/XBPython.cpp +++ b/xbmc/interfaces/python/XBPython.cpp -@@ -593,9 +593,12 @@ bool XBPython::OnScriptInitialized(ILanguageInvoker *invoker) +@@ -595,6 +595,12 @@ bool XBPython::OnScriptInitialized(ILanguageInvoker *invoker) CEnvironment::putenv(buf); - buf = "OS=win32"; - CEnvironment::putenv(buf); -+#endif + #endif --#elif defined(TARGET_ANDROID) -- setenv("SSL_CERT_FILE", CSpecialProtocol::TranslatePath("special://xbmc/system/certs/cacert.pem").c_str(), 1); +#if !defined(TARGET_WINDOWS) + // use Kodi provided cert if available + if (XFILE::CFile::Exists("special://xbmc/system/certs/cacert.pem")) + setenv("SSL_CERT_FILE", CSpecialProtocol::TranslatePath("special://xbmc/system/certs/cacert.pem").c_str(), 1); - #endif - ++#endif ++ if (PyEval_ThreadsInitialized()) + PyEval_AcquireLock(); + else -From 1dc7050d2ea538674cf19aadf23718e1d392560f Mon Sep 17 00:00:00 2001 +From 44d0df2bd27b658b047c8baec26085ae5ccbc6f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 25 May 2016 18:31:17 +0100 -Subject: [PATCH 60/61] rbp: Hard code the number of buffers to improve audio +Subject: [PATCH 60/65] rbp: Hard code the number of buffers to improve audio sync --- @@ -52970,7 +52877,7 @@ Subject: [PATCH 60/61] rbp: Hard code the number of buffers to improve audio 2 files changed, 10 insertions(+) diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index b7770ebc1b9568f9fe141d90a118b87106c86735..507dd61a464510760112a009d73bdc63cab19e4b 100644 +index 2572e25753712186f69390965ee1448bff3fadd5..5d9f716bac49f9850f1062a4d5ac851794eefbe3 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml @@ -92,6 +92,12 @@ @@ -52987,10 +52894,10 @@ index b7770ebc1b9568f9fe141d90a118b87106c86735..507dd61a464510760112a009d73bdc63 diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -index f2a133e1ff7b440ebc741878ccf87e6da090aa8c..e577d03b8280285567af0d332bc2284f6ffbf71a 100644 +index 4d5b9f740d08b95b1780caf6da0200583d9c6318..aa5e461660a23916681bbbd660b9a9e2a1622b8b 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -@@ -1062,7 +1062,11 @@ void CRenderManager::UpdateDisplayLatency() +@@ -1065,7 +1065,11 @@ void CRenderManager::UpdateDisplayLatency() refresh = 0; // No idea about refresh rate when windowed, just get the default latency m_displayLatency = (double) g_advancedSettings.GetDisplayLatency(refresh); @@ -53003,10 +52910,10 @@ index f2a133e1ff7b440ebc741878ccf87e6da090aa8c..e577d03b8280285567af0d332bc2284f } -From c60cda47009f0431a2f2dc1764882d8b1e5e7acd Mon Sep 17 00:00:00 2001 +From 6c79969ce8196cb7c942c4fcc3d3fb00d087e18b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 4 Jul 2016 18:30:03 +0100 -Subject: [PATCH 61/61] rbp: Update the GL libs to new naming scheme +Subject: [PATCH 61/65] rbp: Update the GL libs to new naming scheme As the opensource mesa GL library is getting more usable, the name collision wih the firmware GL driver is causing issues. As such we are renaming the firmware GL driver to avoid this. @@ -53020,10 +52927,10 @@ will be dropped at some point 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac -index 5c99e8288d925c6f7499ea969783c2d6f1d3aba5..54b9552f8ee5c2dc8bace2337a0254b5e5191fee 100644 +index 9b15fbe8eb54ba38fd970cd4ec149df990716566..25600bae809c8b6a4133a27441f7e788626f8fe4 100644 --- a/configure.ac +++ b/configure.ac -@@ -929,7 +929,7 @@ if test "$use_gles" = "yes"; then +@@ -917,7 +917,7 @@ if test "$use_gles" = "yes"; then AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."]) AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."]) AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.) @@ -53033,15 +52940,15 @@ index 5c99e8288d925c6f7499ea969783c2d6f1d3aba5..54b9552f8ee5c2dc8bace2337a0254b5 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) diff --git a/project/cmake/modules/FindOpenGLES.cmake b/project/cmake/modules/FindOpenGLES.cmake -index 5d71dd4ad34de4d4bb3a4f24198c86c82ebca2d4..4c1cba7a85c32140e9ebf4c766e845b2e97f769a 100644 +index ab06f968b3e314fca1ae001139f687dce9a5098b..87f1faa248b91a2e50758b23c0b9e5b09e4a69ff 100644 --- a/project/cmake/modules/FindOpenGLES.cmake +++ b/project/cmake/modules/FindOpenGLES.cmake @@ -13,7 +13,7 @@ find_package(EMBEDDED) if(PKG_CONFIG_FOUND AND NOT PLATFORM STREQUAL "raspberry-pi") -- pkg_check_modules(PC_OPENGLES glesv2) -+ pkg_check_modules(PC_OPENGLES brcmglesv2) +- pkg_check_modules(PC_OPENGLES glesv2 QUIET) ++ pkg_check_modules(PC_OPENGLES brcmglesv2 QUIET) if(NOT OPENGLES_FOUND AND EMBEDDED_FOUND) set(CMAKE_PREFIX_PATH ${EMBEDDED_FOUND} ${CMAKE_PREFIX_PATH}) endif() @@ -53070,3 +52977,284 @@ index fb0bd6dad18199e8893c38644f93659bf0a3f61b..010288dc5de74380fc3795d00dbd9984 -lvchiq_arm" fi + +From e4e2f951d7450d9a69b1a396cf48b3f8b2488de7 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 21 Apr 2016 16:49:02 +0100 +Subject: [PATCH 62/65] Revert "[settings] remove show EXIF picture information + setting" + +This reverts commit e7d90188436b6966eff23fd695e1a9d18f4af1b4. +--- + addons/resource.language.en_gb/resources/strings.po | 11 ++++++++++- + system/settings/settings.xml | 5 +++++ + xbmc/pictures/GUIWindowPictures.cpp | 2 +- + xbmc/pictures/PictureInfoLoader.cpp | 8 ++++++-- + xbmc/pictures/PictureInfoLoader.h | 1 + + xbmc/settings/Settings.cpp | 1 + + xbmc/settings/Settings.h | 1 + + 7 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po +index 3d20c523cbf6666099f3210c86330078fcc46e21..cdf0e494c460a9cdbc5aa38fc9243485bf3d4d24 100644 +--- a/addons/resource.language.en_gb/resources/strings.po ++++ b/addons/resource.language.en_gb/resources/strings.po +@@ -17556,7 +17556,11 @@ msgctxt "#36305" + msgid "This category contains the settings for how picture file lists are handled." + msgstr "" + +-#empty string with id 36306 ++#. Description of setting "Pictures -> Show EXIF picture information" with label #38207 ++#: system/settings/settings.xml ++msgctxt "#36306" ++msgid "If EXIF information exists (date, time, camera used, etc.), it will be displayed." ++msgstr "" + + #. Description of setting with label #13360 "Automatically generate thumbnails" + #: system/settings/settings.xml +@@ -19633,3 +19637,8 @@ msgstr "" + msgctxt "#38206" + msgid "Max" + msgstr "" ++ ++#: system/settings/settings.xml ++msgctxt "#38207" ++msgid "Show EXIF picture information" ++msgstr "" +diff --git a/system/settings/settings.xml b/system/settings/settings.xml +index 8f62f7ca494ea5b3322653f0a2b9431ebd54c7ea..348763a80a035ba2fb0b8e6a25573606c2e2688e 100644 +--- a/system/settings/settings.xml ++++ b/system/settings/settings.xml +@@ -1180,6 +1180,11 @@ + + + ++ ++ 0 ++ true ++ ++ + + 0 + true +diff --git a/xbmc/pictures/GUIWindowPictures.cpp b/xbmc/pictures/GUIWindowPictures.cpp +index 2197079c0d02dc80bd87ccff4c1f0f14f1ed89ef..d798bc0c774bf8e6b54f694356d9afbe32719875 100644 +--- a/xbmc/pictures/GUIWindowPictures.cpp ++++ b/xbmc/pictures/GUIWindowPictures.cpp +@@ -208,7 +208,7 @@ void CGUIWindowPictures::OnPrepareFileItems(CFileItemList& items) + if (StringUtils::EqualsNoCase(items[i]->GetLabel(), "folder.jpg")) + items.Remove(i); + +- if (items.GetFolderCount() == items.Size()) ++ if (items.GetFolderCount()==items.Size() || !CSettings::GetInstance().GetBool(CSettings::SETTING_PICTURES_USETAGS)) + return; + + // Start the music info loader thread +diff --git a/xbmc/pictures/PictureInfoLoader.cpp b/xbmc/pictures/PictureInfoLoader.cpp +index dd3347277c75c5e63a4a4db9af9cc46605bb5ea9..05304f9fc44285d5577f2056625cceb15347ae57 100644 +--- a/xbmc/pictures/PictureInfoLoader.cpp ++++ b/xbmc/pictures/PictureInfoLoader.cpp +@@ -43,6 +43,7 @@ void CPictureInfoLoader::OnLoaderStart() + m_mapFileItems->SetFastLookup(true); + + m_tagReads = 0; ++ m_loadTags = CSettings::GetInstance().GetBool(CSettings::SETTING_PICTURES_USETAGS); + + if (m_pProgressCallback) + m_pProgressCallback->SetProgressMax(m_pVecItems->GetFileCount()); +@@ -87,8 +88,11 @@ bool CPictureInfoLoader::LoadItemLookup(CFileItem* pItem) + if (pItem->HasPictureInfoTag()) + return false; + +- pItem->GetPictureInfoTag()->Load(pItem->GetPath()); +- m_tagReads++; ++ if (m_loadTags) ++ { // Nothing found, load tag from file ++ pItem->GetPictureInfoTag()->Load(pItem->GetPath()); ++ m_tagReads++; ++ } + + return true; + } +diff --git a/xbmc/pictures/PictureInfoLoader.h b/xbmc/pictures/PictureInfoLoader.h +index 000b54fe1bb1dd1963edd5cf208ea318a5a5499d..2a022ff0ff66d237f0ebd12092c7b5ce8244a511 100644 +--- a/xbmc/pictures/PictureInfoLoader.h ++++ b/xbmc/pictures/PictureInfoLoader.h +@@ -39,5 +39,6 @@ protected: + + CFileItemList* m_mapFileItems; + unsigned int m_tagReads; ++ bool m_loadTags; + }; + +diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp +index 3444a135954775a2c2fd60c151f447f76471d307..15d408b6a11357e200d236d6b025cee08751bbdd 100644 +--- a/xbmc/settings/Settings.cpp ++++ b/xbmc/settings/Settings.cpp +@@ -297,6 +297,7 @@ const std::string CSettings::SETTING_AUDIOCDS_SETTINGS = "audiocds.settings"; + const std::string CSettings::SETTING_AUDIOCDS_EJECTONRIP = "audiocds.ejectonrip"; + const std::string CSettings::SETTING_MYMUSIC_SONGTHUMBINVIS = "mymusic.songthumbinvis"; + const std::string CSettings::SETTING_MYMUSIC_DEFAULTLIBVIEW = "mymusic.defaultlibview"; ++const std::string CSettings::SETTING_PICTURES_USETAGS = "pictures.usetags"; + const std::string CSettings::SETTING_PICTURES_GENERATETHUMBS = "pictures.generatethumbs"; + const std::string CSettings::SETTING_PICTURES_SHOWVIDEOS = "pictures.showvideos"; + const std::string CSettings::SETTING_PICTURES_DISPLAYRESOLUTION = "pictures.displayresolution"; +diff --git a/xbmc/settings/Settings.h b/xbmc/settings/Settings.h +index 0829f6b15207bf0b8f2e4a699600b46427fe6267..432a23ce6b501fa4f3fad1f4ecff9f19c28ca9b5 100644 +--- a/xbmc/settings/Settings.h ++++ b/xbmc/settings/Settings.h +@@ -254,6 +254,7 @@ public: + static const std::string SETTING_AUDIOCDS_EJECTONRIP; + static const std::string SETTING_MYMUSIC_SONGTHUMBINVIS; + static const std::string SETTING_MYMUSIC_DEFAULTLIBVIEW; ++ static const std::string SETTING_PICTURES_USETAGS; + static const std::string SETTING_PICTURES_GENERATETHUMBS; + static const std::string SETTING_PICTURES_SHOWVIDEOS; + static const std::string SETTING_PICTURES_DISPLAYRESOLUTION; + +From a7c1c2da5832e5f0246f1994e2d957892db9caba Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 28 Jun 2016 14:46:01 +0100 +Subject: [PATCH 63/65] ffmpeg: hacky fix for files with GMC + +--- + xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +index 3e271f12e1862552467ee7f905fb992b77d92178..6d7e4668d36f6996d3a1cb9fdbed889d16259bf2 100644 +--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp ++++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +@@ -1369,8 +1369,8 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) + stereoMode = GetStereoModeFromMetadata(m_pFormatContext->metadata); + if (!stereoMode.empty()) + st->stereo_mode = stereoMode; +- +- st->workaround_bugs = pStream->codec->workaround_bugs; ++ AVCodecContext *c = (AVCodecContext *)(((uint32_t *)pStream->internal)[4]); /* Eek! */ ++ st->workaround_bugs = c->workaround_bugs; + if ( m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD) ) + { + if (pStream->codec->codec_id == AV_CODEC_ID_PROBE) + +From d9b06184855ef0539ba08824b340275a822f2b33 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 19 Jul 2016 20:39:18 +0100 +Subject: [PATCH 64/65] mmalrender: Add sharpness control + +--- + addons/resource.language.en_gb/resources/strings.po | 2 +- + .../VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp | 13 ++++++++++++- + .../VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h | 1 + + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po +index cdf0e494c460a9cdbc5aa38fc9243485bf3d4d24..9b790684c1095242780b22ab3bdecc4ba7a6d39b 100644 +--- a/addons/resource.language.en_gb/resources/strings.po ++++ b/addons/resource.language.en_gb/resources/strings.po +@@ -8686,7 +8686,7 @@ msgstr "" + + #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp + msgctxt "#16313" +-msgid "VDPAU - Sharpness" ++msgid "Sharpness" + msgstr "" + + #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp +diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp +index 78042e65f53a4691eda80121599e06646fead29c..b029bfbaf8cbd83a5cb93823e1d5aa6bab52edd4 100644 +--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp ++++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp +@@ -403,6 +403,7 @@ CMMALRenderer::CMMALRenderer() : CThread("MMALRenderer"), m_processThread(this, + m_queue_process = nullptr; + m_error = 0.0; + m_vsync_count = ~0U; ++ m_sharpness = -2.0f; + m_vout_width = 0; + m_vout_height = 0; + m_vout_aligned_width = 0; +@@ -750,6 +751,15 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + + ManageRenderArea(); + ++ // if sharpness setting has changed, we should update it ++ if (m_sharpness != CMediaSettings::GetInstance().GetCurrentVideoSettings().m_Sharpness) ++ { ++ m_sharpness = CMediaSettings::GetInstance().GetCurrentVideoSettings().m_Sharpness; ++ char command[80], response[80]; ++ sprintf(command, "scaling_sharpness %d", ((int)(50.0f * (m_sharpness + 1.0f) + 0.5f))); ++ vc_gencmd(response, sizeof response, command); ++ } ++ + if (m_format != RENDER_FMT_MMAL) + { + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +@@ -927,7 +937,8 @@ bool CMMALRenderer::Supports(ERENDERFEATURE feature) + feature == RENDERFEATURE_ZOOM || + feature == RENDERFEATURE_ROTATION || + feature == RENDERFEATURE_VERTICAL_SHIFT || +- feature == RENDERFEATURE_PIXEL_RATIO) ++ feature == RENDERFEATURE_PIXEL_RATIO || ++ feature == RENDERFEATURE_SHARPNESS) + return true; + + return false; +diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h +index a1dd43845e65d5eba81d41fc679b837b5a3f573d..d07b16770608e772beeef0627d72dbe4cc21d6e4 100644 +--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h ++++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h +@@ -135,6 +135,7 @@ protected: + RENDER_STEREO_MODE m_video_stereo_mode; + RENDER_STEREO_MODE m_display_stereo_mode; + bool m_StereoInvert; ++ float m_sharpness; + + CCriticalSection m_sharedSection; + MMAL_COMPONENT_T *m_vout; + +From e02d61193a446ef76d5d272059b1475799d4daa8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 26 Jul 2016 19:00:03 +0100 +Subject: [PATCH 65/65] rbp: Ensure processinfo values are initialised + +--- + xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp | 2 ++ + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 5 ++--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp +index 1bab467cee97cad4a05fec71f29ca72d3ca93581..1a7bdf27c66c3df5496fff8113722c312f5fb209 100644 +--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp +@@ -590,6 +590,8 @@ bool CMMALVideo::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options) + m_speed = DVD_PLAYSPEED_NORMAL; + + m_processInfo.SetVideoDecoderName(m_pFormatName, true); ++ m_processInfo.SetVideoDimensions(m_decoded_width, m_decoded_height); ++ m_processInfo.SetVideoDAR(m_aspect_ratio); + + return true; + } +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index 6cd7d243d0fbea08c33e81edb5a51ab402bd110d..eee6cc67f0f0606714bbd025a232de6bf924b992 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -729,9 +729,6 @@ void OMXPlayerVideo::ResolutionUpdateCallBack(uint32_t width, uint32_t height, f + m_bAllowFullscreen = false; // only allow on first configure + } + +- m_processInfo.SetVideoDimensions(width, height); +- m_processInfo.SetVideoDAR(display_aspect); +- + unsigned int iDisplayWidth = width; + unsigned int iDisplayHeight = height; + +@@ -743,6 +740,8 @@ void OMXPlayerVideo::ResolutionUpdateCallBack(uint32_t width, uint32_t height, f + + m_fFrameRate = DVD_TIME_BASE / CDVDCodecUtils::NormalizeFrameduration((double)DVD_TIME_BASE / framerate); + m_processInfo.SetVideoFps(m_fFrameRate); ++ m_processInfo.SetVideoDimensions(width, height); ++ m_processInfo.SetVideoDAR((float)iDisplayWidth / (float)iDisplayHeight); + + CLog::Log(LOGDEBUG,"%s - change configuration. video:%dx%d. framerate: %4.2f. %dx%d format: BYPASS", + __FUNCTION__, video_width, video_height, m_fFrameRate, iDisplayWidth, iDisplayHeight); diff --git a/projects/RPi2/patches/kodi/kodi-001-backport.patch b/projects/RPi2/patches/kodi/kodi-001-backport.patch index baba26d40c..ba7a822daf 100644 --- a/projects/RPi2/patches/kodi/kodi-001-backport.patch +++ b/projects/RPi2/patches/kodi/kodi-001-backport.patch @@ -1,7 +1,7 @@ -From 864954f03895aa990ca985273fef53d962ec0cbf Mon Sep 17 00:00:00 2001 +From 4d1fbbaeba1a6ff1d77df125f9415160c8922380 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 17:27:39 +0100 -Subject: [PATCH 01/61] build: Allow installed links to be overwritten +Subject: [PATCH 01/65] build: Allow installed links to be overwritten --- tools/depends/target/Makefile | 72 +++++++++++++++++++-------------------- @@ -9,7 +9,7 @@ Subject: [PATCH 01/61] build: Allow installed links to be overwritten 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile -index 2f0c83141034374ec5742a96a282391405ec8125..89f24641fd341336545fbdc6024e88eaacc805e7 100644 +index 16c82d3cb06e20adf27e7f429eebda6b7efbdf8c..8dcfe26cbc29ebe47cdb212712ae64745f8a009e 100644 --- a/tools/depends/target/Makefile +++ b/tools/depends/target/Makefile @@ -129,41 +129,41 @@ distclean:: @@ -137,10 +137,10 @@ index e5cb842d9f61578efe5df95dfa3a938cf5346663..3ddba3cefb1ca785f7a17c72f42aacbb + [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf /usr/lib/$(HOST)/libm.so $(ADDON_DEPS_DIR)/lib/ -From fd2ced63da994a66ab5c060880009f5e9bab652d Mon Sep 17 00:00:00 2001 +From 205dfaa46a1cfab63ed27111be95b9760f70d21f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 02/61] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 02/65] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -164,10 +164,10 @@ index 8ea5161637b4e66ddd222859f058521dbc8922b9..811019a39a10acc21b83f0b0c70d5500 dialog->ProcessRenderLoop(false); if (allowCancel && dialog->IsCanceled()) -From c8caccf7ae230790e5b81b496d664a331c7fbead Mon Sep 17 00:00:00 2001 +From a20bc025b57d5452fd8ab7cb377f5eb6ec0da65b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 03/61] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 03/65] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -190,10 +190,10 @@ index 6a9066b2dbe8d505d636b3638c1d35c7c8a698ed..9c6ac5d4cc9bf21b2d48619cc6fb5d27 info.m_displayName.substr(info.m_displayName.size()-5) == " HDMI") { -From bf2fbaf79191cbfd18b2b6eff7749d1d28cfdc83 Mon Sep 17 00:00:00 2001 +From 2ca2c495ca734baef60d1e47b0653b72dac024f7 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 1 May 2014 16:28:39 +0100 -Subject: [PATCH 04/61] Improved file buffering in CArchive +Subject: [PATCH 04/65] Improved file buffering in CArchive Even though memcpy is typically inlined by the compiler into byte/word loads and stores (at least for release builds), the frequency with which 1, 2 and 4 @@ -253,10 +253,10 @@ index 23cac2759fb10d532da56fa75c5528c5589e9010..89d31d4db1afa7340ed8cd51a7a9fa7a } -From ccdbbe94567517e4cb3bc3904d99893affa5132d Mon Sep 17 00:00:00 2001 +From 99e26b48a0e18ac68c48112ff46675300c00473e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 10 Aug 2014 16:45:16 +0100 -Subject: [PATCH 05/61] filesystem: Make support of browsing into archives +Subject: [PATCH 05/65] filesystem: Make support of browsing into archives optional The ability to browse, scan and play content in archives can cause problems on low powered/low memory devices. @@ -275,10 +275,10 @@ We'll let people who don't use archives disable it manually 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 26915cb15fdd589d54c11b1582ef18dc71f38bb2..62bd967a284b0b93820ef75bf8d76c3e78ee889d 100644 +index c89e91bdb0a275cf804df799c2d0a261cf086785..f5ca2397d9169c7dcd28a9f9bc882dc3d8490571 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19173,6 +19173,15 @@ msgstr "" +@@ -19276,6 +19276,15 @@ msgstr "" #: system/settings/rbp.xml msgctxt "#38010" msgid "GPU accelerated" @@ -295,10 +295,10 @@ index 26915cb15fdd589d54c11b1582ef18dc71f38bb2..62bd967a284b0b93820ef75bf8d76c3e #. Setting #38011 "Show All Items entry" diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index 265f3982ceee40ece6e3c5073a0e92902f482212..cf15fcbdb860608b2658b310614e1cd78cc94a18 100644 +index 62e9c8ed2199f8c57a640b06b0216ee4c8f0ca1e..e8b0d3d472b02fd161a4b51e957b9129e3cb9792 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml -@@ -99,4 +99,15 @@ +@@ -102,4 +102,15 @@ @@ -315,10 +315,10 @@ index 265f3982ceee40ece6e3c5073a0e92902f482212..cf15fcbdb860608b2658b310614e1cd7 + diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp -index f1754ef7343daebd51e6bc892b49fd5c1773cd73..b73ecebb203b11e2e7f1bdc8731fafbaf7f070fa 100644 +index 618e7dc98b0f474f93684f6aec266a9033feee9c..22a61d0177d4165a37ddef1ca2dd9fe972a3b47b 100644 --- a/xbmc/Util.cpp +++ b/xbmc/Util.cpp -@@ -1778,7 +1778,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, +@@ -1855,7 +1855,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, URIUtils::RemoveExtension(strCandidate); if (StringUtils::StartsWithNoCase(strCandidate, videoName)) { @@ -327,7 +327,7 @@ index f1754ef7343daebd51e6bc892b49fd5c1773cd73..b73ecebb203b11e2e7f1bdc8731fafba CUtil::ScanArchiveForAssociatedItems(pItem->GetPath(), "", item_exts, associatedFiles); else { -@@ -1788,7 +1788,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, +@@ -1865,7 +1865,7 @@ void CUtil::ScanPathsForAssociatedItems(const std::string& videoName, } else { @@ -366,10 +366,10 @@ index a0fd0a9011e71f4af1535110c696b6ea5c4b37db..688b71a297c7c617c6764bfe6be157d7 { CURL xbtUrl = URIUtils::CreateArchivePath("xbt", url); -From d6eca1347e4e38394f6016def44d98a8fcb0fe61 Mon Sep 17 00:00:00 2001 +From f7bedecdb5bc79b6f082c925eaa305b682ac218b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 13:06:57 +0000 -Subject: [PATCH 06/61] [rbp] Make cachemembuffersize default depend on memory +Subject: [PATCH 06/65] [rbp] Make cachemembuffersize default depend on memory size --- @@ -471,10 +471,10 @@ index 6beebe0c9c11b0bab63e5abbd4aea2d62bb05f0c..03f566d3ee4eab690d2236b773908026 } -From 76c3457a5abf0177d379ed4054938bb73379cc4d Mon Sep 17 00:00:00 2001 +From 85725ac945cbdc5a8e970d54ea6beda5b7bc9641 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 30 May 2014 14:58:43 +0100 -Subject: [PATCH 07/61] [settings] Experiment: Report DESKTOP resolution in +Subject: [PATCH 07/65] [settings] Experiment: Report DESKTOP resolution in video settings --- @@ -496,10 +496,10 @@ index c1cca7efdd5d119b07308b947c569911f2a9bdc9..e03f3c8ef21ba824c0d707042e5a735a StringUtils::Format("%dx%d%s", resolution->width, resolution->height, ModeFlagsToString(resolution->flags, false).c_str()), -From 645bd37c7f9472f391282c5bee72b4d3378dd979 Mon Sep 17 00:00:00 2001 +From 58d65ba07bc8254b433b1eec4f3ecf2aac895bd3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 24 Sep 2014 23:13:52 +0100 -Subject: [PATCH 08/61] [audio] Add settings option to boost centre channel +Subject: [PATCH 08/65] [audio] Add settings option to boost centre channel when downmixing This allows a dB volume increase to be added to centre channel. @@ -517,10 +517,10 @@ Should work with Pi Sink (dvdplayer/paplayer) and omxplayer 5 files changed, 46 insertions(+) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 62bd967a284b0b93820ef75bf8d76c3e78ee889d..dd36abb9f58c1ea2c6e5591c1b43f138434aad1c 100644 +index f5ca2397d9169c7dcd28a9f9bc882dc3d8490571..4ff4c60c7a867e9d0a40adc0711287c8be324b8e 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19347,6 +19347,21 @@ msgstr "" +@@ -19450,6 +19450,21 @@ msgstr "" #empty strings from id 38043 to 38099 @@ -543,10 +543,10 @@ index 62bd967a284b0b93820ef75bf8d76c3e78ee889d..dd36abb9f58c1ea2c6e5591c1b43f138 #: system/settings/settings.xml msgctxt "#38100" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 3ab531e9d4fa6c1305a833ba58aaf2a6c44ce310..f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75 100644 +index ca912cd996d3236161ba7934da32d22df6b065ab..4197841131914f98cd29f5fd7b9ec3cedd2d01da 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -2268,6 +2268,18 @@ +@@ -2366,6 +2366,18 @@ @@ -625,10 +625,10 @@ index f16b822ed7b4aebe18b5d339b3f71ee66e97c23f..993d4b33a294e88c2c004b7943895ba5 // stereo upmix if (upmix && m_src_channels == 2 && m_dst_channels > 2) -From c092967c5512c2632533991f6cc25778ad2cb0af Mon Sep 17 00:00:00 2001 +From b3ec4c120398f86571ca6539a0b46911e3e03849 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 27 Oct 2014 15:23:51 +0000 -Subject: [PATCH 09/61] [rbp] Default extract thumbnails to false +Subject: [PATCH 09/65] [rbp] Default extract thumbnails to false It can take 80 seconds for a single file on a Pi. It can cause crashes with out-of-memory errors. It genereates a lot of support issues. Best to default to disabled and let users enable it if they must @@ -637,7 +637,7 @@ It genereates a lot of support issues. Best to default to disabled and let users 1 file changed, 6 insertions(+) diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index cf15fcbdb860608b2658b310614e1cd78cc94a18..770c628a15304856504676af82d46d57c97b86b8 100644 +index e8b0d3d472b02fd161a4b51e957b9129e3cb9792..289dc55ec41aa44848519a05f8ee1ccc72740085 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml @@ -43,6 +43,12 @@ @@ -654,10 +654,10 @@ index cf15fcbdb860608b2658b310614e1cd78cc94a18..770c628a15304856504676af82d46d57 -From 880e3ee7b784c9deddb66df4d80927699059c199 Mon Sep 17 00:00:00 2001 +From bdb8c0811d58ebe6de69db82e9003456a677a059 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Nov 2014 16:31:56 +0000 -Subject: [PATCH 10/61] [languageinvoker] Reduce priority of python threads +Subject: [PATCH 10/65] [languageinvoker] Reduce priority of python threads --- xbmc/interfaces/generic/LanguageInvokerThread.cpp | 5 +++++ @@ -680,10 +680,10 @@ index fcdd0633f30cd9595ae6cc4ed293677cdcb1f422..16f0c8916b5e0a9e90973d194cf2ebd1 } -From de8e9ca53ad455e535526f9973fb775fbc349d6e Mon Sep 17 00:00:00 2001 +From eec3216e64389a02e22180a626d8291db2b949ea Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 14 Dec 2013 16:55:05 +0000 -Subject: [PATCH 11/61] logging: Add microsecond timer to log messages +Subject: [PATCH 11/65] logging: Add microsecond timer to log messages --- xbmc/utils/log.cpp | 15 +++++++++++++-- @@ -734,10 +734,10 @@ index 3443f1293d86018830269ed992c90a4e69c0430c..d330320842243df6f5ff256e608dddfa levelNames[logLevel]) + strData; -From 9ca4200de7da40564dd08b6e1d955df3045f27d3 Mon Sep 17 00:00:00 2001 +From 7c900d5144d7a912db7360b92eff90702fa3f366 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 29 Nov 2014 15:25:16 +0000 -Subject: [PATCH 12/61] [rbp] hack: wait for splash to complete before changing +Subject: [PATCH 12/65] [rbp] hack: wait for splash to complete before changing hdmi mode --- @@ -821,22 +821,22 @@ index ee297700f8583dbb15cbe53baf8c887b36bd2ea0..bbe501d40c5e101f1d0d64b8b59b1928 RENDER_STEREO_MODE stereo_mode = g_graphicsContext.GetStereoMode(); -From c86a562cac08f054425e46f2c814b4f2f0d25a3a Mon Sep 17 00:00:00 2001 +From b3107b218150f1923a0b973cc85b589182ac8df7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 11 Dec 2014 17:00:57 +0000 -Subject: [PATCH 13/61] Fix for UI not showing both extractflags and +Subject: [PATCH 13/65] Fix for UI not showing both extractflags and extractthumb --- - addons/resource.language.en_gb/resources/strings.po | 9 ++++++--- - system/settings/settings.xml | 4 ++-- - 2 files changed, 8 insertions(+), 5 deletions(-) + addons/resource.language.en_gb/resources/strings.po | 10 +++++++--- + system/settings/settings.xml | 4 ++-- + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a42ffd21f 100644 +index 4ff4c60c7a867e9d0a40adc0711287c8be324b8e..f4abad73fa75574576383fca3956f9f4ecb4c94c 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -12385,7 +12385,7 @@ msgstr "" +@@ -12430,7 +12430,7 @@ msgstr "" #: system/settings/settings.xml msgctxt "#20433" @@ -845,7 +845,7 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #: xbmc/dialogs/GUIDialogSmartPlaylistRule.cpp -@@ -16821,7 +16821,7 @@ msgstr "" +@@ -16912,7 +16912,7 @@ msgstr "" #. Description of setting with label #20433 "Extract thumbnails and video information" #: system/settings/settings.xml msgctxt "#36178" @@ -854,7 +854,7 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #. Description of setting with label #20419 "Replace file names with library titles" -@@ -16833,7 +16833,7 @@ msgstr "" +@@ -16924,7 +16924,7 @@ msgstr "" #. Description of setting with label #20433 "Extract thumbnails and video information" #: system/settings/settings.xml msgctxt "#36180" @@ -863,18 +863,19 @@ index dd36abb9f58c1ea2c6e5591c1b43f138434aad1c..3208dad8988fba4bce7687861037274a msgstr "" #: system/settings/settings.xml -@@ -19480,3 +19480,6 @@ msgctxt "#39007" +@@ -19582,3 +19582,7 @@ msgstr "" + msgctxt "#39007" msgid "This provides access to where picture sources can be added and otherwise managed." msgstr "" - ++ +msgctxt "#38190" +msgid "Extract thumbnails from video files" +msgstr "" diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75..88b67c1869246037e81fb3efbe293f9fee37d25e 100644 +index 4197841131914f98cd29f5fd7b9ec3cedd2d01da..dc7144ac8756fb1af9d7f3bb56c0b471f0ae3f9b 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -972,8 +972,8 @@ +@@ -977,8 +977,8 @@ true @@ -886,10 +887,10 @@ index f7a0ded4e39f1836c7a7cf19a3160d12a30e1a75..88b67c1869246037e81fb3efbe293f9f -From 589e105736d4d65fea6812e1346317ed7afe518d Mon Sep 17 00:00:00 2001 +From a7bb3ad02267746ae24fdcedcc29ccae4620cfb2 Mon Sep 17 00:00:00 2001 From: anaconda Date: Thu, 11 Sep 2014 21:30:43 +0200 -Subject: [PATCH 14/61] Disable autoscrolling while on screensaver and while +Subject: [PATCH 14/65] Disable autoscrolling while on screensaver and while opening streams. --- @@ -902,10 +903,10 @@ Subject: [PATCH 14/61] Disable autoscrolling while on screensaver and while 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index def6ed703b25087c4f61f71acb3fbb5257b8c44b..4fffdfad5296775161989468cb8197f892c204e1 100644 +index b3d5c77bb51c6a67964a695ce81efb42ea76a7bf..9b29a8cdb796db3bb6a3419c493aadb914f60956 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -5188,3 +5188,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const +@@ -5200,3 +5200,13 @@ bool CApplication::NotifyActionListeners(const CAction &action) const return false; } @@ -1020,10 +1021,10 @@ index d7bc1c5ba6067af9a460589920367288c640a915..ac766293f1c47c7f145cb46f6b152144 if (m_lastRenderTime) m_autoScrollDelayTime += currentTime - m_lastRenderTime; -From 6dfdde4dd31580ab361d73b46342ca78c2f1abce Mon Sep 17 00:00:00 2001 +From 3ced3be4ca859b1b236c9c1fae2098751b95a18e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 13 Dec 2014 18:35:20 +0000 -Subject: [PATCH 15/61] [demuxer] Avoid memcpy on every demuxer packet +Subject: [PATCH 15/65] [demuxer] Avoid memcpy on every demuxer packet Avoids an unnecessary memcpy on every demuxer packet which for high bitrate videos can be significant. @@ -1034,10 +1035,10 @@ high bitrate videos can be significant. 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561963726de 100644 +index c99916652866bfd4cc60271507a43444492f8eb8..1069710e3702aa6fc39e5fb550d0cabcf525ada6 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -851,7 +851,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -854,7 +854,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { if(m_pkt.pkt.stream_index == (int)m_pFormatContext->programs[m_program]->stream_index[i]) { @@ -1046,7 +1047,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 break; } } -@@ -860,7 +860,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -863,7 +863,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() bReturnEmpty = true; } else @@ -1055,7 +1056,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 } else bReturnEmpty = true; -@@ -890,9 +890,13 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -893,9 +893,13 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() // copy contents into our own packet pPacket->iSize = m_pkt.pkt.size; @@ -1071,7 +1072,7 @@ index 929f9879e28d6a496ddf713081dcece2cc773a48..bfdec6ffdb882465bb7a4b9db9bd6561 pPacket->pts = ConvertTimestamp(m_pkt.pkt.pts, stream->time_base.den, stream->time_base.num); pPacket->dts = ConvertTimestamp(m_pkt.pkt.dts, stream->time_base.den, stream->time_base.num); -@@ -946,7 +950,10 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -949,7 +953,10 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() pPacket->iStreamId = m_pkt.pkt.stream_index; } m_pkt.result = -1; @@ -1123,10 +1124,10 @@ index df0f35bd49c65b302de4ccd110d859e8b881ea5f..b4b591ae4c4dd4fb0b36d4d00fedca96 } catch(...) { -From 83e6d7254eb884e2aaf47445f58b1e96223c93d2 Mon Sep 17 00:00:00 2001 +From 5fa52de0fa29ad2bed6c5dcd2faf129a8a61729c Mon Sep 17 00:00:00 2001 From: anaconda Date: Wed, 25 Feb 2015 18:22:21 +0100 -Subject: [PATCH 16/61] Load OSD dialogs on startup. +Subject: [PATCH 16/65] Load OSD dialogs on startup. Fixes skipped frames the first time they're loaded in memory on less powered devices, like a Raspberry Pi, when using DVDPlayer. @@ -1141,7 +1142,7 @@ See http://forum.kodi.tv/showthread.php?tid=211501&pid=1938811#pid1938811 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp -index 65071639e216a37d7b3cec119f1fe573718f44b6..52966fce668bbd1c58aa7e76feb5a2dbf93b1ab7 100644 +index 1beb8560a1030f6198b22f5d9c082a27dd85d8a8..ca7c90b0c4a7fc34a31fe6dcf787b8980d28df71 100644 --- a/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp +++ b/xbmc/pvr/dialogs/GUIDialogPVRChannelsOSD.cpp @@ -49,6 +49,7 @@ using namespace KODI::MESSAGING; @@ -1206,7 +1207,7 @@ index e498e1fd476d9ab5300bb00bc39946a22cfd93cb..a6648d016b07e2eb3e52f8d927697cc5 CGUIDialogVideoOSD::~CGUIDialogVideoOSD(void) diff --git a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp -index f9bc12da1aea3ea0926fefff93856cdd4328cb2f..ee6984c469023878b1fad18a29056b114d04fdcc 100644 +index 5adebf41429241be1224167e9b52262e0a446889..fa9772a45da94208b9ece407966a898fc5013a0f 100644 --- a/xbmc/video/dialogs/GUIDialogVideoSettings.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoSettings.cpp @@ -65,7 +65,9 @@ @@ -1221,10 +1222,10 @@ index f9bc12da1aea3ea0926fefff93856cdd4328cb2f..ee6984c469023878b1fad18a29056b11 CGUIDialogVideoSettings::~CGUIDialogVideoSettings() { } -From b4180c7279375d6ef4c38535c6fa0b09b9cea66d Mon Sep 17 00:00:00 2001 +From 74963aa37bbea2fad5a631bbca4bb4bf7bc410dd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Apr 2015 20:51:14 +0100 -Subject: [PATCH 17/61] [gui] Also limit GUI updates when in non full-screen +Subject: [PATCH 17/65] [gui] Also limit GUI updates when in non full-screen video mode --- @@ -1232,10 +1233,10 @@ Subject: [PATCH 17/61] [gui] Also limit GUI updates when in non full-screen 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp -index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991d1bf0bdc 100644 +index 9b29a8cdb796db3bb6a3419c493aadb914f60956..d39017434d819ca3190161c34a5dc70bb6a2022b 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp -@@ -2743,7 +2743,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2756,7 +2756,7 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) #if defined(TARGET_RASPBERRY_PI) || defined(HAS_IMXVPU) // This code reduces rendering fps of the GUI layer when playing videos in fullscreen mode // it makes only sense on architectures with multiple layers @@ -1244,7 +1245,7 @@ index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991 fps = CSettings::GetInstance().GetInt(CSettings::SETTING_VIDEOPLAYER_LIMITGUIUPDATE); #endif -@@ -2756,6 +2756,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) +@@ -2769,6 +2769,8 @@ void CApplication::FrameMove(bool processEvents, bool processGUI) { if (!m_skipGuiRender) g_windowManager.Process(CTimeUtils::GetFrameTime()); @@ -1254,10 +1255,10 @@ index 4fffdfad5296775161989468cb8197f892c204e1..a98acfce3442f896250fad8003fb5991 g_windowManager.FrameMove(); } -From 7a8d7fb1bc28289af5f658441709c03bec33d092 Mon Sep 17 00:00:00 2001 +From 10844c301cea6e5f07a55bf91599b9c094d318f6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 May 2015 23:58:06 +0100 -Subject: [PATCH 18/61] [screensaver] Leave GUI contents available for +Subject: [PATCH 18/65] [screensaver] Leave GUI contents available for screensaver --- @@ -1265,10 +1266,10 @@ Subject: [PATCH 18/61] [screensaver] Leave GUI contents available for 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp -index 82b8b32eee8ab95555bbee462b36bfbf819f39b8..14b51568a959afa5648b844a2a87efbb57b5249a 100644 +index 227f323083b0fb9cee3b576bfcc7b51d5e27ac10..6994f16290ca3ec9da124fbf1cfa21716333855d 100644 --- a/xbmc/guilib/GUIWindowManager.cpp +++ b/xbmc/guilib/GUIWindowManager.cpp -@@ -792,7 +792,16 @@ void CGUIWindowManager::ActivateWindow_Internal(int iWindowID, const std::vector +@@ -795,7 +795,16 @@ void CGUIWindowManager::ActivateWindow_Internal(int iWindowID, const std::vector int currentWindow = GetActiveWindow(); CGUIWindow *pWindow = GetWindow(currentWindow); if (pWindow) @@ -1287,10 +1288,10 @@ index 82b8b32eee8ab95555bbee462b36bfbf819f39b8..14b51568a959afa5648b844a2a87efbb // Add window to the history list (we must do this before we activate it, -From 3baa1a6cc514b6ceeed4c10fe72d725395b28a06 Mon Sep 17 00:00:00 2001 +From cca5e7cfe42db8cdb67457a41b7ef3dcd7b721ae Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 6 Jun 2015 18:43:57 +0100 -Subject: [PATCH 19/61] ffmpeg: Automatic switch to software decode for GMC +Subject: [PATCH 19/65] ffmpeg: Automatic switch to software decode for GMC with more than one warp point --- @@ -1439,10 +1440,10 @@ index 03fdf6efa072219d55cac21b7f7923ffc6c00e17..e3a32aebfe59016b43cd7c2b304921b5 class CDemuxStreamAudio : public CDemuxStream diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index bfdec6ffdb882465bb7a4b9db9bd6561963726de..c8ba4f869e844550e47ab9084aad1c59ba10f53a 100644 +index 1069710e3702aa6fc39e5fb550d0cabcf525ada6..87674a3e45b0991447c817499524c09a3b595ca4 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1323,7 +1323,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1326,7 +1326,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (!stereoMode.empty()) st->stereo_mode = stereoMode; @@ -1518,10 +1519,10 @@ index f135d423c0ca76fd70e79ae5b7d035f0cb79fc75..d9b576bc46055fdab1c134e5f2c63cd4 else if ((hint.codec == AV_CODEC_ID_VC1 || hint.codec == AV_CODEC_ID_WMV3) && g_RBP.GetCodecWvc1()) supported = true; -From 43dc7e2beea8ce8abebc3ae26ac7ac31263949ee Mon Sep 17 00:00:00 2001 +From 3d13e28a7a009dae14e1ed72d94c4192e7bee0fe Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 10 Mar 2016 17:56:11 +0000 -Subject: [PATCH 20/61] [rbp] HW mouse pointer +Subject: [PATCH 20/65] [rbp] HW mouse pointer Updating the mouse point provokes a complete screen update which can make it feel laggy and results in high cpu. @@ -1536,7 +1537,7 @@ Render the mouse with an overlay to avoid redrawing the normal gui. 5 files changed, 282 insertions(+) diff --git a/xbmc/guilib/GUIWindowManager.cpp b/xbmc/guilib/GUIWindowManager.cpp -index 14b51568a959afa5648b844a2a87efbb57b5249a..5384f5686578ee455263b0ee636b2adc332e0264 100644 +index 6994f16290ca3ec9da124fbf1cfa21716333855d..97a693ad29a54a53acbdc9abe7f83c103e5e1dac 100644 --- a/xbmc/guilib/GUIWindowManager.cpp +++ b/xbmc/guilib/GUIWindowManager.cpp @@ -199,7 +199,9 @@ void CGUIWindowManager::CreateWindows() @@ -1954,10 +1955,10 @@ index 1b1d2f2e60334ed0f3a9964d106957f58e69f1b3..c82ba84625fe3556ff49764d40ceb3ec #endif -From a3fffaef5c155d74ff051a7bbb2c1b56449ece13 Mon Sep 17 00:00:00 2001 +From e09807bed7411203a4c032e46a839cb215194ac7 Mon Sep 17 00:00:00 2001 From: Claudio-Sjo Date: Mon, 16 Feb 2015 14:51:26 +0100 -Subject: [PATCH 21/61] - allow reads < CDIO_CD_FRAMESIZE_RAW by using a buffer +Subject: [PATCH 21/65] - allow reads < CDIO_CD_FRAMESIZE_RAW by using a buffer - fixes #15794 --- @@ -2149,10 +2150,10 @@ index 0427af4534bfe59a343f0518c7f4242d93299836..e99236294fa8b9b613e465a8ecaf3ad3 lsn_t m_lsnCurrent; // Position inside the track in logical sector number lsn_t m_lsnEnd; // End of m_iTrack in logical sector number -From 60a1b2ccb05742807a0fcbceaf5da47c8c13a66f Mon Sep 17 00:00:00 2001 +From 23eb36012a54590dc75e2b0a9a2304092272d483 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 24 Jun 2016 19:38:13 +0100 -Subject: [PATCH 22/61] codecoverlay: Include codec name in overlay +Subject: [PATCH 22/65] codecoverlay: Include codec name in overlay --- xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp | 4 ++++ @@ -2163,7 +2164,7 @@ Subject: [PATCH 22/61] codecoverlay: Include codec name in overlay 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp -index 24228154ecf99911f74407d73d280778e6f98fcd..188b85b12b86f887324cdcfda3c3aa4cd90d3a11 100644 +index a0cae3e603a3d0bcd954c75c9796f1afa995a9a1..5eee488a59a689e66325e8f8a9467ad2bb394a54 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp @@ -210,6 +210,10 @@ void CVideoPlayerAudio::UpdatePlayerInfo() @@ -2178,10 +2179,10 @@ index 24228154ecf99911f74407d73d280778e6f98fcd..188b85b12b86f887324cdcfda3c3aa4c //print the inverse of the resample ratio, since that makes more sense //if the resample ratio is 0.5, then we're playing twice as fast diff --git a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -index fee65c3bd9ccdb3b7fc6e677c0473dfdd3d131bc..11ffffb23b435b1ea77fc756cf321013393f9f4a 100644 +index 06305e13c0687ba6899a6ab1f364345a3115c0f1..7f090615d5696e538fdd7ab376b76ef8212927cf 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -@@ -909,10 +909,13 @@ int CVideoPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts) +@@ -915,10 +915,13 @@ int CVideoPlayerVideo::OutputPicture(const DVDVideoPicture* src, double pts) std::string CVideoPlayerVideo::GetPlayerInfo() { @@ -2246,10 +2247,10 @@ index 0df7e72cc9d1947173c2bac5e72eb09976b51aa5..b5050081c360d29b1b478c27e6b88291 double m_iSubtitleDelay; bool m_bRenderSubs; -From 34b921907166a74b1f941cb54e6437bbddc50e1e Mon Sep 17 00:00:00 2001 +From d0279647e6ebd58b37bb61385942e912f1d7cc73 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 8 Mar 2016 21:20:58 +0300 -Subject: [PATCH 23/61] [DebugInfo] Add cpu usage info. +Subject: [PATCH 23/65] [DebugInfo] Add cpu usage info. --- .../VideoPlayer/VideoRenderers/DebugRenderer.cpp | 56 ++++++++-------------- @@ -2258,10 +2259,10 @@ Subject: [PATCH 23/61] [DebugInfo] Add cpu usage info. 3 files changed, 30 insertions(+), 42 deletions(-) diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp -index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d88495a55950 100644 +index 539a560f9554478ad25a5631121dc74e667d9b40..08721e153e5f3232585eb776d1d1b44396f63de4 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.cpp -@@ -27,7 +27,7 @@ using namespace OVERLAY; +@@ -28,7 +28,7 @@ using namespace OVERLAY; CDebugRenderer::CDebugRenderer() { @@ -2270,7 +2271,7 @@ index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d884 { m_overlay[i] = nullptr; m_strDebug[i] = " "; -@@ -36,54 +36,36 @@ CDebugRenderer::CDebugRenderer() +@@ -37,54 +37,36 @@ CDebugRenderer::CDebugRenderer() CDebugRenderer::~CDebugRenderer() { @@ -2342,15 +2343,15 @@ index 846868967e15309c22b4ee46795a914230dc65d1..36be6ce222cfae9680af6834e934d884 } void CDebugRenderer::Render(CRect &src, CRect &dst, CRect &view) -@@ -120,7 +102,7 @@ void CDebugRenderer::CRenderer::Render(int idx) +@@ -121,7 +103,7 @@ void CDebugRenderer::CRenderer::Render(int idx) COverlayText *text = dynamic_cast(o); if (text) - text->PrepareRender("arial.ttf", 1, 16, 0, m_font, m_fontBorder); + text->PrepareRender("arial.ttf", 1, 12, 0, m_font, m_fontBorder); - o->m_pos = COverlay::POSITION_ABSOLUTE; - o->m_align = COverlay::ALIGN_SCREEN; + RESOLUTION_INFO res = g_graphicsContext.GetResInfo(g_graphicsContext.GetVideoResolution()); + diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h b/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h index 85aefaace73994730f7d2bdff9de85c79e99b2a2..8005a13bc220be0c5c596d276197c11ed938ffb0 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/DebugRenderer.h @@ -2386,7 +2387,7 @@ index 85aefaace73994730f7d2bdff9de85c79e99b2a2..8005a13bc220be0c5c596d276197c11e }; \ No newline at end of file diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6da090aa8c 100644 +index f96be370c6ff7e19aa22b47b559f7a2bee192069..4d5b9f740d08b95b1780caf6da0200583d9c6318 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp @@ -24,6 +24,7 @@ @@ -2397,7 +2398,7 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d #include "utils/log.h" #include "utils/StringUtils.h" #include "windowing/WindowingFactory.h" -@@ -922,7 +923,7 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) +@@ -925,7 +926,7 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) if (m_renderDebug) { @@ -2406,9 +2407,9 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d m_playerPort->GetDebugInfo(audio, video, player); -@@ -936,8 +937,10 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) +@@ -939,8 +940,10 @@ void CRenderManager::Render(bool clear, DWORD flags, DWORD alpha, bool gui) missedvblanks, - clockspeed - 100.0); + clockspeed * 100); } + cpu = g_cpuInfo.GetCoresUsageString(); @@ -2419,10 +2420,10 @@ index 558a1f3df9ac82f3c7f32a91a1f2235c7f6563c6..f2a133e1ff7b440ebc741878ccf87e6d m_debugTimer.Set(1000); -From 5732950f2b9b5c9488bf669fc1dabfe773098900 Mon Sep 17 00:00:00 2001 +From 5a5fb07850e90081f355f308f3f785cdd68d3148 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 22 May 2015 13:56:29 +0100 -Subject: [PATCH 24/61] ffmpeg: Allow neon to be enabled in unified builds +Subject: [PATCH 24/65] ffmpeg: Allow neon to be enabled in unified builds --- tools/depends/target/ffmpeg/Makefile | 4 ++++ @@ -2445,10 +2446,10 @@ index dffe2da1dfd09e06c5f15c362f7cbe3cf2a26f75..4081dddb6bc2db53559d35506cad6af4 ifeq ($(OS), linux) ffmpg_config += --target-os=$(OS) --cpu=$(CPU) -From 2bdca30180c30357bf1ad3f2266622acc44605a9 Mon Sep 17 00:00:00 2001 +From 0daa9854de558357b37bfd9755fdf7d9094ed692 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 27 Feb 2015 14:37:27 +0000 -Subject: [PATCH 25/61] ffmpeg: Add some upstream HEVC optimisations +Subject: [PATCH 25/65] ffmpeg: Add some upstream HEVC optimisations --- tools/depends/target/ffmpeg/Makefile | 6 +- @@ -6246,10 +6247,10 @@ index 0000000000000000000000000000000000000000..5e8e07d407f045fc99554f0f061d1e81 +2.5.0 + -From 68dcdd8420309caf7e4f7896b5c27df98705590c Mon Sep 17 00:00:00 2001 +From 6d71c6a31c4adfee8f95156360ddae12e821db21 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 14:04:18 +0100 -Subject: [PATCH 26/61] [ffmpeg] Add GPU acceleration to hevc +Subject: [PATCH 26/65] [ffmpeg] Add GPU acceleration to hevc --- tools/depends/target/ffmpeg/Makefile | 4 +- @@ -44435,10 +44436,10 @@ index 0000000000000000000000000000000000000000..e172ebf157aebffe1ae50b4a2b25fd71 +2.7.4 + -From 8d0b79d79bc31d6f84ee57e9b40b45dbe92be56d Mon Sep 17 00:00:00 2001 +From dd2ed73dfc759d5afd988e4e544aee0cfa6b1e37 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 22 Aug 2015 23:06:56 +0100 -Subject: [PATCH 27/61] [dvdmessage] Increase timeout on +Subject: [PATCH 27/65] [dvdmessage] Increase timeout on CDVDMsgGeneralSynchronize --- @@ -44459,10 +44460,10 @@ index 0dcc664fd862706c60659f3664c7d964597c94d5..7614c831af9dfc821121a4111546fd4d long CDVDMsgGeneralSynchronize::Release() -From 3ccd3f7c40d9211b26df3479d89e931eb4ff3a95 Mon Sep 17 00:00:00 2001 +From d3f5e306acd46cc7b8173c2e96a78a993764222d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 16 Sep 2015 19:05:12 +0100 -Subject: [PATCH 28/61] [3d] Make MVC a valid 3D filename tag +Subject: [PATCH 28/65] [3d] Make MVC a valid 3D filename tag --- xbmc/guilib/StereoscopicsManager.cpp | 9 +++++++++ @@ -44523,20 +44524,20 @@ index 1727580c0c8de2b6fda19a741f90721a570b96b8..4fa973515df6e677418a6bf7f9d0b4a3 bool m_useDisplayControlHWStereo; -From 55dd622a6608b801350e62955c891a6a78a3e8e9 Mon Sep 17 00:00:00 2001 +From 6c07d703eda3708c2a3f95ac4217003d9935b5ba Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 5 Oct 2015 14:58:05 +0100 -Subject: [PATCH 29/61] [3d] Swap top/bottom sides of GUI +Subject: [PATCH 29/65] [3d] Swap top/bottom sides of GUI --- xbmc/guilib/GraphicContext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/guilib/GraphicContext.cpp b/xbmc/guilib/GraphicContext.cpp -index 9caa43113f63139d277bd71242a858a581736845..3ace73527a7c359ac21c87bf38b5d648a0f4d9c2 100644 +index e9d8e18445bcd82b09d5ed9f86e85a5a6fef8472..324852946dfc4e06d66915f35f8f37376795e041 100644 --- a/xbmc/guilib/GraphicContext.cpp +++ b/xbmc/guilib/GraphicContext.cpp -@@ -265,7 +265,7 @@ CPoint CGraphicContext::StereoCorrection(const CPoint &point) const +@@ -267,7 +267,7 @@ CPoint CGraphicContext::StereoCorrection(const CPoint &point) const { const RESOLUTION_INFO info = GetResInfo(); @@ -44546,10 +44547,10 @@ index 9caa43113f63139d277bd71242a858a581736845..3ace73527a7c359ac21c87bf38b5d648 } if(m_stereoMode == RENDER_STEREO_MODE_SPLIT_VERTICAL) -From 79e39f5976fccbf9e9699b60b4f45a5f59d19bb5 Mon Sep 17 00:00:00 2001 +From 6e570a0f04536712cc7cb8dd0ff64bb05461fa72 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 11 Oct 2015 20:51:37 +0100 -Subject: [PATCH 30/61] Revert "Revert "Disable extra logging by default"" +Subject: [PATCH 30/65] Revert "Revert "Disable extra logging by default"" This reverts commit a880554325be187b877cd8f0e2b338e7267da636. --- @@ -44557,10 +44558,10 @@ This reverts commit a880554325be187b877cd8f0e2b338e7267da636. 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/settings/settings.xml b/system/settings/settings.xml -index 88b67c1869246037e81fb3efbe293f9fee37d25e..df60cf2d052f5a1570bd445468b156211a870007 100644 +index dc7144ac8756fb1af9d7f3bb56c0b471f0ae3f9b..8f62f7ca494ea5b3322653f0a2b9431ebd54c7ea 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml -@@ -2672,12 +2672,12 @@ +@@ -2820,12 +2820,12 @@ 1 @@ -44576,32 +44577,32 @@ index 88b67c1869246037e81fb3efbe293f9fee37d25e..df60cf2d052f5a1570bd445468b15621 loggingcomponents , -From e18e8f939792d196c85b36c1e65a0ec4bb00bfc3 Mon Sep 17 00:00:00 2001 +From 36d0fe8ab502919d2fe8fb63e11f1380532cb0e7 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 26 Nov 2015 17:14:49 +0000 -Subject: [PATCH 31/61] [ae] Add debug logging showing resamplerate +Subject: [PATCH 31/65] [ae] Add debug logging showing resamplerate --- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index 5196c62cd005d6c52cd741fc523eb5b7cd4b625b..dc9a34059f0eca5287bf42a7a8f89910c35e84e3 100644 +index 432c8a97ff1882c7f8c2e72b417f5c8f63237a1a..8a1fbade6b6a91bae4fc33d19759959d6ee34290 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -@@ -2451,6 +2451,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) +@@ -2449,6 +2449,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) if (stream->m_processingBuffers) { - stream->m_processingBuffers->SetRR(stream->CalcResampleRatio(error)); -+ CLog::Log(LOGDEBUG, "CDVDPlayerAudio::%s rr:%.5f error:%.6f", __FUNCTION__, stream->m_processingBuffers->GetRR(), error); + stream->m_processingBuffers->SetRR(stream->CalcResampleRatio(error), m_settings.atempoThreshold); ++ CLog::Log(LOGDEBUG, "CDVDPlayerAudio::%s rr:%.5f threshold:%.3f error:%.6f", __FUNCTION__, stream->m_processingBuffers->GetRR(), m_settings.atempoThreshold, error); } } else if (stream->m_processingBuffers) -From 83909d8961c984556768c161a0d2db8ff88e271b Mon Sep 17 00:00:00 2001 +From 1c4077d7ab06f9bc9aed4ccb62fd676e08ad8115 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 21 Dec 2015 22:17:25 +0000 -Subject: [PATCH 32/61] [omximage] Fall back to arm jpeg encode/decode when gpu +Subject: [PATCH 32/65] [omximage] Fall back to arm jpeg encode/decode when gpu is busy --- @@ -44844,10 +44845,10 @@ index a93aa82663903fb1bf712058c2e259290ee742e6..6f38dbc7e5cc721c59a3633935f08218 extern COMXImage g_OMXImage; -From 4eada6619f36a9cd27209354d2f771458a166dd4 Mon Sep 17 00:00:00 2001 +From 502899c2fb94a59efd204a765ef897c2792a9d7f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Dec 2015 13:31:14 +0000 -Subject: [PATCH 33/61] [mmalcodec] Fail to open when width is invalid. Can +Subject: [PATCH 33/65] [mmalcodec] Fail to open when width is invalid. Can happen with mpegts files --- @@ -44869,10 +44870,10 @@ index c6f98ded45062617d88571cd70fc6336cfdc32c9..283b2626731c25c67e4c065dac7725a4 if (!CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEMMAL) || hints.software) return false; -From cad95d3b4d889687eab0da4da40549cbed5df09e Mon Sep 17 00:00:00 2001 +From ea3c304d6927e3a0da428ec064aa11845c2e01db Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 12 Jan 2016 16:29:57 +0000 -Subject: [PATCH 34/61] ffmpeg: Add cabac opimisations for hevc +Subject: [PATCH 34/65] ffmpeg: Add cabac opimisations for hevc --- .../0001-Squashed-commit-of-the-following.patch | 2179 ++++++++++++++++++++ @@ -47109,10 +47110,10 @@ index e2641093d15e5b465fae7e5f87c3ea18573dd6ee..7022b5fadef58ad27b61725d77131bd7 CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ ./configure --prefix=$FFMPEG_PREFIX \ -From ee0055a7424b344357a0a8dbcfc3524f841f31ff Mon Sep 17 00:00:00 2001 +From 2a35e99417f02eccc12026eae38d6b2fca3c96d1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 19 Sep 2014 11:54:49 +0100 -Subject: [PATCH 35/61] [videoplayer/rbp] Add pi specific option to maintain +Subject: [PATCH 35/65] [videoplayer/rbp] Add pi specific option to maintain vsync with pll adjustment New A/V sync option in settings/video/playback to do "Adjust PLL". @@ -47134,10 +47135,10 @@ or drop/dupe audio packets which is normally required. 12 files changed, 122 insertions(+), 19 deletions(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index 3208dad8988fba4bce7687861037274a42ffd21f..b5ae4dc1a6b21ba96fd3498baff1b63004fa6902 100644 +index f4abad73fa75574576383fca3956f9f4ecb4c94c..bdd03649780dc6ba0a4d16c32d6bec8891727019 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19483,3 +19483,35 @@ msgstr "" +@@ -19586,3 +19586,35 @@ msgstr "" msgctxt "#38190" msgid "Extract thumbnails from video files" msgstr "" @@ -47174,12 +47175,12 @@ index 3208dad8988fba4bce7687861037274a42ffd21f..b5ae4dc1a6b21ba96fd3498baff1b630 +msgid "Max" +msgstr "" diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index 770c628a15304856504676af82d46d57c97b86b8..b7770ebc1b9568f9fe141d90a118b87106c86735 100644 +index 289dc55ec41aa44848519a05f8ee1ccc72740085..2572e25753712186f69390965ee1448bff3fadd5 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml -@@ -98,6 +98,20 @@ - - 101 +@@ -101,6 +101,20 @@ + + 100 + + 3 @@ -47199,7 +47200,7 @@ index 770c628a15304856504676af82d46d57c97b86b8..b7770ebc1b9568f9fe141d90a118b871 diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp -index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e78a6219d 100644 +index 8a1fbade6b6a91bae4fc33d19759959d6ee34290..e980eba1fba19de6f49b479e0bca0afefc830795 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp @@ -34,6 +34,10 @@ using namespace ActiveAE; @@ -47213,7 +47214,7 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e #define MAX_CACHE_LEVEL 0.4 // total cache time of stream in seconds #define MAX_WATER_LEVEL 0.2 // buffered time after stream stages in seconds #define MAX_BUFFER_TIME 0.1 // max time of a buffer in seconds -@@ -365,11 +369,12 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) +@@ -363,11 +367,12 @@ void CActiveAE::StateMachine(int signal, Protocol *port, Message *msg) m_sink.m_controlPort.SendOutMessage(CSinkControlProtocol::APPFOCUSED, msg->data, sizeof(bool)); return; case CActiveAEControlProtocol::STREAMRESAMPLEMODE: @@ -47229,7 +47230,7 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e par->stream->m_resampleIntegral = 0.0; } return; -@@ -2446,7 +2451,16 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) +@@ -2444,7 +2449,16 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream) if (!newerror || stream->m_syncState != CAESyncInfo::AESyncState::SYNC_INSYNC) return ret; @@ -47267,10 +47268,10 @@ index dc9a34059f0eca5287bf42a7a8f89910c35e84e3..8cbc09c2401865f04d20662ddb24d52e void CActiveAE::SetStreamFFmpegInfo(CActiveAEStream *stream, int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962beeae286a2 100644 +index 502ee4ea0367a4f4423f3c2bf4bcfcb7df8e111e..14249e13ce294b70ce4df19ed170c8596cf5a535 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.h -@@ -174,6 +174,13 @@ struct MsgStreamFFmpegInfo +@@ -175,6 +175,13 @@ struct MsgStreamFFmpegInfo enum AVAudioServiceType audio_service_type; }; @@ -47284,7 +47285,7 @@ index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962be class CEngineStats { public: -@@ -290,7 +297,7 @@ protected: +@@ -291,7 +298,7 @@ protected: void SetStreamReplaygain(CActiveAEStream *stream, float rgain); void SetStreamVolume(CActiveAEStream *stream, float volume); void SetStreamResampleRatio(CActiveAEStream *stream, double ratio); @@ -47294,7 +47295,7 @@ index 2a31a6e3c09fa61907ef9e518158773ba7d3b03e..3efc7afc255c542ea2aedbf83d6962be void SetStreamFade(CActiveAEStream *stream, float from, float target, unsigned int millis); diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp -index 430bbf65d5cd68927018d8d7d01c144185fcd7fb..f9a9825bfe3b037047bbb63e9aefd379c2cf40e9 100644 +index 246d7e6c05242f1d64bbc3983b7342e24423ba8c..394459ab0581c2eef9c5e59b83c209d239c6b66a 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp @@ -509,11 +509,12 @@ void CActiveAEStream::SetResampleRatio(double ratio) @@ -47314,7 +47315,7 @@ index 430bbf65d5cd68927018d8d7d01c144185fcd7fb..f9a9825bfe3b037047bbb63e9aefd379 void CActiveAEStream::SetFFmpegInfo(int profile, enum AVMatrixEncoding matrix_encoding, enum AVAudioServiceType audio_service_type) diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h -index b44227aca644e6af5cf8f33ca92ee1028d180413..65a6c38d1040647ca86deca4193572d283de6868 100644 +index 531dedc71f8b342d1556518e1fb7cb051f334e88..927f93ed09d1b9dbc4a6a7dc6a8e2dceaa4ae7dc 100644 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.h @@ -169,7 +169,7 @@ public: @@ -47343,7 +47344,7 @@ index b44227aca644e6af5cf8f33ca92ee1028d180413..65a6c38d1040647ca86deca4193572d2 double m_clockSpeed; enum AVMatrixEncoding m_matrixEncoding; diff --git a/xbmc/cores/AudioEngine/Interfaces/AEStream.h b/xbmc/cores/AudioEngine/Interfaces/AEStream.h -index 7416685ef766492b13bbbde9001f868f28907d34..e3dbc5f2ddd6269f5e80086d2fd04e1ae68ac828 100644 +index 533f6715d4e39215942d9ddd59f1242336daf32d..9e33493fd1a9f252162b8aa982609f161532d8ac 100644 --- a/xbmc/cores/AudioEngine/Interfaces/AEStream.h +++ b/xbmc/cores/AudioEngine/Interfaces/AEStream.h @@ -41,6 +41,14 @@ public: @@ -47371,10 +47372,10 @@ index 7416685ef766492b13bbbde9001f868f28907d34..e3dbc5f2ddd6269f5e80086d2fd04e1a /** * Registers the audio callback to call with each block of data, this is used by Audio Visualizations diff --git a/xbmc/cores/VideoPlayer/DVDAudio.cpp b/xbmc/cores/VideoPlayer/DVDAudio.cpp -index 2674fb381aa42a3575ae85ad54be5f9891cafe2a..48894c6cea7ba54e37855963cf2caf76e1d1ab36 100644 +index 2dd9b3689a37874a8199ff6edf64ba0b26d8c69f..8a7c2a7d86422bf7573d00a1f9d3084367ff19aa 100644 --- a/xbmc/cores/VideoPlayer/DVDAudio.cpp +++ b/xbmc/cores/VideoPlayer/DVDAudio.cpp -@@ -321,12 +321,12 @@ double CDVDAudio::GetResampleRatio() +@@ -313,12 +313,12 @@ double CDVDAudio::GetResampleRatio() return m_resampleRatio; } @@ -47390,7 +47391,7 @@ index 2674fb381aa42a3575ae85ad54be5f9891cafe2a..48894c6cea7ba54e37855963cf2caf76 } diff --git a/xbmc/cores/VideoPlayer/DVDAudio.h b/xbmc/cores/VideoPlayer/DVDAudio.h -index 48b5c42d2998a25901c31a9ad762d81f89eb430b..70559f9570041a11693d21d2de890f81b07fe2ab 100644 +index 81882a1a3828e3f95df26c1bd88c061d3b994b44..ed6974b1155a7272f3ef5bfed3f749674b831b93 100644 --- a/xbmc/cores/VideoPlayer/DVDAudio.h +++ b/xbmc/cores/VideoPlayer/DVDAudio.h @@ -61,7 +61,7 @@ public: @@ -47403,7 +47404,7 @@ index 48b5c42d2998a25901c31a9ad762d81f89eb430b..70559f9570041a11693d21d2de890f81 void Drain(); void AbortAddPackets(); diff --git a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp -index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa2018e9d684 100644 +index 5eee488a59a689e66325e8f8a9467ad2bb394a54..77c5170235b675f58b4e4a85cb1c2e645640a283 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp @@ -96,6 +96,7 @@ bool CVideoPlayerAudio::OpenStream(CDVDStreamInfo &hints) @@ -47427,7 +47428,7 @@ index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa20 s << ", att:" << std::fixed << std::setprecision(1) << log(GetCurrentAttenuation()) * 20.0f << " dB"; -@@ -545,10 +550,12 @@ void CVideoPlayerAudio::SetSyncType(bool passthrough) +@@ -538,10 +543,12 @@ void CVideoPlayerAudio::SetSyncType(bool passthrough) int synctype = (m_synctype >= 0 && m_synctype <= 1) ? m_synctype : 2; CLog::Log(LOGDEBUG, "CVideoPlayerAudio:: synctype set to %i: %s", m_synctype, synctypes[synctype]); m_prevsynctype = m_synctype; @@ -47442,7 +47443,7 @@ index 188b85b12b86f887324cdcfda3c3aa4cd90d3a11..b05c4e4c6a2361455ab553133965aa20 } } -@@ -606,6 +613,7 @@ bool CVideoPlayerAudio::SwitchCodecIfNeeded() +@@ -599,6 +606,7 @@ bool CVideoPlayerAudio::SwitchCodecIfNeeded() bool allowpassthrough = !CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK); if (m_streaminfo.realtime) allowpassthrough = false; @@ -47508,10 +47509,10 @@ index 90b04db5405058be2ff20aeaa6af2d2ac651586f..084fba87f49f4c3b33a8dd4a20a626a3 void init_cursor(); void set_cursor(const void *pixels, int width, int height, int hotspot_x, int hotspot_y); -From dafa8df17474794163e7783cafecc1b9d5615e16 Mon Sep 17 00:00:00 2001 +From 096224708de6b380a7623b78c6d0980dcfee4547 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 7 May 2015 15:35:43 +0100 -Subject: [PATCH 36/61] rbp: Support zero copy interface with hevc acceleration +Subject: [PATCH 36/65] rbp: Support zero copy interface with hevc acceleration --- xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 9 +++++++++ @@ -47519,10 +47520,10 @@ Subject: [PATCH 36/61] rbp: Support zero copy interface with hevc acceleration 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -index 3ccf4b8cd92d9907653adda291d1124244963e1b..9216a91527478eb7f8a9062177596e9bb6319e52 100644 +index 37254c779a4574a34de8f2b0326ea8ca8ceab53d..c9e683e6c0771276217152558aabbdaf171302e3 100644 --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp -@@ -308,6 +308,15 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options +@@ -364,6 +364,15 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options if (tryhw && m_decoderState == STATE_NONE) { m_decoderState = STATE_HW_SINGLE; @@ -47555,10 +47556,10 @@ index ad0f65cc64f545b32d1812c9e218c57ec6866b00..a5597c1386c5afdc6ec8f6840355557e if (g_advancedSettings.CanLogComponent(LOGVIDEO)) CLog::Log(LOGDEBUG, "%s::%s - mmal:%p dts:%.3f pts:%.3f buf:%p gpu:%p", CLASSNAME, __FUNCTION__, picture->MMALBuffer->mmal_buffer, 1e-6*picture->dts, 1e-6*picture->pts, picture->MMALBuffer, gmem); -From 340049d662e9165d55def43f8d09bee5376752a4 Mon Sep 17 00:00:00 2001 +From 2c3a832280fbf22c1d09c6a7db1e8c2ee78c6699 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 16 May 2015 18:26:04 +0100 -Subject: [PATCH 37/61] ffmpeg: use upstream mvc patches +Subject: [PATCH 37/65] ffmpeg: use upstream mvc patches --- ...vcodec-add-h264_mvc-codec-id-and-profiles.patch | 68 ++++++++++++ @@ -47868,10 +47869,10 @@ index 0000000000000000000000000000000000000000..b39480ad098b9cd0882fcf75b96afb1b +2.7.4 + -From 56c71f3a8e771ca8c61c4111b8622614f0f41bdb Mon Sep 17 00:00:00 2001 +From 7693ec1c01a125048da9b0c708260461f91f5a9c Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Wed, 20 Jan 2016 17:02:16 +0300 -Subject: [PATCH 38/61] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc +Subject: [PATCH 38/65] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc streams. --- @@ -47879,7 +47880,7 @@ Subject: [PATCH 38/61] [VideoPlayer] DemuxFFmpeg: Properly demuxing h264_mvc 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a229a9a777a 100644 +index 87674a3e45b0991447c817499524c09a3b595ca4..429d6943ee2eb3dd5adedac5cf5bb81fe6ff192e 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -25,6 +25,7 @@ @@ -47890,7 +47891,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 #include "DVDClock.h" // for DVD_TIME_BASE #include "DVDDemuxUtils.h" #include "DVDInputStreams/DVDInputStream.h" -@@ -1262,6 +1263,15 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1265,6 +1266,15 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) } case AVMEDIA_TYPE_VIDEO: { @@ -47906,7 +47907,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 CDemuxStreamVideoFFmpeg* st = new CDemuxStreamVideoFFmpeg(this, pStream); stream = st; if(strcmp(m_pFormatContext->iformat->name, "flv") == 0) -@@ -1270,7 +1280,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1273,7 +1283,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) st->bVFR = false; // never trust pts in avi files with h264. @@ -47915,7 +47916,7 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 st->bPTSInvalid = true; #if defined(AVFORMAT_HAS_STREAM_GET_R_FRAME_RATE) -@@ -1341,6 +1351,17 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1344,6 +1354,17 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (av_dict_get(pStream->metadata, "title", NULL, 0)) st->m_description = av_dict_get(pStream->metadata, "title", NULL, 0)->value; @@ -47934,10 +47935,10 @@ index c8ba4f869e844550e47ab9084aad1c59ba10f53a..1388a08c0403b0ab8942d4851ab97a22 } case AVMEDIA_TYPE_DATA: -From 1cf1661ac0d3a7a9a8c29e695370f5f4b038cd9f Mon Sep 17 00:00:00 2001 +From 05f6d9958acf833440b50a5044257c71eb91a479 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Thu, 25 Feb 2016 11:21:25 +0300 -Subject: [PATCH 39/61] [Stereo3D] Added mvc modes. +Subject: [PATCH 39/65] [Stereo3D] Added mvc modes. --- xbmc/cores/VideoPlayer/VideoRenderers/RenderFlags.cpp | 4 ++++ @@ -47991,17 +47992,17 @@ index 1443acaf0f25df458ae49766e13dd0323454f2eb..6eb0752994bc5f8c47efbbf211120af0 i++; } -From f64eab2d4da72fcf95e002dc26f3139e9550f690 Mon Sep 17 00:00:00 2001 +From 2b56aadf7f5b3d2adec40ea591c67959ca8e005b Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Sat, 23 Jan 2016 10:21:32 +0300 -Subject: [PATCH 40/61] [VideoPlayer] Fix possible wrong aspect. +Subject: [PATCH 40/65] [VideoPlayer] Fix possible wrong aspect. --- xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp -index 11ffffb23b435b1ea77fc756cf321013393f9f4a..63454775e1b8460afc2df1ab93633ec49156efd3 100644 +index 7f090615d5696e538fdd7ab376b76ef8212927cf..3ad458cac7373a7574253ae23aab5812e330c968 100644 --- a/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp +++ b/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp @@ -182,7 +182,7 @@ void CVideoPlayerVideo::OpenStream(CDVDStreamInfo &hint, CDVDVideoCodec* codec) @@ -48014,14 +48015,12 @@ index 11ffffb23b435b1ea77fc756cf321013393f9f4a..63454775e1b8460afc2df1ab93633ec4 else m_fForcedAspectRatio = 0.0; -From e0dbe5d847499befef2382ee01f7f13438e4356e Mon Sep 17 00:00:00 2001 +From df603ab3e9d455937d8595d34b0bda7301340dc2 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Fri, 22 Jan 2016 18:18:33 +0300 -Subject: [PATCH 41/61] [VideoPlayer] DemuxFFmpeg: ssif remux +Subject: [PATCH 41/65] [VideoPlayer] DemuxFFmpeg: ssif remux --- - project/VS2010Express/XBMC.vcxproj | 2 + - project/VS2010Express/XBMC.vcxproj.filters | 6 + xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt | 2 + .../VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 47 ++++++- .../cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h | 2 + @@ -48029,54 +48028,10 @@ Subject: [PATCH 41/61] [VideoPlayer] DemuxFFmpeg: ssif remux .../VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.h | 49 +++++++ xbmc/cores/VideoPlayer/DVDDemuxers/Makefile.in | 1 + xbmc/settings/AdvancedSettings.cpp | 2 +- - 9 files changed, 259 insertions(+), 8 deletions(-) + 7 files changed, 251 insertions(+), 8 deletions(-) create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.cpp create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxStreamSSIF.h -diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj -index fc546b1efa6a8daf521a3bc44da62782603be5d8..1b5c0643fe18f61df6829a4eb33c9a82fd8468a4 100644 ---- a/project/VS2010Express/XBMC.vcxproj -+++ b/project/VS2010Express/XBMC.vcxproj -@@ -296,6 +296,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -@@ -1072,6 +1073,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters -index ef911b1ce3b7d00674c332078584485de2dc49ae..0524f95c8549be034a3592b2c1909d688f0c9b17 100644 ---- a/project/VS2010Express/XBMC.vcxproj.filters -+++ b/project/VS2010Express/XBMC.vcxproj.filters -@@ -3455,6 +3455,9 @@ - - dialogs - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - -@@ -6722,6 +6725,9 @@ - - cores\AudioEngine\Engines\ActiveAE - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt b/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt index 63776b1333bb66483303e44d6ebe60f3cd7e14d7..0da129ff99f57dc38ca8a854854d9fe658651e1f 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt @@ -48098,7 +48053,7 @@ index 63776b1333bb66483303e44d6ebe60f3cd7e14d7..0da129ff99f57dc38ca8a854854d9fe6 DVDDemuxUtils.h DVDDemuxVobsub.h diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c07ef9f9c 100644 +index 429d6943ee2eb3dd5adedac5cf5bb81fe6ff192e..84ecc81a439d0ce82957324fc18c5ba84c60e046 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -164,6 +164,7 @@ CDVDDemuxFFmpeg::CDVDDemuxFFmpeg() : CDVDDemux() @@ -48109,7 +48064,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c m_speed = DVD_PLAYSPEED_NORMAL; m_program = UINT_MAX; m_pkt.result = -1; -@@ -537,6 +538,8 @@ void CDVDDemuxFFmpeg::Dispose() +@@ -534,6 +535,8 @@ void CDVDDemuxFFmpeg::Dispose() m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48118,7 +48073,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c if (m_pFormatContext) { for (unsigned int i = 0; i < m_pFormatContext->nb_streams; i++) -@@ -587,6 +590,9 @@ void CDVDDemuxFFmpeg::Flush() +@@ -584,6 +587,9 @@ void CDVDDemuxFFmpeg::Flush() m_displayTime = 0; m_dtsAtDisplayTime = DVD_NOPTS_VALUE; @@ -48128,7 +48083,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } void CDVDDemuxFFmpeg::Abort() -@@ -808,7 +814,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -811,7 +817,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { Flush(); } @@ -48139,7 +48094,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c { // update streams CreateStreams(m_program); -@@ -836,6 +844,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -839,6 +847,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48149,7 +48104,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } else { -@@ -845,7 +856,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -848,7 +859,9 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() if (IsVideoReady()) { @@ -48160,7 +48115,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c { /* check so packet belongs to selected program */ for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++) -@@ -994,6 +1007,15 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -997,6 +1010,15 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() stream = AddStream(pPacket->iStreamId); } } @@ -48176,7 +48131,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c if (!stream) { CLog::Log(LOGERROR, "CDVDDemuxFFmpeg::AddStream - internal error, stream is null"); -@@ -1023,6 +1045,9 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) +@@ -1026,6 +1048,9 @@ bool CDVDDemuxFFmpeg::SeekTime(int time, bool backwords, double *startpts) m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48186,7 +48141,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c CDVDInputStream::IPosTime* ist = m_pInput->GetIPosTime(); if (ist) { -@@ -1098,6 +1123,9 @@ bool CDVDDemuxFFmpeg::SeekByte(int64_t pos) +@@ -1101,6 +1126,9 @@ bool CDVDDemuxFFmpeg::SeekByte(int64_t pos) m_pkt.result = -1; av_packet_unref(&m_pkt.pkt); @@ -48196,7 +48151,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c return (ret >= 0); } -@@ -1265,11 +1293,12 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1268,11 +1296,12 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { if (pStream->codec->codec_id == AV_CODEC_ID_H264_MVC) { @@ -48212,7 +48167,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c break; } CDemuxStreamVideoFFmpeg* st = new CDemuxStreamVideoFFmpeg(this, pStream); -@@ -1355,7 +1384,11 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1358,7 +1387,11 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { if (CDVDCodecUtils::IsH264AnnexB(m_pFormatContext->iformat->name, pStream)) { @@ -48225,7 +48180,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c } else if (CDVDCodecUtils::ProcessH264MVCExtradata(pStream->codec->extradata, pStream->codec->extradata_size)) { -@@ -1448,7 +1481,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1451,7 +1484,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) if (langTag) strncpy(stream->language, langTag->value, 3); @@ -48235,7 +48190,7 @@ index 1388a08c0403b0ab8942d4851ab97a229a9a777a..5775a82c37768bc585645ff5a8eb259c stream->ExtraSize = pStream->codec->extradata_size; stream->ExtraData = new uint8_t[pStream->codec->extradata_size]; diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h -index 60cfc6fe48df93210d6bb5a12f85af571dfa1f72..dae871cff339e085cf2aa6d8d921d20b0db03132 100644 +index 26cb1b91f6a08c1016210b98f75681d878afb9a1..49128bf011e2a802501cc8b3def5720a19248669 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.h @@ -21,6 +21,7 @@ @@ -48497,17 +48452,17 @@ index 60e5652f69e96a559d8080e01dc214a56fb19343..cdaf53585a89a0da3a4038178806ee93 m_discStubExtensions = ".disc"; // internal music extensions -From e2b43c6da9e7cdaba0c6f7d7bd59b36f3b6dc32f Mon Sep 17 00:00:00 2001 +From e67a8be040f0a6d3994060f447b353c7c62cebd4 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 23 Feb 2016 16:01:08 +0300 -Subject: [PATCH 42/61] [libbluray] bump libbluray to 0.9.2-mvc. +Subject: [PATCH 42/65] [libbluray] bump libbluray to 0.9.2-mvc. --- project/BuildDependencies/scripts/0_package.list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list -index 2b6840102cdcaa464428694d16ac8d58e7c2d03f..4f3bddf0ef2e985986efffb97b9aeae5fa36d3e1 100644 +index 4d1be9c2cb2bb0c9531413c7300342444df023e1..bc4913a3d0c1fcb7e27106a2ddd6988f7749b571 100644 --- a/project/BuildDependencies/scripts/0_package.list +++ b/project/BuildDependencies/scripts/0_package.list @@ -17,7 +17,7 @@ freetype-2.6.3-win32-vc140.7z @@ -48520,15 +48475,13 @@ index 2b6840102cdcaa464428694d16ac8d58e7c2d03f..4f3bddf0ef2e985986efffb97b9aeae5 libcec-3.1.0-win32-vc140.7z libfribidi-0.19.2-win32.7z -From 25d2b378d13a6472ff7fe16dd98289b75cac352e Mon Sep 17 00:00:00 2001 +From 17c471649453534b7eb2103f4b3eddb11d6aa0be Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Tue, 23 Feb 2016 16:02:46 +0300 -Subject: [PATCH 43/61] [3DBD] Added support of 3D-BluRay playback. +Subject: [PATCH 43/65] [3DBD] Added support of 3D-BluRay playback. --- lib/DllLibbluray.h | 8 + - project/VS2010Express/XBMC.vcxproj | 2 + - project/VS2010Express/XBMC.vcxproj.filters | 6 + xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt | 2 + .../VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 57 ++++- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.cpp | 262 +++++++++++++++++++++ @@ -48538,7 +48491,7 @@ Subject: [PATCH 43/61] [3DBD] Added support of 3D-BluRay playback. xbmc/cores/VideoPlayer/DVDDemuxers/Makefile.in | 1 + .../DVDInputStreams/DVDInputStreamBluray.cpp | 159 +++++++++++-- .../DVDInputStreams/DVDInputStreamBluray.h | 20 ++ - 12 files changed, 591 insertions(+), 35 deletions(-) + 10 files changed, 583 insertions(+), 35 deletions(-) create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.cpp create mode 100644 xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxMVC.h @@ -48582,50 +48535,6 @@ index f5a337fe19beff472557c97ff7a203ad30a912b2..03f93391265e164837c2a17a8fe6d7da END_METHOD_RESOLVE() public: -diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj -index 1b5c0643fe18f61df6829a4eb33c9a82fd8468a4..fdb0abb808fed44ec3d7896289defe94ee9d52b1 100644 ---- a/project/VS2010Express/XBMC.vcxproj -+++ b/project/VS2010Express/XBMC.vcxproj -@@ -296,6 +296,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -@@ -1073,6 +1074,7 @@ copy "..\Win32BuildSetup\dependencies\python27.dll" "$(TargetDir)" - - - -+ - - - -diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters -index 0524f95c8549be034a3592b2c1909d688f0c9b17..049aa3e93113bbaaa144dc9292be7832e8f5f696 100644 ---- a/project/VS2010Express/XBMC.vcxproj.filters -+++ b/project/VS2010Express/XBMC.vcxproj.filters -@@ -3458,6 +3458,9 @@ - - cores\VideoPlayer\DVDDemuxers - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - -@@ -6728,6 +6731,9 @@ - - cores\VideoPlayer\DVDDemuxers - -+ -+ cores\VideoPlayer\DVDDemuxers -+ - - - diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt b/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt index 0da129ff99f57dc38ca8a854854d9fe658651e1f..82d4b499245afda1a51ca281584cc47fc76173d1 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/CMakeLists.txt @@ -48647,7 +48556,7 @@ index 0da129ff99f57dc38ca8a854854d9fe658651e1f..82d4b499245afda1a51ca281584cc47f DVDDemuxPacket.h DVDDemuxUtils.h diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c9a06d498 100644 +index 84ecc81a439d0ce82957324fc18c5ba84c60e046..cfa691835cda0b2cf986adbb9aa4db47dcf4f75d 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp @@ -27,6 +27,7 @@ @@ -48658,7 +48567,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c #include "DVDDemuxUtils.h" #include "DVDInputStreams/DVDInputStream.h" #include "DVDInputStreams/DVDInputStreamFFmpeg.h" -@@ -497,6 +498,16 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo, bool filein +@@ -494,6 +495,16 @@ bool CDVDDemuxFFmpeg::Open(CDVDInputStream* pInput, bool streaminfo, bool filein UpdateCurrentPTS(); @@ -48675,7 +48584,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c // in case of mpegts and we have not seen pat/pmt, defer creation of streams if (!skipCreateStreams || m_pFormatContext->nb_programs > 0) { -@@ -814,9 +825,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -817,9 +828,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() { Flush(); } @@ -48686,7 +48595,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c { // update streams CreateStreams(m_program); -@@ -857,8 +866,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -860,8 +869,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() if (IsVideoReady()) { // libavformat is confused by the interleaved SSIF. @@ -48696,7 +48605,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c { /* check so packet belongs to selected program */ for (unsigned int i = 0; i < m_pFormatContext->programs[m_program]->nb_stream_indexes; i++) -@@ -1009,10 +1017,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() +@@ -1012,10 +1020,7 @@ DemuxPacket* CDVDDemuxFFmpeg::Read() } if (stream && m_pSSIF) { @@ -48708,7 +48617,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c if (stream->type == STREAM_DATA && stream->codec == AV_CODEC_ID_H264_MVC && pPacket->iSize) stream = GetStream(pPacket->iStreamId); } -@@ -1388,6 +1393,29 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1391,6 +1396,29 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) { m_pSSIF->SetH264StreamId(streamIdx); pStream->codec->codec_tag = MKTAG('A', 'M', 'V', 'C'); @@ -48738,7 +48647,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c } } else if (CDVDCodecUtils::ProcessH264MVCExtradata(pStream->codec->extradata, pStream->codec->extradata_size)) -@@ -1648,6 +1676,12 @@ bool CDVDDemuxFFmpeg::SeekChapter(int chapter, double* startpts) +@@ -1651,6 +1679,12 @@ bool CDVDDemuxFFmpeg::SeekChapter(int chapter, double* startpts) } Flush(); @@ -48751,7 +48660,7 @@ index 5775a82c37768bc585645ff5a8eb259c07ef9f9c..65d998f65493c1b463a4d1cabf36a16c return true; } -@@ -1717,6 +1751,11 @@ std::string CDVDDemuxFFmpeg::GetStreamCodecName(int iStreamId) +@@ -1720,6 +1754,11 @@ std::string CDVDDemuxFFmpeg::GetStreamCodecName(int iStreamId) bool CDVDDemuxFFmpeg::IsProgramChange() { @@ -49568,10 +49477,10 @@ index b967a85e6557e42a7f1235cdd804d5a0263b866f..561fb5cd4f971bc9ee4f41218a60bb3d typedef std::shared_ptr SOverlay; typedef std::list SOverlays; -From fab0e4608dd6560b9c001eb1189cd000e90439f9 Mon Sep 17 00:00:00 2001 +From 3f48b5cdb2fd9028069471aca90fe05632da35a0 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Wed, 2 Mar 2016 23:31:50 +0300 -Subject: [PATCH 44/61] [BaseRenderer] Fix aspect for TAB/SBS (need more +Subject: [PATCH 44/65] [BaseRenderer] Fix aspect for TAB/SBS (need more testing) --- @@ -49615,10 +49524,10 @@ index f18c671d90c85eed1ca4bd52028d7e5074a1312a..5c6f7453c2b3fd1155c18af8d37cb3d4 void CBaseRenderer::ManageRenderArea() -From 4e661a9b6bafbcfcafdcc33acdbebaa778c947f7 Mon Sep 17 00:00:00 2001 +From c8a24aab46add8caafa0fdc78b1616fdc1028fe2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 29 Feb 2016 17:00:50 +0000 -Subject: [PATCH 45/61] libbluray: Bump to Nevcairie's v0.9.2 +Subject: [PATCH 45/65] libbluray: Bump to Nevcairie's v0.9.2 This includes 3D support --- @@ -51275,10 +51184,10 @@ index 0000000000000000000000000000000000000000..5ef0124e35c9d81143921a328e272220 + + return fp; -From b1af1a3caed688d7690a40b24f3db8480c415382 Mon Sep 17 00:00:00 2001 +From f2489f8f090d4f743f31718b922d6a5a7ec3a9f9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 2 Mar 2016 19:40:47 +0000 -Subject: [PATCH 46/61] [VideoPlayer] Added new msdk-mvc decoder. +Subject: [PATCH 46/65] [VideoPlayer] Added new msdk-mvc decoder. --- xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecUtils.cpp | 61 ++++++++++++++++++++++ @@ -51394,10 +51303,10 @@ index eb76a6fe73f6c884540807cfb93c7a3ecc4eea90..7e24c2364e8d2efa9b8351afc041aa14 static int PixfmtFromEFormat(ERenderFormat format); }; -From 411ae88ce803806ae1581960ba2c2f4a7474164a Mon Sep 17 00:00:00 2001 +From 10e05fac4ef5439243c0b5394e29ce6092f514f1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 6 Mar 2016 12:54:59 +0000 -Subject: [PATCH 47/61] mvc: Automatically enable stereo mode +Subject: [PATCH 47/65] mvc: Automatically enable stereo mode --- xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp | 6 +++++- @@ -51455,10 +51364,10 @@ index 311dd6689236d660919c4c4483c51dca2752514a..536332c43e22ccb229e72b88518e54dd break; case AV_CODEC_ID_MPEG4: -From b8c71a30f6d8625f52099abcb71d24fe60a5e250 Mon Sep 17 00:00:00 2001 +From 3430bbcffb78d47d03e189a54a322d4edd4b6009 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 24 Mar 2016 13:02:58 +0000 -Subject: [PATCH 48/61] ffmpeg: mvc: fix for pixelation from packets with no +Subject: [PATCH 48/65] ffmpeg: mvc: fix for pixelation from packets with no pts/dts --- @@ -51520,10 +51429,10 @@ index 92d9437b36eaa4e655990f7e68634e0bbf4d9605..99f375ba5d5b40eecdd423ac5787276e cd $(PLATFORM);\ CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \ -From e6e26007a7508bb472e8da389a0718a8c33515b3 Mon Sep 17 00:00:00 2001 +From 88e9d53808a21926aabc88b6fc84cec5d09d99ef Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Mar 2016 13:08:44 +0000 -Subject: [PATCH 49/61] stereoscopicmanager: remove hardwarebased for rbp +Subject: [PATCH 49/65] stereoscopicmanager: remove hardwarebased for rbp --- xbmc/guilib/StereoscopicsManager.cpp | 2 ++ @@ -51545,10 +51454,10 @@ index 6eb0752994bc5f8c47efbbf211120af0a0720d0c..9426604f6460651f54cc035476e69530 { "mvc_rl", RENDER_STEREO_MODE_SPLIT_HORIZONTAL }, // fallback {} -From 6a0689238dba27ebab5eb725bc1347e0cf54f653 Mon Sep 17 00:00:00 2001 +From e1ed72556f5f41eb7197cffb1df699ead16b0e5c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 17 May 2016 19:24:08 +0100 -Subject: [PATCH 50/61] stereoscopics: Switch to using block_lr for mvc to +Subject: [PATCH 50/65] stereoscopics: Switch to using block_lr for mvc to match makemkv See: http://forum.kodi.tv/showthread.php?tid=221407&pid=2339656#pid2339656 @@ -51574,10 +51483,10 @@ index a253b7fe8c591ba318958ea133355febb24ab328..1bab467cee97cad4a05fec71f29ca72d break; case AV_CODEC_ID_H263: diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -index 65d998f65493c1b463a4d1cabf36a16c9a06d498..815dc7589fed03a5d448297df5ebddd24daef80d 100644 +index cfa691835cda0b2cf986adbb9aa4db47dcf4f75d..3e271f12e1862552467ee7f905fb992b77d92178 100644 --- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp -@@ -1400,7 +1400,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) +@@ -1403,7 +1403,7 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) CDVDInputStreamBluray *bluRay = static_cast(m_pInput); if (bluRay->HasMVC()) { @@ -51654,10 +51563,10 @@ index 9426604f6460651f54cc035476e69530b2ea8493..cc929b599125a44ac128713fd4331782 }; -From e687fbce1615c87f03cb02f73482e4eda9a0f669 Mon Sep 17 00:00:00 2001 +From c3496c7ec02f261166a07fccda875aad538aaed8 Mon Sep 17 00:00:00 2001 From: Anton Fedchin Date: Thu, 10 Mar 2016 18:11:33 +0300 -Subject: [PATCH 51/61] fixup! Revert supporting crappy tab/sbs subtitles. this +Subject: [PATCH 51/65] fixup! Revert supporting crappy tab/sbs subtitles. this fixes regular subtitles. --- @@ -51702,10 +51611,10 @@ index 3a080d06c90b0762482816928642e6de7810b539..7c0b70777556ac7694e7fc511cd4bb18 } -From 677c4dc68110455444a13ab76dae151fc4f0fc85 Mon Sep 17 00:00:00 2001 +From 015e4471d62799cd8e534469406cfc9270a0f0b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 10 Feb 2015 15:29:16 +0000 -Subject: [PATCH 52/61] [libcec] Add repeating keypress patch from popcornmix' +Subject: [PATCH 52/65] [libcec] Add repeating keypress patch from popcornmix' repo --- @@ -52592,10 +52501,10 @@ index 0000000000000000000000000000000000000000..8366a696562a934144cc9a21ea6f2cab +1.9.1 + -From 75ca9806598f9ea98b1e872f68cd8dc899e9ec74 Mon Sep 17 00:00:00 2001 +From 84de446856b479d43ac2df0fbbc0ee917d6d962a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 19 Mar 2016 17:15:29 +0000 -Subject: [PATCH 53/61] cec: hack: pretend bump to 3.1.0 +Subject: [PATCH 53/65] cec: hack: pretend bump to 3.1.0 --- tools/depends/target/libcec/Makefile | 1 + @@ -52643,10 +52552,10 @@ index 0000000000000000000000000000000000000000..9e55e51068e7befd9d4ff003156ce1ff + # cec-client + add_subdirectory(src/cec-client) -From 1ca2f1145a8b3baeaee694ce8bd83e76be117cc7 Mon Sep 17 00:00:00 2001 +From 06d3df42fba59facd2ae8ba3d1ec1fbbf193ece1 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 28 Oct 2014 00:19:40 +0000 -Subject: [PATCH 54/61] [cec] Add settings for configuring button repeats +Subject: [PATCH 54/65] [cec] Add settings for configuring button repeats --- addons/resource.language.en_gb/resources/strings.po | 15 +++++++++++++++ @@ -52655,10 +52564,10 @@ Subject: [PATCH 54/61] [cec] Add settings for configuring button repeats 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po -index b5ae4dc1a6b21ba96fd3498baff1b63004fa6902..cb886deeceb95df1706a1176619944911d5bb64a 100644 +index bdd03649780dc6ba0a4d16c32d6bec8891727019..3d20c523cbf6666099f3210c86330078fcc46e21 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po -@@ -19480,6 +19480,21 @@ msgctxt "#39007" +@@ -19583,6 +19583,21 @@ msgctxt "#39007" msgid "This provides access to where picture sources can be added and otherwise managed." msgstr "" @@ -52681,7 +52590,7 @@ index b5ae4dc1a6b21ba96fd3498baff1b63004fa6902..cb886deeceb95df1706a117661994491 msgid "Extract thumbnails from video files" msgstr "" diff --git a/system/peripherals.xml b/system/peripherals.xml -index b9c8e9d658cca961a4970ab33aa4d221f2435dda..43397c44833c1068c3586eb05039bbd644c93c9b 100644 +index 012b14a14e1fff7fe8a2d2b052efc7c563066d01..a070fb9a433601f7800ff82a382728b5ba759bd4 100644 --- a/system/peripherals.xml +++ b/system/peripherals.xml @@ -31,7 +31,9 @@ @@ -52730,10 +52639,10 @@ index e6bcbce6911a1714e129ecd5aceead94769231f4..19b3c37bc18fcab30920b12902e8c339 if (GetSettingBool("pause_playback_on_deactivate")) { -From 0ad79428d9636283d7dd952363050fac2e55898e Mon Sep 17 00:00:00 2001 +From 0fb45720cbbba03f9812699c0916e9e00cc6d6c6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Nov 2014 23:17:46 +0000 -Subject: [PATCH 55/61] [cec] Don't discard buttons when repeat mode is enabled +Subject: [PATCH 55/65] [cec] Don't discard buttons when repeat mode is enabled --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 5 ++++- @@ -52756,10 +52665,10 @@ index 19b3c37bc18fcab30920b12902e8c3397a69dccc..f859f44f6d5379154317b5760d7df720 if (m_currentButton.iButton == key.iButton && m_currentButton.iDuration == 0) { -From 93c60a7a5fd00d2672b098dbad4a6eab8d2fc8be Mon Sep 17 00:00:00 2001 +From b1597077c627544df137a2e094ace55a9d11adcb Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Nov 2014 18:50:00 +0000 -Subject: [PATCH 56/61] [cec] Temp - more logging +Subject: [PATCH 56/65] [cec] Temp - more logging --- xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 8 +++++++- @@ -52811,10 +52720,10 @@ index f859f44f6d5379154317b5760d7df720f0894e0d..f1c3a6d242183507c4ce9ebf4651b0c0 } -From 8bc97ca506489e1f77baf7a4b978971caac9d42c Mon Sep 17 00:00:00 2001 +From 461405a907d5043ce25d089b2b527029eddd3695 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 22 Jan 2016 12:29:41 +0000 -Subject: [PATCH 57/61] [cec] Update for libcec 3.1.0 +Subject: [PATCH 57/65] [cec] Update for libcec 3.1.0 --- configure.ac | 4 ++-- @@ -52822,10 +52731,10 @@ Subject: [PATCH 57/61] [cec] Update for libcec 3.1.0 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index 5b8c04b246ac91b0a9cf7d11659ac9726c1a80ed..5c99e8288d925c6f7499ea969783c2d6f1d3aba5 100644 +index 5a449f75c92ec10d30d4c977239aa17988b2c976..9b15fbe8eb54ba38fd970cd4ec149df990716566 100644 --- a/configure.ac +++ b/configure.ac -@@ -1433,9 +1433,9 @@ if test "x$use_libcec" != "xno"; then +@@ -1421,9 +1421,9 @@ if test "x$use_libcec" != "xno"; then # libcec is dyloaded, so we need to check for its headers and link any depends. if test "x$use_libcec" != "xno"; then if test "x$use_libcec" != "xauto"; then @@ -52860,10 +52769,10 @@ index f1c3a6d242183507c4ce9ebf4651b0c0f7e9c5c9..28a6a8148810da940f977976a627018c // device name 'XBMC' snprintf(m_configuration.strDeviceName, 13, "%s", GetSettingString("device_name").c_str()); -From 333e05a9c5e21d95f09b32858a6c5587e2d9beed Mon Sep 17 00:00:00 2001 +From 7e4c3b823097ec0851a4065462ff0bb34c6f8f25 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 19 Mar 2016 14:46:41 +0000 -Subject: [PATCH 58/61] libcec: use system audio mode request instead of power +Subject: [PATCH 58/65] libcec: use system audio mode request instead of power on to start AVR reliable --- @@ -52929,39 +52838,37 @@ index 39ba882d0c7e270b4d1d1d566027cbaffb76b587..4565dc9f6fc0b3e6b49133443c19e107 $(LIBDYLIB): $(PLATFORM) -From a9f40d9bf8aae676de620b2cd934ddbc1d202974 Mon Sep 17 00:00:00 2001 +From 196902cfd8f081ff6595b66259c5d055a67182da Mon Sep 17 00:00:00 2001 From: Rainer Hochecker Date: Tue, 22 Mar 2016 09:51:52 +0100 -Subject: [PATCH 59/61] python: use kodi provided cert if available +Subject: [PATCH 59/65] python: use kodi provided cert if available --- - xbmc/interfaces/python/XBPython.cpp | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) + xbmc/interfaces/python/XBPython.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/xbmc/interfaces/python/XBPython.cpp b/xbmc/interfaces/python/XBPython.cpp -index d762bf4f8fdca2a1081026089977ae8987c88b66..ff4ed7db26845905108ea0ae504e4f589f9c7d0f 100644 +index bc84af9411ef55eaf5ba71a320b5cbfec5f49548..ff4ed7db26845905108ea0ae504e4f589f9c7d0f 100644 --- a/xbmc/interfaces/python/XBPython.cpp +++ b/xbmc/interfaces/python/XBPython.cpp -@@ -593,9 +593,12 @@ bool XBPython::OnScriptInitialized(ILanguageInvoker *invoker) +@@ -595,6 +595,12 @@ bool XBPython::OnScriptInitialized(ILanguageInvoker *invoker) CEnvironment::putenv(buf); - buf = "OS=win32"; - CEnvironment::putenv(buf); -+#endif + #endif --#elif defined(TARGET_ANDROID) -- setenv("SSL_CERT_FILE", CSpecialProtocol::TranslatePath("special://xbmc/system/certs/cacert.pem").c_str(), 1); +#if !defined(TARGET_WINDOWS) + // use Kodi provided cert if available + if (XFILE::CFile::Exists("special://xbmc/system/certs/cacert.pem")) + setenv("SSL_CERT_FILE", CSpecialProtocol::TranslatePath("special://xbmc/system/certs/cacert.pem").c_str(), 1); - #endif - ++#endif ++ if (PyEval_ThreadsInitialized()) + PyEval_AcquireLock(); + else -From 1dc7050d2ea538674cf19aadf23718e1d392560f Mon Sep 17 00:00:00 2001 +From 44d0df2bd27b658b047c8baec26085ae5ccbc6f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 25 May 2016 18:31:17 +0100 -Subject: [PATCH 60/61] rbp: Hard code the number of buffers to improve audio +Subject: [PATCH 60/65] rbp: Hard code the number of buffers to improve audio sync --- @@ -52970,7 +52877,7 @@ Subject: [PATCH 60/61] rbp: Hard code the number of buffers to improve audio 2 files changed, 10 insertions(+) diff --git a/system/settings/rbp.xml b/system/settings/rbp.xml -index b7770ebc1b9568f9fe141d90a118b87106c86735..507dd61a464510760112a009d73bdc63cab19e4b 100644 +index 2572e25753712186f69390965ee1448bff3fadd5..5d9f716bac49f9850f1062a4d5ac851794eefbe3 100644 --- a/system/settings/rbp.xml +++ b/system/settings/rbp.xml @@ -92,6 +92,12 @@ @@ -52987,10 +52894,10 @@ index b7770ebc1b9568f9fe141d90a118b87106c86735..507dd61a464510760112a009d73bdc63 diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -index f2a133e1ff7b440ebc741878ccf87e6da090aa8c..e577d03b8280285567af0d332bc2284f6ffbf71a 100644 +index 4d5b9f740d08b95b1780caf6da0200583d9c6318..aa5e461660a23916681bbbd660b9a9e2a1622b8b 100644 --- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp +++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp -@@ -1062,7 +1062,11 @@ void CRenderManager::UpdateDisplayLatency() +@@ -1065,7 +1065,11 @@ void CRenderManager::UpdateDisplayLatency() refresh = 0; // No idea about refresh rate when windowed, just get the default latency m_displayLatency = (double) g_advancedSettings.GetDisplayLatency(refresh); @@ -53003,10 +52910,10 @@ index f2a133e1ff7b440ebc741878ccf87e6da090aa8c..e577d03b8280285567af0d332bc2284f } -From c60cda47009f0431a2f2dc1764882d8b1e5e7acd Mon Sep 17 00:00:00 2001 +From 6c79969ce8196cb7c942c4fcc3d3fb00d087e18b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 4 Jul 2016 18:30:03 +0100 -Subject: [PATCH 61/61] rbp: Update the GL libs to new naming scheme +Subject: [PATCH 61/65] rbp: Update the GL libs to new naming scheme As the opensource mesa GL library is getting more usable, the name collision wih the firmware GL driver is causing issues. As such we are renaming the firmware GL driver to avoid this. @@ -53020,10 +52927,10 @@ will be dropped at some point 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac -index 5c99e8288d925c6f7499ea969783c2d6f1d3aba5..54b9552f8ee5c2dc8bace2337a0254b5e5191fee 100644 +index 9b15fbe8eb54ba38fd970cd4ec149df990716566..25600bae809c8b6a4133a27441f7e788626f8fe4 100644 --- a/configure.ac +++ b/configure.ac -@@ -929,7 +929,7 @@ if test "$use_gles" = "yes"; then +@@ -917,7 +917,7 @@ if test "$use_gles" = "yes"; then AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."]) AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."]) AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.) @@ -53033,15 +52940,15 @@ index 5c99e8288d925c6f7499ea969783c2d6f1d3aba5..54b9552f8ee5c2dc8bace2337a0254b5 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library)) diff --git a/project/cmake/modules/FindOpenGLES.cmake b/project/cmake/modules/FindOpenGLES.cmake -index 5d71dd4ad34de4d4bb3a4f24198c86c82ebca2d4..4c1cba7a85c32140e9ebf4c766e845b2e97f769a 100644 +index ab06f968b3e314fca1ae001139f687dce9a5098b..87f1faa248b91a2e50758b23c0b9e5b09e4a69ff 100644 --- a/project/cmake/modules/FindOpenGLES.cmake +++ b/project/cmake/modules/FindOpenGLES.cmake @@ -13,7 +13,7 @@ find_package(EMBEDDED) if(PKG_CONFIG_FOUND AND NOT PLATFORM STREQUAL "raspberry-pi") -- pkg_check_modules(PC_OPENGLES glesv2) -+ pkg_check_modules(PC_OPENGLES brcmglesv2) +- pkg_check_modules(PC_OPENGLES glesv2 QUIET) ++ pkg_check_modules(PC_OPENGLES brcmglesv2 QUIET) if(NOT OPENGLES_FOUND AND EMBEDDED_FOUND) set(CMAKE_PREFIX_PATH ${EMBEDDED_FOUND} ${CMAKE_PREFIX_PATH}) endif() @@ -53070,3 +52977,284 @@ index fb0bd6dad18199e8893c38644f93659bf0a3f61b..010288dc5de74380fc3795d00dbd9984 -lvchiq_arm" fi + +From e4e2f951d7450d9a69b1a396cf48b3f8b2488de7 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 21 Apr 2016 16:49:02 +0100 +Subject: [PATCH 62/65] Revert "[settings] remove show EXIF picture information + setting" + +This reverts commit e7d90188436b6966eff23fd695e1a9d18f4af1b4. +--- + addons/resource.language.en_gb/resources/strings.po | 11 ++++++++++- + system/settings/settings.xml | 5 +++++ + xbmc/pictures/GUIWindowPictures.cpp | 2 +- + xbmc/pictures/PictureInfoLoader.cpp | 8 ++++++-- + xbmc/pictures/PictureInfoLoader.h | 1 + + xbmc/settings/Settings.cpp | 1 + + xbmc/settings/Settings.h | 1 + + 7 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po +index 3d20c523cbf6666099f3210c86330078fcc46e21..cdf0e494c460a9cdbc5aa38fc9243485bf3d4d24 100644 +--- a/addons/resource.language.en_gb/resources/strings.po ++++ b/addons/resource.language.en_gb/resources/strings.po +@@ -17556,7 +17556,11 @@ msgctxt "#36305" + msgid "This category contains the settings for how picture file lists are handled." + msgstr "" + +-#empty string with id 36306 ++#. Description of setting "Pictures -> Show EXIF picture information" with label #38207 ++#: system/settings/settings.xml ++msgctxt "#36306" ++msgid "If EXIF information exists (date, time, camera used, etc.), it will be displayed." ++msgstr "" + + #. Description of setting with label #13360 "Automatically generate thumbnails" + #: system/settings/settings.xml +@@ -19633,3 +19637,8 @@ msgstr "" + msgctxt "#38206" + msgid "Max" + msgstr "" ++ ++#: system/settings/settings.xml ++msgctxt "#38207" ++msgid "Show EXIF picture information" ++msgstr "" +diff --git a/system/settings/settings.xml b/system/settings/settings.xml +index 8f62f7ca494ea5b3322653f0a2b9431ebd54c7ea..348763a80a035ba2fb0b8e6a25573606c2e2688e 100644 +--- a/system/settings/settings.xml ++++ b/system/settings/settings.xml +@@ -1180,6 +1180,11 @@ + + + ++ ++ 0 ++ true ++ ++ + + 0 + true +diff --git a/xbmc/pictures/GUIWindowPictures.cpp b/xbmc/pictures/GUIWindowPictures.cpp +index 2197079c0d02dc80bd87ccff4c1f0f14f1ed89ef..d798bc0c774bf8e6b54f694356d9afbe32719875 100644 +--- a/xbmc/pictures/GUIWindowPictures.cpp ++++ b/xbmc/pictures/GUIWindowPictures.cpp +@@ -208,7 +208,7 @@ void CGUIWindowPictures::OnPrepareFileItems(CFileItemList& items) + if (StringUtils::EqualsNoCase(items[i]->GetLabel(), "folder.jpg")) + items.Remove(i); + +- if (items.GetFolderCount() == items.Size()) ++ if (items.GetFolderCount()==items.Size() || !CSettings::GetInstance().GetBool(CSettings::SETTING_PICTURES_USETAGS)) + return; + + // Start the music info loader thread +diff --git a/xbmc/pictures/PictureInfoLoader.cpp b/xbmc/pictures/PictureInfoLoader.cpp +index dd3347277c75c5e63a4a4db9af9cc46605bb5ea9..05304f9fc44285d5577f2056625cceb15347ae57 100644 +--- a/xbmc/pictures/PictureInfoLoader.cpp ++++ b/xbmc/pictures/PictureInfoLoader.cpp +@@ -43,6 +43,7 @@ void CPictureInfoLoader::OnLoaderStart() + m_mapFileItems->SetFastLookup(true); + + m_tagReads = 0; ++ m_loadTags = CSettings::GetInstance().GetBool(CSettings::SETTING_PICTURES_USETAGS); + + if (m_pProgressCallback) + m_pProgressCallback->SetProgressMax(m_pVecItems->GetFileCount()); +@@ -87,8 +88,11 @@ bool CPictureInfoLoader::LoadItemLookup(CFileItem* pItem) + if (pItem->HasPictureInfoTag()) + return false; + +- pItem->GetPictureInfoTag()->Load(pItem->GetPath()); +- m_tagReads++; ++ if (m_loadTags) ++ { // Nothing found, load tag from file ++ pItem->GetPictureInfoTag()->Load(pItem->GetPath()); ++ m_tagReads++; ++ } + + return true; + } +diff --git a/xbmc/pictures/PictureInfoLoader.h b/xbmc/pictures/PictureInfoLoader.h +index 000b54fe1bb1dd1963edd5cf208ea318a5a5499d..2a022ff0ff66d237f0ebd12092c7b5ce8244a511 100644 +--- a/xbmc/pictures/PictureInfoLoader.h ++++ b/xbmc/pictures/PictureInfoLoader.h +@@ -39,5 +39,6 @@ protected: + + CFileItemList* m_mapFileItems; + unsigned int m_tagReads; ++ bool m_loadTags; + }; + +diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp +index 3444a135954775a2c2fd60c151f447f76471d307..15d408b6a11357e200d236d6b025cee08751bbdd 100644 +--- a/xbmc/settings/Settings.cpp ++++ b/xbmc/settings/Settings.cpp +@@ -297,6 +297,7 @@ const std::string CSettings::SETTING_AUDIOCDS_SETTINGS = "audiocds.settings"; + const std::string CSettings::SETTING_AUDIOCDS_EJECTONRIP = "audiocds.ejectonrip"; + const std::string CSettings::SETTING_MYMUSIC_SONGTHUMBINVIS = "mymusic.songthumbinvis"; + const std::string CSettings::SETTING_MYMUSIC_DEFAULTLIBVIEW = "mymusic.defaultlibview"; ++const std::string CSettings::SETTING_PICTURES_USETAGS = "pictures.usetags"; + const std::string CSettings::SETTING_PICTURES_GENERATETHUMBS = "pictures.generatethumbs"; + const std::string CSettings::SETTING_PICTURES_SHOWVIDEOS = "pictures.showvideos"; + const std::string CSettings::SETTING_PICTURES_DISPLAYRESOLUTION = "pictures.displayresolution"; +diff --git a/xbmc/settings/Settings.h b/xbmc/settings/Settings.h +index 0829f6b15207bf0b8f2e4a699600b46427fe6267..432a23ce6b501fa4f3fad1f4ecff9f19c28ca9b5 100644 +--- a/xbmc/settings/Settings.h ++++ b/xbmc/settings/Settings.h +@@ -254,6 +254,7 @@ public: + static const std::string SETTING_AUDIOCDS_EJECTONRIP; + static const std::string SETTING_MYMUSIC_SONGTHUMBINVIS; + static const std::string SETTING_MYMUSIC_DEFAULTLIBVIEW; ++ static const std::string SETTING_PICTURES_USETAGS; + static const std::string SETTING_PICTURES_GENERATETHUMBS; + static const std::string SETTING_PICTURES_SHOWVIDEOS; + static const std::string SETTING_PICTURES_DISPLAYRESOLUTION; + +From a7c1c2da5832e5f0246f1994e2d957892db9caba Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 28 Jun 2016 14:46:01 +0100 +Subject: [PATCH 63/65] ffmpeg: hacky fix for files with GMC + +--- + xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +index 3e271f12e1862552467ee7f905fb992b77d92178..6d7e4668d36f6996d3a1cb9fdbed889d16259bf2 100644 +--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp ++++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp +@@ -1369,8 +1369,8 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int streamIdx) + stereoMode = GetStereoModeFromMetadata(m_pFormatContext->metadata); + if (!stereoMode.empty()) + st->stereo_mode = stereoMode; +- +- st->workaround_bugs = pStream->codec->workaround_bugs; ++ AVCodecContext *c = (AVCodecContext *)(((uint32_t *)pStream->internal)[4]); /* Eek! */ ++ st->workaround_bugs = c->workaround_bugs; + if ( m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD) ) + { + if (pStream->codec->codec_id == AV_CODEC_ID_PROBE) + +From d9b06184855ef0539ba08824b340275a822f2b33 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 19 Jul 2016 20:39:18 +0100 +Subject: [PATCH 64/65] mmalrender: Add sharpness control + +--- + addons/resource.language.en_gb/resources/strings.po | 2 +- + .../VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp | 13 ++++++++++++- + .../VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h | 1 + + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po +index cdf0e494c460a9cdbc5aa38fc9243485bf3d4d24..9b790684c1095242780b22ab3bdecc4ba7a6d39b 100644 +--- a/addons/resource.language.en_gb/resources/strings.po ++++ b/addons/resource.language.en_gb/resources/strings.po +@@ -8686,7 +8686,7 @@ msgstr "" + + #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp + msgctxt "#16313" +-msgid "VDPAU - Sharpness" ++msgid "Sharpness" + msgstr "" + + #: xbmc/video/dialogs/GUIDialogVideoSettings.cpp +diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp +index 78042e65f53a4691eda80121599e06646fead29c..b029bfbaf8cbd83a5cb93823e1d5aa6bab52edd4 100644 +--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp ++++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.cpp +@@ -403,6 +403,7 @@ CMMALRenderer::CMMALRenderer() : CThread("MMALRenderer"), m_processThread(this, + m_queue_process = nullptr; + m_error = 0.0; + m_vsync_count = ~0U; ++ m_sharpness = -2.0f; + m_vout_width = 0; + m_vout_height = 0; + m_vout_aligned_width = 0; +@@ -750,6 +751,15 @@ void CMMALRenderer::RenderUpdate(bool clear, DWORD flags, DWORD alpha) + + ManageRenderArea(); + ++ // if sharpness setting has changed, we should update it ++ if (m_sharpness != CMediaSettings::GetInstance().GetCurrentVideoSettings().m_Sharpness) ++ { ++ m_sharpness = CMediaSettings::GetInstance().GetCurrentVideoSettings().m_Sharpness; ++ char command[80], response[80]; ++ sprintf(command, "scaling_sharpness %d", ((int)(50.0f * (m_sharpness + 1.0f) + 0.5f))); ++ vc_gencmd(response, sizeof response, command); ++ } ++ + if (m_format != RENDER_FMT_MMAL) + { + if (g_advancedSettings.CanLogComponent(LOGVIDEO)) +@@ -927,7 +937,8 @@ bool CMMALRenderer::Supports(ERENDERFEATURE feature) + feature == RENDERFEATURE_ZOOM || + feature == RENDERFEATURE_ROTATION || + feature == RENDERFEATURE_VERTICAL_SHIFT || +- feature == RENDERFEATURE_PIXEL_RATIO) ++ feature == RENDERFEATURE_PIXEL_RATIO || ++ feature == RENDERFEATURE_SHARPNESS) + return true; + + return false; +diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h +index a1dd43845e65d5eba81d41fc679b837b5a3f573d..d07b16770608e772beeef0627d72dbe4cc21d6e4 100644 +--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h ++++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/MMALRenderer.h +@@ -135,6 +135,7 @@ protected: + RENDER_STEREO_MODE m_video_stereo_mode; + RENDER_STEREO_MODE m_display_stereo_mode; + bool m_StereoInvert; ++ float m_sharpness; + + CCriticalSection m_sharedSection; + MMAL_COMPONENT_T *m_vout; + +From e02d61193a446ef76d5d272059b1475799d4daa8 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Tue, 26 Jul 2016 19:00:03 +0100 +Subject: [PATCH 65/65] rbp: Ensure processinfo values are initialised + +--- + xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp | 2 ++ + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 5 ++--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp +index 1bab467cee97cad4a05fec71f29ca72d3ca93581..1a7bdf27c66c3df5496fff8113722c312f5fb209 100644 +--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp ++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/MMALCodec.cpp +@@ -590,6 +590,8 @@ bool CMMALVideo::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options) + m_speed = DVD_PLAYSPEED_NORMAL; + + m_processInfo.SetVideoDecoderName(m_pFormatName, true); ++ m_processInfo.SetVideoDimensions(m_decoded_width, m_decoded_height); ++ m_processInfo.SetVideoDAR(m_aspect_ratio); + + return true; + } +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index 6cd7d243d0fbea08c33e81edb5a51ab402bd110d..eee6cc67f0f0606714bbd025a232de6bf924b992 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -729,9 +729,6 @@ void OMXPlayerVideo::ResolutionUpdateCallBack(uint32_t width, uint32_t height, f + m_bAllowFullscreen = false; // only allow on first configure + } + +- m_processInfo.SetVideoDimensions(width, height); +- m_processInfo.SetVideoDAR(display_aspect); +- + unsigned int iDisplayWidth = width; + unsigned int iDisplayHeight = height; + +@@ -743,6 +740,8 @@ void OMXPlayerVideo::ResolutionUpdateCallBack(uint32_t width, uint32_t height, f + + m_fFrameRate = DVD_TIME_BASE / CDVDCodecUtils::NormalizeFrameduration((double)DVD_TIME_BASE / framerate); + m_processInfo.SetVideoFps(m_fFrameRate); ++ m_processInfo.SetVideoDimensions(width, height); ++ m_processInfo.SetVideoDAR((float)iDisplayWidth / (float)iDisplayHeight); + + CLog::Log(LOGDEBUG,"%s - change configuration. video:%dx%d. framerate: %4.2f. %dx%d format: BYPASS", + __FUNCTION__, video_width, video_height, m_fFrameRate, iDisplayWidth, iDisplayHeight);