[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