Dali 3D User Interface Engine
Classes | Namespaces | Enumerations | Functions | Variables
loader-jpeg-turbo.cpp File Reference
#include "loader-jpeg.h"
#include "resource-loading-client.h"
#include <dali/integration-api/bitmap.h>
#include <resource-loader/debug/resource-loader-debug.h>
#include "platform-capabilities.h"
#include "image-operations.h"
#include <libexif/exif-data.h>
#include <libexif/exif-loader.h>
#include <libexif/exif-tag.h>
#include <turbojpeg.h>
#include <jpeglib.h>
#include <cstring>
#include <setjmp.h>
Include dependency graph for loader-jpeg-turbo.cpp:

Go to the source code of this file.

Classes

struct  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::RGB888Type
 
struct  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JpegErrorState
 Error handling bookeeping for the JPEG Turbo library's setjmp/longjmp simulated exceptions. More...
 
struct  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::ExifAutoPtr
 Simple struct to ensure xif data is deleted. More...
 
struct  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::AutoJpg
 simple class to enforce clean-up of JPEG structures. More...
 
struct  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::AutoJpgMem
 RAII wrapper to free memory allocated by the jpeg-turbo library. More...
 

Namespaces

namespace  Dali
 The top level DALi namespace.
 
namespace  Dali::TizenPlatform
 
namespace  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}
 

Enumerations

enum  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_CODE {
  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_NONE = 1, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_FLIP_H, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_FLIP_V, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_TRANSPOSE,
  Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_TRANSVERSE, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_ROT_90, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_ROT_180, Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JPGFORM_ROT_270
}
 Transformations that can be applied to decoded pixels to respect exif orientation codes in image headers. More...
 

Functions

void Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JpegErrorHandler (j_common_ptr cinfo)
 Called by the JPEG library when it hits an error. More...
 
void Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::JpegOutputMessageHandler (j_common_ptr cinfo)
 
bool Dali::TizenPlatform::JpegRotate90 (unsigned char *buffer, int width, int height, int bpp)
 : Move all these rotation functions to portable/image-operations and take "Jpeg" out of their names. More...
 
bool Dali::TizenPlatform::JpegRotate180 (unsigned char *buffer, int width, int height, int bpp)
 
bool Dali::TizenPlatform::JpegRotate270 (unsigned char *buffer, int width, int height, int bpp)
 
JPGFORM_CODE Dali::TizenPlatform::ConvertExifOrientation (ExifData *exifData)
 
bool Dali::TizenPlatform::TransformSize (int requiredWidth, int requiredHeight, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, JPGFORM_CODE transform, int &preXformImageWidth, int &preXformImageHeight, int &postXformImageWidth, int &postXformImageHeight)
 
bool Dali::TizenPlatform::LoadJpegHeader (FILE *fp, unsigned int &width, unsigned int &height)
 
bool Dali::TizenPlatform::LoadBitmapFromJpeg (const ResourceLoadingClient &client, const ImageLoader::Input &input, Integration::Bitmap &bitmap)
 Loads the bitmap from an JPEG file. More...
 
bool Dali::TizenPlatform::EncodeToJpeg (const unsigned char *pixelBuffer, Vector< unsigned char > &encodedPixels, std::size_t width, std::size_t height, Pixel::Format pixelFormat, unsigned quality=80)
 Encode raw pixel data to JPEG format. More...
 
ExifData * Dali::TizenPlatform::LoadExifData (FILE *fp)
 
bool Dali::TizenPlatform::LoadJpegHeader (const ImageLoader::Input &input, unsigned int &width, unsigned int &height)
 Loads the header of a JPEG file and fills in the width and height appropriately. More...
 

Variables

const unsigned Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::DECODED_PIXEL_SIZE = 3
 
const TJPF Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::DECODED_PIXEL_LIBJPEG_TYPE = TJPF_RGB
 
const int Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::MAX_TEXTURE_WIDTH = 4096
 
const int Dali::TizenPlatform::anonymous_namespace{loader-jpeg-turbo.cpp}::MAX_TEXTURE_HEIGHT = 4096
 
Dali Docs Home
Read more about Dali