View Single Post
Old 05-15-2016, 02:03 PM   #205
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773670
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
After modifying gmplay (my kindle video player) to use "/dev/fb/0" if "/dev/fb0" fails, it is now playing video on my K1. Though "playing" is relative. I am not packing the dithered pixels into 2-bit pixels, so the pixels are displaying double-width. And the video is negative (like the K4 in one of its modes). And it is only displaying about one frame every 2.5 seconds (significantly slower than on the DX).

I can probably speed it up if I shrink the video and only do partial updates of that smaller image. I already know I can do that on the DX and DXG, from how fast "newtrix" displays eink updates when the "random temporal dither" demo shrinks the work area way down. I can do that for video too.

However, I am actually surprised that the ioctl video updates (two versions) in gmplay work on the K1, and that gmplay did not do the fallback to eips '' (which does not work on the K1).

I need to tweak the "formula" so it treats the K1 like the K4, and inverts the video so no longer a negative image, and to do 2-bit packing so the pixels are no longer double width (displaying only the bottom half of the rotated image).

Considering that gmplay had to have tweaks for each kindle model, and for various firmware versions, and for both main and diags boots, I was quite surprised to see it work with no changes on the PW1 (and later), and now also on the K1 by just changing the file name of the video framebuffer.

When I do the output display size adjustments for higher speed, the DX and DXG should be a lot faster too. I guess what surprises me most is that display updates are even triggered by the existing code, considering that it does not use the "update_display" /proc file.

EDIT: For this test, I piped the UNCOMPRESSED bunny.gmv into gmplay, because for some reason the built-in (busybox) zcat and bzcat (and the xz busybox-armv4l downloaded from busybox.net) ALL fail on the K1 when trying to decompress bunny.gmv.gz, or bunny.gmv,bz2, or bunny.gmv.xz, even though all those compression formats decompress just fine on newer kindles. I had to put the uncompressed bunny.gmv on SD card because it was much too big (286MB) for the 180MB K1 userstore. Interestingly, it my pre-dithered video is so "predictable" that it compresses all the way down to 15MB using xz (16MB for some versions of vx), about 20x compression ratio. I find it very strange that ALL the K1 decompressors claim the various formats of compressed files are "corrupt". What's up with that? Could it be that I used maximum (-9) compression, and the K1 decompressors are just too old to support that?

Last edited by geekmaster; 05-15-2016 at 04:34 PM.
geekmaster is offline   Reply With Quote