GitHub PushEvent at 2014-06-13 11:30:16
Repository: xbmc-cmake
Actor: notspiff
Payload: {"shas":[["51f50bb404ddcf27dccd7e40249753e7382a2d0d","fb43db9ffcc3da891960d6f721de1ded3e9f6a0e@machzwo.de","[osx] - add function for identifying osx snow leopard runtime","Memphiz",true],["80b5cfbfd05f2d61b9b4a568f48c053494e62348","fb43db9ffcc3da891960d6f721de1ded3e9f6a0e@machzwo.de","[settings] - add settingscondition OsxIsSnowLeopard","Memphiz",true],["6f6bdd1b03bd0faa718665199031d737a880495b","fb43db9ffcc3da891960d6f721de1ded3e9f6a0e@machzwo.de","[osx/settings] - make the fake fullscreen option only visible when running\non snowleopard - it leads to black screen on all later osx versions","Memphiz",true],["5b658fded62002056210349f99f8894d82ec986a","3f207d1ff7ab03bf7afd7168dea9ad706ac3e617@riscosopen.org","More efficient infobool expression evaluator\n\nExpession infobools are evaluated at runtime from one or more single infobools\nand a combination of boolean NOT, AND and OR operators. Previously, parsing\nproduced a vector of operands (leaf nodes) and operators in postfix\n(reverse-Polish) form, and evaluated all leaf nodes every time the expression\nwas evaluated. But this ignores the fact that in many cases, once one operand\nof an AND or OR operation has been evaluated, there is no need to evaluate the\nother operand because its value can have no effect on the ultimate result. It\nis also worth noting that AND and OR operations are associative, meaning they\ncan be rearranged at runtime to better suit the selected skin.\n\nThis patch rewrites the expression parsing and evaluation code. Now the\ninternal repreentation is in the form of a tree where leaf nodes represent a\nsingle infobool, and branch nodes represent either an AND or an OR operation\non two or more child nodes.\n\nExpressions are rewritten at parse time into a form which favours the\nformation of groups of associative nodes. These groups are then reordered at\nevaluation time such that nodes whose value renders the evaluation of the\nremainder of the group unnecessary tend to be evaluated first (these are\ntrue nodes for OR subexpressions, or false nodes for AND subexpressions).\nThe end effect is to minimise the number of leaf nodes that need to be\nevaluated in order to determine the value of the expression. The runtime\nadaptability has the advantage of not being customised for any particular skin.\n\nThe modifications to the expression at parse time fall into two groups:\n1) Moving logical NOTs so that they are only applied to leaf nodes.\n   For example, rewriting ![A+B]|C as !A|!B|C allows reordering such that\n   any of the three leaves can be evaluated first.\n2) Combining adjacent AND or OR operations such that each path from the root\n   to a leaf encounters a strictly alternating pattern of AND and OR\n   operations. So [A|B]|[C|D+[[E|F]|G] becomes A|B|C|[D+[E|F|G]].\n\nI measured the effect while the Videos window of the default skin was open\n(but idle) on a Raspberry Pi, and this reduced the CPU usage by 2.8% from\n41.9% to 39.1%:\n\n          Before          After\n          Mean   StdDev   Mean   StdDev  Confidence  Change\nIdleCPU%  41.9   0.5      39.1   0.9     100.0%      +7.0%","Ben Avison",true],["92abf60306cb4a27455ea0769e4a532c99471544","f6330a7923ba6cd1caf6de7af49a0be936156860@gmail.com","[AML] Memory leak while Dispose \n\nm_Codec should be deleted before nullify.","ndogxj",true],["ac5c038ebb4b4125b8fc208c1a223db0aa25af0d","99b0427837df4cd28abeeb9c7e54613b943e0851@gmail.com","AE: Fix delay after c91fe5efad7e0546b3c3a7abba9f93baaaa39799","fritsch",true],["8408985bfecf3b0f76dfccfd0d54b51ef422dbf8","84b0109f6fbba281ce19df8c2d135a1619331fdd@online.de","Merge pull request #4900 from fritsch/fix-delay\n\nAE: Fix Delay after c91fe5efad7e0546b3c3a7abba9f93baaaa39799","Rainer Hochecker",true],["82c7ec44c6a81a5e59318bf5d373acf96c2cd090","7c6e7fc748410c5437595b2f239785c5a42a9367@gmail.com","Merge pull request #4898 from ndogxj/patch-1\n\n[AML] Memory leak while Dispose","jmarshallnz",true],["192223b792114dc117057b04080f675dda2ddd23","7c6e7fc748410c5437595b2f239785c5a42a9367@gmail.com","Merge pull request #3677 from bavison/faster_infobool_expression_evaluation\n\nFaster infobool expression evaluation","jmarshallnz",true],["0f42b7a16b6b09772c365c41f99d0d92b8a8e27d","d7ebb597520c9a1d41b531f7085c438e5da0184a@xbmc.org","[logging] improve logging/messages where network isn't available. fixes #15290, #15291","Jonathan Marshall",true],["80c1e1295e81fbd7afd5e3304de98da7bd4020ba","fb43db9ffcc3da891960d6f721de1ded3e9f6a0e@machzwo.de","[AE/osxsink] - don't set the altered outputformat which might have wrong\nchannel count","Memphiz",true],["65746489a78e4769b6731f6003a31d382cfc96f6","7c6e7fc748410c5437595b2f239785c5a42a9367@gmail.com","Merge pull request #4894 from Memphiz/osxfakefullscreen\n\n[osx] - only show the fake fullscreen option on snow leopard","jmarshallnz",true],["999accdd71802a2c3cb62db1fc9ab688c7990e56","7c6e7fc748410c5437595b2f239785c5a42a9367@gmail.com","Merge pull request #4899 from Memphiz/osxsinkphysicalformat\n\n[AE/osxsink] - don't set the altered outputformat which might have wrong channel count","jmarshallnz",true],["b9b06212fb6ef32fe0da82c6b3f5b228fb2cba01","fd222d83a7583797950760dd1004bade91371129@xbmc.org","fixed: use the proper make instead of calling 'make' directly\n\nfixes builds on freebsd","spiff",true],["93e2e37a07dcd4b7d0eb2d6ad9d68b39479b3b91","fd222d83a7583797950760dd1004bade91371129@xbmc.org","cmake buildsystem","spiff",true],["573c7e46ffefb7c12d9bcb0680e3d8fab86d8325","fd222d83a7583797950760dd1004bade91371129@xbmc.org","add tests needed by new u16 string stuff","spiff",true],["7e659fdb2f44a50d9960f56322a24886d04aa895","fd222d83a7583797950760dd1004bade91371129@xbmc.org","wrap cmyth properly","spiff",true],["b56404144b6a7c6baca1d9416946a0048992e159","fd222d83a7583797950760dd1004bade91371129@xbmc.org","move some more install related stuff to install script","spiff",true],["65e0a8919c80af36c6a07340a48fafa1c31b4a89","fd222d83a7583797950760dd1004bade91371129@xbmc.org","move all install code to platform install script","spiff",true],["7e41b4b70007c41745c72dc2d84b88d0fcdd56d6","bada79290371ba1c46534d27e484a06803e66e7d@a1.net","allow building without doxygen","wsnipex",true]],"size":316,"ref":"refs/heads/master","head":"922b2e80f58976204ef5d5ae001028e131e1efb2"}