summaryrefslogtreecommitdiffstats
path: root/cmds/bootanimation/BootAnimation.h
Commit message (Collapse)AuthorAgeFilesLines
* bootanimation: add multithreaded decodeScott Mertz2016-08-041-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some devices can't keep up on a single thread trying to decode & display the frames at a high frame rate. This is observed if the sleep delay between frames is negative: 01-02 04:29:25.114 530 542 D BootAnimation: 63, -22 01-02 04:29:25.176 530 542 D BootAnimation: 61, -20 01-02 04:29:25.248 530 542 D BootAnimation: 72, -30 01-02 04:29:25.315 530 542 D BootAnimation: 66, -24 01-02 04:29:25.381 530 542 D BootAnimation: 66, -24 To mitigate this, take advantage of multiple cores by decoding on n cores and caching up to m images. This keeps the memory footprint small(ish) while still giving the best chance to maintain a constant frame rate. I measured boot time and fps for each animation part before and after the change on an msm8909 with 1.5 GB RAM: single thread: 01-02 04:40:45.826 540 556 I BootAnimation: fps = 22.40 01-02 04:40:49.457 540 556 I BootAnimation: fps = 13.22 01-02 04:40:51.464 540 556 I BootAnimation: fps = 23.92 01-02 04:41:19.375 540 556 I BootAnimation: fps = 22.89 01-02 04:41:23.942 540 556 I BootAnimation: fps = 15.55 boot time: 51.05s multi thread: 01-02 04:38:55.148 526 551 I BootAnimation: fps = 22.56 01-02 04:38:57.205 526 551 I BootAnimation: fps = 23.39 01-02 04:38:59.249 526 551 I BootAnimation: fps = 23.92 01-02 04:39:29.196 526 551 I BootAnimation: fps = 23.16 01-02 04:39:32.186 526 551 I BootAnimation: fps = 23.79 boot time: 50.50s Need to test the affect on boot time with an animation that doesn't cache the textures as much as this to see the real effect. Change-Id: If7464dc063b08a0bc33ee3f094028247b39650c1
* bootanim: CleanupRicardo Cerqueira2016-05-231-1/+1
| | | | | | | Group all file selection logic within getAnimationFileName(), including for themes Change-Id: Ibca93defd92230d22195753899eda673ba9fc59d
* bootanimation: Fix compilation warningsSteve Kondik2015-10-261-3/+2
| | | | Change-Id: Iaf7e66811f3cecf8b5b1fa690941489a7a07f7fd
* framework/base: Create surface based on the panel orientation.Ramkumar Radhakrishnan2015-10-261-0/+6
| | | | | | | - Create Surface for boot animation based on panel orientation - Set the display projection values based on panel orientation. Change-Id: Iaf66ac13cc44cf7910ff150b3a104eb52bcefdbf
* BootAnimation: Play boot/shutdown animation and musicChiou-Hao Hsu2015-10-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to show customized boot and shut down animation, as well as music. Change-Id: I69c87640175a96a18833a763a34afd362bbfb487 Conflicts: cmds/bootanimation/Android.mk cmds/bootanimation/BootAnimation.cpp Bootanimation: Fix the low memory device oom when run boot animation Low memory device is easily to be oom when run boot animation. Here we do optimize the boot animation GL Texture only one frame needed. That is free timely and re-init it again. When in boot animation, the fps=15, so it is ok to do the delete and re-init. CRs-Fixed: 572325 Change-Id: I1e81c3d0f3600ac895f9bd7bd00a284f3d4b7d4c bootanimtion: fix no boot sound due to error file descriptor -wrong file descriptor passed to setDataSource(fd, offset, length) API and causes no sound -use the default setDataSource(httpService,url,header) to parse the file of boot sound CRs-Fixed: 731547 Change-Id: I437e7d797cd13b7f8f8e0fbf81d5de99c55c27d1
* Add support for playing audio during bootanimationMike Lockwood2014-10-031-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bootanimation daemon will play 16 bit WAV files contained in bootanimation.zip For this to work, the bootanimation.zip must contain an audio_conf.txt file, which contains parameters to be used for the tinyalsa pcm_open call as well as mixer parameters to set before attempting to play the sound. If the bootanimation finds an audio_conf.txt file, then it will look for a file named "audio.wav" in each of the part subdirectories. If audio.wav is found, it will play that WAV file starting at the beginning of that part. The code for this is based on the tinyplay utility in tinyalsa. The audio_conf.txt and must begin with the following header: card=<ALSA card number> device=<ALSA device number> period_size=<period size> period_count=<period count> This header is followed by zero or more mixer settings, each with the format: mixer "<name>" = <value list> Since mixer names can contain spaces, the name must be enclosed in double quotes. The values in the value list can be integers, booleans (represented by 0 or 1) or strings for enum values. Finally I should mention that this change is not the right approach. Instead of going straight to ALSA we should be using the mediaserver instead. But mediaserver isn't ready in time due to interactions with the system server, and there isn't time to fix this for the current release. We need to fix that for the next one. Bug: 17674304 Change-Id: Ic391ade61c941d0a24f4d64fe005ac9375a23fa9
* bootanimation: allow animation to specify background colorJesse Hall2014-09-251-0/+1
| | | | | | | | | | | | Some OEMs want to have a bootanimation (or parts of it) displayed on a color other than black. They currently just use full-screen frames for that, which wastes lots of memory and bandwidth. This change allows each part of the animation to specify a background color that will be applied outside of the frame images; if unspecified the background will be black as it is now. Bug: 16635599 Change-Id: Ibf008fc75c5aad891c86ba9e4ec0879b7a61b8bd
* Freeing frame mapMykola Kondratenko2014-04-301-1/+1
| | | | | | | | | FileMap memory is never released until application exit Release it now as the texture is already loaded and the memory used for the packed resource can be released. Change-Id: Id08a1e466337b3a0179684eb6a444e18147ee343
* Reimplement ZipFileRO in terms of libziparchive.Narayan Kamath2013-12-091-2/+1
| | | | | | | | | | | | | | | | This lets us share zip archive processing code with both the runtime (Art, dalvik) and critical java code (StrictJarFile). This change also moves several utility methods to ZipUtils and dedups code across several zip inflation methods. One of the side effects of this change is that several processing loops are now O(n) instead of O(n^2). bug: 10193060 Change-Id: I3c7188496837a47246c4f342e45485a70fef3169
* Exit boot animation cleanly.Kevin Hester2012-06-191-0/+3
| | | | | | | | | | | | | | | The desc.txt file can now mark parts as 'must finish cleanly' by using 'c' as the part line prefix rather than 'p'. If so indicated, if the bootanimation is asked to quit it will do so only after waiting to finish that part. I considered either making init.c service killing smarter or promoting bootanim to be a bindable service with a requestExit method. However, these changes are probably too big/risky given our ship date. So I used a property as a mailbox between SurfaceFlinger and bootanim. Bug: 6679877 Change-Id: I1f8dd9e7da1ea80a483b31fa14c4a5645922d774
* fix libgui header locationMathias Agopian2012-02-271-4/+3
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* frameworks/base refactoring.Mathias Agopian2012-02-171-1/+1
| | | | | | step 2: move libutils headers to their new home: androidfw Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-111-2/+2
|
* improve boot animation a bitMathias Agopian2009-10-011-0/+25
|
* fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to ↵Mathias Agopian2009-09-231-2/+3
| | | | create flip chain)
* merge master to master_glMathias Agopian2009-05-221-2/+1
|
* split boot animation out of SurfaceFlingerMathias Agopian2009-05-211-0/+79
Conflicts: data/etc/platform.xml