[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-video-cvs
Subject:    [Video-cvs]  sitelib/platform/unix/android/4.0 miniandroidsurf_4.cpp,
From:       shuohuang () helixcommunity ! org
Date:       2012-03-29 9:50:27
[Download RAW message or body]

Update of /cvsroot/video/sitelib/platform/unix/android/4.0
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv18747/video/sitelib/platform/unix/android/4.0

Modified Files:
      Tag: hxclient_3_6_1_raja
	miniandroidsurf_4.cpp 
Log Message:
Synopsis: checkin local patch files for 361 raja branch.
Bug 14812:              Checkin local patch files to 361_raja branch

File added:
    common/fileio/fdbufdataf.cpp
    common/fileio/fdbufdataf.h
    common/include/platform.h
    datatype/ape/renderer/aperend.cpp
    datatype/avi/fileformat/aviffpln.cpp
    datatype/avi/fileformat/avistrm.cpp
    datatype/avi/fileformat/pub/aviffpln.h
    datatype/flac/renderer/flacrend.cpp
    datatype/flash/flv/fileformat/flv_file_format.cpp
    datatype/h261/renderer/config.h
    datatype/mkv/fileformat/mkv_file_format.cpp
    datatype/mkv/libmatroska/Matroska.cpp
    datatype/mkv/libmatroska/libebml/src/EbmlUnicodeString.cpp
    datatype/mp4/fileformat/qtatmmgs.cpp
    datatype/mp4/fileformat/qttrack.cpp
    datatype/mp4/fileformat/pub/qtatoms.h
    datatype/mp4/video/renderer/mp4vdfmt.cpp
    datatype/mpg/common/xmdplugincommon.h
    datatype/mpg/fileformat/Umakefil
    datatype/mpg/fileformat/rmpgff.cpp
    datatype/mpg/fileformat/rmpgff.h
    datatype/mpg/fileformat/xmddemuxer.cpp
    datatype/mpg/fileformat/xmddemuxer.h
    datatype/mpg/renderer/mpgvideo.cpp
    datatype/mpg/renderer/mpgvideo.h
    datatype/mpg/renderer/mpgvidfmt.cpp
    datatype/null/renderer/nullrend.cpp
    datatype/omx/common/android/4.0/CBaseOmxDec_TI_4.0.cpp
    datatype/omx/video/decoder/COmxVideoDec.cpp
    datatype/omx/video/decoder/COmxVideoDec.h
    filesystem/local/full/smplfsys.cpp
    player/kit/android/hxplatformobj.cpp
    player/kit/android/hxplatformobj.h
    player/kit/android/4.0/MetaDataDriver.cpp
    player/kit/android/4.0/PlayerDriver.cpp
    player/kit/android/4.0/mediascanner.cpp
    video/sitelib/platform/unix/android/4.0/miniandroidsurf_4.cpp



Index: miniandroidsurf_4.cpp
===================================================================
RCS file: /cvsroot/video/sitelib/platform/unix/android/4.0/Attic/miniandroidsurf_4.cpp,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.2.6.1
diff -u -d -r1.1.2.2 -r1.1.2.2.6.1
--- miniandroidsurf_4.cpp	6 Feb 2012 04:58:19 -0000	1.1.2.2
+++ miniandroidsurf_4.cpp	29 Mar 2012 09:50:24 -0000	1.1.2.2.6.1
@@ -145,6 +145,7 @@
               return OMX_COLOR_Format16bitRGB565;
               break;
        case CID_I420:
+       case CID_XING:
               return OMX_COLOR_FormatYUV420Planar;
               break;
     }
@@ -202,7 +203,7 @@
     m_nHeight = nHeight;
     m_ifmt = CID2PixelFormat(cidIn);
     
-           
+
     m_spMetaData.clear();
     m_spMetaData = new MetaData;
     m_spMetaData->setInt32(kKeyColorFormat, m_ifmt);
@@ -231,12 +232,52 @@
                                                       LONG32   nDstPitch)
 {
     MediaBuffer* pBuf = NULL;
-    if (m_cidIn == CID_I420 | m_cidIn == CID_RGB32)
+    if (m_cidIn == CID_I420 || m_cidIn == CID_RGB32)
     {
         // SW playback
 	//LOGV("Software Renderer **");
         pBuf = new MediaBuffer(pSrcBuffer, m_ulFrameSize);
     }
+    else if (m_cidIn == CID_XING)
+    {
+      int srcPitch = 0;
+      m_fpColorConverter = GetColorConverter(CID_XING, CID_I420, pBitmapInfo, srcPitch);
+      unsigned srcHeight = m_nHeight;
+      unsigned srcHeightPadded = ((srcHeight + 15) & 0xfffffff0UL);
+      unsigned srcYSize = srcPitch * srcHeightPadded;
+
+      unsigned dstPitch = m_nWidth;
+      unsigned dstHeight = m_nHeight;
+      unsigned dstYSize = dstPitch * dstHeight;
+
+      unsigned dstFrameSize = dstPitch * dstHeight * 3 / 2;
+
+      pBuf = new MediaBuffer(dstFrameSize);
+
+      unsigned char * srcY = pSrcBuffer;
+      unsigned char * srcU = srcY + srcYSize;
+      unsigned char * srcV = srcU + (srcPitch / 2);
+
+      unsigned char * dstY = (unsigned char *)pBuf->data() + pBuf->range_offset();
+      unsigned char * dstU = dstY + dstYSize;
+      unsigned char * dstV = dstU + (dstYSize / 4);
+
+      for (int i = 0; i < srcHeight; ++i)
+      {
+        memcpy(dstY, srcY, m_nWidth);
+        srcY += srcPitch;
+        dstY += dstPitch;
+      }
+      for (int i = 0; i < (srcHeight / 2); ++i)
+      {
+        memcpy(dstU, srcU, (m_nWidth / 2));
+        memcpy(dstV, srcV, (m_nWidth / 2));
+        srcU += srcPitch;
+        srcV += srcPitch;
+        dstU += dstPitch / 2;
+        dstV += dstPitch / 2;
+      }
+    }
     else if (m_cidIn == CID_OMXV)
     {
 	//LOGV("HW Renderer **");


_______________________________________________
Video-cvs mailing list
Video-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/video-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic