summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hillenbrand <codeworkx@cyanogenmod.org>2013-06-14 16:18:47 +0200
committerDaniel Hillenbrand <codeworkx@cyanogenmod.org>2013-06-14 16:18:47 +0200
commit09e7e82747e56dc27f9fad872fd3be06293c4eca (patch)
tree6c68d989b530a85949386653726a3347e11f63fa
parent76ea68e99b6ab1c16efcdb67485e18574c9e0865 (diff)
downloadhardware_samsung-09e7e82747e56dc27f9fad872fd3be06293c4eca.zip
hardware_samsung-09e7e82747e56dc27f9fad872fd3be06293c4eca.tar.gz
hardware_samsung-09e7e82747e56dc27f9fad872fd3be06293c4eca.tar.bz2
exynos4412: update fimg4x
http://git.insignal.co.kr/insignal/origen_quad-jb_mr1.1/android/hardware/samsung_slsi/exynos4/log/?h=origen_quad-jb_mr1.1 Change-Id: Idbcc372285b168fa171e195eed43e20c27182fab
-rw-r--r--exynos4/hal/include/FimgApi.h158
-rw-r--r--exynos4/hal/include/sec_g2d_4x.h (renamed from exynos4/hal/libfimg4x/sec_g2d_4x.h)148
-rw-r--r--exynos4/hal/libfimg4x/Android.mk6
-rw-r--r--exynos4/hal/libfimg4x/FimgApi.cpp106
-rw-r--r--exynos4/hal/libfimg4x/FimgApi.h114
-rw-r--r--exynos4/hal/libfimg4x/FimgExynos4.h3
6 files changed, 272 insertions, 263 deletions
diff --git a/exynos4/hal/include/FimgApi.h b/exynos4/hal/include/FimgApi.h
new file mode 100644
index 0000000..05ccfb8
--- /dev/null
+++ b/exynos4/hal/include/FimgApi.h
@@ -0,0 +1,158 @@
+/*
+**
+** Copyright 2009 Samsung Electronics Co, Ltd.
+** Copyright 2008, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+**
+**
+*/
+
+#ifndef FIMG_API_H
+#define FIMG_API_H
+
+#include <utils/Log.h>
+#include "sec_g2d_4x.h"
+
+#undef REAL_DEBUG
+#undef ANDROID_LOG
+
+#if defined(REAL_DEBUG)
+#ifdef ANDROID_LOG
+#define PRINT SLOGE
+#define PRINTD SLOGD
+#else
+#define PRINT printf
+#define PRINTD printf
+#endif
+#else
+void VOID_FUNC(const char *format, ...);
+
+#define PRINT VOID_FUNC
+#define PRINTD VOID_FUNC
+#endif
+
+struct Fimg {
+ int srcX;
+ int srcY;
+ unsigned int srcW;
+ unsigned int srcH;
+ unsigned int srcFWStride; // this is not w, just stride (w * bpp)
+ unsigned int srcFH;
+ unsigned int srcBPP;
+ int srcColorFormat;
+ unsigned char *srcAddr;
+
+ int dstX;
+ int dstY;
+ unsigned int dstW;
+ unsigned int dstH;
+ unsigned int dstFWStride; // this is not w, just stride (w * bpp)
+ unsigned int dstFH;
+ unsigned int dstBPP;
+ int dstColorFormat;
+ unsigned char *dstAddr;
+
+ int clipT;
+ int clipB;
+ int clipL;
+ int clipR;
+
+ int mskX;
+ int mskY;
+ unsigned int mskW;
+ unsigned int mskH;
+ unsigned int mskFWStride; // this is not w, just stride (w * bpp)
+ unsigned int mskFH;
+ unsigned int mskBPP;
+ int mskColorFormat;
+ unsigned char *mskAddr;
+
+ unsigned long fillcolor;
+ int rotate;
+ unsigned int alpha;
+ int xfermode;
+ int isDither;
+ int isFilter;
+ int colorFilter;
+ int matrixType;
+ float matrixSx;
+ float matrixSy;
+};
+
+#ifdef __cplusplus
+
+struct blit_op_table {
+ int op;
+ const char *str;
+};
+
+extern struct blit_op_table optbl[];
+
+class FimgApi
+{
+ public:
+#endif
+
+#ifdef __cplusplus
+ private :
+ bool m_flagCreate;
+
+ protected :
+ FimgApi();
+ FimgApi(const FimgApi& rhs) {}
+ virtual ~FimgApi();
+
+ public:
+ bool Create(void);
+ bool Destroy(void);
+ inline bool FlagCreate(void) { return m_flagCreate; }
+ bool Stretch(struct fimg2d_blit *cmd);
+ bool Sync(void);
+
+ protected:
+ virtual bool t_Create(void);
+ virtual bool t_Destroy(void);
+ virtual bool t_Stretch(struct fimg2d_blit *cmd);
+ virtual bool t_Sync(void);
+ virtual bool t_Lock(void);
+ virtual bool t_UnLock(void);
+
+};
+#endif
+
+#ifdef __cplusplus
+extern "C"
+#endif
+struct FimgApi *createFimgApi();
+
+#ifdef __cplusplus
+extern "C"
+#endif
+void destroyFimgApi(FimgApi *ptrFimgApi);
+
+#ifdef __cplusplus
+extern "C"
+#endif
+int stretchFimgApi(struct fimg2d_blit *cmd);
+#ifdef __cplusplus
+extern "C"
+#endif
+int SyncFimgApi(void);
+
+void printDataBlit(char *title, struct fimg2d_blit *cmd);
+void printDataBlitRotate(int rotate);
+void printDataBlitImage(char *title, struct fimg2d_image *image);
+void printDataBlitRect(char *title, struct fimg2d_rect *rect);
+void printDataBlitScale(struct fimg2d_scale *scaling);
+#endif //FIMG_API_H
diff --git a/exynos4/hal/libfimg4x/sec_g2d_4x.h b/exynos4/hal/include/sec_g2d_4x.h
index b9ddbb2..601e367 100644
--- a/exynos4/hal/libfimg4x/sec_g2d_4x.h
+++ b/exynos4/hal/include/sec_g2d_4x.h
@@ -13,28 +13,50 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#ifndef __SEC_G2D_4X_H
-#define __SEC_G2D_4X_H __FILE__
-#define SEC_G2D_DEV_NAME "/dev/fimg2d"
+#ifndef _SEC_G2D_DRIVER_H_
+#define _SEC_G2D_DRIVER_H_
+
+#define SEC_G2D_DEV_NAME "/dev/fimg2d"
+#define G2D_ALPHA_VALUE_MAX (255)
/* ioctl commands */
-#define FIMG2D_IOCTL_MAGIC 'F'
-#define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, struct fimg2d_blit)
-#define FIMG2D_BITBLT_SYNC _IO(FIMG2D_IOCTL_MAGIC, 1)
-#define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, struct fimg2d_version)
+#define FIMG2D_IOCTL_MAGIC 'F'
+#define FIMG2D_BITBLT_BLIT _IOWR(FIMG2D_IOCTL_MAGIC, 0, \
+ struct fimg2d_blit)
+#define FIMG2D_BITBLT_SYNC _IOW(FIMG2D_IOCTL_MAGIC, 1, int)
+#define FIMG2D_BITBLT_VERSION _IOR(FIMG2D_IOCTL_MAGIC, 2, \
+ struct fimg2d_version)
+
-#define G2D_ALPHA_VALUE_MAX (255)
+/**
+ * @BLIT_SYNC: sync mode, to wait for blit done irq
+ * @BLIT_ASYNC: async mode, not to wait for blit done irq
+ *
+ */
+enum blit_sync {
+ BLIT_SYNC,
+ BLIT_ASYNC,
+};
+/**
+ * @ADDR_PHYS: physical address
+ * @ADDR_USER: user virtual address (physically Non-contiguous)
+ * @ADDR_USER_RSVD: user virtual address (physically Contiguous)
+ * @ADDR_DEVICE: specific device virtual address
+ */
enum addr_space {
- ADDR_UNKNOWN,
+ ADDR_NONE,
ADDR_PHYS,
ADDR_KERN,
ADDR_USER,
+ ADDR_USER_RSVD,
ADDR_DEVICE,
};
/**
+ * Pixel order complies with little-endian style
+ *
* DO NOT CHANGE THIS ORDER
*/
enum pixel_order {
@@ -117,12 +139,12 @@ enum scaling {
};
/**
- * @SCALING_PERCENTAGE: percentage of width, height
- * @SCALING_PIXELS: coordinate of src, dest
+ * @SCALING_PIXELS: ratio in pixels
+ * @SCALING_RATIO: ratio in fixed point 16
*/
enum scaling_factor {
- SCALING_PERCENTAGE,
SCALING_PIXELS,
+ SCALING_RATIO,
};
/**
@@ -188,11 +210,13 @@ enum blit_op {
BLIT_OP_CONJ_DST_ATOP, BLIT_OP_CONJ_ATOP_REV = BLIT_OP_CONJ_DST_ATOP,
BLIT_OP_CONJ_XOR,
- /* Add new operation type here */
-
/* user select coefficient manually */
BLIT_OP_USER_COEFF,
+ BLIT_OP_USER_SRC_GA,
+
+ /* Add new operation type here */
+
/* end of blit operation */
BLIT_OP_END,
@@ -200,25 +224,12 @@ enum blit_op {
BLIT_OP_NOT_SUPPORTED
};
-#define MAX_FIMG2D_BLIT_OP (int)BLIT_OP_END
-
-struct fimg2d_version {
- unsigned int hw;
- unsigned int sw;
-};
-
/**
* @start: start address or unique id of image
- * @size: whole length of allocated image
- * @cacheable: memory is cacheable
- * @pinnable: memory is pinnable. currently not supported.
*/
struct fimg2d_addr {
enum addr_space type;
unsigned long start;
- size_t size;
- int cacheable;
- int pinnable;
};
struct fimg2d_rect {
@@ -229,30 +240,21 @@ struct fimg2d_rect {
};
/**
- * if factor is percentage, scale_w and scale_h are valid
- * if factor is pixels, src_w, src_h, dst_w, dst_h are valid
+ * pixels can be different from src, dst or clip rect
*/
struct fimg2d_scale {
enum scaling mode;
- enum scaling_factor factor;
- /* percentage */
- int scale_w;
- int scale_h;
-
- /* pixels */
+ /* ratio in pixels */
int src_w, src_h;
int dst_w, dst_h;
};
-/**
- * coordinate from start address(0,0) of image
- */
struct fimg2d_clip {
bool enable;
int x1;
int y1;
- int x2; /* x1 + width */
+ int x2; /* x1 + width */
int y2; /* y1 + height */
};
@@ -272,55 +274,65 @@ struct fimg2d_bluscr {
/**
* @plane2: address info for CbCr in YCbCr 2plane mode
+ * @rect: crop/clip rect
+ * @need_cacheopr: true if cache coherency is required
*/
struct fimg2d_image {
- struct fimg2d_addr addr;
- struct fimg2d_addr plane2;
int width;
int height;
int stride;
enum pixel_order order;
enum color_format fmt;
+ struct fimg2d_addr addr;
+ struct fimg2d_addr plane2;
+ struct fimg2d_rect rect;
+ bool need_cacheopr;
};
+/**
+ * @solid_color:
+ * src color instead of src image / dst color instead of dst read image.
+ * color format and order must be ARGB8888(A is MSB).
+ * premultiplied format must be same to 'premult' of this struct.
+ * @g_alpha: global(constant) alpha. 0xff is opaque, 0 is transparnet
+ * @dither: dithering
+ * @rotate: rotation degree in clockwise
+ * @premult: alpha premultiplied mode for read & write
+ * @scaling: common scaling info for src and mask image.
+ * @repeat: repeat type (tile mode)
+ * @bluscr: blue screen and transparent mode
+ */
struct fimg2d_param {
- enum blit_op op;
- unsigned long fillcolor;
+ unsigned long solid_color;
unsigned char g_alpha;
- enum premultiplied premult;
bool dither;
enum rotation rotate;
- struct fimg2d_scale *scaling;
- struct fimg2d_repeat *repeat;
- struct fimg2d_bluscr *bluscr;
- struct fimg2d_clip *clipping;
+ enum premultiplied premult;
+ struct fimg2d_scale scaling;
+ struct fimg2d_repeat repeat;
+ struct fimg2d_bluscr bluscr;
+ struct fimg2d_clip clipping;
};
/**
- * @g_alpha: 0xff is opaque, 0x0 is transparnet
- * @seq_no: used for debugging
+ * @op: blit operation mode
+ * @src: set when using src image
+ * @msk: set when using mask image
+ * @tmp: set when using 2-step blit at a single command
+ * @dst: dst must not be null
+ * * tmp image must be the same to dst except memory address
+ * @seq_no: user debugging info.
+ * for example, user can set sequence number or pid.
*/
struct fimg2d_blit {
enum blit_op op;
-
- enum premultiplied premult;
- unsigned char g_alpha;
- bool dither;
- enum rotation rotate;
- struct fimg2d_scale *scaling;
- struct fimg2d_repeat *repeat;
- struct fimg2d_bluscr *bluscr;
- struct fimg2d_clip *clipping;
-
- unsigned long solid_color;
+ struct fimg2d_param param;
struct fimg2d_image *src;
- struct fimg2d_image *dst;
struct fimg2d_image *msk;
-
- struct fimg2d_rect *src_rect;
- struct fimg2d_rect *dst_rect;
- struct fimg2d_rect *msk_rect;
-
+ struct fimg2d_image *tmp;
+ struct fimg2d_image *dst;
+ enum blit_sync sync;
unsigned int seq_no;
};
-#endif /* __SEC_G2D_4X_H__ */
+
+#endif /*_SEC_G2D_DRIVER_H_*/
diff --git a/exynos4/hal/libfimg4x/Android.mk b/exynos4/hal/libfimg4x/Android.mk
index f42da3f..a43d635 100644
--- a/exynos4/hal/libfimg4x/Android.mk
+++ b/exynos4/hal/libfimg4x/Android.mk
@@ -2,15 +2,15 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
ifeq ($(BOARD_USES_FIMGAPI),true)
-
-#LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../include
-LOCAL_C_INCLUDES += external/skia/include/core
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:= \
FimgApi.cpp \
FimgExynos4.cpp
+LOCAL_C_INCLUDES += \
+ $(LOCAL_PATH)/../include
+
LOCAL_SHARED_LIBRARIES:= liblog libutils libbinder
LOCAL_MODULE:= libfimg
diff --git a/exynos4/hal/libfimg4x/FimgApi.cpp b/exynos4/hal/libfimg4x/FimgApi.cpp
index 444e9c9..8cca61c 100644
--- a/exynos4/hal/libfimg4x/FimgApi.cpp
+++ b/exynos4/hal/libfimg4x/FimgApi.cpp
@@ -270,107 +270,61 @@ extern "C" int SyncFimgApi(void)
void printDataBlit(char *title, struct fimg2d_blit *cmd)
{
- ALOGI("%s\n", title);
+ SLOGI("%s\n", title);
- ALOGI(" sequence_no. = %u\n", cmd->seq_no);
- ALOGI(" blit_op = %d(%s)\n", cmd->op, optbl[cmd->op].str);
- ALOGI(" fill_color = %X\n", cmd->solid_color);
- ALOGI(" global_alpha = %u\n", (unsigned int)cmd->g_alpha);
- ALOGI(" PREMULT = %s\n", cmd->premult == PREMULTIPLIED ? "PREMULTIPLIED" : "NON-PREMULTIPLIED");
- ALOGI(" do_dither = %s\n", cmd->dither == true ? "dither" : "no-dither");
+ SLOGI(" sequence_no. = %u\n", cmd->seq_no);
+ SLOGI(" blit_op = %d(%s)\n", cmd->op, optbl[cmd->op].str);
+ SLOGI(" fill_color = %X\n", cmd->param.solid_color);
+ SLOGI(" global_alpha = %u\n", (unsigned int)cmd->param.g_alpha);
+ SLOGI(" PREMULT = %s\n", cmd->param.premult == PREMULTIPLIED ? "PREMULTIPLIED" : "NON-PREMULTIPLIED");
+ SLOGI(" do_dither = %s\n", cmd->param.dither == true ? "dither" : "no-dither");
- printDataBlitRotate(cmd->rotate);
+ printDataBlitRotate(cmd->param.rotate);
- printDataBlitScale(cmd->scaling);
+ printDataBlitScale(&cmd->param.scaling);
printDataBlitImage("SRC", cmd->src);
printDataBlitImage("DST", cmd->dst);
printDataBlitImage("MSK", cmd->msk);
- printDataBlitRect("SRC", cmd->src_rect);
- printDataBlitRect("DST", cmd->dst_rect);
- printDataBlitRect("MSK", cmd->msk_rect);
-
- printDataBlitClip(cmd->clipping);
+ printDataBlitRect("SRC", &cmd->src->rect);
+ printDataBlitRect("DST", &cmd->dst->rect);
+ printDataBlitRect("MSK", &cmd->msk->rect);
}
void printDataBlitImage(char *title, struct fimg2d_image *image)
{
if (NULL != image) {
- ALOGI(" Image_%s\n", title);
- ALOGI(" addr = %X\n", image->addr.start);
- ALOGI(" size = %u\n", image->addr.size);
- ALOGI(" (width, height) = (%d, %d)\n", image->width, image->height);
- ALOGI(" format = %d\n", image->fmt);
+ SLOGI(" Image_%s\n", title);
+ SLOGI(" addr = %X\n", image->addr.start);
+ SLOGI(" format = %d\n", image->fmt);
} else
- ALOGI(" Image_%s : NULL\n", title);
+ SLOGI(" Image_%s : NULL\n", title);
}
void printDataBlitRect(char *title, struct fimg2d_rect *rect)
{
if (NULL != rect) {
- ALOGI(" RECT_%s\n", title);
- ALOGI(" (x1, y1) = (%d, %d)\n", rect->x1, rect->y1);
- ALOGI(" (x2, y2) = (%d, %d)\n", rect->x2, rect->y2);
- ALOGI(" (width, height) = (%d, %d)\n", rect->x2 - rect->x1, rect->y2 - rect->y1);
+ SLOGI(" RECT_%s\n", title);
+ SLOGI(" (x1, y1) = (%d, %d)\n", rect->x1, rect->y1);
+ SLOGI(" (x2, y2) = (%d, %d)\n", rect->x2, rect->y2);
+ SLOGI(" (width, height) = (%d, %d)\n", rect->x2 - rect->x1, rect->y2 - rect->y1);
} else
- ALOGI(" RECT_%s : NULL\n", title);
-}
-
-void printDataBlitRotate(enum rotation rotate)
-{
- ALOGI(" ROTATE : %d\n", rotate);
+ SLOGI(" RECT_%s : NULL\n", title);
}
-void printDataBlitClip(struct fimg2d_clip *clip)
+void printDataBlitRotate(int rotate)
{
- if (NULL != clip) {
- ALOGI(" CLIP\n");
- ALOGI(" clip %s\n", clip->enable == true ? "enabled" : "disabled");
- ALOGI(" (x1, y1) = (%d, %d)\n", clip->x1, clip->y1);
- ALOGI(" (x2, y2) = (%d, %d)\n", clip->x2, clip->y2);
- ALOGI(" (width, hight) = (%d, %d)\n", clip->x2 - clip->x1, clip->y2 - clip->y1);
- } else
- ALOGI(" CLIP : NULL\n");
+ SLOGI(" ROTATE : %d\n", rotate);
}
void printDataBlitScale(struct fimg2d_scale *scaling)
{
- if (NULL != scaling) {
- ALOGI(" SCALING\n");
- ALOGI(" scale_mode : %s\n", scaling->mode == 0 ?
- "NO_SCALING" :
- (scaling->mode == 1 ? "SCALING_NEAREST" : "SCALING_BILINEAR"));
- ALOGI(" scaling_factor_unit : %s\n", scaling->factor == 0 ? "PERCENT" : "PIXEL");
-
- if (scaling->factor == 0)
- ALOGI(" scaling_factor : (scale_w, scale_y) = (%d, %d)\n", scaling->scale_w, scaling->scale_h);
- else {
- ALOGI(" src : (src_w, src_h) = (%d, %d)\n", scaling->src_w, scaling->src_h);
- ALOGI(" dst : (dst_w, dst_h) = (%d, %d)\n", scaling->dst_w, scaling->dst_h);
- ALOGI(" scaling_factor : (scale_w, scale_y) = (%3.2f, %3.2f)\n", (double)scaling->dst_w / scaling->src_w, (double)scaling->dst_h / scaling->src_h);
- }
- } else
- ALOGI(" SCALING : NULL(NO SCALE MODE)\n");
-
-}
-
-void printDataMatrix(int matrixType)
-{
- ALOGI(" MATRIX\n");
-
- if (matrixType & SkMatrix::kIdentity_Mask)
- ALOGI(" Matrix_type : Identity_Mask\n");
-
- if (matrixType & SkMatrix::kTranslate_Mask)
- ALOGI(" Matrix_type : Translate_Mask(the matrix has translation)\n");
-
- if (matrixType & SkMatrix::kScale_Mask)
- ALOGI(" Matrix_type : Scale_Mask(the matrix has X or Y scale)\n");
-
- if (matrixType & SkMatrix::kAffine_Mask)
- ALOGI(" Matrix_type : Affine_Mask(the matrix skews or rotates)\n");
-
- if (matrixType & SkMatrix::kPerspective_Mask)
- ALOGI(" Matrix_type : Perspective_Mask(the matrix is in perspective)\n");
+ SLOGI(" SCALING\n");
+ SLOGI(" scale_mode : %s\n", scaling->mode == 0 ?
+ "NO_SCALING" :
+ (scaling->mode == 1 ? "SCALING_NEAREST" : "SCALING_BILINEAR"));
+ SLOGI(" src : (src_w, src_h) = (%d, %d)\n", scaling->src_w, scaling->src_h);
+ SLOGI(" dst : (dst_w, dst_h) = (%d, %d)\n", scaling->dst_w, scaling->dst_h);
+ SLOGI(" scaling_factor : (scale_w, scale_y) = (%3.2f, %3.2f)\n", (double)scaling->dst_w / scaling->src_w, (double)scaling->dst_h / scaling->src_h);
}
diff --git a/exynos4/hal/libfimg4x/FimgApi.h b/exynos4/hal/libfimg4x/FimgApi.h
deleted file mode 100644
index 925345e..0000000
--- a/exynos4/hal/libfimg4x/FimgApi.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-**
-** Copyright 2009 Samsung Electronics Co, Ltd.
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-**
-**
-*/
-
-#ifndef FIMG_API_H
-#define FIMG_API_H
-
-#include <utils/Log.h>
-#include "SkMatrix.h"
-#include "sec_g2d_4x.h"
-
-#define REAL_DEBUG
-#define ANDROID_ALOG
-
-#if defined(REAL_DEBUG)
-#ifdef ANDROID_ALOG
-#define PRINT ALOGE
-#define PRINTD ALOGD
-#else
-#define PRINT printf
-#define PRINTD printf
-#endif
-#else
-void VOID_FUNC(const char *format, ...);
-
-#define PRINT VOID_FUNC
-#define PRINTD VOID_FUNC
-#endif
-
-#ifdef __cplusplus
-
-struct blit_op_table {
- int op;
- const char *str;
-};
-
-extern struct blit_op_table optbl[];
-
-class FimgApi
-{
-public:
-#endif
-
-#ifdef __cplusplus
-private :
- bool m_flagCreate;
-
-protected :
- FimgApi();
- FimgApi(const FimgApi& rhs) {}
- virtual ~FimgApi();
-
-public:
- bool Create(void);
- bool Destroy(void);
- inline bool FlagCreate(void) { return m_flagCreate; }
- bool Stretch(struct fimg2d_blit *cmd);
- bool Sync(void);
-
-protected:
- virtual bool t_Create(void);
- virtual bool t_Destroy(void);
- virtual bool t_Stretch(struct fimg2d_blit *cmd);
- virtual bool t_Sync(void);
- virtual bool t_Lock(void);
- virtual bool t_UnLock(void);
-
-};
-#endif
-
-#ifdef __cplusplus
-extern "C"
-#endif
-struct FimgApi *createFimgApi();
-
-#ifdef __cplusplus
-extern "C"
-#endif
-void destroyFimgApi(FimgApi *ptrFimgApi);
-
-#ifdef __cplusplus
-extern "C"
-#endif
-int stretchFimgApi(struct fimg2d_blit *cmd);
-#ifdef __cplusplus
-extern "C"
-#endif
-int SyncFimgApi(void);
-
-void printDataBlit(char *title, struct fimg2d_blit *cmd);
-void printDataBlitRotate(enum rotation rotate);
-void printDataBlitImage(char *title, struct fimg2d_image *image);
-void printDataBlitRect(char *title, struct fimg2d_rect *rect);
-void printDataBlitClip(struct fimg2d_clip *clip);
-void printDataBlitScale(struct fimg2d_scale *scaling);
-void printDataMatrix(int matrixType);
-
-#endif //FIMG_API_H
diff --git a/exynos4/hal/libfimg4x/FimgExynos4.h b/exynos4/hal/libfimg4x/FimgExynos4.h
index 2a7c42f..674fd7a 100644
--- a/exynos4/hal/libfimg4x/FimgExynos4.h
+++ b/exynos4/hal/libfimg4x/FimgExynos4.h
@@ -35,7 +35,6 @@
#include <sys/poll.h>
#include <sys/stat.h>
-#include <linux/android_pmem.h>
#include <utils/threads.h>
#include <utils/StopWatch.h>
@@ -46,7 +45,7 @@
namespace android
{
-#define NUMBER_FIMG_LIST (1) // kcoolsw : because of pmem
+#define NUMBER_FIMG_LIST (1)
#define GET_RECT_SIZE(rect) ((rect->full_w) * (rect->h) * (rect->bytes_per_pixel))
#define GET_REAL_SIZE(rect) ((rect->full_w) * (rect->h) * (rect->bytes_per_pixel))
#define GET_START_ADDR(rect) (rect->virt_addr + ((rect->y * rect->full_w) * rect->bytes_per_pixel))