Can Rockchip RK3288 Android TV Boxes Play Videos at True 4K UHD / 2160p Resolution?

[Update 2: Now that I have a 4K TV, I’ve redone the test myself, and Rockchip RK3288 can play 4K videos properly. The mistake was to use Software decode in MX Player which renders to the framebuffer instead of the video buffer. Visit the post entitled 4K Output and Video Playback Capability Tested on 6 ARM based mini PCs and Boards for details.]

[Update 1: The post has now been updated, after it was clear one of MX Player options was misunderstood. The conclusion remains the same]

Over the last few years there have been complains about Android TV boxes decoding 1080p video, rendering them to a 720p frame buffer, and upscaling them back to 1080p resolution for video output, so you ended up playing 1080p videos at a real 720p resolution. I never investigated the issue in details, and thanks to new media players now coming with a 1080p user interface / framebuffer, the debate for 1080p has more or less ended, and instead it has moved to 4K media players. A few days ago, 4K test patterns (actually 2160p / 3840×2160) were released as a PNG picture, and an lossless H.264 MKV video so that 4K resolution could be tested. The reason for having both a picture and a video is because both may go through different hardware path as I explained the aforementioned post. I don’t have a 4K TV myself, but Javi, working for Asiapads, tested both the picture and video on the upcoming Zero Devices Z5C Thinko HDMI TV stick powered by Rockchip RK3288 with a Samsung UHD TV.

First the bad but expected news. Even if you set 3840×2160 video output in the device, the user interface resolution remains at 1920×1080, so if you display the 4K test pattern, comprised of a grid of black and white pixels, you would only see a gray background, or an image with a low resolution. So if what you are looking for is a device to play games, browse the web for super sharp text, you’ll need to find another solution, probably a full blown computer with a graphics card capable of handling 4K UHD resolution.

What about video playback? The first challenge is to find a player that will actually play the video, because it seems most player won’t have lossless H.264 at all. To play 4K_video_test_pattern.mkv, you need to do the following:

  1. Install MX Player app
  2. Play 4K_video_test_pattern.mkv in MX Player, and on the top of the app click on H/W to select S/W decoder
  3. Click on the icon on the right of the Next button to adjust the aspect ratio to “100%” so that the image is not distorted. fit to screen.
  4. Click on pause to have time investigating

Here are the results on Zero Devices Z5C Thinko at 3180×2160 @ 30 Hz. [Update: this picture is based on 100% setting in MX Player, which zooms the video, so in any screen resolution, all pixels will be seen, even if you use 320×240…. But as we’ll see below, even in 100% mode we can determine whether a device supports 4K or not]

and if the device is set to 1080p resolution:

The pictures are not taken with the same level of camera zoom, but it still seems convincing. 4K looks much better, so it must be that RK3288 Android devices really output 4K after all.

I also tried this yesterday on A80 OptimusBoard (AllWinner A80) connected to a Full HD Panasonic television, and I could clearly see some black and white dots [Update: Because I used “100%” mode which turn out actual show all pixel (even off screen) and in effect zooms the video], so I decided to take a picture too

The left part above is taken from the picture of the Samsung 4K TV, and the right part is taken from a picture of my Panasonic FHD (1080p) TV, and it becomes pretty obvious what happened here. First on the top of the number “4” there are 6 dots on both pictures, so that’s the first oddity. But when you look at the red dots on both pictures, it’s pretty clear to see what happened. For each black and white dots on the UHD display there are two red dots, but only one on my FHD television. The conclusion is that MX Player very cleverly interpolated the dots to re-create a 1-pixel grid at 1080p resolution, and the real picture quality output from the Rockchip RK3288 is actually 1080p despite outputting a 3840×2160 signal to the TV, so “4K” does indeed appear to be a marketing trick rather than a reality, as it applies to video decoding and output capability only, but the image is downscaled at some stage before being upscaled again. The same is most probably true for Amlogic S802 based Android media players too. I’m pretty confident with my conclusions, but I’d be glad to read other opinions. The only thing I don’t understand is why 1080p video output on Z5C Thinko looks so much different than 2160p.

