Remove cached texture at PostProcessor We don't need to Remove memory of texture immediately. If we call Remove(image); Add(image); continously, Then image will try to reload image one more time. It might useless behaviour for real world app side. So make we don't remove texture immediatly, and Process remove queue at post process timing. Change-Id: Ic0d1a1cd10c13fc8b742667a09b02552594aae70 Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
Make PremultiplyOnLoad flag in image-cache class Since this flag exist only rolling-animated-image-cache, If we replace ImageView's visual which premultiply applied before, It will show strange result. Change-Id: Ic38d741581ef7265259f402f5847b99f0ba3feca Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Add DesiredWidth/Height and samplingMode in animated image visual Let AnimatedImageVisual also use DesiredSize / FittingMode / SamplingMode feature. Change-Id: Icd2205738a6d9c7af0f2aa06c7887ac9ea85b576
Apply WrapMode in animated visual animated visual only support default wrap mode. After this patch, animated visual can use other wrap mode. Change-Id: I8ac58895a724d1ff510577d76d30320cf501739f
Apply premultiply in animated image visual animated-image-visual not properly apply premultiply. so i make this patch to apply it. Change-Id: I8b0a2b123ba6789f91163169ded93e07c6170e49
Store VisualUrl's hash result, and reuse it When we request load of animated image visual, It will generate the image url's hash for every frame. This patch cache the VisualUrl's hash result so We don't need to re-calculate hash for the same image url. Change-Id: I637e7d2dc141f25164fb96337d76031f44c2152f Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Cache animated image's frame index There is no reason to multiple decoding for same-image's same-frame loading. It just increase our memory useage and CPU usage. This patch cache animated image's frame index so we can re-use already decoded frame informations. + For more, Due to the animated image decoding can hold big amount of observers in one frame, we need to reduce runtime of NotifyObservers API. This patch also reduce NotifyObservers time complexity from O(N^2) to O(N). Note : We can't add additional observer due to the mQueueLoadFlag flag is true. Change-Id: I829704c638ce7b6a5feca13cc1bcf75b4bd9e35e Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
CPU Alpha Masking for Animated Image Visual Change-Id: I3b6abac73d248f70998bb992945b96a25c6fb7c8 Signed-off-by: seungho <sbsh.baek@samsung.com>
Refactoring Animated image visual - Animated image file will be opened when the visual is on scene. - Only the first frame is cached to cache single frame image as the image visual do. - Pause timer when next frame is not cached yet. And resume it after the frame is ready. - Load policy and release policy is now supported. Change-Id: I39a1d93396865f56d6c7e0b54b9d9fffecdc88ef Signed-off-by: seungho <sbsh.baek@samsung.com>
Split texture-manager-impl files Collect all TextureManager relative files in one folder. And split TextureManager API's job as three files. - texture-manager-impl : Control texture loading it self. like alpha masking / synchronous / atlas / etc... - texture-cache-manager : Control internal texture caching container, external texture set, external encoded image buffers. Generate new TextureId, and we can access TextureInfo by TextureCacheIndex. - texture-async-loading-helper : Help async loader thread create, and callback load finished. And make most API's input parameters from 'T' to 'const T&' if we can. And also, make TextureManagerType namespace s.t. texture-manager-impl and textuer-cache-manager both class need to be use, and should be shared each other. Change-Id: Ia522a7b36da51d64282ca6b9ab4190a4e0476ad1 Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Refactoring TextureUploadObserver. - Use unified method for any request. Change-Id: Ief4b744cd42b9184f83ba0ac0ba3436befd2aa61 Signed-off-by: seungho <sbsh.baek@samsung.com>
Updated all header files to new format Change-Id: I68b3cf032fa1758fff92509f463101bdfd36cce1
Add CURRENT_FRAME_NUMBER and TOTAL_FRAME_NUMBER properties to the AnimatedImageVisual Change-Id: I0512d42a0948ebc9adae9475004f7d73aa7eb52d Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
Fix 2 animatedImageVisual issues - 1. Make animate image visual do not caching in texture-manager - If 2 visual those have same image url and play without sync, it makes caching error. - 2. Make NextFrame methods. - Currently, the visual requests to load specific frame with index. But, if the system getting slow(like so many agif/webp in playing), the request and the loading can not be synchronized. - The visual will request next frame index with identical timing, but because the loading is slow, the loading frame will be throwed away and start next frame of the index. - This make bottle neck and also make stop to play. - This patch adds NextFrame that returns prepared next frame. If the next frame is in loading, this method is not to increase index and returns current rendered frame again. Change-Id: Ia301ae654bcf8ee88167585bc4f4b1259a1e4e46 Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
Overriding virtual destructors are marked as 'override'. - so are functions missed from If046270d3b6036f8566a9c48e4064425c1498daa; - affected files that were the wrong mode have that fixed too (-x); Change-Id: I476600848bb789ae7e660d130be723604453c674 Signed-off-by: György Straub <g.straub@partner.samsung.com>
Support Asynchronous Loading of Animated Image Change-Id: I31670a301cd7f69a68a9c0c75ef6b62d9b587482 Signed-off-by: Seungho, Baek <sbsh.baek@samsung.com>
Support WebP format - Modified animated-image-visual to support webp amimated image format - Added and removed some functions of image-cache to use rolling-animated-image-cache for the both of gif and webp - Checked whether mFrameDelayTimer is null or not for the case that Action::PLAY is entered but the system do not support animated webp Change-Id: I254c4c8e715772acb6c0725c58e64aba1a6dafc4 Signed-off-by: Seungho, Baek <sbsh.baek@samsung.com>