<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: Issue with Camera HAL v3 Service and IMX6 Gralloc/HWComposer Library on Android Lolipop</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Issue-with-Camera-HAL-v3-Service-and-IMX6-Gralloc-HWComposer/m-p/454049#M70657</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mohamed Thalib Haja,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No, there is not,&amp;nbsp; the Camera HAL version we used has not been updated from V2 to V3 !&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Weidong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Oct 2015 07:52:08 GMT</pubDate>
    <dc:creator>weidong_sun</dc:creator>
    <dc:date>2015-10-15T07:52:08Z</dc:date>
    <item>
      <title>Issue with Camera HAL v3 Service and IMX6 Gralloc/HWComposer Library on Android Lolipop</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Issue-with-Camera-HAL-v3-Service-and-IMX6-Gralloc-HWComposer/m-p/454048#M70656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We are developing Camera HAL V3 for our custom board [esom imx6], on Android Lolipop &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are facing issue in getting garalloc buffer - The (private_handle_t) buffer given by Camera Service is corrupted/invalid. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note: We are able to use Camera using HAL v2 without any problem&lt;/STRONG&gt;, we are upgrading to HAL v3 for more features in v3 HAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After some comparison study of the Camera Service layer of HAL version v2 and v3 we found, that the service layer implementation for HAL version v3 and v2 are using different code flow path. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt; In Camera HAL v2&lt;/STRONG&gt; Service, the gralloc buffer is obtained using &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14446514944912720" data-renderedposition="219_8_1232_16" jivemacro_uid="_14446514944912720"&gt;&lt;P&gt; native_window_dequeue_buffer_and_wait(mConsumerInterface.get(), &amp;amp;anwBuffers[bufferIdx]);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; (&lt;STRONG&gt;file:&lt;/STRONG&gt; Camera2Device.cpp) &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; But in Camera HAL v3&lt;/STRONG&gt; Service, the gralloc buffer is obtained directly from hwcomposer using &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="_jivemacro_uid_14446515200942903 jive_macro_code jive_text_macro" data-renderedposition="298.5_8_1232_16" jivemacro_uid="_14446515200942903"&gt;&lt;P&gt; currentConsumer-&amp;gt;dequeueBuffer(currentConsumer.get(), &amp;amp;anb, &amp;amp;fenceFd);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt; (&lt;STRONG&gt;file:&lt;/STRONG&gt; Camera3OutputStream.cpp) &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mConsumer is nothing but &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14446515427192463" data-renderedposition="377.5_8_1232_16" jivemacro_uid="_14446515427192463"&gt;&lt;P&gt; sp&amp;lt;ANativeWindow&amp;gt; currentConsumer = mConsumer; &lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The implementation of &lt;STRONG&gt;ANativeWindow&lt;/STRONG&gt; is buried inside &lt;STRONG&gt;/system/lib/hw/hwcomposer_fsl.imx6.so&lt;/STRONG&gt; - which is closed proprietor library of freescale. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The buffer (private_handle_t) returned by &lt;STRONG&gt;deqeueBuffer&lt;/STRONG&gt; in HALv3 service is junk/corrupted, trying to access/use the buffer results in segmentation, Changing anything in the camera service will break default implementation. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="text-align: left;"&gt;Can some one help/suggest what is the best solution to fix this issue without breaking the existing Service layer for Camera HAL v3 on Android Lolipop&lt;/P&gt;&lt;P style="text-align: left;"&gt;&lt;STRONG&gt;[or]&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="text-align: left;"&gt;Is there any v3 HAL implementation already available for IMX6&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Oct 2015 12:08:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Issue-with-Camera-HAL-v3-Service-and-IMX6-Gralloc-HWComposer/m-p/454048#M70656</guid>
      <dc:creator>mohamedthalibha</dc:creator>
      <dc:date>2015-10-12T12:08:51Z</dc:date>
    </item>
    <item>
      <title>Re: Issue with Camera HAL v3 Service and IMX6 Gralloc/HWComposer Library on Android Lolipop</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Issue-with-Camera-HAL-v3-Service-and-IMX6-Gralloc-HWComposer/m-p/454049#M70657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mohamed Thalib Haja,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No, there is not,&amp;nbsp; the Camera HAL version we used has not been updated from V2 to V3 !&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Weidong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Oct 2015 07:52:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Issue-with-Camera-HAL-v3-Service-and-IMX6-Gralloc-HWComposer/m-p/454049#M70657</guid>
      <dc:creator>weidong_sun</dc:creator>
      <dc:date>2015-10-15T07:52:08Z</dc:date>
    </item>
  </channel>
</rss>

