From 66d207c35c04ee2376dc6637b0692654ea6b045a Mon Sep 17 00:00:00 2001 From: Jiyong Min Date: Wed, 19 Jul 2017 11:07:37 +0900 Subject: [PATCH] Remove duplicated color table for jpeg Change-Id: I3479bdb5c7c6622a2e51d846bdfadd4858509d56 Signed-off-by: Jiyong Min --- packaging/capi-media-image-util.spec | 2 +- src/image_util.c | 46 +++++++++++------------------------- 2 files changed, 15 insertions(+), 33 deletions(-) diff --git a/packaging/capi-media-image-util.spec b/packaging/capi-media-image-util.spec index 602ead1..f217979 100755 --- a/packaging/capi-media-image-util.spec +++ b/packaging/capi-media-image-util.spec @@ -1,6 +1,6 @@ Name: capi-media-image-util Summary: A Image Utility library in Tizen Native API -Version: 0.1.19 +Version: 0.1.20 Release: 2 Group: Multimedia/API License: Apache-2.0 diff --git a/src/image_util.c b/src/image_util.c index ee385b9..4d68c0b 100755 --- a/src/image_util.c +++ b/src/image_util.c @@ -49,24 +49,6 @@ static int _convert_colorspace_tbl[] = { MM_UTIL_JPEG_FMT_NV61, /* IMAGE_UTIL_COLORSPACE_NV61 */ }; -static int _convert_encode_colorspace_tbl[] = { - MM_UTIL_JPEG_FMT_YUV420, /* IMAGE_UTIL_COLORSPACE_YUV420 */ - -1, /* IMAGE_UTIL_COLORSPACE_YUV422 */ - MM_UTIL_JPEG_FMT_YUV420, /* IMAGE_UTIL_COLORSPACE_I420 */ - MM_UTIL_JPEG_FMT_NV12, /* IMAGE_UTIL_COLORSPACE_NV12 */ - -1, /* IMAGE_UTIL_COLORSPACE_UYVY */ - -1, /* IMAGE_UTIL_COLORSPACE_YUYV */ - -1, /* IMAGE_UTIL_COLORSPACE_RGB565 */ - MM_UTIL_JPEG_FMT_RGB888, /* IMAGE_UTIL_COLORSPACE_RGB888 */ - MM_UTIL_JPEG_FMT_ARGB8888, /* IMAGE_UTIL_COLORSPACE_ARGB8888 */ - MM_UTIL_JPEG_FMT_BGRA8888, /* IMAGE_UTIL_COLORSPACE_BGRA8888 */ - MM_UTIL_JPEG_FMT_RGBA8888, /* IMAGE_UTIL_COLORSPACE_RGBA8888 */ - -1, /* IMAGE_UTIL_COLORSPACE_BGRX8888 */ - -1, /* IMAGE_UTIL_COLORSPACE_NV21 */ - -1, /* IMAGE_UTIL_COLORSPACE_NV16 */ - -1, /* IMAGE_UTIL_COLORSPACE_NV61 */ -}; - static int _convert_jpeg_colorspace_tbl[] = { MM_UTIL_JPEG_FMT_YUV420, /* IMAGE_UTIL_COLORSPACE_YUV420 */ -1, /* IMAGE_UTIL_COLORSPACE_YUV422 */ @@ -259,8 +241,8 @@ int image_util_foreach_supported_jpeg_colorspace(image_util_supported_jpeg_color image_util_retvm_if((callback == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "callback is null"); /* RGB has higher precedence than YUV */ - for (i = sizeof(_convert_encode_colorspace_tbl) / sizeof(int) - 1; i >= 0; i--) { - if (_convert_encode_colorspace_tbl[i] != -1) + for (i = sizeof(_convert_jpeg_colorspace_tbl) / sizeof(int) - 1; i >= 0; i--) { + if (_convert_jpeg_colorspace_tbl[i] != -1) if (false == callback(i, user_data)) return IMAGE_UTIL_ERROR_NONE; @@ -677,12 +659,12 @@ int image_util_decode_jpeg(const char *path, image_util_colorspace_e colorspace, image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null"); image_util_retvm_if((strlen(path) == 0), IMAGE_UTIL_ERROR_NO_SUCH_FILE, "Invalid path"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); mm_util_jpeg_yuv_data decoded; memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data)); - err = mm_util_decode_from_jpeg_file(&decoded, path, _convert_encode_colorspace_tbl[colorspace]); + err = mm_util_decode_from_jpeg_file(&decoded, path, _convert_jpeg_colorspace_tbl[colorspace]); if (err == MM_UTIL_ERROR_NONE) { *image_buffer = decoded.data; if (width) @@ -705,12 +687,12 @@ int image_util_decode_jpeg_from_memory(const unsigned char *jpeg_buffer, int jpe image_util_retvm_if((image_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "image_buffer is null"); image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); mm_util_jpeg_yuv_data decoded; memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data)); - err = mm_util_decode_from_jpeg_memory(&decoded, (void *)jpeg_buffer, (unsigned int)jpeg_size, _convert_encode_colorspace_tbl[colorspace]); + err = mm_util_decode_from_jpeg_memory(&decoded, (void *)jpeg_buffer, (unsigned int)jpeg_size, _convert_jpeg_colorspace_tbl[colorspace]); if (err == MM_UTIL_ERROR_NONE) { *image_buffer = decoded.data; @@ -736,13 +718,13 @@ int image_util_decode_jpeg_with_downscale(const char *path, image_util_colorspac image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null"); image_util_retvm_if((strlen(path) == 0), IMAGE_UTIL_ERROR_NO_SUCH_FILE, "Invalid path"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); image_util_retvm_if((downscale < 0 || downscale >= sizeof(_convert_decode_scale_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "downsacle is invalid"); mm_util_jpeg_yuv_data decoded; memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data)); - err = mm_util_decode_from_jpeg_file_with_downscale(&decoded, path, _convert_encode_colorspace_tbl[colorspace], _convert_decode_scale_tbl[downscale]); + err = mm_util_decode_from_jpeg_file_with_downscale(&decoded, path, _convert_jpeg_colorspace_tbl[colorspace], _convert_decode_scale_tbl[downscale]); if (err == MM_UTIL_ERROR_NONE) { *image_buffer = decoded.data; if (width) @@ -765,13 +747,13 @@ int image_util_decode_jpeg_from_memory_with_downscale(const unsigned char *jpeg_ image_util_retvm_if((image_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "image_buffer is null"); image_util_retvm_if((size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "size is null"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); image_util_retvm_if((downscale < 0 || downscale >= sizeof(_convert_decode_scale_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "downsacle is invalid"); mm_util_jpeg_yuv_data decoded; memset(&decoded, 0, sizeof(mm_util_jpeg_yuv_data)); - err = mm_util_decode_from_jpeg_memory_with_downscale(&decoded, (void *)jpeg_buffer, (unsigned int)jpeg_size, _convert_encode_colorspace_tbl[colorspace], _convert_decode_scale_tbl[downscale]); + err = mm_util_decode_from_jpeg_memory_with_downscale(&decoded, (void *)jpeg_buffer, (unsigned int)jpeg_size, _convert_jpeg_colorspace_tbl[colorspace], _convert_decode_scale_tbl[downscale]); if (err == MM_UTIL_ERROR_NONE) { *image_buffer = decoded.data; @@ -796,9 +778,9 @@ int image_util_encode_jpeg(const unsigned char *buffer, int width, int height, i image_util_retvm_if((buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "buffer is null"); image_util_retvm_if((strlen(path) == 0), IMAGE_UTIL_ERROR_NO_SUCH_FILE, "Invalid path"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); - err = mm_util_jpeg_encode_to_file(path, (void *)buffer, width, height, _convert_encode_colorspace_tbl[colorspace], quality); + err = mm_util_jpeg_encode_to_file(path, (void *)buffer, width, height, _convert_jpeg_colorspace_tbl[colorspace], quality); return _convert_image_util_error_code(__func__, err); } @@ -812,9 +794,9 @@ int image_util_encode_jpeg_to_memory(const unsigned char *image_buffer, int widt image_util_retvm_if((image_buffer == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "image_buffer is null"); image_util_retvm_if((jpeg_size == NULL), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "jpeg_size is null"); image_util_retvm_if((colorspace < 0 || colorspace >= sizeof(_convert_colorspace_tbl) / sizeof(int)), IMAGE_UTIL_ERROR_INVALID_PARAMETER, "Invalid colorspace"); - image_util_retvm_if((_convert_encode_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); + image_util_retvm_if((_convert_jpeg_colorspace_tbl[colorspace] == -1), IMAGE_UTIL_ERROR_NOT_SUPPORTED_FORMAT, "not supported format"); - err = mm_util_jpeg_encode_to_memory((void **)jpeg_buffer, jpeg_size, (void *)image_buffer, width, height, _convert_encode_colorspace_tbl[colorspace], quality); + err = mm_util_jpeg_encode_to_memory((void **)jpeg_buffer, jpeg_size, (void *)image_buffer, width, height, _convert_jpeg_colorspace_tbl[colorspace], quality); return _convert_image_util_error_code(__func__, err); } -- 2.7.4