From: minho.sun Date: Tue, 1 Aug 2017 01:04:30 +0000 (+0900) Subject: Revert "[Tizen] fix that some animated-gif files are not playing" X-Git-Tag: accepted/tizen/unified/20170809.015312~7 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git;a=commitdiff_plain;h=aa088a4fd712180fd5e2ca9d666331bdaa0e4b65 Revert "[Tizen] fix that some animated-gif files are not playing" This reverts commit 1933a5c2196b64042e0a9ddde1e2a3ae3e694e76. Change-Id: I0ae9463577c0b7956f6567da7b9001bcbaa46b8c --- diff --git a/adaptors/devel-api/adaptor-framework/gif-loading.cpp b/adaptors/devel-api/adaptor-framework/gif-loading.cpp old mode 100755 new mode 100644 index 7dc4e9c..93e7b71 --- a/adaptors/devel-api/adaptor-framework/gif-loading.cpp +++ b/adaptors/devel-api/adaptor-framework/gif-loading.cpp @@ -486,181 +486,6 @@ unsigned char* DecodeOneFrame( int& delay, GifFileType* gifInfo, const Dali::Vec namespace Dali { -#ifdef GIF_LIB_VERSION -#else -/************************************************* - * GIFLIB major version 5 - *************************************************/ -#include -#include - -int ReadGifSlurp(GifFileType *GifFile) -{ - size_t ImageSize; - GifRecordType RecordType; - SavedImage *sp; - GifByteType *ExtData; - int ExtFunction; - GifFile->ExtensionBlocks = NULL; - GifFile->ExtensionBlockCount = 0; - DALI_LOG_ERROR("DGifSlurp_dali() start!"); - bool isEofTooSoonErr = false; - - do - { - if (DGifGetRecordType(GifFile, &RecordType) == GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetRecordType(GifFile, &RecordType) == GIF_ERROR"); - return (GIF_ERROR); - } - switch (RecordType) - { - case IMAGE_DESC_RECORD_TYPE: - { - if (DGifGetImageDesc(GifFile) == GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetImageDesc(GifFile) == GIF_ERROR"); - return (GIF_ERROR); - } - sp = &GifFile->SavedImages[GifFile->ImageCount - 1]; - /* Allocate memory for the image */ - if (sp->ImageDesc.Width < 0 && sp->ImageDesc.Height < 0 && - sp->ImageDesc.Width > (INT_MAX / sp->ImageDesc.Height)) - { - DALI_LOG_ERROR("sp->ImageDesc.Width < 0 && sp->ImageDesc.Height < 0 ... GIF_ERROR"); - return GIF_ERROR; - } - ImageSize = sp->ImageDesc.Width * sp->ImageDesc.Height; - /* SVACE error : This statement in the source code might be unreachable during program execution. - if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) - { - DALI_LOG_ERROR("ImageSize > (SIZE_MAX / sizeof(GifPixelType)) GIF_ERROR"); - return GIF_ERROR; - } - */ - sp->RasterBits = static_cast(reallocarray(NULL, ImageSize, sizeof(GifPixelType))); - if (sp->RasterBits == NULL) - { - DALI_LOG_ERROR("sp->RasterBits == NULL GIF_ERROR"); - return GIF_ERROR; - } - if (sp->ImageDesc.Interlace) - { - int i, j; - /* - * The way an interlaced image should be read - - * offsets and jumps... - */ - int InterlacedOffset[] = { 0, 4, 2, 1 }; - int InterlacedJumps[] = { 8, 8, 4, 2 }; - /* Need to perform 4 passes on the image */ - for (i = 0; i < 4; i++) - { - for (j = InterlacedOffset[i]; j < sp->ImageDesc.Height; j += InterlacedJumps[i]) - { - if (DGifGetLine(GifFile, sp->RasterBits+j*sp->ImageDesc.Width, sp->ImageDesc.Width) == GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetLine(GifFile, sp->RasterBits+j*sp->ImageDesc.Width, sp->ImageDesc.Width) == GIF_ERROR"); - if(GifFile->Error != D_GIF_ERR_EOF_TOO_SOON && GifFile->Error != D_GIF_ERR_IMAGE_DEFECT) - { - DALI_LOG_ERROR("GifFile->Error != D_GIF_ERR_EOF_TOO_SOON && GifFile->Error != D_GIF_ERR_IMAGE_DEFECT GIF_ERROR"); - return GIF_ERROR; - } - else if (GifFile->Error == D_GIF_ERR_EOF_TOO_SOON) - { - DALI_LOG_ERROR("GifFile->Error == D_GIF_ERR_EOF_TOO_SOON"); - isEofTooSoonErr = true; - break; - } - } - } - } - } - else - { - if (DGifGetLine(GifFile,sp->RasterBits,ImageSize)==GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetLine(GifFile,sp->RasterBits,ImageSize)==GIF_ERROR"); - if(GifFile->Error != D_GIF_ERR_EOF_TOO_SOON && GifFile->Error != D_GIF_ERR_IMAGE_DEFECT) - { - DALI_LOG_ERROR("GifFile->Error != D_GIF_ERR_EOF_TOO_SOON && GifFile->Error != D_GIF_ERR_IMAGE_DEFECT GIF_ERROR"); - return GIF_ERROR; - } - else if (GifFile->Error == D_GIF_ERR_EOF_TOO_SOON) - { - DALI_LOG_ERROR("GifFile->Error == D_GIF_ERR_EOF_TOO_SOON"); - isEofTooSoonErr = true; - break; - } - } - } - if (GifFile->ExtensionBlocks) - { - sp->ExtensionBlocks = GifFile->ExtensionBlocks; - sp->ExtensionBlockCount = GifFile->ExtensionBlockCount; - GifFile->ExtensionBlocks = NULL; - GifFile->ExtensionBlockCount = 0; - } - } - break; - case EXTENSION_RECORD_TYPE: - { - if (DGifGetExtension(GifFile,&ExtFunction,&ExtData) == GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetExtension(GifFile,&ExtFunction,&ExtData) == GIF_ERROR"); - return (GIF_ERROR); - } - /* Create an extension block with our data */ - if (ExtData != NULL) - { - if (GifAddExtensionBlock(&GifFile->ExtensionBlockCount, &GifFile->ExtensionBlocks, ExtFunction, ExtData[0], &ExtData[1]) == GIF_ERROR) - { - DALI_LOG_ERROR("GifAddExtensionBlock(&GifFile->ExtensionBlockCount, &GifFile->ExtensionBlocks, ExtFunction, ExtData[0], &ExtData[1]) == GIF_ERROR"); - return (GIF_ERROR); - } - } - while (ExtData != NULL) - { - if (DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR) - { - DALI_LOG_ERROR("DGifGetExtensionNext(GifFile, &ExtData) == GIF_ERROR"); - return (GIF_ERROR); - } - /* Continue the extension block */ - if (ExtData != NULL) - { - if (GifAddExtensionBlock(&GifFile->ExtensionBlockCount, &GifFile->ExtensionBlocks, CONTINUE_EXT_FUNC_CODE, ExtData[0], &ExtData[1]) == GIF_ERROR) - { - DALI_LOG_ERROR("GifAddExtensionBlock(&GifFile->ExtensionBlockCount, &GifFile->ExtensionBlocks, CONTINUE_EXT_FUNC_CODE, ExtData[0], &ExtData[1]) == GIF_ERROR"); - return (GIF_ERROR); - } - } - } - } - break; - case TERMINATE_RECORD_TYPE: - break; - default: /* Should be trapped by DGifGetRecordType */ - break; - } - if ( isEofTooSoonErr == true) - { - DALI_LOG_ERROR("isEofTooSoonErr == true"); - break; - } - } while (RecordType != TERMINATE_RECORD_TYPE); - /* Sanity check for corrupted file */ - if (GifFile->ImageCount == 0) - { - DALI_LOG_ERROR("GifFile->ImageCount == 0 GIF_ERROR"); - GifFile->Error = D_GIF_ERR_NO_IMAG_DSCR; - return(GIF_ERROR); - } - return (GIF_OK); -} - -#endif - bool LoadAnimatedGifFromFile( const std::string& url, std::vector& pixelData, Dali::Vector& frameDelays ) { // open GIF file @@ -672,21 +497,12 @@ bool LoadAnimatedGifFromFile( const std::string& url, std::vectorImageCount < 1 )