<?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>topic Why not RGB? in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890939#M11468</link>
    <description>&lt;P&gt;Hi, &lt;/P&gt;
&lt;P&gt;I am using IPP to decode Mpeg4 data. I have checked the discussions and make one same as them.&lt;/P&gt;
&lt;P&gt;InitilizeMpeg4Decoder(char *pIFrameData, int nFrameSize)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;m_video_info.color_format= YUV420;&lt;BR /&gt;m_video_info.stream_type= MPEG4_VIDEO;&lt;BR /&gt;m_video_info.stream_subtype= UNDEF_VIDEO_SUBTYPE;&lt;BR /&gt;m_video_info.clip_info.width= 0;&lt;BR /&gt;m_video_info.clip_info.height= 0;&lt;/P&gt;
&lt;P&gt;ColorConversionInfo ColorInit;&lt;BR /&gt;ColorInit.SizeSource.width= m_video_info.clip_info.width;&lt;BR /&gt;ColorInit.SizeSource.height = m_video_info.clip_info.height;&lt;BR /&gt;ColorInit.FormatDest= YUV420;&lt;BR /&gt;ColorInit.SizeDest.width= m_video_info.clip_info.width;&lt;BR /&gt;ColorInit.SizeDest.height= m_video_info.clip_info.height;&lt;BR /&gt;ColorInit.lFlags= 1;&lt;BR /&gt;ColorInit.lDeinterlace= 0;&lt;BR /&gt;ColorInit.lInterpolation= FLAG_CCNV_CONVERT;// FLAG_CCNV_NONE;// FLAG_CCNV_CONVERT;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;m_InMediaData.SetBufferPointer((vm_byte*)pIFrameData,nFrameSize );&lt;/P&gt;
&lt;P&gt;m_VideoDecoderParams.info = m_video_info;&lt;BR /&gt;m_VideoDecoderParams.cformat = RGB24;&lt;BR /&gt;m_VideoDecoderParams.lFlags = FLAG_VDEC_UVMERGED | FLAG_VDEC_REORDER;//0;//UMC::FLAG_VDEC_UVMERGED;//;// UMC::FLAG_VDEC_UVMERGED | UMC::FLAG_VDEC_REORDER;&lt;BR /&gt;&lt;BR /&gt;m_VideoDecoderParams.lpConverter = &amp;amp;m_ColorDecoder;&lt;BR /&gt;m_VideoDecoderParams.lpConvertInit = &amp;amp;ColorInit;&lt;BR /&gt;m_VideoDecoderParams.uiLimitThreads = 0;&lt;BR /&gt;m_VideoDecoderParams.m_pData = &amp;amp;m_InMediaData;&lt;/P&gt;
&lt;P&gt;Status status = m_Mpeg4Decoder.Init( &amp;amp;m_VideoDecoderParams );&lt;BR /&gt;if( UMC_OK == status )&lt;BR /&gt;{&lt;BR /&gt;m_videoWidth = m_VideoDecoderParams.info.clip_info.width;&lt;BR /&gt;m_videoHeight = m_VideoDecoderParams.info.clip_info.height;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;m_pOutBMPBuf = new BYTE[ (m_videoWidth* m_videoHeight * 3) + 1024 ];&lt;BR /&gt;m_pOutBuf = new BYTE[ (m_videoWidth* m_videoHeight * 3) ];&lt;BR /&gt;m_OutVideoData.SetVideoParameters( m_videoWidth, m_videoHeight, DEST_C_FORMAT );&lt;BR /&gt;m_OutVideoData.Init( m_videoWidth, m_videoHeight, DEST_C_FORMAT );&lt;BR /&gt;m_nOutLen = m_OutVideoData.m_lPitch[0] * m_videoHeight;&lt;BR /&gt;m_OutVideoData.SetBufferPointer( (vm_byte*)m_pOutBuf, m_nOutLen );&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;bool DecodeVideoFrame( char *pVideoData, unsigned int nDataLen )&lt;BR /&gt;{&lt;BR /&gt;if( !m_bInitialized )&lt;BR /&gt;{&lt;BR /&gt;m_bInitialized = true;&lt;BR /&gt;InitilizeMpeg4Decoder( pVideoData, nDataLen );&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;m_InMediaData.SetBufferPointer( (vm_byte*)pVideoData, nDataLen );&lt;BR /&gt;m_InMediaData.SetDataSize( nDataLen );&lt;BR /&gt;umcRes = m_Mpeg4Decoder.GetFrame( &amp;amp;m_InMediaData, &amp;amp;m_OutVideoData );&lt;/P&gt;
&lt;P&gt;if(umcRes != UMC_OK &amp;amp;&amp;amp; umcRes != UMC_NOT_ENOUGH_DATA) &lt;BR /&gt;return false;&lt;BR /&gt;if(umcRes == UMC_NOT_ENOUGH_DATA) &lt;BR /&gt;return false;&lt;BR /&gt;if(umcRes == UMC_OK) &lt;BR /&gt;return true;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;DecodeVideoFrame( pInBuf, Len );&lt;/P&gt;
&lt;P&gt;After DecodeVideoFrame, pInBuf filled by bbbbbbbbrrrrrrrrgggggggg&lt;/P&gt;
&lt;P&gt;I had try to change the ippiYCbCr420ToBGR_8u_P3C3R to ippiYCbCr420ToRGB_8u_P3C3R in the umc_color_space_converter_yv12.cpp&lt;/P&gt;
&lt;P&gt;But I get rrrrrrrrbbbbbbbbgggggggg, did I do anything wrong?&lt;/P&gt;
&lt;P&gt;Beside this, the
 CPU performance seems not so good? event I run the program on Core to duo with v8 dlls, it still costs CPU 50 -70 %.&lt;/P&gt;
&lt;P&gt;My Video resolution id 720 x 480 30 FPS.&lt;/P&gt;
&lt;P&gt;Please help me. thanks in advaced&lt;/P&gt;</description>
    <pubDate>Thu, 04 Jan 2007 19:37:13 GMT</pubDate>
    <dc:creator>kenchan32</dc:creator>
    <dc:date>2007-01-04T19:37:13Z</dc:date>
    <item>
      <title>Why not RGB?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890939#M11468</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;
&lt;P&gt;I am using IPP to decode Mpeg4 data. I have checked the discussions and make one same as them.&lt;/P&gt;
&lt;P&gt;InitilizeMpeg4Decoder(char *pIFrameData, int nFrameSize)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;m_video_info.color_format= YUV420;&lt;BR /&gt;m_video_info.stream_type= MPEG4_VIDEO;&lt;BR /&gt;m_video_info.stream_subtype= UNDEF_VIDEO_SUBTYPE;&lt;BR /&gt;m_video_info.clip_info.width= 0;&lt;BR /&gt;m_video_info.clip_info.height= 0;&lt;/P&gt;
&lt;P&gt;ColorConversionInfo ColorInit;&lt;BR /&gt;ColorInit.SizeSource.width= m_video_info.clip_info.width;&lt;BR /&gt;ColorInit.SizeSource.height = m_video_info.clip_info.height;&lt;BR /&gt;ColorInit.FormatDest= YUV420;&lt;BR /&gt;ColorInit.SizeDest.width= m_video_info.clip_info.width;&lt;BR /&gt;ColorInit.SizeDest.height= m_video_info.clip_info.height;&lt;BR /&gt;ColorInit.lFlags= 1;&lt;BR /&gt;ColorInit.lDeinterlace= 0;&lt;BR /&gt;ColorInit.lInterpolation= FLAG_CCNV_CONVERT;// FLAG_CCNV_NONE;// FLAG_CCNV_CONVERT;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;m_InMediaData.SetBufferPointer((vm_byte*)pIFrameData,nFrameSize );&lt;/P&gt;
&lt;P&gt;m_VideoDecoderParams.info = m_video_info;&lt;BR /&gt;m_VideoDecoderParams.cformat = RGB24;&lt;BR /&gt;m_VideoDecoderParams.lFlags = FLAG_VDEC_UVMERGED | FLAG_VDEC_REORDER;//0;//UMC::FLAG_VDEC_UVMERGED;//;// UMC::FLAG_VDEC_UVMERGED | UMC::FLAG_VDEC_REORDER;&lt;BR /&gt;&lt;BR /&gt;m_VideoDecoderParams.lpConverter = &amp;amp;m_ColorDecoder;&lt;BR /&gt;m_VideoDecoderParams.lpConvertInit = &amp;amp;ColorInit;&lt;BR /&gt;m_VideoDecoderParams.uiLimitThreads = 0;&lt;BR /&gt;m_VideoDecoderParams.m_pData = &amp;amp;m_InMediaData;&lt;/P&gt;
&lt;P&gt;Status status = m_Mpeg4Decoder.Init( &amp;amp;m_VideoDecoderParams );&lt;BR /&gt;if( UMC_OK == status )&lt;BR /&gt;{&lt;BR /&gt;m_videoWidth = m_VideoDecoderParams.info.clip_info.width;&lt;BR /&gt;m_videoHeight = m_VideoDecoderParams.info.clip_info.height;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;m_pOutBMPBuf = new BYTE[ (m_videoWidth* m_videoHeight * 3) + 1024 ];&lt;BR /&gt;m_pOutBuf = new BYTE[ (m_videoWidth* m_videoHeight * 3) ];&lt;BR /&gt;m_OutVideoData.SetVideoParameters( m_videoWidth, m_videoHeight, DEST_C_FORMAT );&lt;BR /&gt;m_OutVideoData.Init( m_videoWidth, m_videoHeight, DEST_C_FORMAT );&lt;BR /&gt;m_nOutLen = m_OutVideoData.m_lPitch[0] * m_videoHeight;&lt;BR /&gt;m_OutVideoData.SetBufferPointer( (vm_byte*)m_pOutBuf, m_nOutLen );&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;bool DecodeVideoFrame( char *pVideoData, unsigned int nDataLen )&lt;BR /&gt;{&lt;BR /&gt;if( !m_bInitialized )&lt;BR /&gt;{&lt;BR /&gt;m_bInitialized = true;&lt;BR /&gt;InitilizeMpeg4Decoder( pVideoData, nDataLen );&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;m_InMediaData.SetBufferPointer( (vm_byte*)pVideoData, nDataLen );&lt;BR /&gt;m_InMediaData.SetDataSize( nDataLen );&lt;BR /&gt;umcRes = m_Mpeg4Decoder.GetFrame( &amp;amp;m_InMediaData, &amp;amp;m_OutVideoData );&lt;/P&gt;
&lt;P&gt;if(umcRes != UMC_OK &amp;amp;&amp;amp; umcRes != UMC_NOT_ENOUGH_DATA) &lt;BR /&gt;return false;&lt;BR /&gt;if(umcRes == UMC_NOT_ENOUGH_DATA) &lt;BR /&gt;return false;&lt;BR /&gt;if(umcRes == UMC_OK) &lt;BR /&gt;return true;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;DecodeVideoFrame( pInBuf, Len );&lt;/P&gt;
&lt;P&gt;After DecodeVideoFrame, pInBuf filled by bbbbbbbbrrrrrrrrgggggggg&lt;/P&gt;
&lt;P&gt;I had try to change the ippiYCbCr420ToBGR_8u_P3C3R to ippiYCbCr420ToRGB_8u_P3C3R in the umc_color_space_converter_yv12.cpp&lt;/P&gt;
&lt;P&gt;But I get rrrrrrrrbbbbbbbbgggggggg, did I do anything wrong?&lt;/P&gt;
&lt;P&gt;Beside this, the
 CPU performance seems not so good? event I run the program on Core to duo with v8 dlls, it still costs CPU 50 -70 %.&lt;/P&gt;
&lt;P&gt;My Video resolution id 720 x 480 30 FPS.&lt;/P&gt;
&lt;P&gt;Please help me. thanks in advaced&lt;/P&gt;</description>
      <pubDate>Thu, 04 Jan 2007 19:37:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890939#M11468</guid>
      <dc:creator>kenchan32</dc:creator>
      <dc:date>2007-01-04T19:37:13Z</dc:date>
    </item>
    <item>
      <title>Re: Why not RGB?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890940#M11469</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;could you please specify what version of IPP do you use (there were some changes). Could try this on the latest IPP v5.2 beta (if you did not yet)?&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jan 2007 04:32:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890940#M11469</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-01-12T04:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: Why not RGB?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890941#M11470</link>
      <description>&lt;P&gt;thanks for reply,&lt;/P&gt;
&lt;P&gt;I did to use 5.2.&lt;/P&gt;
&lt;P&gt;But I got the same result.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jan 2007 14:04:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-not-RGB/m-p/890941#M11470</guid>
      <dc:creator>kenchan32</dc:creator>
      <dc:date>2007-01-16T14:04:52Z</dc:date>
    </item>
  </channel>
</rss>

