〖Android〗CM10.2编译错误解决

错误1:

hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp: In function 'int android::hdmi_gl_set_param(int, int, int, int, unsigned int, unsigned int, int, int, int, int, int)':
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1689:92: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1689:92: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1689:92: error: no match for 'operator=' in 'srcAddr = {(addr_space)1u, ((long unsigned int)src_y_address), ((src_w * src_h) * 4), 1, 0}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1689:92: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:230:8: note: fimg2d_addr& fimg2d_addr::operator=(const fimg2d_addr&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:230:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_addr&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1690:82: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1690:82: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1690:82: error: no match for 'operator=' in 'srcImage = {srcAddr, srcAddr, src_w, src_h, (src_w * 4), (pixel_order)0u, (color_format)1u}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1690:82: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:280:8: note: fimg2d_image& fimg2d_image::operator=(const fimg2d_image&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:280:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_image&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1691:38: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1691:38: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1693:93: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1693:93: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1693:93: error: no match for 'operator=' in 'dstAddr = {(addr_space)1u, ((long unsigned int)dst_addr), ((dst_w * dst_h) * dst_bpp), 1, 0}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1693:93: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:230:8: note: fimg2d_addr& fimg2d_addr::operator=(const fimg2d_addr&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:230:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_addr&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1694:106: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1694:106: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1694:106: error: no match for 'operator=' in 'dstImage = {dstAddr, dstAddr, dst_w, dst_h, (dst_w * dst_bpp), (pixel_order)0u, ((color_format)dst_color_format)}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1694:106: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:280:8: note: fimg2d_image& fimg2d_image::operator=(const fimg2d_image&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:280:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_image&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1695:38: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1695:38: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1696:41: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1696:41: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1699:90: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1699:90: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1699:90: error: no match for 'operator=' in 'Scaling = {(scaling)2u, (scaling_factor)0u, 0, 0, src_w, src_h, dst_w, dst_h}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1699:90: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:245:8: note: fimg2d_scale& fimg2d_scale::operator=(const fimg2d_scale&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:245:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_scale&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1701:90: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1701:90: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1701:90: error: no match for 'operator=' in 'Scaling = {(scaling)2u, (scaling_factor)0u, 0, 0, src_w, src_h, dst_h, dst_w}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1701:90: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:245:8: note: fimg2d_scale& fimg2d_scale::operator=(const fimg2d_scale&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:245:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_scale&'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1722:161: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1722:161: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1722:161: error: no match for 'operator=' in 'BlitParam = {(blit_op)2u, (premultiplied)1u, 255, 0, g2d_rotation, (& Scaling), 0, 0, (& dstClip), 0, (& srcImage), (& dstImage), 0, (& srcRect), (& dstRect), 0, 0}'
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:1722:161: note: candidate is:
In file included from hardware/samsung/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp:42:0:
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:327:8: note: fimg2d_blit& fimg2d_blit::operator=(const fimg2d_blit&)
hardware/samsung/exynos4/hal/libhdmi/SecHdmi/../../include/sec_g2d_4x.h:327:8: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const fimg2d_blit&'
make: *** [/media/Enjoy/AndroidCode/cm10.2/out/target/product/stuttgart/obj/SHARED_LIBRARIES/libhdmi_intermediates/SecHdmiV4L2Utils.o] Error 1
make: *** Waiting for unfinished jobs....

解决:

diff --git a/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp b/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp
index f3ae1ac..b103acb 100644
--- a/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp
+++ b/exynos4/hal/libhdmi/SecHdmi/SecHdmiV4L2Utils.cpp
@@ -1494,13 +1494,13 @@ int hdmi_set_g_scaling(int layer,
         cur_g2d_address = (unsigned int)dst_addr;
         prev_src_addr = src_address;

-        srcAddr = {(addr_space)ADDR_USER, (unsigned long)src_address, src_w * src_h * 4, 1, 0};
-        srcImage = {srcAddr, srcAddr, src_w, src_h, src_w*4, AX_RGB, CF_ARGB_8888};
         srcRect = {0, 0, src_w, src_h};
-
-        dstAddr = {(addr_space)ADDR_USER, (unsigned long)dst_addr, dst_w * dst_h * dst_bpp, 1, 0};
-        dstImage = {dstAddr, dstAddr, dst_w, dst_h, dst_w*dst_bpp, AX_RGB, (color_format)dst_color_format};
         dstRect = {0, 0, dst_w, dst_h};
+
+        srcAddr = {(addr_space)ADDR_USER, (unsigned long)src_address};
+        srcImage = { src_w, src_h, src_w*4, AX_RGB, CF_ARGB_8888, srcAddr, srcAddr, srcRect, false };
+        dstAddr = {(addr_space)ADDR_USER, (unsigned long)dst_addr};
+        dstImage = { dst_w, dst_h, dst_w*dst_bpp, AX_RGB, (color_format)dst_color_format, dstAddr, dstAddr, dstRect, false};
         dstClip = {0, 0, 0, dst_w, dst_h};

         if (rotVal == 0 || rotVal == 180)
@@ -1686,19 +1686,20 @@ int hdmi_gl_set_param(int layer,
         cur_g2d_address = (unsigned int)dst_addr;
         prev_src_addr = src_y_address;

-        srcAddr = {(addr_space)ADDR_PHYS, (unsigned long)src_y_address, src_w*src_h*4, 1, 0};
-        srcImage = {srcAddr, srcAddr, src_w, src_h, src_w*4, AX_RGB, CF_ARGB_8888};
         srcRect = {0, 0, src_w, src_h};
-
-        dstAddr = {(addr_space)ADDR_PHYS, (unsigned long)dst_addr, dst_w*dst_h*dst_bpp, 1, 0};
-        dstImage = {dstAddr, dstAddr, dst_w, dst_h, dst_w*dst_bpp, AX_RGB, (color_format)dst_color_format};
         dstRect = {0, 0, dst_w, dst_h};
+
+        srcAddr = {(addr_space)ADDR_USER, (unsigned long)src_y_address};
+        srcImage = { src_w, src_h, src_w*4, AX_RGB, CF_ARGB_8888, srcAddr, srcAddr, srcRect, false };
+        dstAddr = {(addr_space)ADDR_USER, (unsigned long)dst_addr};
+        dstImage = { dst_w, dst_h, dst_w*dst_bpp, AX_RGB, (color_format)dst_color_format, dstAddr, dstAddr, dstRect, false};
+
         dstClip = {0, 0, 0, dst_w, dst_h};

         if (rotVal == 0 || rotVal == 180)
-            Scaling = {SCALING_BILINEAR, SCALING_PIXELS, 0, 0, src_w, src_h, dst_w, dst_h};
+            Scaling = {SCALING_BILINEAR, src_w, src_h, dst_w, dst_h};
         else
-            Scaling = {SCALING_BILINEAR, SCALING_PIXELS, 0, 0, src_w, src_h, dst_h, dst_w};
+            Scaling = {SCALING_BILINEAR, src_w, src_h, dst_h, dst_w};

         switch (rotVal) {
         case 0:
@@ -1718,9 +1719,9 @@ int hdmi_gl_set_param(int layer,
             return -1;
             break;
         }
-
-        BlitParam = {BLIT_OP_SRC, NON_PREMULTIPLIED, 0xff, 0, g2d_rotation, &Scaling, 0, 0, &dstClip, 0, &srcImage, &dstImage, NULL, &srcRect, &dstRect, NULL, 0};
-
+       struct fimg2d_param param;
+       param = {0, 0xff, 0, g2d_rotation, NON_PREMULTIPLIED, &scaling, 0, 0, &dstClip};
+       BlitParam = { BLIT_OP_SRC, param, &srcImage, NULL, NULL, &dstImage, BLIT_SYNC, 0};
         if (stretchFimgApi(&BlitParam) < 0) {
             ALOGE("%s::stretchFimgApi() fail", __func__);
             return -1;
diff --git a/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h b/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h
index ebee763..6785821 100644
--- a/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h
+++ b/exynos4/hal/libhdmi/libhdmiservice/SecHdmiClient.h
@@ -34,8 +34,8 @@
 #include <cutils/log.h>
 #include <binder/IBinder.h>
 #include <binder/IServiceManager.h>
-#include <surfaceflinger/ISurfaceComposer.h>
-#include <surfaceflinger/SurfaceComposerClient.h>
+#include <gui/ISurfaceComposer.h>
+#include <gui/SurfaceComposerClient.h>
 #include "ISecTVOut.h"

 #define GETSERVICETIMEOUT (5)

原文链接: https://www.cnblogs.com/scue/p/3221946.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/97580

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午4:20
下一篇 2023年2月10日 上午4:20

相关推荐