diff --git a/projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-b62557d.patch b/projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-7fd55bc.patch similarity index 97% rename from projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-b62557d.patch rename to projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-7fd55bc.patch index 1334308bf7..49b2abb7aa 100644 --- a/projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-b62557d.patch +++ b/projects/RPi/patches/xbmc/xbmc-gotham_rbp_backports-7fd55bc.patch @@ -1,7 +1,7 @@ -From 1479d088e4d94dc3ac35db05405fd099b0fa4547 Mon Sep 17 00:00:00 2001 +From cf2e82246885b85b80625475f64f801ce9ae63ea Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 5 Aug 2013 13:12:46 +0100 -Subject: [PATCH 01/64] h264_parser: Initialize the h264dsp context in the +Subject: [PATCH 01/66] h264_parser: Initialize the h264dsp context in the parser as well MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -39,10 +39,10 @@ index aff9ba1..a732f79 100644 1.9.1 -From 5149943b49bc77cdbd8c6fc02036e84bf7af61a0 Mon Sep 17 00:00:00 2001 +From 74df555b8f8e53d57b47577b7c060fa0804c18d2 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 5 Aug 2013 13:12:47 +0100 -Subject: [PATCH 02/64] h264dsp: Factorize code into a new function, +Subject: [PATCH 02/66] h264dsp: Factorize code into a new function, h264_find_start_code_candidate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -168,10 +168,10 @@ index 98ea15c..1be4804 100644 1.9.1 -From e44ac52a2314d40e6d8383047e650441a2c34a10 Mon Sep 17 00:00:00 2001 +From 72796c4256963908a3fdcd0ec4e7624c1ff2d850 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 5 Aug 2013 13:12:48 +0100 -Subject: [PATCH 03/64] arm: Add assembly version of +Subject: [PATCH 03/66] arm: Add assembly version of h264_find_start_code_candidate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -505,10 +505,10 @@ index 972aace..363843c 100644 1.9.1 -From 6f4cd93d8cf5aa8fa3406945d32f89b3ff601ca6 Mon Sep 17 00:00:00 2001 +From 68ece5ea953f6df73f2432ba3ed6ec341cdf916c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 19 Aug 2013 22:48:05 +0100 -Subject: [PATCH 04/64] [ffmpeg] Backport of h264_find_start_code_candidate +Subject: [PATCH 04/66] [ffmpeg] Backport of h264_find_start_code_candidate optimisation --- @@ -1037,10 +1037,10 @@ index 0000000..cdc2d1e 1.9.1 -From ffc568e30ec22f5c7d51a8eba38d2b5567997c67 Mon Sep 17 00:00:00 2001 +From e5ea872ae40a73853d95c04e99231a1d0809a380 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:44:59 +0000 -Subject: [PATCH 05/64] truehd: add hand-scheduled ARM asm version of +Subject: [PATCH 05/66] truehd: add hand-scheduled ARM asm version of mlp_filter_channel. Profiling results for overall audio decode and the mlp_filter_channel(_arm) @@ -1593,10 +1593,10 @@ index 84a8aa3..129bcfe 100644 1.9.1 -From 0f9191b0d50fd93168977281e121e35e216bb58a Mon Sep 17 00:00:00 2001 +From 4962c99d7d79ceb109e9afb0753b7857abaf5365 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:48:54 +0000 -Subject: [PATCH 06/64] truehd: break out part of rematrix_channels into +Subject: [PATCH 06/66] truehd: break out part of rematrix_channels into platform-specific callback. Verified with profiling that this doesn't have a measurable effect upon @@ -1754,10 +1754,10 @@ index 129bcfe..f98e9be 100644 1.9.1 -From 0cd934d878e9720721c9272d3120b28599dac386 Mon Sep 17 00:00:00 2001 +From 3cf1778ea1a5bbe08d0c243041c315d734cd08c5 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:49:48 +0000 -Subject: [PATCH 07/64] truehd: add hand-scheduled ARM asm version of +Subject: [PATCH 07/66] truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel. Profiling results for overall audio decode and the rematrix_channels function @@ -2050,10 +2050,10 @@ index f0ea285..268dfdd 100644 1.9.1 -From 64937a907e225a30817d1e097cfe5af8a916c4ff Mon Sep 17 00:00:00 2001 +From e4cdb3faf33077d40f1140940b8ecfd31755d688 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:50:36 +0000 -Subject: [PATCH 08/64] truehd: tune VLC decoding for ARM. +Subject: [PATCH 08/66] truehd: tune VLC decoding for ARM. Profiling on a Raspberry Pi revealed the best performance to correspond with VLC_BITS = 5. Results for overall audio decode and the get_vlc2 function @@ -2115,10 +2115,10 @@ index e9343a5..a998dac 100644 1.9.1 -From 61cdd7d0bd88f9c4c98c08a758196a776b0655f2 Mon Sep 17 00:00:00 2001 +From 112decfe89725ef9c518c0d055d077bfdd50f0bb Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:54:07 +0000 -Subject: [PATCH 09/64] truehd: break out part of output_data into +Subject: [PATCH 09/66] truehd: break out part of output_data into platform-specific callback. Verified with profiling that this doesn't have a measurable effect upon @@ -2312,10 +2312,10 @@ index f98e9be..5bc901f 100644 1.9.1 -From 384050e8c982104fe0b47abf288861f288a3d55c Mon Sep 17 00:00:00 2001 +From fdcf223b013580f2fabc6a1cb6d2722cba053679 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 19 Mar 2014 17:54:59 +0000 -Subject: [PATCH 10/64] truehd: add hand-scheduled ARM asm version of +Subject: [PATCH 10/66] truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output. Profiling results for overall decode and the output_data function in @@ -2939,10 +2939,10 @@ index 268dfdd..2d8b98d 100644 1.9.1 -From f8989fb6baf0e292e6e86c721abf5527213dd24e Mon Sep 17 00:00:00 2001 +From ac71b9969f67a58aff5b3f5f8afcc505ebb5548d Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 14 Nov 2013 19:48:41 +0000 -Subject: [PATCH 11/64] More efficient infobool expression evaluator +Subject: [PATCH 11/66] More efficient infobool expression evaluator Expession infobools are evaluated at runtime from one or more single infobools and a combination of boolean NOT, AND and OR operators. Previously, parsing @@ -3441,10 +3441,10 @@ index 4e0faee..0a91399 100644 1.9.1 -From e2a34798ffd687e2445829101b2d383f9ad1c1ca Mon Sep 17 00:00:00 2001 +From e0974ef6de29ba5e82c7c56bfacf5ae43c8d6a65 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 24 Mar 2014 22:26:21 +0000 -Subject: [PATCH 12/64] Where an infobool expression failed to parse, evaluate +Subject: [PATCH 12/66] Where an infobool expression failed to parse, evaluate the infobool as false. Previously, this would result in a segfault due to the dereferencing of an uninitialised pointer to the head of the expression tree. @@ -3471,10 +3471,10 @@ index db461dd..7c54064 100644 1.9.1 -From 01067164d7a218b8a24b2a8f67226c68fc6591dc Mon Sep 17 00:00:00 2001 +From de9ff502d906142393ece1b13ea5f913ca50f470 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 26 Nov 2013 20:09:48 +0000 -Subject: [PATCH 13/64] Add caching of infolabels +Subject: [PATCH 13/66] Add caching of infolabels The functions CGUIInfoLabel::GetLabel and CGUIInfoLabel::GetItemLabel take a number of strings returned from CGUIInfoManager::GetImage or @@ -3687,10 +3687,10 @@ index 8c1c1dc..418b2c4 100644 1.9.1 -From 936234f207865d793b3f527cf387de67951ecbf8 Mon Sep 17 00:00:00 2001 +From 234e2f43339c98745874e92e874bdcda2cfee31f Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 10 Dec 2013 01:12:31 +0000 -Subject: [PATCH 14/64] De-duplication of string cache for non-item and item +Subject: [PATCH 14/66] De-duplication of string cache for non-item and item labels --- @@ -3830,10 +3830,10 @@ index 418b2c4..6d9ebf7 100644 1.9.1 -From ddd9508e24e346a4bc51165d85566a69bc0204c5 Mon Sep 17 00:00:00 2001 +From 58cdc1ef1a60d0773ae9ce186b15b17ebcc099b2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 21 Feb 2014 15:16:13 +0000 -Subject: [PATCH 15/64] Faster and simpler portable implementation of +Subject: [PATCH 15/66] Faster and simpler portable implementation of MathUtils::round_int(). Much as I like a bit of inline assembler, I have also removed the ARM versions @@ -4039,10 +4039,10 @@ index 96af9f4..0dae77d 100644 1.9.1 -From 249b154c3be90e143339d38bb9a8947a975a5fba Mon Sep 17 00:00:00 2001 +From 03e1ff1f03f288682fa2f7c5a2c49a127dd3ffdd Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 17:21:54 +0000 -Subject: [PATCH 16/64] Move the reference-counting of Begin and End calls from +Subject: [PATCH 16/66] Move the reference-counting of Begin and End calls from DX and GL source files into GUIFontTTF.cpp. --- @@ -4397,10 +4397,10 @@ index a0dacba..6736cf7 100644 1.9.1 -From b8eb10945a04f4aa8b8169f61390c13fb57c2bba Mon Sep 17 00:00:00 2001 +From a144ce7a68000354d72e1c5809bd5b7fda412df9 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 11 Dec 2013 18:47:54 +0000 -Subject: [PATCH 17/64] Convert CGUIFontTTFBase::m_vertex to be managed as a +Subject: [PATCH 17/66] Convert CGUIFontTTFBase::m_vertex to be managed as a std::vector. Also retired CGUIFontTTFBase::m_vertex_count and CGUIFontTTFBase::m_vertex_size because these can be derived from vector member functions. @@ -4582,10 +4582,10 @@ index 93b7ea6..a4e8571 100644 1.9.1 -From 2b0ee58457bc5e3f9c7a93cb9af9b4825abb83c1 Mon Sep 17 00:00:00 2001 +From 91f23c4798a31561d4b59d8343f9a30b52f74886 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 16 Dec 2013 18:58:12 +0000 -Subject: [PATCH 18/64] CGUIFontTTFBase::RenderCharacter can now append to +Subject: [PATCH 18/66] CGUIFontTTFBase::RenderCharacter can now append to arbitrary vectors of vertices rather than only CGUIFontTTFBase::m_vertex --- @@ -4661,10 +4661,10 @@ index 35e3cf9..4a6a696 100644 1.9.1 -From c6b8ec5cb2ca7cefa7be5b082ba8e9eb79da978d Mon Sep 17 00:00:00 2001 +From 8ba1e027706342933dd72343bb5373b6ecedb9a6 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 17:18:38 +0000 -Subject: [PATCH 19/64] Add a cache of font glyph bounding box vertices. This +Subject: [PATCH 19/66] Add a cache of font glyph bounding box vertices. This is implemented as a template because ultimately we will key on different parameters and store values of different types, depending upon whether we have a GLES or non-GLES backend, and for GLES, whether or not the currently @@ -5324,10 +5324,10 @@ index f351c99..9036ba9 100644 1.9.1 -From 4fd419d8788bc52c512f5e47d2cf4563087922a7 Mon Sep 17 00:00:00 2001 +From 603cac6baf0c124c3b9a2d22a875c98baf5fb814 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 22:24:17 +0000 -Subject: [PATCH 20/64] Lay the groundwork for hardware clipping. +Subject: [PATCH 20/66] Lay the groundwork for hardware clipping. For glScissor() to replace CGraphicContext::ClipRect, a necessary condition is that no shear or rotation is introduced between the coordinate systems @@ -5497,7 +5497,7 @@ index c7e95aa..86ce4cc 100644 #endif // GUI_SHADER_H diff --git a/xbmc/guilib/GraphicContext.cpp b/xbmc/guilib/GraphicContext.cpp -index ff29532..1621d17 100644 +index 38f17a7..5bffdf5 100644 --- a/xbmc/guilib/GraphicContext.cpp +++ b/xbmc/guilib/GraphicContext.cpp @@ -167,6 +167,16 @@ void CGraphicContext::ClipRect(CRect &vertex, CRect &texture, CRect *texture2) @@ -5592,10 +5592,10 @@ index 98e398a..81ee49e 100644 1.9.1 -From 7ad8c9298674efd4ccd657ac5e76853b4151d521 Mon Sep 17 00:00:00 2001 +From 4afd3e54cbdec1976d09eed746596f6904c44249 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 23 Jan 2014 16:42:22 +0000 -Subject: [PATCH 21/64] Increase font cache hit rate by keying on the +Subject: [PATCH 21/66] Increase font cache hit rate by keying on the fractional part of m_originX and m_originY *after* they have been through the graphics context's transformation matrix, plus the scale/rotation elements of the matrix, rather than the origin in the original frame of reference plus @@ -5799,10 +5799,10 @@ index 7cb4669..78445ab 100644 1.9.1 -From 6d207a3aec79585d42cc6dc65c0c40f68063a08c Mon Sep 17 00:00:00 2001 +From 8633ef4deaff6be33586d957a6cadaa22628d4cc Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 8 Jan 2014 12:16:33 +0000 -Subject: [PATCH 22/64] Rewrite of scrolling text code. +Subject: [PATCH 22/66] Rewrite of scrolling text code. No longer shuffles the string round to minimise the number of characters before the clipping rectangle; this doesn't save much on rendering time but @@ -6121,10 +6121,10 @@ index 2c6f366..b74faf2 100644 1.9.1 -From 06896ccb115926cfdb2845c9f01a427c3f340c09 Mon Sep 17 00:00:00 2001 +From d7ad682a7330a0a5f5c4b38fb8b7a5eaa3a80625 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Mon, 27 Jan 2014 23:21:10 +0000 -Subject: [PATCH 23/64] Move the application of the translation offsets into +Subject: [PATCH 23/66] Move the application of the translation offsets into the GLES code. Still all pure software at this stage. Main change is in the data types at the interface between CGUIFontTTFBase and CGUIFontTTFGL. The old way (array of vertices in m_vertex) are retained in addition, for the @@ -6320,10 +6320,10 @@ index cb56987..f6aa081 100644 1.9.1 -From 2537339b6dfc33dece9c6251477de4b1581e23df Mon Sep 17 00:00:00 2001 +From db61344a466ff566edd041f1ddbb9aa43fa9a739 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:28:06 +0000 -Subject: [PATCH 24/64] Rather than applying the translation offsets to the +Subject: [PATCH 24/66] Rather than applying the translation offsets to the vertices, now applies them to the model view matrix from the top of the matrix stack and pushes it over to OpenGL. The vertices themselves are still all held client-side. @@ -6470,10 +6470,10 @@ index 81ee49e..d2f9cd1 100644 1.9.1 -From f467d3b013caed155e22a42be5616bab64a84875 Mon Sep 17 00:00:00 2001 +From 5f600287b6127029841757be051218627b444860 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 29 Jan 2014 13:21:19 +0000 -Subject: [PATCH 25/64] Enable hardware clipping. +Subject: [PATCH 25/66] Enable hardware clipping. --- xbmc/guilib/GUIFontTTF.cpp | 4 ++-- @@ -6549,10 +6549,10 @@ index fbffaa0..b7618e1 100644 1.9.1 -From 04f90bb8f0b962eb9dbcac1d6961af80682c180b Mon Sep 17 00:00:00 2001 +From ea3c579d062f8bbe8a158a0d87a5d7fea8a7dcd1 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 15:32:51 +0000 -Subject: [PATCH 26/64] Move the vertex data across to a vertex buffer object +Subject: [PATCH 26/66] Move the vertex data across to a vertex buffer object just prior to drawing. --- @@ -6606,10 +6606,10 @@ index b7618e1..0df3749 100644 1.9.1 -From c2b2e91ae7a5137f8f89ab8a145934ec791d49d4 Mon Sep 17 00:00:00 2001 +From 41deb67e7c3a1afafbf38f120f4f1a96e0b77530 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 15 Jan 2014 16:04:04 +0000 -Subject: [PATCH 27/64] Move vertex data into an OpenGL VBO when the font cache +Subject: [PATCH 27/66] Move vertex data into an OpenGL VBO when the font cache entry is populated. The font cache now stores the "name" (handle) of the VBO, rather than a vector of vertices. @@ -6884,10 +6884,10 @@ index 6736cf7..168fb21 100644 1.9.1 -From 3f614d935e40b23ecef1bce160bd2afbee87a001 Mon Sep 17 00:00:00 2001 +From 9b627cf8be922a8bfc2a7620b4d002c718ec7e88 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Thu, 16 Jan 2014 16:29:42 +0000 -Subject: [PATCH 28/64] Switch from glDrawArrays() to glDrawElements(). This +Subject: [PATCH 28/66] Switch from glDrawArrays() to glDrawElements(). This involves setting up a static VBO containing the indexes necessary to convert from quads to triangles on the fly in the GPU. @@ -7110,10 +7110,10 @@ index dfc4672..0c32947 100644 1.9.1 -From da0aa7312a518a92716d1dbc16e282684c6a189c Mon Sep 17 00:00:00 2001 +From 61b80a2c51ff18978f505ce439b887aa30555262 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 4 Feb 2014 16:17:57 +0000 -Subject: [PATCH 29/64] Update Windows project files +Subject: [PATCH 29/66] Update Windows project files --- project/VS2010Express/XBMC.vcxproj | 2 ++ @@ -7168,10 +7168,10 @@ index b536eb3..cb34443 100644 1.9.1 -From 00271f342a3a337d775b9bff7469df683b1db2f8 Mon Sep 17 00:00:00 2001 +From f9a0226320cbd77f2b385fba9ccfed218572eef4 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 4 Feb 2014 16:49:45 +0000 -Subject: [PATCH 30/64] Update XCode project file +Subject: [PATCH 30/66] Update XCode project file --- XBMC.xcodeproj/project.pbxproj | 10 ++++++++++ @@ -7237,10 +7237,10 @@ index b5b96f9..5412e27 100644 1.9.1 -From 404111f22e2e487b496233d4ea39190e177af7cc Mon Sep 17 00:00:00 2001 +From 448860daac109d4b37c1e611e9e0dcd1dfe57351 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 4 Feb 2014 17:44:34 +0000 -Subject: [PATCH 31/64] Clang seems to be more picky than gcc about some C++ +Subject: [PATCH 31/66] Clang seems to be more picky than gcc about some C++ template syntax --- @@ -7308,10 +7308,10 @@ index 895fa72..bd84b9a 100644 1.9.1 -From e86c7c1da8886ef92c17eb36b9aa4180bc34a7df Mon Sep 17 00:00:00 2001 +From e533c2ff1cb1418a29aed255655c3e1a8187bb3d Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 4 Feb 2014 18:52:14 +0000 -Subject: [PATCH 32/64] Fix header to hopefully permit iOS builds to work +Subject: [PATCH 32/66] Fix header to hopefully permit iOS builds to work again. GUIShader.cpp added #include windowing/egl/WinSystemEGL.h inside a but also need the header windowing/osx/WinSystemIOS.h instead. The only thing GUIShader.cpp needed was g_windowing.GetViewPort, which is provided by the @@ -7340,10 +7340,10 @@ index 53bce09..86330cc 100644 1.9.1 -From 6d338a78696fe87802e7b407bb879bf68303f09a Mon Sep 17 00:00:00 2001 +From 547ef44b08fe12bc08e017cd888501ec18d52620 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Tue, 8 Apr 2014 18:14:55 +0100 -Subject: [PATCH 33/64] Fix font display in stereoscopic modes +Subject: [PATCH 33/66] Fix font display in stereoscopic modes CGUIFontTTFGL::LastEnd was previously using the relatively high-level CGraphicContext::SetScissors function to enforce hardware clipping. However, the coordinates it passed in already contained the stereoscopic offset, so @@ -7384,10 +7384,10 @@ index d476409..8466a81 100644 1.9.1 -From 6faca103f8eadf2ad587751f6724f023a087e03e Mon Sep 17 00:00:00 2001 +From 7ccf13e58d849e03fdadf1826a69ccdfb188e2d6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 10 Jan 2014 12:10:43 +0000 -Subject: [PATCH 34/64] [rbp] Don't override dvdplayer with omxplayer. +Subject: [PATCH 34/66] [rbp] Don't override dvdplayer with omxplayer. Using dvdplayer can be useful on the Pi. We can actually play sd (up to 640x480 MPEG-4 video) video in real time. This is useful for codec variants like DivX3 which we don't currently play. @@ -7420,10 +7420,10 @@ index 27f0bec..fc12bb7 100644 1.9.1 -From 1c3ddc2ddb423210ac381142bb00e6f571109b57 Mon Sep 17 00:00:00 2001 +From 3d42c1e059c9ac4541e477a30542613776290dae Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 10 Jan 2014 15:37:41 +0000 -Subject: [PATCH 35/64] [players] Use default players rather than hard coded +Subject: [PATCH 35/66] [players] Use default players rather than hard coded DVDPlayer/PAPlayer --- @@ -7482,10 +7482,10 @@ index 57dfcdd..7be9799 100644 1.9.1 -From 158518e9d7f0edc385e71e0731e17420b7631700 Mon Sep 17 00:00:00 2001 +From dcf776cf65929c849752e507f5147f126f0a72c3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 11 Jan 2014 18:23:42 +0000 -Subject: [PATCH 36/64] [rbp] Don't force dvdplayer for airplay +Subject: [PATCH 36/66] [rbp] Don't force dvdplayer for airplay --- xbmc/network/AirPlayServer.cpp | 2 ++ @@ -7511,10 +7511,10 @@ index 127a765..13b7ead 100644 1.9.1 -From d52e074994eb8191478443320bfc07e96b5dbd6b Mon Sep 17 00:00:00 2001 +From 4761d32b0c0f7d9cb93b2adb1e8bca509804bb79 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Jan 2014 13:11:06 +0000 -Subject: [PATCH 37/64] [rbp] Give plugins omxplayer when they request +Subject: [PATCH 37/66] [rbp] Give plugins omxplayer when they request dvdplayer on pi --- @@ -7522,7 +7522,7 @@ Subject: [PATCH 37/64] [rbp] Give plugins omxplayer when they request 1 file changed, 4 insertions(+) diff --git a/xbmc/interfaces/legacy/ModuleXbmc.cpp b/xbmc/interfaces/legacy/ModuleXbmc.cpp -index 6507155..bd92265 100644 +index 16f0174..b172d47 100644 --- a/xbmc/interfaces/legacy/ModuleXbmc.cpp +++ b/xbmc/interfaces/legacy/ModuleXbmc.cpp @@ -536,7 +536,11 @@ namespace XBMCAddon @@ -7541,10 +7541,10 @@ index 6507155..bd92265 100644 1.9.1 -From 3deb0526d506609b988a63f52c9afdfe6a39b932 Mon Sep 17 00:00:00 2001 +From b378e79164014304b0162a54f00dd951988bae86 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 14 Jan 2014 18:04:07 +0000 -Subject: [PATCH 38/64] [rbp] Allow ALSA to be chosen in addition to Pi sink +Subject: [PATCH 38/66] [rbp] Allow ALSA to be chosen in addition to Pi sink Needs --enable-alsa in ./configure step and alsa support on platform --- @@ -7554,7 +7554,7 @@ Needs --enable-alsa in ./configure step and alsa support on platform 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/configure.in b/configure.in -index aaf7ee2..d07eb91 100644 +index d1e410a..c76837d 100644 --- a/configure.in +++ b/configure.in @@ -742,7 +742,6 @@ case $use_platform in @@ -7636,10 +7636,10 @@ index e493123..7df6807 100644 1.9.1 -From d1bfb2ece4c9967ee513c2c53472ce76dfe24903 Mon Sep 17 00:00:00 2001 +From b432c035b2742311445803b56040269e4e1ffe52 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 16 Jan 2014 01:39:29 +0000 -Subject: [PATCH 39/64] [omxcodec] Add hardware decode to dvdplayer for Pi +Subject: [PATCH 39/66] [omxcodec] Add hardware decode to dvdplayer for Pi Hijack the abandoned OpenMaxVideo codec --- @@ -7665,7 +7665,7 @@ Hijack the abandoned OpenMaxVideo codec delete mode 100644 xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMax.h diff --git a/configure.in b/configure.in -index d07eb91..79fce22 100644 +index c76837d..e6ef909 100644 --- a/configure.in +++ b/configure.in @@ -1948,9 +1948,24 @@ if test "$host_vendor" = "apple" ; then @@ -7697,7 +7697,7 @@ index d07eb91..79fce22 100644 if test "$use_gles" = "yes" && test "$use_openmax" = "auto"; then PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio], diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -index d251ec8..b637647 100644 +index 30c0601..6d879e3 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp @@ -44,7 +44,7 @@ @@ -7709,7 +7709,7 @@ index d251ec8..b637647 100644 #include "threads/SingleLock.h" #include "RenderCapture.h" #include "RenderFormats.h" -@@ -1324,6 +1324,10 @@ void CLinuxRendererGLES::RenderOpenMax(int index, int field) +@@ -1330,6 +1330,10 @@ void CLinuxRendererGLES::RenderOpenMax(int index, int field) glActiveTexture(GL_TEXTURE0); glBindTexture(m_textureTarget, textureId); @@ -7720,7 +7720,7 @@ index d251ec8..b637647 100644 g_Windowing.EnableGUIShader(SM_TEXTURE_RGBA); GLubyte idx[4] = {0, 1, 3, 2}; //determines order of triangle strip -@@ -2670,10 +2674,12 @@ unsigned int CLinuxRendererGLES::GetProcessorSize() +@@ -2676,10 +2680,12 @@ unsigned int CLinuxRendererGLES::GetProcessorSize() } #ifdef HAVE_LIBOPENMAX @@ -10695,10 +10695,10 @@ index 54d35aa..5b9c2f9 100644 1.9.1 -From 67af9333092e7382c63fb03e2fc4635fbdd6aa8e Mon Sep 17 00:00:00 2001 +From 6bcd9f5098351565e5965b6b329eb5797b7f5d67 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 20 Jan 2014 16:03:40 +0000 -Subject: [PATCH 40/64] [omxcodec] Enable for dvd menus +Subject: [PATCH 40/66] [omxcodec] Enable for dvd menus --- xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp | 9 ++++++--- @@ -10747,10 +10747,10 @@ index 2894229..72f87ea 100644 1.9.1 -From df67eedcfbec84e07a4f3fa2cc9aa3259e96b7ac Mon Sep 17 00:00:00 2001 +From 92e5de3a9ff7f202eb1d661ac9fa7c0cea73d6b9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 22:27:44 +0000 -Subject: [PATCH 41/64] [omxcodec] Add omx specific texture +Subject: [PATCH 41/66] [omxcodec] Add omx specific texture create/upload/delete functions --- @@ -10759,7 +10759,7 @@ Subject: [PATCH 41/64] [omxcodec] Add omx specific texture 2 files changed, 37 insertions(+) diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -index b637647..dec2d8c 100644 +index 6d879e3..279aa90 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp @@ -805,6 +805,12 @@ void CLinuxRendererGLES::LoadShaders(int field) @@ -10775,7 +10775,7 @@ index b637647..dec2d8c 100644 else { // default to YV12 texture handlers -@@ -2481,6 +2487,33 @@ bool CLinuxRendererGLES::CreateSurfaceTexture(int index) +@@ -2487,6 +2493,33 @@ bool CLinuxRendererGLES::CreateSurfaceTexture(int index) return true; } @@ -10828,10 +10828,10 @@ index 0ca56a2..f3dd3d3 100644 1.9.1 -From 31a936c2d3c1ff79cd44ce29841af0ca4737101c Mon Sep 17 00:00:00 2001 +From b081c363804da72387f4bde161f8bf49318a1974 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 22:50:43 +0000 -Subject: [PATCH 42/64] [omxcodec] Add shared pointer to delay shutdown of +Subject: [PATCH 42/66] [omxcodec] Add shared pointer to delay shutdown of codec until buffers are returned --- @@ -11012,10 +11012,10 @@ index 9079c13..0975e8a 100644 1.9.1 -From 963149f84cbc5dad3c1a73bcaa5b33454ef73e52 Mon Sep 17 00:00:00 2001 +From c071facc03646aab74193c297555002c22487fcd Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 23:11:31 +0000 -Subject: [PATCH 43/64] [omxcodec] Fix for aspect ratio in non-square pixel +Subject: [PATCH 43/66] [omxcodec] Fix for aspect ratio in non-square pixel modes --- @@ -11104,10 +11104,10 @@ index 0975e8a..9138a20 100644 1.9.1 -From e807c205a00a57e6d97353f9e6b916c0f3e0430f Mon Sep 17 00:00:00 2001 +From c7a8aa4e5d58987718fab406e32b8afbe184792d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Feb 2014 23:19:22 +0000 -Subject: [PATCH 44/64] [omxcodec] Report error when codec not enabled +Subject: [PATCH 44/66] [omxcodec] Report error when codec not enabled --- xbmc/cores/dvdplayer/DVDCodecs/Video/OpenMaxVideo.cpp | 10 +++++++++- @@ -11152,10 +11152,10 @@ index 7e23c87..2ae722b 100644 1.9.1 -From 37bc23673e6b6f903368ec250fc611098566883f Mon Sep 17 00:00:00 2001 +From fb01550154789ac2e3acb338c385bf801ec83a52 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 4 Feb 2014 17:29:37 +0000 -Subject: [PATCH 45/64] [omxcodec] Add deinterlace support +Subject: [PATCH 45/66] [omxcodec] Add deinterlace support --- xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp | 2 +- @@ -11164,10 +11164,10 @@ Subject: [PATCH 45/64] [omxcodec] Add deinterlace support 3 files changed, 103 insertions(+), 14 deletions(-) diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -index dec2d8c..b3efe16 100644 +index 279aa90..a57abe4 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -@@ -2601,7 +2601,7 @@ bool CLinuxRendererGLES::Supports(EDEINTERLACEMODE mode) +@@ -2607,7 +2607,7 @@ bool CLinuxRendererGLES::Supports(EDEINTERLACEMODE mode) return true; if(m_renderMethod & RENDER_OMXEGL) @@ -11392,10 +11392,10 @@ index 9138a20..c8ad4d8 100644 1.9.1 -From bed424ce6b3ec4285c344eb8bf437ece1938f097 Mon Sep 17 00:00:00 2001 +From 9d225ec16373ea5900c269231394c7efbb18ffc4 Mon Sep 17 00:00:00 2001 From: Ben Avison Date: Wed, 12 Feb 2014 18:43:14 +0000 -Subject: [PATCH 46/64] Improved file buffering in CArchive. +Subject: [PATCH 46/66] Improved file buffering in CArchive. CArchive already did some file buffering, but only on writes. Added the equivalent code for reads. Also improved the write buffer case so that it @@ -11785,10 +11785,10 @@ index 0148fcb..5b25be5 100644 1.9.1 -From 4473cbfd8d488cd582412633a18b2dfde8851e94 Mon Sep 17 00:00:00 2001 +From 9af4c5bc3e7e532bd7f757a4829c6be700c5d51f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 5 Feb 2014 11:46:33 +0000 -Subject: [PATCH 47/64] [rbp/settings] Allow av sync type to be enabled +Subject: [PATCH 47/66] [rbp/settings] Allow av sync type to be enabled It works for dvdplayer --- @@ -11817,10 +11817,10 @@ index 2b7d0a6..1429256 100644 1.9.1 -From 5a090eebce9bdc02579e60d81e363c209284d63b Mon Sep 17 00:00:00 2001 +From b2c548a5dfcb23652795535c3baa7bba4acc64ca Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 16 Feb 2014 17:38:05 +0000 -Subject: [PATCH 48/64] [omxcodec] Only do essential calls in texture thread +Subject: [PATCH 48/66] [omxcodec] Only do essential calls in texture thread [omxcodec] Fix for files with no valid pts values. [omxcodec] Fix stall on seek/trickplay - need to reset start flag [omxcodec] Make sure we have a valid context when video decode starts before first fanart is decoded @@ -12170,10 +12170,10 @@ index c8ad4d8..f234f6d 100644 1.9.1 -From 880f19b407ea73636b2ee72c6bae472bae0bbaf1 Mon Sep 17 00:00:00 2001 +From 7f5af963dce7a380ba41a719c7dc1787d6839de5 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 1 Mar 2014 14:24:08 +0000 -Subject: [PATCH 49/64] [omxplayer] Allow small audio packets to be +Subject: [PATCH 49/66] [omxplayer] Allow small audio packets to be concatenated to make better use of audio fifo Some audio codecs produce small packets which causes a high overhead when submitting to GPU, and doesn't make full use of GPU side buffering. @@ -12591,10 +12591,10 @@ index 8219015..a4c11777 100644 1.9.1 -From 3ef35ee6119448f597cf9be9d89a9ac7b1659a70 Mon Sep 17 00:00:00 2001 +From 96d7b5575d728402aecaef264f5ba10720ab3308 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 5 Mar 2014 22:10:01 +0000 -Subject: [PATCH 50/64] [omxplayer] Use media for determing audio delay and +Subject: [PATCH 50/66] [omxplayer] Use media for determing audio delay and cache time I've also added caching to the call to OMXMediaTime as the GPU round trip is expensive when called too frequently @@ -12850,10 +12850,10 @@ index d7d06fe..f83074a 100644 1.9.1 -From aa927e5d9d36c844c789271d428da11a41aa0146 Mon Sep 17 00:00:00 2001 +From 270c6aef981ec3c6322b1689f415a5baaf0331f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 3 Mar 2014 22:24:19 +0000 -Subject: [PATCH 51/64] [omx] Skip the resize when not needed when decoding +Subject: [PATCH 51/66] [omx] Skip the resize when not needed when decoding jpegs The decode to texture path almost always uses cached jpegs that are the correct size, so the resize is rarely needed. @@ -13204,10 +13204,10 @@ index 4456fdb..262a004 100644 1.9.1 -From 892ddc6a09a9fe55a1a179f3250cd774edcccf00 Mon Sep 17 00:00:00 2001 +From b2932b4b68385cc036b9a5c77d6f4f7ebaab3109 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 8 Mar 2014 15:36:06 +0000 -Subject: [PATCH 52/64] [hifiberry] Hack: force it to be recognised as IEC958 +Subject: [PATCH 52/66] [hifiberry] Hack: force it to be recognised as IEC958 capable to enable passthrough options --- @@ -13233,10 +13233,10 @@ index b48a4fc..d9897e5 100644 1.9.1 -From 1d4a4a015ca11123373fc8e2e4257f05bf0483e6 Mon Sep 17 00:00:00 2001 +From 4bc9bd1607f9cb35b05c217652009cf719155039 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 11 Mar 2014 18:50:23 +0000 -Subject: [PATCH 53/64] [dvdplayer] Use inexact seeking like omxplayer +Subject: [PATCH 53/66] [dvdplayer] Use inexact seeking like omxplayer --- xbmc/cores/dvdplayer/DVDPlayer.cpp | 11 +++++++++++ @@ -13287,10 +13287,10 @@ index 82d3720..54d22d7 100644 1.9.1 -From a878b40befe23837ddf1e2c783476bdcd1083685 Mon Sep 17 00:00:00 2001 +From 4c297d5c2124d2a6fe64b4e1e80aaebf00039185 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 13 Mar 2014 16:08:46 +0000 -Subject: [PATCH 54/64] [omxplayer] Make use of TrueHD fastpath when downmixing +Subject: [PATCH 54/66] [omxplayer] Make use of TrueHD fastpath when downmixing The TrueHD codec actually works in 3 stages. It decodes the downmixed stereo. It then decodes the differences required to produce 5.1. It then decodes the differences required to produce 7.1. @@ -13335,10 +13335,10 @@ index 557e847..7f6ef6e 100644 1.9.1 -From e33983a177f520b599c9d03229fe1e48447992f0 Mon Sep 17 00:00:00 2001 +From 2e7d67d862283da2f472d74aa8c6861e87062929 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sat, 15 Mar 2014 19:38:38 +0000 -Subject: [PATCH 55/64] [omxplayer] When in dual audio mode, make one output +Subject: [PATCH 55/66] [omxplayer] When in dual audio mode, make one output the slave May help audio sync between the two outputs @@ -13372,10 +13372,10 @@ index 3e64de0..72e42ec 100644 1.9.1 -From be75f71dea82ef53499590fdeb1a71bd8589ca3d Mon Sep 17 00:00:00 2001 +From b23ab40b66bceafe9571cc707c1243a2a2fd7419 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 30 Dec 2013 12:02:14 +0000 -Subject: [PATCH 56/64] [rbp] Hardware accelerated resampling +Subject: [PATCH 56/66] [rbp] Hardware accelerated resampling This replaces the format conversion, up/down mixing and resampling code from ActiveAE with a GPU accelerated version. Should significantly reduce CPU when using paplayer or dvdplayer. @@ -14114,10 +14114,10 @@ index 99e407a..8d3c86a 100644 1.9.1 -From 6b747c328bfbcb188610dbd5873fd7b522f908a7 Mon Sep 17 00:00:00 2001 +From ed8c6a9f20ba179bfe0ee17130b5b23414d4158e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 27 Mar 2014 00:22:05 +0000 -Subject: [PATCH 57/64] [PiResample] Work around AE not providing correct +Subject: [PATCH 57/66] [PiResample] Work around AE not providing correct src_bits --- @@ -14160,10 +14160,10 @@ index 4d6f4ae..5d03bb1 100644 1.9.1 -From 3345c8fef6c414f9805325bf89c1af75e1c56e5a Mon Sep 17 00:00:00 2001 +From 9b5b27f5bb523d030153d81510ca4dfe181d7daf Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 25 Mar 2014 19:43:07 +0000 -Subject: [PATCH 58/64] [ffmpeg] Speed up wtv index creation +Subject: [PATCH 58/66] [ffmpeg] Speed up wtv index creation The index creation is O(N^2) with number of entries (typically thousands). On a Pi this can take more than 60 seconds to execute for a recording of a few hours. @@ -14213,10 +14213,10 @@ index e423370..70898bd 100644 1.9.1 -From ec33b6f8ecfeb02637ecd459e8b213be0480810f Mon Sep 17 00:00:00 2001 +From 9c39628521fd4b740bdf0445026bef0a4652a58f Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 18:19:32 +0100 -Subject: [PATCH 59/64] [rbp/omxplayer] When opening a stream don't try to +Subject: [PATCH 59/66] [rbp/omxplayer] When opening a stream don't try to update gui so often --- @@ -14243,10 +14243,10 @@ index e9ba7d3..0fdc3c2 100644 1.9.1 -From dee3c305494fc05eeba47f9c1c1d8a695b371aba Mon Sep 17 00:00:00 2001 +From 5a62f3318e2a0287ce675539113f2bfc4c4b9440 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 15:28:57 +0100 -Subject: [PATCH 60/64] [omxcodec] Clamp video texture at edges to avoid image +Subject: [PATCH 60/66] [omxcodec] Clamp video texture at edges to avoid image wrapping --- @@ -14254,10 +14254,10 @@ Subject: [PATCH 60/64] [omxcodec] Clamp video texture at edges to avoid image 1 file changed, 2 insertions(+) diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -index b3efe16..d89fa0b 100644 +index a57abe4..e22a153 100644 --- a/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp +++ b/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp -@@ -1333,6 +1333,8 @@ void CLinuxRendererGLES::RenderOpenMax(int index, int field) +@@ -1339,6 +1339,8 @@ void CLinuxRendererGLES::RenderOpenMax(int index, int field) GLint filter = m_scalingMethod == VS_SCALINGMETHOD_NEAREST ? GL_NEAREST : GL_LINEAR; glTexParameteri(m_textureTarget, GL_TEXTURE_MAG_FILTER, filter); glTexParameteri(m_textureTarget, GL_TEXTURE_MIN_FILTER, filter); @@ -14270,10 +14270,10 @@ index b3efe16..d89fa0b 100644 1.9.1 -From 9265479536f07157721db9c96612b0cc4fab5eaf Mon Sep 17 00:00:00 2001 +From 3e7adf966b607e80229c692b9c749f2308c8d0cc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 6 Apr 2014 18:35:58 +0100 -Subject: [PATCH 61/64] [PiSink] Grab resample coefficients by submitting +Subject: [PATCH 61/66] [PiSink] Grab resample coefficients by submitting identity samples --- @@ -14367,10 +14367,10 @@ index 5d03bb1..f8e312d 100644 1.9.1 -From d8906994d222969b7fd50861d32b24e2f1a4a524 Mon Sep 17 00:00:00 2001 +From c868a99770e1d371156e0408896bdc1be4bc78d3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 17:36:19 +0100 -Subject: [PATCH 62/64] [PiSink] Remove unneeded header and use CAEChannelInfo +Subject: [PATCH 62/66] [PiSink] Remove unneeded header and use CAEChannelInfo directly --- @@ -14446,10 +14446,10 @@ index 9ce00e3..070e6eb 100644 1.9.1 -From a725f3b2eaf8e3060c5c1c71b9db2a254742d5b0 Mon Sep 17 00:00:00 2001 +From 6bd1d919eeed32164c115892445c95722a42c868 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 7 Apr 2014 17:37:41 +0100 -Subject: [PATCH 63/64] [omxplayer] Remove PCMRemap and handle multichannel +Subject: [PATCH 63/66] [omxplayer] Remove PCMRemap and handle multichannel mixing like ActiveAE does --- @@ -14461,10 +14461,10 @@ Subject: [PATCH 63/64] [omxplayer] Remove PCMRemap and handle multichannel xbmc/cores/omxplayer/OMXAudio.h | 9 +- xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp | 39 +- xbmc/cores/omxplayer/OMXAudioCodecOMX.h | 5 +- - xbmc/cores/omxplayer/OMXPlayerAudio.cpp | 6 +- + xbmc/cores/omxplayer/OMXPlayerAudio.cpp | 4 +- xbmc/cores/omxplayer/PCMRemap.cpp | 813 ----------------------------- xbmc/cores/omxplayer/PCMRemap.h | 151 ------ - 11 files changed, 296 insertions(+), 1131 deletions(-) + 11 files changed, 294 insertions(+), 1131 deletions(-) delete mode 100644 xbmc/cores/omxplayer/PCMRemap.cpp delete mode 100644 xbmc/cores/omxplayer/PCMRemap.h @@ -15111,26 +15111,10 @@ index 66e5b4a..6e6b226 100644 bool m_bGotFrame; bool m_bNoConcatenate; diff --git a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp -index a4c11777..acee4b3 100644 +index a4c11777..d3348ec 100644 --- a/xbmc/cores/omxplayer/OMXPlayerAudio.cpp +++ b/xbmc/cores/omxplayer/OMXPlayerAudio.cpp -@@ -265,6 +265,7 @@ bool OMXPlayerAudio::Decode(DemuxPacket *pkt, bool bDropPacket) - - if(m_omxAudio.GetSpace() < (unsigned int)decoded_size) - { -+ CLog::Log(LOGINFO, "OMXPlayerAudio::Decode no space for buffer %d, %d < %d (%d%d%d)", pkt->iSize, m_omxAudio.GetSpace(), (unsigned int)decoded_size, m_bStop, m_flush, bDropPacket); - Sleep(10); - continue; - } -@@ -346,6 +347,7 @@ void OMXPlayerAudio::Process() - int timeout = 1000; - - MsgQueueReturnCode ret = m_messageQueue.Get(&pMsg, timeout, priority); -+ CLog::Log(LOGINFO, "Audio: m_messageQueue.Get=%d (%d,%d %d,%d)", ret, timeout, priority, m_speed, m_started); - - if (ret == MSGQ_TIMEOUT) - { -@@ -567,13 +569,13 @@ bool OMXPlayerAudio::OpenDecoder() +@@ -567,13 +567,13 @@ bool OMXPlayerAudio::OpenDecoder() /* GetDataFormat is setting up evrything */ m_format.m_dataFormat = GetDataFormat(m_hints); @@ -16126,10 +16110,10 @@ index a273cd1..0000000 1.9.1 -From b62557dc1484ddf4a09ea6c189892c777ce92648 Mon Sep 17 00:00:00 2001 +From 314c2a7a45224410d882e8629be98a97141c0011 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 13 Apr 2014 15:13:10 +0100 -Subject: [PATCH 64/64] [omxplayer] Fix for 3d video in mono mode +Subject: [PATCH 64/66] [omxplayer] Fix for 3d video in mono mode The test for no aspect wasn't correct, causing large black bars --- @@ -16152,3 +16136,140 @@ index 66a351d..f058a35 100644 -- 1.9.1 + +From 368b21d07185ceaf850da4ed88bae54d3880b633 Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Sat, 12 Apr 2014 17:57:19 +0100 +Subject: [PATCH 65/66] [omxplayer] Ignore occasionally valid pts values, they + cause live tv stutter + +--- + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index a5620da..caa822a 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -484,7 +484,7 @@ void OMXPlayerVideo::Process() + // if a stream has had more than 4 valid pts values in the last 16, the use UNKNOWN, otherwise use dts + m_history_valid_pts = (m_history_valid_pts << 1) | (pPacket->pts != DVD_NOPTS_VALUE); + double pts = pPacket->pts; +- if(pPacket->pts == DVD_NOPTS_VALUE && count_bits(m_history_valid_pts & 0xffff) < 4) ++ if(count_bits(m_history_valid_pts & 0xffff) < 4) + pts = pPacket->dts; + + if (pts != DVD_NOPTS_VALUE) +-- +1.9.1 + + +From 7fd55bc64fb2fd9f8385f95013ece0dcee111a3f Mon Sep 17 00:00:00 2001 +From: popcornmix +Date: Thu, 10 Apr 2014 17:19:18 +0100 +Subject: [PATCH 66/66] [omxplayer] Remove unused framerate functions + +--- + xbmc/cores/omxplayer/OMXPlayerVideo.cpp | 4 +--- + xbmc/linux/OMXClock.cpp | 35 --------------------------------- + xbmc/linux/OMXClock.h | 4 ---- + 3 files changed, 1 insertion(+), 42 deletions(-) + +diff --git a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +index caa822a..58885a6 100644 +--- a/xbmc/cores/omxplayer/OMXPlayerVideo.cpp ++++ b/xbmc/cores/omxplayer/OMXPlayerVideo.cpp +@@ -527,7 +527,7 @@ bool OMXPlayerVideo::OpenDecoder() + return false; + + if (m_hints.fpsrate && m_hints.fpsscale) +- m_fFrameRate = DVD_TIME_BASE / OMXClock::NormalizeFrameduration((double)DVD_TIME_BASE * m_hints.fpsscale / m_hints.fpsrate); ++ m_fFrameRate = DVD_TIME_BASE / CDVDCodecUtils::NormalizeFrameduration((double)DVD_TIME_BASE * m_hints.fpsscale / m_hints.fpsrate); + else + m_fFrameRate = 25; + +@@ -564,8 +564,6 @@ bool OMXPlayerVideo::OpenDecoder() + sprintf(command, "hdmi_ntsc_freqs %d", bNtscFreq); + CLog::Log(LOGINFO, "OMXPlayerVideo::OpenDecoder fps: %f %s\n", m_fFrameRate, command); + m_DllBcmHost.vc_gencmd(response, sizeof response, command); +- +- m_av_clock->SetRefreshRate(m_fFrameRate); + } + + // start from assuming all recent frames had valid pts +diff --git a/xbmc/linux/OMXClock.cpp b/xbmc/linux/OMXClock.cpp +index bee7bac..c631ab6 100644 +--- a/xbmc/linux/OMXClock.cpp ++++ b/xbmc/linux/OMXClock.cpp +@@ -39,7 +39,6 @@ OMXClock::OMXClock() + { + m_pause = false; + +- m_fps = 25.0f; + m_omx_speed = DVD_PLAYSPEED_NORMAL; + m_WaitMask = 0; + m_eState = OMX_TIME_ClockStateStopped; +@@ -565,38 +564,4 @@ int64_t OMXClock::CurrentHostFrequency(void) + return( (int64_t)1000000000L ); + } + +-int OMXClock::GetRefreshRate(double* interval) +-{ +- if(!interval) +- return false; +- +- *interval = m_fps; +- return true; +-} +- +-double OMXClock::NormalizeFrameduration(double frameduration) +-{ +- //if the duration is within 20 microseconds of a common duration, use that +- const double durations[] = {DVD_TIME_BASE * 1.001 / 24.0, DVD_TIME_BASE / 24.0, DVD_TIME_BASE / 25.0, +- DVD_TIME_BASE * 1.001 / 30.0, DVD_TIME_BASE / 30.0, DVD_TIME_BASE / 50.0, +- DVD_TIME_BASE * 1.001 / 60.0, DVD_TIME_BASE / 60.0}; +- +- double lowestdiff = DVD_TIME_BASE; +- int selected = -1; +- for (size_t i = 0; i < sizeof(durations) / sizeof(durations[0]); i++) +- { +- double diff = fabs(frameduration - durations[i]); +- if (diff < DVD_MSEC_TO_TIME(0.02) && diff < lowestdiff) +- { +- selected = i; +- lowestdiff = diff; +- } +- } +- +- if (selected != -1) +- return durations[selected]; +- else +- return frameduration; +-} +- + #endif +diff --git a/xbmc/linux/OMXClock.h b/xbmc/linux/OMXClock.h +index f83074a..7bb6d4d 100644 +--- a/xbmc/linux/OMXClock.h ++++ b/xbmc/linux/OMXClock.h +@@ -50,7 +50,6 @@ class OMXClock + protected: + bool m_pause; + pthread_mutex_t m_lock; +- double m_fps; + int m_omx_speed; + OMX_U32 m_WaitMask; + OMX_TIME_CLOCKSTATE m_eState; +@@ -91,9 +90,6 @@ class OMXClock + static int64_t CurrentHostCounter(void); + static int64_t CurrentHostFrequency(void); + +- int GetRefreshRate(double* interval = NULL); +- void SetRefreshRate(double fps) { m_fps = fps; }; +- + static double NormalizeFrameduration(double frameduration); + }; + +-- +1.9.1 +