1 #ifndef LIBMPP_H_ 2 #define LIBMPP_H_ 3 4 #include <log/log.h> 5 #include <sys/types.h> 6 #include <sys/ioctl.h> 7 #include <fcntl.h> 8 #include <stdbool.h> 9 #include <string.h> 10 #include <unistd.h> 11 #include <stdio.h> 12 #include <stdlib.h> 13 #include <time.h> 14 #include <system/graphics.h> 15 16 #include <exynos_format.h> 17 #ifdef USES_GSCALER 18 #include <exynos_gscaler.h> 19 #endif 20 #ifdef USES_FIMC 21 #include "exynos_fimc.h" 22 #endif 23 24 class LibMpp { 25 public: LibMpp()26 LibMpp() { 27 ALOGD("%s\n", __func__); 28 } ~LibMpp()29 virtual ~LibMpp() { 30 ALOGD("%s\n", __func__); 31 } 32 virtual int ConfigMpp(void *handle, exynos_mpp_img *src, 33 exynos_mpp_img *dst) = 0; 34 virtual int RunMpp(void *handle, exynos_mpp_img *src, 35 exynos_mpp_img *dst) = 0; 36 virtual int StopMpp(void *handle) = 0; 37 virtual void DestroyMpp(void *handle) = 0; 38 virtual int SetCSCProperty(void *handle, unsigned int eqAuto, 39 unsigned int fullRange, unsigned int colorspace) = 0; 40 virtual int FreeMpp(void *handle) = 0; 41 virtual int SetInputCrop(void *handle, exynos_mpp_img *src, exynos_mpp_img *dst) = 0; ConfigBlendMpp(void __unused * handle,exynos_mpp_img __unused * src,exynos_mpp_img __unused * dst,struct SrcBlendInfo __unused * srcblendinfo)42 virtual int ConfigBlendMpp(void __unused *handle, exynos_mpp_img __unused *src, 43 exynos_mpp_img __unused *dst, 44 struct SrcBlendInfo __unused *srcblendinfo) {return 0;}; 45 }; 46 47 #endif 48