{"id":162,"date":"2008-01-14T19:26:00","date_gmt":"2008-01-14T17:26:00","guid":{"rendered":"http:\/\/www.thelins.se\/johan\/blog\/2008\/01\/look-it-moves\/"},"modified":"2008-01-14T19:26:00","modified_gmt":"2008-01-14T17:26:00","slug":"look-it-moves","status":"publish","type":"post","link":"https:\/\/www.thelins.se\/johan\/blog\/2008\/01\/look-it-moves\/","title":{"rendered":">Look &#8211; it moves"},"content":{"rendered":"<p>>Today is ugly-hack day. <a href=\"http:\/\/www.bitsim.com\/badge.htm\">BADGE<\/a> has a nice feature that has no real counter-part in the Qtopia API. This means that I have to dynamically cast the painter engine for a given widget and provide some additional methods in the BADGE version.<\/p>\n<p>The feature of the day is to integrate a live video stream with the Qtopia interface. BADGE supports video through \u201cblue screening\u201d. This means that a given colour is replaced by the video stream. The video itself can be translated and scaled, making it possible to have BADGE put video in a moveable, resizable window \u2013 but let\u2019s not get carried away.<\/p>\n<p><a onblur=\"try {parent.deselectBloggerImageGracefully();} catch(e) {}\" href=\"http:\/\/www.thelins.se\/johan\/uploaded_images\/pink-screen-741468.jpeg\"><img decoding=\"async\" style=\"margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;\" src=\"http:\/\/www.thelins.se\/johan\/uploaded_images\/pink-screen-741458.jpeg\" alt=\"\" border=\"0\" \/><\/a><br \/>Using just a few lines of code, we can get a video stream into the user interface. All is handled by the BADGE hardware \u2013 remember that our CPU is running at 180 MHz and uses a 60 MHz bus to access the BADGE GPU so we cannot handle it through it. The video below shows the video running together with Qwt. The video quality isn\u2019t really HDTV \u2013 I only had a mobile phone to film with, but it shows the principle.<\/p>\n<p><object height=\"350\" width=\"425\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/W8wqZsETxR8\"><\/object><\/p>\n<p>So, it seems that it is fully possible to accelerate Qtopia using BADGE. Actually, it was easier than I first expected. However, it is far from possible to accelerate everything \u2013 at least with a reasonable effort. IMHO it seems more efficient (man-hour-wise) to provide a clean acceleration driver and write one\u2019s applications with care than to spend man-years creating an overly complex driver. Having discussed this work with Trolltech, it seems that Qtopia 4.4 will have even more accelerateable features \u2013 I\u2019m looking forward to it :-)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>>Today is ugly-hack day. BADGE has a nice feature that has no real counter-part in the Qtopia API. This means that I have to dynamically cast the painter engine for a given widget and provide some additional methods in the BADGE version. The feature of the day is to integrate a live video stream with &hellip; <a href=\"https:\/\/www.thelins.se\/johan\/blog\/2008\/01\/look-it-moves\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">>Look &#8211; it moves<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":0,"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thelins.se\/johan\/blog\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}