The left part above is taken from the picture of the Samsung 4K TV, and the right part is taken from a picture of my Panasonic FHD (1080p) TV, both using 100% mode in MX Player, which explains why all pixels are shown. But if you look on the 1080p TV, only one pixel is used for each black or white dots, whereas on the 4K TV, it’s clear 4 pixels (2×2) are used for each dot, meaning the true video resolution is actually 1080p, as if it was 4K UHD (aka 2160p), there would be one pixel per dot in 100% mode.

Moreover, If I play the video in MX Player using “fit to screen” on the TV, the background is clearly gray, as expected, and I understand Javi could only see the white and grey dots on his 4K UHD when using 100% mode in MX Player. So the  conclusion is clear: Rockchip RK3288 based Android devices, and probably Amlogic S802 Android devices, can not output true 4K videos / images, so it’s just a marketing trick, with the devices being capable of decoding 4K UHD videos, and outputting 4K UHD to your TV, but unfortunately the video is downscaled, before being upscaled in the process, so what you see on your new shiny 4K TV is actually a video rendered @ 1080p resolution.

[Update: This is what the 4K test pattern (png) looks like on a 4K UHD Seiki TV, Thanks Dan!

One white dot (RGB) does indeed correspond to one pixel, and the black and white dots are the same “size” as the red dots in the numbers.

Original high resolution pictures can be found @ https://drive.google.com/folderview?id=0B4ijp-kf8RV0VFRYblZMWGNaY1E&usp=sharing

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

27 Replies to “Can Rockchip RK3288 Android TV Boxes Play Videos at True 4K UHD / 2160p Resolution?”

  1. Are you sure the pattern is well designed for 4K? It looks like ready for test 1080p, why can not be white-black-white-black unstead white-white-black-black?

    I added new pictures in that thread without moving the camera, also the original ones (4000×3000) are available for download.

  2. @Javi
    Good point, which could explain the similar results between 1080p/2160p. I’ve just checked the original PNG in gimp, and I’m now more confused than ever…

    After zooming 800%, I can confirm it is indeed a 1-pixel grid, with alternate white and black, after drawing a single pixel. However, there are only 6/7 black and white dots on top of the number “4”, just like on our TVs… What is going on?

  3. @Javi
    I think there must be a problem with the source image, because I can see 2×2 groups of pixels on your screen, but for some reasons, Gimp only shows 1 pixel for each dot.

  4. @Javi
    I found the issue… We can’t use “100%” in MX Player, because it will zoom the video, so we only see a quarter of a 3840×2160 video, and we can see all pixels. That’s why I can see all pixel in my 1080p TV.

    Try “fit to screen” (making sure the status bar does not get in the way).

  5. Pardon me, but all this tests and conclusions seems a little amateurish…
    I think is important to ear what the manufacturers, both of the Soc’s and the devices have to say….. ??

    ( by the way, anyone knows if the Allwinner A20 is one of those that renders at 720p and outputs up-scaled to 1080p?? )

  6. @JotaMG

    I asked Rockchip guys directly and they did not reply yet. Same than did not reply about why there is a file called “ARMv7 Cortex-A12” in sys/devices (unstead Cortex-A17) and also the kmsg shows A12 too.

    I think most of the Allwinner A20 are most of them upscaled, except if someone made 1080p Kernel. I don’t know Allwinner as Rockchip actually, so don’t believe me too much 😀

  7. @Javi
    I doubt they’ll ever say if their cores are Cortex A12 or A17, especially if it is A12. Charbax asked Rockchip VP once, and he answered A12, or A17 is irrelevant, both cores are similar. Actions Semi got a pass with their Cortex-A9 which is actually a Cortex-A5, so I guess as long as they can get away with it…

    If current designs can not really support 2160p, they will probably just keep silent.

    Anyway the take away from this test is that if people want true 4K video playback, they won’t get it from Rockchip, Amlogic, Allwinner… SoCs mostly made for tablets, but actual 4K STB SoCs from Broadcom, STMicro, Sigma Designs… will most certainly support it.

  8. Nightly builds of XBMC/Kodi does have 4K support on Amlogic SoCs.

    No news yet however on 4K support in XBMC/Kodi for Rockchip SoC

  9. @Harley
    I’ve tested 4K in XBMC with RK3288, and video can sort of play, but it’s not really good…

    Anyway, nobody disputes the ability of these SoCs to decoded 4K videos, the problem is that they are rendered to the framebuffer, which is normally set to 720p or 1080p, so if you buy one of these 4K players to connect to your 4K TV, the actual image on the TV will be 1080p resolution, or whatever the resolution of the framebuffer/user interface is.

  10. @cnxsoft
    So android render is setup to 720p or 1080p? I saw discussion that when you build android you explicitly set up device output resolution. So only needed resources in needed resolution are in firmware and android compositor use this resolution too. I don’t know if it is still true, but android is os for phones 🙂

    Amlogic workaround this as they draw video directly to framebuffer directly

  11. @m][sko
    Actually, I don’t really know Android graphics internal, so I’m just guessing. But when I play a video, and take a screenshot, I can see in the video in the screenshot, so It looks like the video is drawn to the same framebuffer where the UI is drawn.

    Usually Android mini PC have a 720p and/or 1080p user interface / framebuffer, so even if you draw a 4K video directly to the (720p/1080p) framebuffer, the video will be downscaled to whatever framebuffer resolution, even if you set HDMI video output to 2160p.

    I know some SoCs that support multiple layers (in Sigma Designs they call it scalers): OSD (via framebuffer), video layer, 2D graphics layer, etc.. that can have different resolution, and mixed before output. So you could have a 1920×1080 user interface, with a 2160p video layer, mixed and outputted to 2160p with the video keeping all pixels.

    I’m assuming Rockchip RK3288, Amlogic S802 do not have support for multiple layers, or at least, that it’s not supported in their Android SDK.

  12. @cnxsoft
    Amlogic S802 should work fine if you set up 1080p or 4k
    they use 2 framebuffers one for android and one for video output
    So screenshot tool take only compositor.

    Rockchip use openmax. so video frame will end in application, then android compositor, then framebuffer
    So I guess compositor or something else is setup to 1080p maybe
    If you can make screen on android my guess for pipeline is right.

  13. @cnxsoft
    I used exactly same configuration. Also if you check my last update you can download the big pictures. Also I did not move the camera to be exactly in same place.

  14. @m][sko
    I’ll get I’ll need to find somebody to check that 4K video with a 4K display with S802.

    @Javi
    I can some parts have the white and black dots @ 1080p, whereas many other area do not. Maybe another issue.
    At least that means UHD is better quality than 1080p on your RK3288 device, even though @ UHD resolution the real image is still 1080p (as shown by the 2×2 pixels per dot, just like on the parts of the 1080p image where dots can be seen.

  15. For the S802 you can check your firmwares set_display_mode to determine the true values being initiated for your window frame and frame buffer for each resolution selection. Most using the chipset render the window to 1080p true output but ONLY changes the FB layer for 4K when pushed on libamplayer. AML releases their own 4K player, and there are a few players that have achieved this in various players like test Kodi versions, Rippl-TV, Stane1983 (git) based compiles, SPMC, etc…..they all handle this pretty well outside of the 4kplayer and all use the libamplayer like the dedicated AML 4k player. The biggest issue with all the so far released AML chipsets concerning 4k is the lack of HDMI 2.0, so chips like the S812 are really useless to adopt hvec when its stuck at an uninvited 30fps from hardware. The first chipset that AML releases in this range with HDMI 2.0 will be the T868 but there are no time frames nor anything shown from their TV line just yet.

  16. @Javi
    Hmmm. 3 white pixels, 1? black pixel with 2160p
    1080p looks ugly just like with RK3288, maybe related to the TV then?

    I’ve done a new 4K video test pattern, with an 8-pixel thick red border – https://mega.co.nz/#!L4dBDZBQ!Ob-WKwu3MkAVpJOKNjj4dFkWthNTd_AGKBx14-WgVmA

    With my 1080p display, I can see the border in all modes in MX Player (crop/stretch…), except in 100%, where I can clearly see the white and black dots, and there’s no border at all. If you can see a red border with that video in MX Player in 100% mode @ 2160p, then that means my analysis is wrong, and I have to re-think about it.

  17. @giovanni
    You can check the update. 4K videos display fine on RK3288. 4K60 Hz may be an issue for the cheapest 4K TV that do not support YPbPr 4:4:4 but only YPbPr 4:2:2. So you may be limited to 4K 30Hz.

    However I could not find an app that will display pictures @ 4K.

Leave a Reply

Your email address will not be published. Required fields are marked *