Problem:I am trying to figure out why a "roImageCanvas" reports a width and height of 1280x720 when I have the ruko set to 1080p "Display Type" and I have a 1080p TV connect to the roku using an HDMI cable. I have done some testing and research and I believe that the answer to my question is because the Ruko caps the display at 1280x720 for "roImageCanvas" and "roScreen".
What I need:I was hoping that someone would be able to confirm this or explain to me what I am doing wrong.
Below is a link to my Westinghouse TV user guide:http://westinghousedigital.com/products/lcd/42-55/tx42f810g/Below is the research that I have done that makes me think that the Roku will not display a "roImageCanvas" or "roScreen" at 1080p:*******************************************************************************************************************************
"This actually would be a nice feature. It's already supported a bit by playing 1080p videos on the XD & XD|S models, (and later on the XR model). The user interface is 720p and any
1080p video content would play at 1080p."Above quote from roku forums - http://forums.roku.com/viewtopic.php?f=34&t=33924 *********************************************************************************************************************************
"This release brings several new features to the Roku SDK, as well as support for the additional hardware capabilities of the new Roku models. The new models add 1080p playback capability and a new 12 button remote control."
"We are also introducing 1080p video playback support on the Roku XD and XDS models. Updated Information on supported encoding resolutions is included in the new Encoding Guide. We encourage developers to add 1080p streaming content at bitrates below 4.0Mbps."
"1080p playback support – When the user sets his display to 1080p, any content with meta data parameters for FullHD and a FrameRate of 24 or 30 will playback at 1080p 24 fps or 1080p 30 fps." The above 3 quotes are from Roku Release Notes for v28 -http://c1807832.cdn.cloudfiles.rackspacecloud.com/ReleaseNotes_v28.pdf *********************************************************************************************************************************
"The Roku player supports both standard-definition (SD) and high-definition (HD) television formats. In general, although not entirely accurate, SD corresponds with the “traditional” CRT tube-based TV, and HD corresponds with the modern flat screen TV popular with consumers after about 2005. These formats are defined as follows:
• The SD source format is 720x480, 4:3 aspect ratio. It is also known as “480i.” When the image is output to a display (TV), the image is compressed horizontally to 640x480. To accommodate for this and to avoid distorted images, source art should be created with a “0.9” non-square pixel aspect ratio. This setting is available in design tools like Adobe Photoshop and may be referred to as “D1/DV NTSC (0.9).”
• The HD source format is 1280x720, 16:9 aspect ratio. It is also known as “720p.” HD pixels are “square” and do not require special consideration as described above for SD." The above quote is from the Roku Design Guidelines pdf in the Roku SDK. *********************************************************************************************************************************
"The user interface has been designed to support both High Definition (HD) and Standard Definition (SD) displays. By default the streaming player starts in SD mode, but allows the user the option to specify their display preferences. Display preferences are handled globally for all applications by selecting the “display type” option in “settings”.
There are three possible modes:
• 4:3 standard-definition (480i/p)
• 16:9 anamorphic widescreen (480i/p)
• HDTV (720p)
The SDK UI objects are SD/HD aware and will automatically display in the correct mode. In some cases, the HD mode will allow the user to see more data on the screen. The SD UI is rendered natively at 480p and the HD UI at 720p. As a developer, no special programming is required to support these display modes. Any artwork used by the application (movie posters, logos, etc.) should be provided in both HD and SD versions and included with the application or downloaded dynamically at runtime. The screen objects will attempt to scale improperly sized artwork, but this could result in a loss of quality or degrade performance. It is strongly recommended that developers provide original artwork in both resolutions."The above quote is from the Roku Developer Guide pdf in the Roku SDK. *********************************************************************************************************************************
Below are some photos displaying the Roku and TV settings:Above image shows that I have the Roku set to 1080p
Above image shows my TV is connected to the roku via HDMi and is receiving a 1080 signal from the roku
Above image shows the below code returns 1208x720 when it should be returning 1920x1080
Below is the code that I have side loaded on my Roku to display the width and height of the "roImageCanvas"sub main()
canvas = CreateObject("roImageCanvas")
canvasItem = CreateObject("roAssociativeArray")
canvas.SetMessagePort(port)
canvasItems = [ {Text:"Canvas Width " + canvas.GetCanvasRect().w.tostr() + " Canvas Height " + canvas.GetCanvasRect().h.tostr(), TextAttrs:{Color:"#FF000000", Font:"Medium",HAlign:"HCenter", VAlign:"VCenter", Direction:"LeftToRight"},TargetRect:{x:390,y:357}},]
canvas.SetLayer(0, {Color:"#FFFFFFFF", CompositionMode:"Source_Over"})
canvas.SetLayer(1, canvasItems[0])
canvas.show()
sleep(10000)
end sub